If you're reading this blog post directly on our site you'll notice a few changes. And if you're reading it somewhere else, please swing on by for a look! In particular, we've
- Migrated to a clean, modern look
- Organized our open source projects
- Moved project source trees to GitHub, CodePlex, or Google Code
- Opened up the area for User Groups and group specific content
- Centralized all our online learning materials
Why and How?
As the site and MarkLogic have grown, we've needed to make it easier for folks to update things. And, as things go, once we decided to make changes, we decided to make a few more and the list of goals above grew.
Serendipitously, MarkLogic engineering has been hard at work on the upcoming 4.2 release and it seemed like a perfect opportunity to take advantage of some of the newer features and in particular XSLT. We enlisted XSLT-maestro, Evan Lenz to help us out and we got some cycles from Ylva Wickberg's UI design team. And off we went!
The result is what you see here. A site that is running off a pre-Alpha version of an open source MarkLogic application we call RunDMC. (Yes, it runs Developer dot Marklogic dot Com and and yes we love the name because it provokes hiphop in our office pod).
Each page in the site is now, big surprise, backed by an XML document. We are using XSLT for templating and XQuery for data access and control (including friendly URL rewriting). The navigational structure as well as the placement of our new "widgets" are configured via XML as well. (The widgets include things like Recent Tweets on the home page, the training calendar, or the 'ads for projects').
The client side work is relatively simple so far. Pages are rendered on the server and we annotate the HTML with CSS classes and other declarative structure as needed. In turn, we use JQuery to manipulate, layout, and/or modify the client DOM based on the markup and CSS itself.
And now that pages are represented as documents, we have an administrative interface (similar to a blog publishing tool) that allows folks to edit and preview changes to the pages without having to edit code.
Who did this?
All of this happened through the hard work of a number of folks, including Jason Monberg, Justin Makeig, Ylva Wickberg, Adam London, Evan Lenz, Sidney Chen, Danny Sokolsky, and yours truly.
The RunDMC project is pre-alpha and it's not quite sample-code ready yet. Feel free to check out the repository, but we'd recommend you hold off a bit until we've had a chance to get to at least our 0.2 release. We're following the release early, release often mantra here as we continue to add features and functionality to RunDMC. In the meantime, we do get to bask in the glory of actually shipping something. Yay!!
If you have feedback or questions about the site, feel free to send them over to the MarkLogic developer list.