MidCOM
From MidgardWiki
MidCOM (short for "Midgard Component Framework") is an Open Source Content Management Framework written in PHP. It provides a number of services for website developers and a module system on which combineable and reusable (MidCOM Components) can be built.
Currently, a major rewrite of MidCOM (dubbed MidCOM 3) is in the works. It will be released as part of the Midgard "Vinland" series.
Contents |
Main Features
MidCOM provides a number of services covering areaes like authentication, user notification and revision control. For content editors, WYSIWYG editors like TinyMCE and FCKEditor and jQuery-based Datamanager2 widgets facilitate content editing on the actual website. Many more MidCOM Features are described in a separate article.
MidCOM Components
About 100 readymade MidCOM Components for many common CMS and Web application tasks is available as packages in the MidCOM PEAR Channel (See List of MidCOM Components for details). To use a Component in a site, it has to be assigned to a Topic (by creating or editing it and selecting the component from the dropdown menu). It's behavior, data structures and output can be configured in a number of ways
Administration
Most administration tasks are handled from the MidCOM Toolbars, which dynamically load a number of plugins to control different aspects of the MidCOM system, for example:
- midcom.admin.babel - Localization of system messages
- midcom.admin.folder - Topic management
- midcom.admin.settings - Site-wide settings
- midgard.admin.acl - MidCOM ACL system
- no.bergfald.rcs - RCS system
For MidCOM versions starting at 2.8., Asgard, provided by midgard.admin.asgard unifies many of these admin features and provides a generic MidCOM object editor.
Configuration
MidCOM site configuration is saved in the Page Element code-init. Many of the config options are also avccessible via the Toolbar. See MidCOM Configuration for an overview of config options.
The components can be configured per Sitegroup in a special Snippetdir called sitegroup-config. To configure a Component, a Subsnippetdir with the name of the component has to be created. Alternatively, global component configuration can be done in Asgard. Configuration on a per-Topic-level can be done in a MidCOM Toolbar. See MidCOM Component Configuration for details.
Development
MidCOM was originally developed separate from the Midgard core, but is now included in the standard distribution. Before MidCOM 2.0, MidCOM's functionality was stored in the Midgard MySQL Database, starting from version 2.0, it is stored in the file system. midcom-fs is the designation for current versions, as opposed to midcom-db, which refers to 1.x versions.
MidCOM contains a number of additions to the standard Midgard functionality. For example, the Style Engine expands the functionality offered by Midgard quite a bit (Templating in MidCOM offers an overview of the possibilities). MidCOM URL Methods allow you to embed commands into request URLs. MidCOM provides a Database Abstraction Layer that wraps MgdSchema and makes it available to Component developers.
See also:
Installation
Starting with MidCOM 2.6.0, the framework and its components are available as PEAR packages to ease installation and tracking dependencies. The installation can be triggered from Datagard, additional packages can be installed from the command line.
To enable MidCOM for a specific website, one can create a new Host with Midgard Sitewizard or modify the respective Page Elements for an existing Host. If you choose the manual installation, the MidCOM root Topic must be enabled in a Host's Root Page, usually in code-global or code-init. Furthermore, a link to the static directory, which is usually called midcom-static, must be acessible to Apache from the Virtual Host's DocumentRoot.
See also Troubleshooting for typical installation problems
Weblinks
- Content production with MidCOM
- http://www.midgard-project.org/documentation/midcom/ - The main MidCOM documentation page
- http://midcomapi.contentcontrol-berlin.de - MidCOM API documentation
- http://ragnaroek.pear.midgard-project.org/ - MidCOM PEAR channel
- http://trac.midgard-project.org - developer services (current)
- http://gforge.nehmer.net/projects/midcom/ - developer services (2.6 era)
