Midgard (Software)

Midgard (Software)

Midgard ist ein objektbasiertes Software-Framework für datenbankbasierte Web- und Desktop-Anwendungen. Midgard wurde ursprünglich zur Entwicklung von Webanwendungen wie Web Content Management Systemen in PHP konzipiert, bietet mittlerweile aber ebenfalls Sprachanbindungen für die Programmiersprachen Python, Java und C#.

Das Midgard-Projekt nutzt ein an Ubuntu angelehntes Versionsmodell, d. h. zweimal pro Jahr wird eine neue Hauptentwicklungslinie freigegeben. Die Neuerungen der aktuellen 8.09-Serie umfassen unter anderem eine eingebaute Replikations-Schnittstelle und D-Bus-Unterstützung.

Ein weiteres Hauptmerkmal des Midgard-Frameworks ist die Datenbank-Abstraktionsschicht MgdSchema, die auf Basis von XML-Beschreibungen die Struktur der Datenbank-Tabellen verwaltet und einzelne Einträge als Objekte in den verschiedenen unterstützten Sprachen zur Verfügung stellt.

Inhaltsverzeichnis

MidCOM

Midgard setzt im Web-Anwendungsfall auf ein LAMP-System auf, und stellt mit dem mitgelieferten CMS-Framework MidCOM ein Komponentensystem bereit. Durch die mitgelieferten Komponenten können viele Anwendungsfälle wie Blogs, Foren oder Wiki-Systeme sehr einfach integriert werden. Zur Administration wird die Oberfläche Asgard bereitgestellt.

Durch das eingebaute ACL-System lassen sich verschiedene Rollenkonzepte realisieren, so dass beispielsweise Designer und Seitenautoren unterschiedliche Zugriffsrechte für einzelne Datenbankobjekte haben können.

Die Anwendungs-Logik wird in wiederverwendbaren MidCOM Components organisiert, deren Datenstruktur über ein System von sog. Datamanager Schemas weitgehend anpassbar ist. Website-Inhalte werden in Topics organisiert, die mit der jeweils zuständigen Komponente verbunden sind.

Das Layout wird durch ein System von in PHP, HTML und CSS geschriebenen Style Elements realisiert, die den Topics zugewiesen werden. Styles und Style Elements sind in einer Baumstruktur organisiert, unterstützen Vererbung und sind mehrfach verwendbar.

Lizenzierung

Das Midgard-Framework ist grundsätzlich freie Software; die Lizenzierung der Teilkomponenten der Software unterliegt folgendem Modell:

  • Midgard core libraries', "MidCOM"': GNU Library General Public License;
  • Offizielle Dokumentation: GNU Free Documentation License (GNU GFDL)

Architektur

Architektur einer Anwendung unter dem Midgard-Framework

Die Midgard-Architektur setzt sich aus folgenden Kern-Komponenten zusammen:

GNU/Linux, Apache, MySQL und PHP (= LAMP)
Basis für eine skalierbare Plattform;
Midgard Framework
Technische Verwaltung von Berechtigungen (Permissions), Vorlagen (Templating) und Inhalten (Content). Das Framework, auch „Core“ genannt, besteht aus einer in C geschriebenen Anwendung, die APIs für Java, Python und PHP bereitstellt;
MidCOM
Ein in PHP geschriebenes Komponenten-Framework, mit dem strukturierte Inhalte aus vorgefertigten und wiederverwendbaren Komponenten erstellt werden können
Website
Anzeigen und Verwaltung der Inhalte.

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Midgard (software) — For other uses, see Midgard (disambiguation). Midgard AJAX inline editing of content in Midgard …   Wikipedia

  • Midgard (disambiguation) — Midgard is the Earth in Norse mythology Midgard may refer to: Midgard (software), an open source content management system Midgard (role playing game), a German role playing game Midgards, a city in the computer role playing game Tales of… …   Wikipedia

  • Midgard (Begriffsklärung) — Der Name Midgard bezeichnet in der germanischen Mythologie die Welt der Menschen, siehe Midgard die Weltenschlange in der germanischen Mythologie, siehe Midgardschlange ein Buch von Wolfgang und Heike Hohlbein, siehe Midgard (Roman) ein Pen Paper …   Deutsch Wikipedia

  • Comparison of wiki software — The following tables compare general and technical information for a number of wiki software packages. Contents 1 General information 2 Target audience 3 Features 1 4 Features 2 …   Wikipedia

  • Component-based software engineering — A simple example of two components expressed in UML 2.0. The checkout component, responsible for facilitating the customer s order, requires the card processing component to charge the customer s credit/debit card (functionality that the latter… …   Wikipedia

  • Comparison of open source software hosting facilities — A source code repository or source code escrow[citation needed] is a file archive and web hosting facility where large amounts of source code are kept, either publicly or privately. They are often used by open source projects and other multi… …   Wikipedia

  • Mambo (software) — Mambo Developer(s) Mambo Foundation Inc. Discontinued 4.6.5 [1] / June 26, 2008; 3 years ago (2008 06 26) Written in …   Wikipedia

  • Catalyst (software) — For the ATI graphic driver software, see AMD Catalyst. Original author(s) Sebastian Riedel Stable release 5.90001 / August 15, 2011; 2 months ago (2011 08 15) …   Wikipedia

  • Horde (software) — Horde Application Framework Developer(s) The Horde Core Team Stable release 4.0 / April 5 …   Wikipedia

  • Dancer (software) — For actual Dancing, see Dancer. Original author(s) Alexis Sukrieh Stable release 1.3072 / August 23, 2011; 2 months ago (2011 08 23) Written in Perl …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”