create new tag
, view all tags

TWiki Ideas

Not yet sorted - just things that I find interesting. I wrote the first version almost ten years ago and almost forgot that it existed... As of now (Oct 2017), I might have some time on my hands to do coding, so this is a good opportunity to review the old stuff, and maybe add new things.

  • Recent experience has added one issue which needs my attention more than everything else on this list: Make TWiki easier to use, in particular close the gap between "power users" and first-time contributors.
    • Update 2017: The WYSIWYG editor has done a lot to make it easier for first-time contributors. The detais below still bug me, but aren't so important any more.
    • No more autolinking. CamelCase is so bloody fashionable these days that too often there are links where there shouldn't be. Needs work in templates, forms, many other details. People quickly get used to [[use some text]] for linking. They hate it when they have to write [[Otherweb.UseSomeText][use some text]] if linking to other webs, though. Doesn't happen too often? Just think of Main.TheAuthor....
    • Get rid of the dot - as already discussed. People want topics named TWiki4.2 - period. Telling them they should write TWiki4dot2 doesn't really work.
    • Get rid of Pseudo HTML. Yet another major incompatibility (though perhaps doable as a plugin). People with a background in HTML, or Docbook, or even LaTeX frown at the inconsistent behaviour of HTML tags (like <blockquote>) and pseudo-HTML (like <verbatim>). There are some interesting concepts to exploit behind that. Covers <nop> (a particular nuisance because there is no </nop>), <verbatim> and <literal>, <noautolink>, and even plugin stuff like <render>.
    • Better readability for multiline TWiki variables (like Formatted Search monsters). Sort of like the /x modifier in Perl's regular expressions. So that the power users can document their voodoo for others who want to create their very first TWiki application.
      • Paraphrasing Damian Conway: Always write a formatted search if the guy who ends up maintaining your topic will be a violent psychopathic who knows where you live (Perl Best Practices). It might be yourself.
    • A TWiki variable for comments. Not comments in the sense of CommentPlugin, but comments which allow power users to document what they're doing. HTML comments are just a unsatisfactory workaround: TWiki variables within HTML comments will get processed, so you need to escape them, obfuscating the examples in the comments.
  • TWiki performance improvement: Work on BenchmarkFramework
    • TWiki is said to be "slow" - but where does it spend its time?
    • Update 2017: I haven't done anything in that area since I didn't have any user complaints about performance.
  • TWiki to go - run TWiki on top of CPAN's HTTP::Daemon: Why bother with Apache?
    • Update 2017: This is work in (promising) progress, based on PSGI. Kudos to Tatsuhiko Miyagawa!
    • Would allow a pre-configured demo without any additional (and sometimes difficult) settings
    • A PIM TWiki could be completely stored on a memory stick and run on every computer wherever Perl is installed
    • GilmarSantosJr has done great work in this area - congratulations!
  • Work on RegistrationBeyondDakar. Many topics in Codev and support seem to indicate public interest in the area. The divergence between setups is increasing:
    • Update 2017: I don't plan to work on this in the future. The automatic registration based on corporate LDAP has worked fine at work, but needed too much configuration to be "productized".
    • Intranet: LDAP server available in the network, domain controller login, etc. There should be corporate interest for either funding or collaboration on intranet integration, so I'm hesitating to invest too much of my spare time.
    • Internet: no central servers for the community, fighting SPAM is the most important issue. Hasn't been my top priority until I got a internet TWiki to maintain smile
  • MiniAhah - a sidestep into the AJAX direction. More just for fun than driven by a requirement.
    • Update 2017: Only today I realized that it was (partially) broken for 10 years. Apparently no one noticed. I'll keep it, but still "just for fun".

In the 2007 version of the roadmap I've also commented on the development culture. In 2017 these points are just no longer relevant with the current (small) developer community.

So much for the old stuff. I've written down some of my ideas since then in my rant Turning TWiki Upside Down. From these, I'd say that the first item (Testing SVN via webserver is too tedious) is solved, again thanks to the Plack/PSGI modules now available from CPAN. The other points are still on my agenda, and here I'd like to put them into some context:

  • I am no longer particularly interested in new TWiki features.
  • I am, however, interested to run TWiki until something better turns up. I'm using it since 2005 and might be interested in using it for another decade or two. This means that I'm always interested in
    • Running TWiki on current platforms (e.g. on my Raspberry Pi, a 24/7 home server with a power consumption of 3W),
    • Running TWiki with current versions of Perl (I'm now running the unit tests and SVN TWiki up to Perl 5.26),
    • Using the capabilities of current browsers by moving TWiki towards current Web standards (HTML5 being the most promising).

Regarding the development culture, I'd like to move TWiki closer to current Perl community practice. Perl is a programming language where the community constantly changes the world. When I started writing code for TWiki, Damian Conway's milestone book Perl Best Practices wasn't even written, yet the community has made some of its recommendations more or less obsolete by improving Perl. Therefore, regarding my own contributions, I'd like to add:

  • Develop TWiki's Perl source like current Perl best practices go,
  • Eliminate stuff which is "deprecated" by the Perl community.

To summarize, my focus in the next future will be on:

-- HaraldJoerg - Jun 2007 / 06 Oct 2017


Thank you Harald for your candid feedback. The community is learning from mistakes; it is impossible to fulfill the needs of all stakeholders. It is my personal goal to broaden the community, e.g. recruit more developers and make it easier to get started. That is one topic I'd like to cover in the TWikiCommunitySummit2008Q1 in mid February. It would be ueber-cool if you could participate. Can you convince your family to have a nice vacation in sunny California? wink

-- PeterThoeny - 22 Jan 2008

An update, 10 years after the initial version... Stay tuned until 2027 smile

-- Harald Jörg - 2017-10-06

Edit | Attach | Watch | Print version | History: r7 < r6 < r5 < r4 < r3 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r7 - 2017-10-07 - HaraldJoerg
  • Learn about TWiki  
  • Download TWiki
This site is powered by the TWiki collaboration platform Powered by Perl Hosted by OICcam.com Ideas, requests, problems regarding TWiki? Send feedback. Ask community in the support forum.
Copyright © 1999-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.