This is where announcements of new releases, features, and other news are posted. IkiWikiUsers are recommended to subscribe to this page's RSS feed.
Quick poll: Do you feel that ikiwiki is fast enough on this server, or should I move it to my much beefier auxiliary server?
[[!poll open=no 40 "It's fast enough" 6 "It's too slow!" 4 "No opinion"]]
If you have specifics on performance issues, you might mention them on the discussion page.
The current server is a single processor 2.8 ghz Sepron machine shared among 4 other xen instances, and often heavily loaded by extraneous stuff like spamassassin and compiles. The auxiliary server is a dual processor, dual core 2 ghz Opteron shared with other xen instances (exact number not available from provider), but with little other load.
ikiwiki.info has upgraded to the not yet released ikiwiki 2.30. This version of ikiwiki drops support for subscribing to commit mail notifications for pages. The idea is that you can subscribe to the new RecentChanges feed instead. (Or create your own custom feed of only the changes you're interested in, and subscribe to that.)
So if you were subscribed to mail notifications on here, you'll need to change how you keep track of changes. Please let me know if there are any missing features in the RecentChanges feeds.
Statically building the RecentChanges also has performance implications, I'll keep an eye on server speed..
--Joey
I was asked a good question today: How can a company find someone to work on ikiwiki? To help answer this question, I've set up a consultants page. If you might be interested in being paid to work on ikiwiki, please add your information to the page. --Joey
And here's the first company looking for an ikiwiki developer that I am aware of:
The TOVA Company, a small medical software and hardware company in Portland, Oregon, is looking for developers to add functionality to ikiwiki. We're looking for developers who are already familiar with ikiwiki development, including plugins, and who would be willing to work on a part-time, non-employee, project-based basis for each of the small features that we want. The features we're interested in would obviously be GPL'd, and released to the community (if they'll have them
). Please contact Andrew Greenberg (andrew@thetovacompany) if you're interested. Thanks!
Now you can use git to clone this wiki, and push your changes back, thanks to ikiwiki's new support for untrusted git push. Enjoy working on the wiki while offline! --Joey
I've started using git as ikiwiki's main repository. See download for repository locations.
Note that all the sha1sums have changed from those in previously published git repositories. Blame git-svnimport.
I hope that this will make it easier to maintain and submit patches for ikiwiki.
--Joey
ikiwiki 2.72 released with these changes
- Avoid comments in recentchanges being broken links (smcv)
- Add deprecation warning for GlobLists, which will stop working in 3.0.
- camelcase: Add camelcase_ignore setting.
- googlecalendar: Add runtime deprecation warning.
- comments: Deal with users entering unqualified or partial urls.
- inline: Run format hook first, to ensure other format hooks can affect inlined content. Closes: #509710
ikiwiki 2.68 released with these changes
- Add support for checking pushes from untrusted git committers. This can be used to set up anonymous git pushes, and other similar things.
- format: New plugin, allows embedding differently formatted text inside a page (ie, otl inside a mdwn page, or syntax highlighted code inside a page).
- relativedate: New javascript-alicious plugin that makes all dates display relative, in a very nice way, if I say so myself.
- Optimise the no-op post-commit hook, to speed up web edits by a fraction of a second.
- git: Allow sha1\ commit to be used in the diffurl, to support cgit.
- shortcut: Fix display of shortcuts while previewing.
- Plugins that used to override displaytime should instead override formattime. displaytime will call that, and may wrap markup around the formatted time.
- Add an underlay for javascript, and add ikiwiki.js containing some utility code.
- toggle: Stop embedding the full toggle code on each page using it, and move it to toggle.js in the javascript underlay.
- recentchanges: Make feed links point back to anchors on the recentchanges page. (JasonBlevins)
- Fix issue with utf-8 in wikiname breaking session cookies, by entity-encoding the wikiname in the session cookie.
- Use the pure perl Data::Dumper when generating setup files to ensure that utf-8 characters are written out as such, and not as the encoded perl strings the C Data::Dumper produces.
- inline: Only the last feed link was put on the page, fix this to include all feed links. So rss will be included along with atom, and pages with multiple feeds will get links added for all feeds.
- tag: When tagpage is set, force the links created by tagging to point at the toplevel tagpage, and not closer subpages. The html links already went there, but internally the links were not recorded as absolute, which could cause confusing backlinks etc.
- Add an inject function, that can be used by plugins that want to replace one of ikiwiki's functions with their own version. (This is a scary thing that grubs through the symbol table, and replaces all exported occurances of a function with the injected version.)
- external: RPC functions can be injected to replace exported functions.
- Updated French translation. Closes: #502694
- Updated Spanish translation from the ever vigilant Victor Moral.
- Updated Danish translation from Jonas Smedegaard. Closes: #503117
- Preserve syslog setting when doing
ikiwiki -setup foo -dumpsetup bar
- Several fixes to --render mode.
ikiwiki 2.71 released with these changes
- comments: Blog-style comment support, contributed by Simon McVittie.
- htmlbalance: New plugin contributed by Simon McVittie.
- Change deb dependencies to list Text::Markdown before markdown (really this time).
- Improve escaping of wikilinks and preprocessor directives in content produced by aggregate and recentchanges.
- French translation update from Philippe Batailler. Closes: #506250
- Spanish translation update from Victor Moral.
- Fix handling of wrappergroup option.
- Correct --dumpsetup to include the srcdir in the setup file.
- German translation update from Kai Wasserbäch. Closes: #507056
- inline: Support emptyfeeds=no option to skip generating empty feeds.
- inline: Support feedfile option to change the filename of the feed generated.
- meta: Pass info to htmlscrubber so htmlscrubber_skip can take effect.
- htmlbalance: don't compact whitespace, and set misc other options (smcv)
- rename: Fix double-escaping of page name in edit box.
- monotone: When getting the log, tell monotone how many entries we want, rather than closing the pipe, which it dislikes. (thm)
- Coding style change: Remove explcit vim folding markers.
- aggregate: If a feed fails to be downloaded, try again immediatly next time aggregation is run, even if the usual time has not passed. Closes: #508622 (Michael Gold)
- meta: Process meta date during scan pass so that the date will always affect sorting in inlines.
- Improve display of some openids (smcv)
I've put together a short screencast that covers approximatly the first half of the setup document, and includes a demo of setting up a blog using ikiwiki.
http://kitenet.net/~joey/screencasts/ikiwiki_blog/
.. And now I've added a second screencast. Note that this uses a script that is only available in the as yet unreleased ikiwiki version 2.15.
http://kitenet.net/~joey/screencasts/ikiwiki_cgi_and_git/
--Joey
I've produced a code_swarm visualization of the first 2+ years of ikiwiki's commit history.
[[!img Error: Image::Magick is not installed]]
PS, while I'm posting links to videos, here's a video of a lightning talk about ikiwiki.
--Joey
notes
Interesting things to watch for:
- Initial development of ikiwiki to the point it was getting web edits. (First 2 seconds of video!)
- Introduction to plugin support, and later, plugin changes dominating code changes.
- Introduction of openid support and the resulting swarm of openid commenters.
- Switch to git, my name in the logs changes from "joey" to "Joey Hess", and there are more code commits directly from others.
Getting the commit log was tricky because every web commit is in there too, so it has to deal with things like IPs and openids. The code swarm log.pl script will munge the log to handle these, and it was configured with code swarm.config.
Video editing by kino, ffmpeg, ffmpeg2theora, and too many hours of pain.
Audio by the Punch Brothers.
Ikiwiki in svn now has support for using OpenID, a decentralized authentication mechanism that allows you to have one login that you can use on a growing number of websites.
Traditional password-based logins are still supported, but I'm considering switching at least ikiwiki.info over to using only OpenID logins. That would mean blowing away all the currently registered users and their preferences. If you're active on this wiki, I suggest you log out and log back in, try out the OpenID signup process if you don't already have an OpenID, and see how OpenID works for you. And let me know your feelings about making such a switch. --Joey
[[!poll 61 "Accept only OpenID for logins" 18 "Accept only password logins" 36 "Accept both"]]
ikiwiki 3.11 released with these changes
- Avoid using python-support. Closes: #525086
- websetup: Display stderr in browser if ikiwiki setup fails.
- blogspam: Load RPC::XML library in checkconfig, so that an error can be printed at that point if it's not available, allowing the admin to see it during wiki setup. Closes: #520015
- websetup: If setup fails, restore old setup file.
- relativedate: Deal with clock skew.
- Add IkiWiki::ErrorReason objects, and modify pagespecs to return them in cases where they fail to match due to a configuration or syntax error.
- pagespec_match_list: New API function, matches pages in a list and throws an error if the pagespec is bad.
- inline, brokenlinks, calendar, linkmap, map, orphans, pagecount, pagestate, postsparkline: Display a handy error message if the pagespec is erronious.
- comments: Add link to comment post form to allow user to sign in if they wish to, if the configuration makes signin optional for commenting.
- Updated Danish translation from Jonas Smedegaard. Closes: #525751
- translation.mdwn: Typo fixes. Closes: #525753
ikiwiki 2.69 released with these changes
- Avoid multiple ikiwiki cgi processes piling up, eating all memory, and thrashing, by making the cgi wrapper wait on a cgilock. If you had to set apache's MaxClients low to avoid ikiwiki thrashing your server, you can now turn it up to a high value.
- Stop busy-waiting in lockwiki, as this could delay ikiwiki from waking up for up to one second. The bailout code is no longer needed after above change.
- Remove support for unused optional wait parameter from lockwiki.
- aggregate: Try to query XML::Feed for the base url when derelevatising links. Since this needs the just released XML::Feed 0.3, as well as a not yet released XML::RSS, it will fall back to the old method if no xml:base info is available.
- meta: Plugin is now enabled by default since the basewiki uses it.
- txt: Do not encode quotes when filtering the txt, as that broke later parsing of any directives on the page.
- Fix the link() pagespec to match links that are internally recorded as absolute.
- Add rel=nofollow to recentchanges_links for the same (weak) reasons it was earlier added to edit links.
- tag: Normalize tagbase so leading/trailing slashes in it don't break things.
- bzr: Fix dates for recentchanges.
Ikiwiki has reached version 3.0 and entered a new phase in its development cycle.
The 3.0 release of ikiwiki changes several defaults and finishes some transitions. You will need to modify your wikis to work with ikiwiki 3.0. A document explaining the process is available in upgrade to 3.0.
The highlights of the changes in version 3.0 include:
- Support for uploading attachments.
- Can rename and remove pages and files via the web.
- Web based setup.
- Blog-style comments as an alternative to Discussion pages.
- Many other new plugins including htmlbalance, format, progress, color, autoindex, cutpaste, hnb, creole, txt, amazon s3, pinger, pingee, edittemplate
- The RecentChanges page is compiled statically, not generated from the CGI.
- Support for additional revision control systems: bzr, monotone
- Support for untrusted git push.
- A new version (3.00) of the plugin API, exporting additional
commonly used functions from
IkiWiki.pm
. - Nearly everything in ikiwiki is now a plugin, from WikiLinks to page editing, to RecentChanges.
- Far too many bug fixes, features, and enhancements to list here.
Thanks to the many contributors to ikiwiki 3.0, including:
Jelmer Vernooij, Recai Oktaş, William Uther, Simon McVittie, Axel Beckert, Bernd Zeimetz, Gabriel McManus, Paweł Tęcza, Peter Simons, Manoj Srivastava, Patrick Winnertz, Jeremie Koenig, Josh Triplett, thm, Michael Gold, Jason Blevins, Alexandre Dupas, Henrik Brix Andersen, Thomas Keller, Enrico Zini, intrigeri, Scott Bronson, Brian May, Adeodato Simó, Brian Downing, Nis Martensen. (And anyone I missed.)
Also, thanks to the users, bug submitters, and documentation wiki editors. Without you, ikiwiki would just be a little thing I use for my home page.
--Joey
ikiwiki 2.70 released with these changes
- Avoid crash on malformed utf-8 discovered by intrigeri.
I've gone ahead and moved ikiwiki.info to the faster box mentioned on server speed. Most poll respondants felt the old box was fast enough, but it's getting a bit overloaded with other stuff.
If you can see this, you're seeing the new server. If not, your DNS server hasn't caught up yet. I'll keep the old server up for a while too and merge any changes across since git makes that bog-easy.
Please report any problems..
Ikiwiki now has an IRC channel: #ikiwiki
on irc.oftc.net
The channel features live commit messages for CIA for changes to both ikiwiki's code and this wiki. Plus occasional talk about ikiwiki.
Thanks to JoshTriplett for making this happen.
Google has accepted ikiwiki as a mentoring organization for Summer of Code 2007.
See our Summer of Code page for projects.
Commits to ikiwiki's source code are now fed into CIA, and can be browsed, subscribed to etc on its project page. Note that changes to the documentation wiki are currently excluded.
Some people may consider ikiwiki's default look to be a bit plain. Someone on slashdot even suggested perhaps it uses html 1.0. (Yes, an ikiwiki site has survived its first slashdotting. With static html, that's not very hard..) While the default style is indeed plain, there's more fine-tuning going on than you might think, and it's actually all done with xhtml and style sheets.
Stefano Zacchiroli came up with the idea of adding a css market page where IkiWikiUsers can share style sheets that you've come up with for ikiwiki. This is a great idea and I encourage those of you who have customised stylesheets to post them.
I'm also always looking for minimalistic yet refined additions to the default style sheet, and always appreciate suggestions for it.
--Joey
Ikiwiki has reached version 2.0 and entered a new phase in its development cycle.
With the 2.0 release of ikiwiki, some major changes have been made to the default configuration:
- The
usedirs
setting is enabled by default. This will break all URLs to wikis that did not haveusedirs
turned on before, unless you follow the procedure described at switching to usedirs or edit your setup file to turnusedirs
off:usedirs => 0,
- OpenID logins are now enabled by default, if the
Net::OpenID::Consumer perl module is available. Password logins
are also still enabled by default. If you like, you can turn either OpenID
or password logins off via the
disable_plugins
setting.
An overview of changes in the year since the 1.0 release:
- New improved URLs to pages via
usedirs
. - OpenID support, enabled by default.
- Plugin interface added, with some 60 plugins available, greatly expanding the capabilities of ikiwiki.
- Tags, atom feeds, and generally full-fledged blogging support.
- Fully working utf8.
- Optimisations, approximately 3.5 times as fast as version 1.0.
- Improved scalability to large numbers of pages.
- Improved scalable logo.
- Support for additional revision control systems besides svn: git, tla, mercurial.
- Some support for other markup languages than markdown: rst, textile.
- Unit test suite, with more than 300 tests.
By the way, some other pages with RSS feeds about ikiwiki include plugins, TODO and bugs.