I believe I have been thinking about a similar problem. I was
planning to write a tag-extension to layout the links on the main
page, adding "&action=edit" to each, contributors would edit on the
referenced page where the information is collated in specific
sections; then using the "labeled section transclusion" extension to
get the updated contents back on the main page.
My design constraints were to use core functionality as much as
possible, under the assumption that the core code develppers have
already solved problems I wouldn't even think of. Take a look at
includes/EditPage.php for example. After going through that code I
knew I wouldn't be putting anything into the database that hadn't
gone through that page. Reading something may be another matter.
The access restrictions may be more difficult to address, a number of
per-page protection extensions are listed on the extension matrix,
they all have disclaimers that MediaWiki was not designed for this.
For example, you could put the contents on the user page and then use
something like:
http://www.mediawiki.org/wiki/Extension:UserPageEditProtection
... but see ..
http://www.mediawiki.org/wiki/
Security_issues_with_authorization_extensions
CAD $ 0.02,
Boris
On 8-Nov-07, at 5:21 PM, Nelson A Li wrote:
Hello MediaWikiers,
I have learned some basic skills about mediawiki and it is time to
test the
water. Headstart in a correct direction can save a lot of trouble
later
on. If you have some time (relative term, some people can achieve
a lot in
a short time) and are willing to help, please do.
The task:
Initially I will display a table (this page can not be edited) with
the ID
and Name columns shown. Each row is a record for one specific user
(or a
group). Each user (or group) can click on the ID column of the record
specific to the user to link to a page and update contents of the
fields
(including Name but not ID) of the record. There is an "update"
button on
that page will trigger (when pressed) the database update from user
inputs
and the updated table will be displyed right away.
My problem is that I don't have a clear picture what can (or
should) be
done inside wiki and what has to be done manually outside wiki as
well as
how many existing mediawiki features I can use?
My thoughts:
Since the table structure is relatively stable (means may change,
but not
often) , I can easily create a page with the table defined in it.
I have
all the record ID (alphnumeric, variable length) and Name (fixed
length
string) listed in a text file line by line. So I can easily write
a php
program to create a table in MySQL, read this file and populate
that table.
But how do I tell my wiki to read from that table to display the
table?
The most tricky thing is to secure data/page against user. Since
the user
is specific to a (even more than one should be fine) record, I
intend to
make user ID a field in the table (in DB but not displyed). What
kind of
user ID shall I use? Do I manually collect user IDs and populate
the DB
first? Is there an intelligent way to mange the user <-> record <->
record update page relations. Is it necessary (or any advantage)
to use
registered user only?
I am sure there will be lots of details that I can not think of
yet. But I
need help to think through the high level design first. Thank you.
Nelson
Computer Sciences Corporation
Registered Office: 2100 East Grand Avenue, El Segundo California
90245, USA
Registered in USA No: C-489-59
----------------------------------------------------------------------
----------------------------------------------------------------------
--------------------------------------------------------------------
This is a PRIVATE message. If you are not the intended recipient,
please
delete without copying and kindly advise us by e-mail of the
mistake in
delivery.
NOTE: Regardless of content, this e-mail shall not operate to bind
CSC to
any order or other contract unless pursuant to explicit written
agreement
or government initiative expressly permitting the use of e-mail for
such
purpose.
----------------------------------------------------------------------
----------------------------------------------------------------------
--------------------------------------------------------------------
_______________________________________________
MediaWiki-l mailing list
MediaWiki-l(a)lists.wikimedia.org
http://lists.wikimedia.org/mailman/listinfo/mediawiki-l