-
Notifications
You must be signed in to change notification settings - Fork 18
MidCOM
MidCOM is a framework for developing web applications and content management systems. It includes
- a database abstraction layer
- a number of services and generic administration tools (see below)
- an interface for extending it with custom Components
- a Routing service which allows composing an application out of multiple components (in combination with Topics)
The central entry point into the system is the midcom_application
class, an instance of which is available via the static midcom::get()
accessor:
$app = midcom::get();
From this instance, most of the framework's services can be accessed:
// Make sure we have a logged-in user and display a login form if not
$app->auth->require_valid_user();
// Fetch a translation for a string and output
echo $app->i18n->get_string('login');
These services are available through midcom_application
currently:
-
auth
- Access point to midcom.services.auth -
cache
- Caching service -
componentloader
-midcom_helper__componentloader
object. Can be used to load Components -
dbclassloader
- Access point to midcom_services_dbclassloader -
dbfactory
- Access point to midcom_helper__dbfactory -
i18n
- Internationalization subsystem -
indexer
-midcom_services_indexer
object (uses Solr by default) -
metadata
- midcom_services_metadata object -
permalinks
- Permalinks service -
metadata
- midcom_services_metadata object -
rcs
- midcom_services_rcs object -
session
- midcom_service__sessioning object -
style
- Access point to the Style Engine -
toolbars
- Access point to the MidCOM Toolbars service -
uimessages
- midcom_services_uimessages object
See also:
See MidCOM Configuration for an overview of config options.
Components can be configured 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.
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.folder - Topic management
- midcom.admin.rcs - RCS system
- Asgard unifies many of these admin features and provides a generic MidCOM object editor.
Apart from that, some functionality is available in MidCOM URL Methods.
MidCOM was originally developed separate from the Midgard
core, but was later included in the standard distribution. Before
version 2.0, MidCOM's functionality was stored in the
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.
The most recent release by the Midgard Project is the 8.09 LTS series, which was supported until 2013. OpenPSA was forked from MidCOM in November 2010 at the Midgard developer meeting and is developed independently since then.
The new OpenPSA application and the underlying framework start with version number 9.
https://github.com/flack/openpsa - github repository (9.0 series)
http://api.openpsa2.org/ - API documentation
http://www.midgard-project.org/documentation/midcom/ - The 8.09 series MidCOM documentation page