We have added a few things to our departmental Wiki at work. The one thats given us the best payback was a CustomerVariables page. We use it as a 'magic' page on which we define constants that all other pages can use. For example we use it to define the location of most directories we link to.
We used to get a lot of broken links from the Wiki 'cos our project stuff moves around so much. Now I avoid putting any literal locations on pages and just reference the globally defined ones.
The CustomVariables page is editable like any other page, so when links break anyone can correct them.
Not a good idea for a publicly accessable Wiki, but works well in a department.
URL mapping already serves this purpose (although not publically editable), and InterWiki links can be used, too.
Oh!... OK. I hadn't checked the help carefully enough.
However. I use our Wiki constantly and am one of the two evangelists for it, but I dont actually admin it and I'm (relatively) untechnical. So the fact that the mapping is editable and not a back end config is quite important to me.
Having publicly editable 'mappings' seems (to me) more in keeping with TheWikiWay - information evolves, its communal and if someone finds something's broke, they fix it.
FWIW I have checked and we currently use the ability to:
- define the location of commonly used folders on our servers
- define the location of a folder a user will find on his own machine
- define the filename of commonly used files
- define lists of mail addresses as a form of 'mailing list'
FYI here are some made up examples
- code on the Custom Variables page looks like this
= Mailing Lists = %ANALYST_TEAM_MAIL_LIST%=some.one@logicacmg.com;some.oneelse@logicacmg.com;different.somone@logicacmg.com; = Latest Object Models = %LATEST_OBJECT_MODEL_DIR%=\\some-server\dept\Development\Everyone\Modular%20EPPIX\Analysis\Published %CRM_MODEL_FILE%=Modular%20Eppix.htm
Then we reference it on other pages like thisThe latest models can be found here file:@LATEST_OBJECT_MODEL_DIR@\@CRM_MODEL_FILE@. Please reports issues to the [mail:@ANALYST_TEAM_MAIL_LIST@ analyst team]
This can be done with an editable InterWikiMap. Just replace the interwiki.map by a link pointing to the wiki page.
Alternative idea
Use definition list markup to define keys and values:
- serverone
- servertwo
- whatever
- some different characters used often on the wiki
wikidicts.py: dicts:
- input: Page with definition list
- output: python dict with key / values from definition list
groups:
- input: Page with item list
- output: python dict with memnber:1 from item list
Referring to such a value could happen in a macro or some new syntax:
[[GetVal(PageWithDefs,Key)]]
PageWithDefs$Key or PageWithDefs[Key] or ...
I implemented something like this in my macro, macro/IncVar. You may want to check that out. -- DerekWilson 2005-01-25 19:40:25
Implemented in moin--main--1.2.
Could even be used for storing UserPreferences in pages on the wiki.