[opencms-dev] Writing a simple MasterModule

Alexander Kandzior alex at opencms.org
Sun Jan 25 09:09:01 CET 2004


Stephan, 

your point regarding the size limitation of the current MasteModule is
correct. This is something that I also certainly want to address. Regarding
the runtime vs. compiletime issue I also have thought about configuring at
runtime. My current plans are to target a version 1 that allows only a
limited runtime configurability and would still require an underlying Java
class that must be developed manually. If the new data module API comes out
as flexible and powerful as I currently hope, a version 2 might add a
runtime configuration interface that automatically generates the required
underlying Java class. 

Would you be able to help in the development of such a new data module
mechanism? If so, depending on the amount of time you can spend on this
project I am sure the result would match your desires more or less closly. 

Best Regards,
Alex.

Alexander Kandzior
Alkacon Software - The OpenCms Experts
http://www.alkacon.com





> -----Original Message-----
> From: opencms-dev-admin at opencms.org 
> [mailto:opencms-dev-admin at opencms.org] On Behalf Of Stephan Hartmann
> Sent: Saturday, January 24, 2004 11:27 PM
> To: opencms-dev at opencms.org
> Subject: Re: [opencms-dev] Writing a simple MasterModule
> 
> 
> HI Alex,
> 
> i cherish the wish to have a realy more flexible content 
> definition (although the master module gives you a lot of 
> storage space for a content definition it is still limited to 
> its borders). It should be possible to define them just like 
> a message in soap, i.e. it can contain all the primitives 
> like int, double, string, date and so on but also other 
> content definitions, structures and dynamic arrays which can 
> contain all primitives, content definitions and each other. 
> The definition should happen at runtime, not compile time and 
> there should also be a backoffice point where you can define 
> these content definitions just like for channels. An example 
> is the old news module. There was one field for a link. What 
> if i need more? I would just like to say my news content 
> definition contains an array of strings which can hold these 
> links. The newsentry-creation mask would then let me add more 
> links by clicking a button. Even better, i would define the 
> array to hold structs which in turn consist of two strings, 
> one for the name and one for the url. Even more better, i 
> would define the struct as a new content definition for a 
> link. That's in short what i desire of a good MasterModule. 
> And if you believe i have been thinking about that for a long 
> time, you're absolutely right ;-)
> 
> Bye,
> Stephan
> 
> 
> ----- Original Message -----
> From: "Alexander Kandzior" <alex at opencms.org>
> To: <opencms-dev at opencms.org>
> Sent: Saturday, January 24, 2004 10:37 PM
> Subject: RE: [opencms-dev] Writing a simple MasterModule
> 
> 
> > Hi,
> >
> > I think it might be valuable if I add my 2 cent to this discussion.
> >
> > The "MasterModule" in fact was developed as an alternative 
> concept to 
> > "normal" ContentDefinitions. The basic idea was to provide a simple 
> > and intuitive API that actually does not require the 
> creation of new 
> > database tables, and automatically adds all "OpenCms" features like 
> > locking / unlocking, online / offline / backup versions, 
> publishing, 
> > sharing content in different "channels" and full OpenCms  
> backoffice 
> > integration with context menues.
> >
> > This is what today exists in the master module. I know this 
> must sound 
> > great. But beware, there are many hidden issues.
> >
> > In the current implementation of this "MasterModule" standard there 
> > are serious shortcomings. The perhaps greatest mistake made is that 
> > almost all of the above mentioned functionality has been 
> implemented a 
> > secound time. Take e.g. the lock/unlock functionality. We 
> already had 
> > this in the CmsObject for CmsResources etc. However, instead of 
> > extending from this
> like
> > you would think good OO-programming style should be, it is actually 
> > just implemented a secound time, but with a completly 
> different logic. 
> > This
> makes
> > the core code very hard to maintain and extend. Moreover, 
> the design 
> > of
> this
> > current "MasterModule" is completly different from the 
> other CmsObject
> based
> > design. The code is mixed with XmlTemplate code (no separation from 
> > presentation, logic and database layer). Also, the API is 
> unfortunatly
> very
> > far from being "simple and intuitive". And because of some serious 
> > impementation mistakes (e.g. using reflection far too much) the 
> > generated modules are also slow in performance for the end user.
> >
> > All of the above has led to my decision to start a project with the 
> > goal
> to
> > re-implement a new and improved default module mechanism. This is a
> project
> > that will start soon and should be finished somewhere in 
> the secound 
> > half
> of
> > 2004.
> >
> > Because of that, I do not want to encourage the use of the existing 
> > "MasterModule" mechanism. The new mechanism will be much different 
> > from
> the
> > existing one, and very much better. This is also the reason why so 
> > little documentation is currently available for the "MasterModule" 
> > mechanism. I find it amazing how far module development for OpenCms 
> > has already come in the almost complete absence of any 
> documentation 
> > for that topic. I fear if
> I
> > publish documentation for the current mechanism now, it will be 
> > cemented
> as
> > a de-facto standard. A standard nobody will really like 
> because it is 
> > very clumsy to use, and one that will drive away many users just 
> > evaluating OpenCms. I rather want to create a new standard that is 
> > really attrative
> to
> > developers (from the API side) and end - users (from the GUI side).
> >
> > Well so much for my thoughts. Any feedback is welcome. And 
> of course, 
> > if someone wants to volunteer for that new project, this is 
> even more
> welcome.
> >
> > Best Regards,
> > Alex.
> >
> > Alexander Kandzior
> > Alkacon Software - The OpenCms Experts
> > http://www.alkacon.com
> >
> >
> >
> > > -----Original Message-----
> > > From: opencms-dev-admin at opencms.org 
> > > [mailto:opencms-dev-admin at opencms.org] On Behalf Of tol
> > > Sent: Saturday, January 24, 2004 5:19 PM
> > > To: opencms-dev at opencms.org
> > > Subject: Re: AW: [opencms-dev] Writing a simple MasterModule
> > >
> > >
> > > Hi!
> > >
> > > > Have a look at http://opencms.al-arenal.de/.
> > > > Under Tutorials there is a link called vtab.zip and dbtab.zip. 
> > > > This is a howto for creating a backoffice module! 
> Perhaps it helps 
> > > > a little bit.
> > > >
> > > > manuel
> > >
> > > It's great for understanding the backoffice and "normal" 
> > > ContentDefinition conecepts step by step! :)
> > >
> > > But ... if I understand it right, the MasterModule is newer, an 
> > > alternativ concept to "normal" ContentDefinition and Backoffice.
> > >
> > > So this tutorials help me for understanding some generals and for 
> > > future questions, but not for solving my current problems.
> > >
> > > Nervertheless: many, many thanks!! :))
> > >
> > > Best wishes
> > > Tol
> > > --
> > > independent internet radio berlin http://www.recordcaster.de
> > >
> > >
> > > _______________________________________________
> > > This mail is send to you from the opencms-dev mailing list
> > > To change your list options, or to unsubscribe from the list,
> > > please visit http://mail.opencms.org/mailman/listinfo/opencms-dev
> > >
> > >
> >
> > _______________________________________________
> > This mail is send to you from the opencms-dev mailing list
> > To change your list options, or to unsubscribe from the 
> list, please visit
> > http://mail.opencms.org/mailman/listinfo/opencms-dev
> >
> 
> _______________________________________________
> This mail is send to you from the opencms-dev mailing list
> To change your list options, or to unsubscribe from the list, 
> please visit
> http://mail.opencms.org/mailman/listinfo/opencms-dev
> 
> 




More information about the opencms-dev mailing list