This is where announcements of new releases, features, and other news are posted. IkiWikiUsers are recommended to subscribe to this page's RSS feed.
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 66 "Accept only OpenID for logins" 21 "Accept only password logins" 37 "Accept both"]]
ikiwiki 3.20100915 released with these changes
- needsbuild hook interface changed; the hooks should now return the modified array of things that need built. (Backwards compatibility code keeps plugins using the old interface working.)
- Remove PATH overriding code in ikiwiki script that was present to make perl taint checking happy, but taint checking is disabled.
- teximg: Use Unicode UTF-8 encoding by default. Closes: #596067 Thanks, Paul Menzel.
- po: Make the po_master_language use a langpair like "en|English", so it can be configured via the web.
- po: Allow enabling via web setup.
- po: Auto-upgrade old format settings to new formats when writing setup file.
- Pass array of names of files that have been deleted to needsbuild hook as second parameter, to allow for plugins that needs access to this information earlier than the delete hook.
- actiontabs: Improve tab padding.
- blueview: Fix display of links to translated pages in the page header.
- Set isPermaLink="no" for guids in rss feeds.
- blogspam: Fix crash when content contained utf-8.
- external: Disable RPC::XML's "smart" encoding, which sent ints for strings that contained only a number, fixing a longstanding crash of the rst plugin.
- git: When updating from remote, use git pull --prune, to avoid possible errors from conflicting obsolete remote branches.
- cutpaste: Fix bug that occured in some cases involving inlines when text was pasted on a page before being cut.
ikiwiki 3.20100831 released with these changes
- filecheck: Fall back to using the file command if the freedesktop magic file cannot identify a file.
- flattr: New plugin. (Thanks to jaywalk for the initial implementation at a flattr plugin! This one is less configurable, but simpler.)
- smiley: warn instead of error for missing smileys (Giuseppe Bilotta)
- openid: Syntax tweak to the javascript code to make it work with MSIE 7 (and MSIE 8 in compat mode). Thanks to Iain McLaren for reporting the bug and providing access to debug it.
- style.css: Use relative, not absolute font sizes. Thanks, Giuseppe Bilotta.
- htmlscrubber: Do not scrub url anchors that contain colons.
- Danish translation update. Closes: #594673
- highlight: Make location of highlight's files configurable in setup file to allow for nonstandard installations.
- Allow "link(.)" and similar PageSpecs. Thanks, Giuseppe Bilotta.
- Run the preprocess hooks in scan mode before the scan hooks. This allows the po plugin to register a scan hook that runs last and rescans pages after all data from the first scan pass is completed. This avoids the po plugin needing to rebuild some pages. (intrigeri)
- po: Fix some bugs that affected l10n.ikiwiki.info's unusual setup. (intrigeri)
- t/bazaar.t: Work around bzr 2.2.0's new requirement to configure bzr whoami before committing.
- httpauth: Avoid redirecting the user to the cgiauthurl if they already have a login session.
ikiwiki 3.20100815 released with these changes
- Fix po test suite to not assume ikiwiki's underlay is already installed. Closes: #593047
ikiwiki-hosting is an interface on top of Ikiwiki to allow easy management of lots of ikiwiki sites. I developed it for Branchable, an Ikiwiki hosting provider. It has a powerful, scriptable command-line interface, and also includes special-purpose ikiwiki plugins for things like a user control panel.
To get a feel for it, here are some examples:
ikisite create foo.ikiwiki.net --admin http://joey.kitenet.net/
ikisite branch foo.ikiwiki.net bar.ikiwiki.net
ikisite backup bar.ikiwiki.net --stdout | ssh otherhost 'ikisite restore bar.ikiwiki.net --stdin'
ikiwiki-hosting is free software, released under the AGPL. Its website: http://ikiwiki-hosting.branchable.com/ --Joey
ikiwiki 3.20100804 released with these changes
- template: Fix dependency tracking. Broken in version 3.20100427.
- po: The po_slave_languages setting is now a list, so the order of translated languages can be controlled. (intrigeri)
- git: Fix gitweb historyurl examples so "diff to current" links work. (Thanks jrayhawk)
- meta: Allow syntax closer to html meta to be used.
- Add new disable hook, allowing plugins to perform cleanup after they have been disabled.
- Use Digest::SHA built into perl rather than external Digest::SHA1 to simplify dependencies. Closes: #591040
- Fixes a bug that prevented matching deleted pages when using the page() PageSpec.
ikiwiki 3.20100722 released with these changes
- img: Add a margin around images displayed by this directive.
- comments: Added commentmoderation directive for easy linking to the comment moderation queue.
- aggregate: Write timestamp next aggregation can happen to .ikiwiki/aggregatetime, to allow for more sophisticated cron jobs.
- Add --changesetup mode that allows easily changing options in a setup file.
- openid: Fix handling of utf-8 nicknames.
- Clarified what the filter hook should be passed: Only be the raw, complete text of a page. Not a snippet, or data read in from an unrelated file.
- template: Do not pass filled in template through filter hook. Avoids causing breakage in po plugin.
- color, comments, conditional, cutpaste, more, sidebar, toggle: Also avoid unnecessary calls to filter hook.
- po: needstranslation() pagespec can have a percent specified.
- Drop Cache-Control must-revalidate (Firefox 3.5.10 does not seem to have the caching problem that was added to work around). Closes: #588623
- Made much more robust in cases where multiple source files produce conflicting files/directories in the destdir.
- Updated French translation from Philippe Batailler. Closes: #589423
- po: Fix selflink display on tranlsated pages. (intrigeri)
- Avoid showing 'Add a comment' link at the bottom of the comment post form.
The ikiwiki.info domain has been moved to a new server. If you can see this, your DNS has already caught up and you are using the new server. By the way, the new server should be somewhat faster. --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 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
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
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.
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!
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.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'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 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 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.
Google has accepted ikiwiki as a mentoring organization for Summer of Code 2007.
See our Summer of Code page for projects.
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.
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
By the way, some other pages with RSS feeds about ikiwiki include plugins, TODO and bugs.