In case you're wondering, this site is running on a new wiki platform that Christian has developed over the last few months. We'll use this wiki for the new seamframework.org site and, eventually, port hibernate.org across. For now, this blog is a perfect way to validate the content and plugin architecture and test the overall stability of the platform.
(Yeah, I know the site was crawling yesterday, hopefully this problem will be resolved soon, we'll see...)
Every page on this website is a wiki page, and was produced by writing wiki text. The only reason you see this content as a blog is that Christian has developed a set of plugins that may be used to aggregate and embed content within the surrounding Seam Text content.
For example, the Seam Text source of my blog home page is:
[<=hideCreatorHistory] [<=clearBackground] <div style="float:right; width:29%;"> <div>[<=userProfile]</div> <div style="margin-top:15px;">[<=blogRecentEntries]</div> <div style="margin-top:15px;">[<=blogArchive]</div> <div class="box" style="margin-top:15px;"> <div class="boxHeader">My Links</div> <div class="boxContent"> [Hibernate=>http://www.hibernate.org] <br/> [Seam=>http://www.jboss.com/products/seam] <br/> [My Photo Blog=>http://gavin-king.blogspot.com] </div> </div> </div> <div style="width:70%;">[<=blogDirectory]</div>
So why are we wasting our time building wikis and blogs when we could be doing real work? Well, first, it gives us a good way to explore the limits of our chosen application framework. (Mmmmm, dogfood...) Second, it is frankly embarrassing that major Java framework sites like hibernate.org and springframework.org don't run on Java! jboss.org /does/ run on Java (and JBoss) but to be honest we're simply not satisfied with the legacy-ish infrastructure that is available there at this time.
Nor are we satisfied with any of the other open source Java-based wiki's out there. This is partly because our needs go beyond a pure wiki engine. We need the platform to also support a blog, discussion forum and knowledge base, with a uniform interface for all of the following concerns:
- user registration and administration
- content creation and editing
- content versioning and diffing
- preferences management
Much of this infrastructure is already in place. But we do have a few more items to go before we can start work on seamframework.org. Top of my list are:
- A forum plugin, which would aggregate content as a forum thread, just as the blog plugins aggregate content as a blog
- A knowledge base plugin, to aggregate content as FAQ page
- Support for tagging, in addition to the existing heirarchical organization of content
- The ability to easily move pages between directories
- a plugin for syndicating external Atom feeds onto the wiki
- A plugin for opinion polls (just for fun!)