I've just thought about a new way to create applications in XWiki

And since I'm in my bed right now with nothing but my iPhone to jot notes down I figured out I might as well blog about it rather than forget it.

Here goes: with XWiki's new macro definition feature it's easy to define a macro in a wiki page and make it available to users through the WYSIWYG editor. Since you can access the XWiki API & scripting languages in your macro nothing prevents you from adding a check that adds an XObject to the current page if no object of that XClass is present on the page.

Now once the object has been added you can use the value of your macro's properties to fill the underlying object's properties upon document save. Meaning that for simple items one no longer need to have a sheet nor a template since the UI will be provided by the WYSIWYG and the XObject creation will be done by the macro. So you can easily add new objects in pages using macros which is already super cool.

But it doesn't stop here: with Asiri working on converting the livetable macro and creating default implementations, including one that will list all the documents holding a given XObjects, we'll soon be able to write full XWiki applications using only macros. The possibilities opened by this stuff are endless!!

Can't wait to try this out for real now... Well done to the Dev team for making such powerful features available in XWiki Enterprise 2.0... And that's only 1 out of 5 amazing new features we added during this release cycle!