Surveying web projects to remake the Latvian Open Source Associations web page. At this point we are hosting it on TikiWiki, but people are increasingly unhappy about it and so am I. I like very much that Tiki is very integrated and has all we need and all we might ever need (wiki, blogs, forums, articles, photo galleries, categories, users, messages, comments, calendar, ...), but it has several shortcomings:
- The wiki syntax is very complex and hard to learn
- The code is very bloated
- Tiki eats lots of memory and CPU
- It is kind of brittle - in many instances pages are sent out incomplete and only reloading the same page fixes that
- There were some security issues with user uploaded files. I personally think that all files should be held either in database or in folders inaccessible by the browser and fed out to users by a specialised script
- Plugins, while a very powerful tool, make the complex syntax even more complex
- Many pages that the user gets can/should not be refreshed as that will cause a repetition of an action (adding another copy of the same comment, ...). In my mind,
- The generated HTML pages of Tiki are huge - starting with a 100 Kb per page (including css and javascript, but excluding any images).
- Many features that are natural for uses of PHPBB2 or other forums come like an afterthought in Tiki, like threading, named multilevel quoting, avatars
- It is hard to maintain a modified version of Tiki and keep up with upstream changes
My ideal feature set:
- Wiki
- Forum (multiple named forums in categories)
- Blog (multiple separate blogs with sepatare set of tags and a rss/atom feed for each blog, tag or combination of tags)
- Calendar for planned upcoming events
Additional technical requirements:
- Every object must be commentable
- The same Wiki syntax must be used everywhere
- Unified linking schemes with InterWiki support
- There should be WYSIWYG edit option
- Unified users and groups
- Every page that users view must be a view page and not an update page. For a simple example: user is at viewpage/SomePage and fills a form there that will add a comment to the page, the form is being submitted to addcomment/SomePage with the comment data in POST headers, when the addcomment script has added the comment, it redirect the user back to the viewpage/SomePage, maybe indicating which comment was just added, so that user can see the change highlighted. Even better if it can be done, like in GMail, when the new comment is incorporated into the page without a reload and a request is sent to the server independently.
- Names of Wiki pages must not be limited neither to CamelCase nor to ASCII chars. I want to be able to have pages called "Juridiskā informācija" or "開眼 の 司会者" :)
- WAP version
- It should be possible to attach files and images (with proper preview thumbnails) to each and every item: wiki pages, comments, blog posts, forum posts, news items, calendar entries, other files and images (hmm that would be weird :P)
- It would be perfect if it was written in Python with proper objects for everything and database based object persistence
As you can see, I face a long selection/adaptation/programming prospect. I wish I could use as much of existing open source components and contribute my changes back, so they can be properly maintained within respective projects.
The optimum scenarion would be a construction of some kind of TikiWiki Light with the needed functionality, code cleanup, restructurisation, ... Will have to talk to TikiWiki project heads for that.