In contrary maybe to its activity at the projects webpage http:// www.mmbase.org/mmcf the MMCF is still active. The past year the MMBase Framework has grown into a rather stable framework. We have already run some of its components in the CMSContainer (CMSC), in EO's MMBase environment Patmos and in a default MMBase distro.

What was MMCF again? Main goal was to create an application framework for MMBase. Or rather, an interface to build your own framework for your MMBase environment. MMCF should provide classes to build upon to make MMBase components run without modification, for instance a poll, an email application, any application.

There is no need to implement your own framework if you don't have one already. The default reference implementation of the framework that will be included with the MMBase 1.9 distro will be fully functional. Only when you already have a MMBase site and you are planning to upgrade to 1.9 AND wish to use components - you can use MMBase without them - you may need to implement the interfaces to create your own version of a framework. We suspect that in a lot of cases your own implementation of the framework is not necessary. Only in rather large MMBase implementations of MMBase, like the CMSC and Didactor, it will be needed.

What does it do now? Maybe its easier to start this explanation with the MMCF configuration. MMCF adds a new directory to the config directory: components. This is were the component configuration files go, like for example poll.xml, stating the 'blocks' a component consists of. Within these files you also control a components settings. Besides that MMCF adds a config file named 'framework.xml' to the root of the config directory. Currently that one only consists of settings that are used by the default MMBase framework implementation.

The MMCF uses UrlConverters to direct you to a component with nice looking links. For example the MyNews application is rewritten from an application (which it of course still is) to a component and uses UrlConverter to create links to its articles. These UrlConverters are also configured in framework.xml, the MyNews one is named MyNewsUrlConverter and shows the MyNews magazine at http:// 127.0.0.1:8080/magazine.

What are components? A components consist of at least one block. The poll application for example has three: - the poll itself with the radio buttons to choose form and its submit button;
- the poll result block; and
- a block that can be included in the admin or editor environment of your application to control the polls settings.
All these are controlled from within the component configuration file.

What have we accomplished until now? The default reference implementation of the MMCF is more or less stable. Since the last demonstration of the MMCF at the VPRO in november last year a lot has been added. There still remains a lot to be done. All of the development is done by a few very busy developers in their spare time, so it is not going very fast... - There is a framework interface (although the default MMBase implementation is still a bit unclear). - MMBase admin pages were rewritten to components (some of them still have to).
- The MMBase admin has a new interface and design (still some to-do's).
- Several of the applications present in the applications directory were rewritten to components (most of them really work as components!): <mm:component name=".." />
- Components have settings: <mm:setting name=".." />.
- Components have actions that can be controlled using MMBase security: <mm:may action=".." />. - The default MMBase reference implementation uses a filter to beautify its urls. There are no longer url's like '/admin/index.jsp? nr=235&category=nice&class=ten' but these are nicely rewritten to '/ mmbase/admin/servers'. This way you will be able to create nice urls to your components. There is still some testing needed in this area, mainly to make it possible to run the framework without the filter. - There are API docs at http://www.mmbase.org/api/org/mmbase/ framework/package-summary.html (which are more or less up-to-date) - There is documentation at http://www.mmbase.org/mmdocs/ backenddevelopers/components.html (which needs to be updated to reflect the current situation)

What is still needed?
- More documentation about implementing components and your own framework. - Another coding weekend or a few days in which especially components from other than the MMBase distro need to be tested in the framework environment, like for example from CMSC or Didactor.
- The bugtracker lists all to-do's:
http://www.mmbase.org/jira/secure/IssueNavigator.jspa? reset=true&mode=hide&pid=10000&sorter/order=DESC&sorter/ field=priority&resolution=-1&component=10031

We especially encourage developers who wish to implement applications within MMBase, of have MMBase applications, to join and test there applications against the new framework. Since you have made to the end of this rather long e-mail, you must be interested. So, please join our efforts and keep an eye on this list for an upcoming weekend or coding days.

On behalf of the MMCF team.

---André


--
André van Toly
MMBase development & Userfriendly webdesign

W: http://www.toly.nl
M: +31(0)627233562
------------------------------------------------------------------ ~~<<>>~~


_______________________________________________
Developers mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/developers

Reply via email to