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