02. Jun

APP-CMS, API-zentriertes Redaktionssystem für Apps

Webbasierte Redaktionssysteme gibt es wie Sand am Meer – um mit TYPO3 und Wordpress nur zwei der Bekanntesten zu nennen. Doch die meisten dieser Systeme sind nicht wirklich für das Veröffentlichen von flexiblen Inhalten für mobile Apps geeignet. Cloudbasierte Systeme wie das aktuell hoch gehypte Contentful versuchen diese Lücke zu schließen. Einen ähnlichen Ansatz bietet unser neu entwickeltes APP-CMS, dass ähnlich wie Contentful auf einem API-zentriertes Redaktionssystem basiert. Das bedeutet, der Fokus beim APP-CMS liegt auf der Bereitstellung von flexiblen Inhalten über eine Schnittstelle (API).

Bestehende Systeme wie TYPO3 oder WordPress bieten zwar zum Teil Schnittstellen (oder lassen sich zumindest hinzuprogrammieren), aber meistens sind diese nicht optimiert für den Abruf aus mobilen Apps. Oftmals bieten herkömmliche Schnittstellen folgende klassische Ansätze – am Beispiel von Produkten:

Liefert eine Auflistung aller Produkte zurück.

Liefert die Details zum Produkt mit der ID 13 zurück.

Wenn jetzt zusätzlich noch Informationen zu einer bestimmten, zugeordneten Kategorie benötigt werden, ist ein weiterer API-Aufruf nötig.

Liefert die Details zur Kategorie mit der ID 11 zurück.

Um ein einzelnes Produkt in einer App anzuzeigen, sind mindestens schon zwei bis drei einzelne API-Aufrufe vom Server nötig. Bei einem Live-Abruf ist das noch mehr oder weniger gangbar – problematisch, bzw. komplexer wird die Thematik bei Offline-Strategien in mobilen Apps. Um alle Daten offline in eine App zu laden, müssen sehr viele einzelne, asycnhron laufende API-Abrufe gestartet werden. Die interne Verwaltung und das Handling dieser API-Aufrufe gestaltet sich technisch nicht immer ganz so einfach. 

Optimierte API-Aufrufe im APP-CMS für Offline-Strategien

 Hier kommen die mobil-optimierten Schnittstellen des APP-CMS ins Spiel. Unser APP-CMS bietet für die Synchronisation von Inhalten eine einzige Schnittstelle:

Abruf aller Daten mit optionaler Angabe eines Zeitstempels, um nur die zuletzt geänderten Inhalte zu laden.

Die Schnittstelle liefert die kompletten (zuletzt geänderten Daten) im JSON-Format zurück.

Damit können über das APP-CMS mit nur einem API-Aufruf alle Inhalte auf einen Rutsch in eine mobile App geladen werden. Der jeweils mit zurückgegebene Zeitstempel kann dabei gespeichert und beim nächsten Abruf mit an die Schnittstelle übergeben werden. Es werden beim nächsten Abruf nur die seit diesem Zeitstempel geänderten Daten an die mobile App übertragen. Aber natürlich bietet das APP-CMS auch die klassischen API-Abrufe wie eine Auflistung, Detailansicht oder das Hinzufügen, Ändern, sowie Löschen von Inhalten an.

Optimierte API-Rückgabe auch bei Listen-Abrufen über das APP-CMS

Und auch hier geht das APP-CMS einen Schritt weiter und bietet die Rückgabe über den optionalen Parameter „flatten“ als flache Liste oder als verschachtelte Liste mit allen Unterobjekten an. Gerade bei einer Auflistung von Produkten – um beim obigen Beispiel zu bleiben – kann hier mit nur einem Aufruf in der Listenansicht auch gleich der passende Kategorienname angezeigt werden. 

Über den Pflicht-Parameter „entity“ wird die entsprechende Entität (dazu später noch mehr) der zu ladenden Inhalte gesetzt, die weiteren Parameter zeigen nur einen Teil der flexiblen API-Abfragemöglichkeiten des APP-CMS. Und das auf neudeutsch formuliert: Out-Of-The-Box. Als Rückgabe liefert die Schnittstelle eine Auflistung aller Top-Produkte mit den dazugehörigen Kategorien:

Flexible Inhalte und automatisierte Schnittstellen dank Doctrine-Entitäten

Doch was bringt das schönste Redaktionssystem, wenn die Inhalte nicht flexibel und losgelöst von vorgegebenen Strukturen definiert werden können. Auch hier geht das APP-CMS neue Wege und hebt sich damit wohlwollend von Lösungen wie TYPO3 ab. Anstatt an Seiten und mehr oder weniger definierten Inhaltsstrukturen gebunden zu sein, bietet das APP-CMS alle Freiheiten.

Dazu werden die benötigten Inhalte im APP-CMS über Doctrine Entitäten definiert. Mit allen Möglichkeiten und Freiheiten, die das bekannteste ORM-Framework auf PHP-Basis bietet:

  • One-To-One Verbindungen
  • One-To-Many Verbindungen
  • Many-To-Many Verbindungen

Konfiguriert werden die Doctrine Entitäten über Annotations. Dabei können alle Standard-Annotatios von Doctrine genutzt werden und darüber hinaus zusätzliche Annotations des APP-CMS, um z.B. Dateiuploads, RTE-Textfelder, etc. zu konfigurieren.

Die Datenbank wird vom Doctrine-Framework wie gewohnt automatisch generiert, auf die definierten Inhalte kann ohne weiteres Zutun automatisiert über die oben beschrieben API des APP-CMS zugegriffen werden. Ein weiterer großer Vorteil der Doctrine-basierten Inhaltsdefinition ist eine fachlich sauber modellierte Datenbankstruktur. Wer die zum Teil höchst abstrakten Datenbankmodelle anderer, sogenannter Produkt-Informationssysteme (PIM) oder webbasierter Redaktionssysteme wie TYPO3 oder WordPress kennt, dem werden die fachbezogenen Datenbankstrukturen des APP-CMS ein Wohlwollen sein!

Ein Beispiel, einer im APP-CMS konfigurierten Entität:

Aus diesen Angaben generiert das APP-CMS, bzw. Doctrine im Hintergrund, automatisch die entsprechende Datenbankstruktur.

API-zentriertes CMS für mobile Apps

Auf alle über Doctrine definierten Entitäten (bzw. Datenbanktabellen) kann direkt über folgende API-Aufrufe über das APP-CMS zugegriffen werden:

  • /api/list
  • /api/single
  • /api/update
  • /api/insert
  • /api/delete

Damit können „Out-of-the-Box“ alle Inhalte und Daten des APP-CMS direkt über eine Schnittstelle/API verwaltet werden. Um konventionellen Benutzern die Pflege zu ermöglichen, bietet das APP-CMS aber natürlich auch eine webbasierte Oberfläche an.

Webbasierte Redaktionsplattform auf Basis von AngularJS

Die Oberfläche basiert auf AngularJS und greift, wie eine mobile App, auf die Schnittstellen zurück. Die gesamten Oberflächen wie Auflistungen und Bearbeitungsformulare werden automatisch generiert und bieten dem Benutzer eine moderne und intuitive Bearbeitungsmöglichkeit:

  • Auflistung mit Paginierung, Suche, Sortierung und Filterung
  • Formulare mit Picker, Auto-Suggest-Unterstützung
  • Drag’n Drop Upload von Dateien und Bildern
  • Medienarchiv
  • Benutzerverwaltung
  • ….
App-CMS

Das App-CMS – Listenansicht

Das APP-CMS, in kurzer Zeit einsatzbereit und individuell anpassbar

Das auf PHP, Symfony/Silex, Doctrine und AngularJS basierende APP-CMS ist in kurzer Zeit eingerichtet und individuell anpassbar. Die zu verwaltende Inhaltsstruktur ist einfach und komplett flexibel auf die gewünschten Anforderungen anpassbar. Die komplette Funktionalität, alle Schnittstellen und die gesamte Oberfläche ist einfach auf individuelle Bedürfnisse anpassbar.

Wenn Sie Interesse an einem flexiblen Redaktionssystem mit einer kurzen „Time To Market“ haben, nutzen Sie unser APP-CMS für ihre mobilen Projekte:

Das APP-CMS

Das APP-CMS

Ihr persönlicher Ansprechpartner berät Sie gerne über das APP-CMS:

  • Markus Schmid
  • Geschäftsführer AREA-NET GmbH
  • Telefon: 0 71 62 / 94 11 40 

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.