StrikiWiki is a WikiClone being developed by JeroenMostert that 'tries' to impose structure on a Wiki. Implementation is PerlLanguage with WikiBase used as inspiration.
The basic idea was to add a template functionality. Every page has a PageTemplate
? associated with it. This PageTemplate
? describes what sections this page has. A form is just another page. A form is basically just a list of sections so everybody can make a new form (PageTemplate
?).
Features
- loop links: a sequential path through all the pages of a form
- Form Instances: A list of all the pages of a form with a one-line description (this is the first line of a specified section)
- Search returns matches by form
- RecentChanges by Form, by UserName, by Section with an optional summary
- prevent aliases by showing equivalents.
- CaseConfusion? example: SomethingTheOther SomethingtheOther?
- plurals example: PatternMining PatternsMining UnitTest UnitTests
- permutations example: GroupNameReuse ReuseGroupName
- (working on combinations example: PatternPrimitives PrimitivePattern)
- almost the same TextFormattingRules as WikiWiki with some differences:
- just enclose remote links in [ ] to make them embedded external links
- name embedded external links with [name:link]
- result page of an edit directly shows the effects of the edits.
- InterWiki, just add a WikiClone and fill in its WikiCloneUrl
- BackLinks can be shown as a section (Topics without the need to click on the title)
- RelatedPages (like LikePages) (this can also be shown as a section)
- ParentPages (idea stolen from ZwiKi)
- ...
Missing Features
- QuickDiff
- Ability to change the form of a page
-
Ugly bits
- use of the standard LinkPattern seduced JeroenMostert into very ugly names for the forms and sections, but he is trying harder to be more specific. (so PatTern? has become DesignPattern). Otherwise, the section names are too general to be focused. This is exactly why the LinkPattern works as it does.
-
Try It
See it in action at http://ch.twi.tudelft.nl/~mostert/striki/teststriki.pl BrokenLink 20111025 goes elsewhere: https://ch.tudelft.nl/
It is in a prototypical state, no real content (yet).
Implementation and Mechanics
Each page is stored as a single file, with special markers to separate the
sections and to store the name and form. A dbm database is used to cache MetaData.
Every section can specify its renderer (used to convert the base format to HTML). A renderer is PerlModule? (class).
The search and form instances functionality are grep based.
CategoryWikiImplementation