XCMS – How to import extensions?

Last week I had an online meeting with Martin Meijer about his OpenNTF project called XCMS. Martin told me the history of his project and his thoughts about the direction.

Like Martin I have been occupied setting up several websites, professionally and for friends, with Joomla, a free and open source content management system. What I like a lot about Joomla is the capability to extend your instances of Joomla with modules and components. Imagine if there would be a Domino based equivalent of Joomla with a lively eco-system of plug-ins? That would be good promotion for the platform!

I have taken a look at extensions can be written and installed.

One of great things about Joomla! is how easy it is to write extensions for. It is designed to be extended, and there is a large and active community of extension developers. For example, the Joomla! Extensions Directory lists over 5,000 extensions available to Joomla! users.

Extensions allow Joomla! to be used for just about anything that you can imagine doing with a website. Extensions are developed by individuals, large companies, and everything in between.

How do I get started writing Joomla! extensions?

There are a number of useful articles in the Wiki to help you get started. Here are a few:

Different extension types:

Overall index to developer articles: http://docs.joomla.org/Developers

Tutorials for different extension types:

 

Joomla has it’s own files based installation engine. This made me wonder how we could provide something similar in the Domino world?

  • How would you distribute extensions? As grouped design elements / extensions as jar files / ..?
  • What are the best options for importing extensions into a database?
    • Note: installation of extensions should not require Domino Designer.
  • What are the best options to manage extensions? Again Domino Designer should not be required.

Right now, me and my colleagues do not have the answer for Martin. Or the solution. Maybe there is an answer in this presentation: Ad110 – Unleash the Power of Xpages (not accessible behind our firewall 😦 ). Maybe you have some thoughts

Advertisements

4 thoughts on “XCMS – How to import extensions?

  1. Daniel Recio 2010-October-26 / 9:37 am

    hi, in OPENNTF Dominoblog Extended project, we use DXL to import themes into database and upgrades, and soon for plugins and extensions.

    • Patrick Kwinten 2010-October-26 / 9:41 am

      Hej Daniel, that seems something to take a look at then. Thanx for the notice.

  2. Tim Tripcony 2010-October-26 / 12:21 pm

    Patrick, if they are packaged as OSGi extensions (which is the type of extension described in the AD110 presentation you linked to), then “installation” on a Domino server consists solely of placing a JAR file in a specific folder on the Domino server and restarting HTTP.

    If you approached it this way, however, and were designing a CMS that could take advantage of these plugins without changes to the application code (which I’m assuming is the case, since you mention that installation should not require Designer), your CMS would have to be coded in such a way that database content (i.e. configuration documents) would instruct the application at runtime which extension components to create, what property values to set, and where in the component hierarchy to inject them. This is all possible, of course… it’s just not for the faint of heart. 🙂

  3. JJTB Somhorst 2010-October-29 / 11:53 am

    Hi,

    with the new extensibility API it is possible, as Tim already explains, the install plugins onto the domino server. Yes this is not as easy was Joomla but it is at least a start.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s