I am interested in using TWiki as an educational tool.
The site I am developing is
http://didattica.dma.unifi.it/Plugins.WebTeach
comments are welcome (the site is mostly in italian, however).
the goal is to allow students and teachers to exchange scientific informations.
I choose to adopt the following policy:
- webs are generally writable only by a selected staff (teachers), but all pages can be annotated by everyone,
- there is also the possibility of "private" webs, reserved to internal discussions among teachers and students in a given course (i.e. as "home" webs),
- a page can contain mathematics and plots (I plan to implement also 3d images and maybe drawings, if TWikiDrawApplet will work with netscape),
- each user should be able to choose the preferred language, so LocalizationIsNeeded
- I'm planning to develop multiple-choice tests using the same approach
At present I'm using a simple authorization scheme based on Apache's rewrite rules (see userAuthorizationSchemes), but I'm working along the lines described in
AuthenticationBasedOnGroups.
I have adopted
AndreaSterbini's
MultiLevelWikiWebs, and I think to further extend this concept, as explained in that page
I use latex and gnuplot (see
MathematicsWiki).
I extended the wiki sintax to include words with spaces: the approach os different from
WikiWordswithSpaces: in my approach an expression
[[this_is_a_page]]
becomes a file
this_is_a_page.txt
and is visualized without underscores (it may change in the future)
I have implemented a comment mechanism, so that a page can be commented in a threaded way, possibly by people with different
authorization mechanisms. I attach a tar+gz file in which
one can find
- diff from the 09/09 beta release including AndreaSterbini's modifications (marked by #AS ... #/AS) and FrancoBagnoli's (marked as #FB tag ... #/FB, in which tag specifies the kind of modifications),
- wikireply.pm modeled after wikisearch.pm
- a new view.tmpltemplate
- the gnuplot utility
--
FrancoBagnoli - 26 Sep 2000
You have some very nice extensions. Some are perfect examples of
TWikiPlugins (LaTeX, gnuplot), some could eventually go into the
TWikiProductionRelease (wikireply).
I need some more time to examine the code.
--
PeterThoeny - 26 Sep 2000
I attach to this document the "bin" and "templates" directories of
WebTeach (and I'll keep the attachment up to date)
I changed extensively the basic (beta0909) version of twiki:
- the body part of messages is cached in a directory /twiki/cache/web/topic (together with generated images). This is compulsory since latex2html is so slow to generate gif-formulas from latex source.
- i'm working on a SLURP function wich would permit to include-transform a file (attachment) or an url from, say, latex to pdf, doc to html, fig to gif, ecc.
- latex and gnuplot figures with a lot of enhancements (borders, captions, alignment, etc.)
- multi-language support (choice of templates and text formatting rules for accented letters)
- threaded discussions (now called Comments)
All modificatins are marked by #FB
--
FrancoBagnoli - 09 Oct 2000
I wrote a set of modules to handle authentication/authorizations
in TWiki. They run under mod_perl.
TWikiPasswd: reads and cache informations about users:
wikiname, loginname, password (crypted), ips
These informations are held in the file $TWiki::passwdFilename
(they should be removed from home pages, and registration should be
modified to set those informations using this module)
If one user open a connection connect from a machine whose ip is listed in the password file,
authentication is not required.
For the moment I only use the username/password scheme, other options could be to use coockies or path-info
TWikiGroup: reads and cache the list of users belonging to one group
(held in files like Main/AdminGroup). Used internally by
TWikiGroups
TWikiGroups: reads and cache the list of users belonging to all groups
(foung scanning files "*Group.txt" in the Main web)
TWikiPerm: handles authorization: it receives the user, the action required and
the path to a web (or subweb) and/or topic. It the reads (and cache)
/Main/TWikiPreferences, <web>/WebPreferences, [<subweb>/WebPreferences,..],
[<topic>] looking for lines :
(ALLOW|DENY) <action pattern> TO <list of users or groups>
example:
<!-- ALLOW ^view TO * -->
<!-- DENY (?!view) TO BillGates -->
which is a little paranoic (the simple pattern "view" can match "preview",
the (?! ..) pattern is a negative lookahead, a simpler approach is
<!-- ALLOW view TO * -->
<!-- ALLOW * TO MyGroup AnotherGuy mybossloginname -->
<!-- DENY * to * -->
since the first match stops the matching, this results in allowing
view to everybody, everything to people in
MyGroup and to
AnotherGuy
and myboss (I can use either the twikiname and the loginname), but
denying editing/preview/attach, etc. to all other people.
Access to attachment and to cache is equivalent to action "view" on topic.
You do not need to put ALLOW/DENY on sgml comments, but I think this is the general use.
TWiki: it simply initializes the hashes for authentication and group management
and defines a set of global variables (it will merge with wikicfg).
Setup:
- ) install mod_perl
- ) make a link from /home/httpd/bin/TWiki*.pm to /etc/httpd/lib/perl/ (or where mod_perl moduli should stay).
- ) in /etc/httpd/conf add the line "Include conf/twiki.conf"
- ) see the included twiki.conf
TODO:
- ) modify registration in order to allow peple to insert ip, change password, change loginnames, etc.
- ) Move wikicfg.pm, wiki.pm and view to mod_perl, using the above modules
- ) Provide an alternative implementation based on SQL connections for passwords, groups, etc.
--
FrancoBagnoli - 18 Oct 2000
Uploaded the lastest version (it may even work!)
--
FrancoBagnoli - 05 Nov 2000
Looks like an
AddOn. Anyone know whether this has-been/is-going-to-be turned into a
PlugIn?
AddOn=TWiki.PlugIn - what's the difference, I ponder.
--
MartinCleaver - 12 Jul 2001
Wow, I really like the commenting functionality. People - go play on
WebTeach. You have to register but it is good.
--
MartinCleaver - 12 Jul 2001
The reply functionality would be nice to have as plugin!
--
HansDonner - 12 Aug 2001