Paving the way for 5.0 – new, refreshed, authoring tags for templates

Update (2010-03-30): I finally revamped the “concept” page on the wiki, and it should now be up-to-date (more than this post), and provide some more insight on what’s next.

If you’ve been doing any templating with Magnolia, you probably know our tag library (the bits with <cms:). Some of these “tags” are responsible for rendering the “green bars” on your Magnolia pages.

This tag library been around since pre-3.0 times, and somehow has not evolved much since. Over the years, and especially the last, many concepts have been introduced in Magnolia which make large parts of this tag library irrelevant, and too complex, both to maintain and use. Content inheritance and i18n, for instance, are now supported at much higher levels in Magnolia.

Built-in support for different templating languages is also something we’ve introduced a while ago, and have been improving since 4.0; so far, we’ve been lucky that FreeMarker has support for tag libraries (and that contributors have helped improved, too!), but supporting other templating engines has always been a burden with regards to the tag library. Porting it to different languages is something we’ve always put off.

Since Magnolia 4.0, template scripts also have access to a bunch of objects, which make, again, parts of the tag library obsolete.

So, all this, to introduce yet another new feature of Magnolia 4.3. Not one that will make me the most popular kid on the block, but one I’m hoping users, templaters especially, will embrace nonetheless.

Continue reading

Growing and shrinking

Two exciting things happening at once !

One, we’re finally getting rid of a bunch of old “stuff” in Magnolia’s main codebase. A very welcome diet, as some of that code has been lying around unused or deprecated for two years or more. It’s also a relief to see that this will incidentally increase our code coverage and/or help making some classes a little more testable. There’s still a long way to go in that area though !

Second, we’re moving a bunch of modules, which have been nurtured internally, to the community space. Watch out for

  • In place templating – yes! You’ll be able to edit (Freemarker) templates directly from inside Magnolia ! Support for JSP isn’t impossible, but involved some much hassle (JSPs have to be on the file system) that we decided to leave that as an exercise for the reader. I’m pretty convinced everyone will love the Freemarker support we’ve introduced though. It takes a bit getting used to, but once you get the hang of it, it’s so much cleaner than JSP… <insert bad-taste pun about never coming back>.
  • Resources – a simple module that allows one to handle web resources in a separate workspace and within Magnolia. CSS is currently supported, we’re hoping to add support for Javascript and images soonish, making this a one-stop shop for all your layout/design resources.
  • Form – build simple forms within Magnolia, and process them. Elegant css-based layout for your forms, a simple API for processing the results.
  • Webdav support – still experimental, but we’re hoping to get this to work for DMS, templates, and so on.
Care to help out ?
Some more info:
  http://wiki.magnolia-cms.com/display/DEV/Roadmap+4.0
  http://wiki.magnolia-cms.com/display/DEV/Concepts

Codepress for Magnolia ?

I was looking for a simple way to get line numbers in html textareas – amongst other things to edit css, javascript and templates from within Magnolia, making my whole layout activatable/versionable ! – and I just stumbled upon Codepress ! Man, that thing is sweet ! (if you use Firefox, that is)

Unfortunately, their main site (codepress.org) seems down at the moment, and the Google-cached changelog page seems to tell me there’s been no release since a year. Does anybody what the real status is and/or is there’s any alternative ?

Quick update – this is available since Magnolia 4.2, thanks to Federico ! See http://documentation.magnolia-cms.com/reference/dialogs/controls.html#CodeEditorControl for details.