{"id":2963,"date":"2014-10-07T00:00:00","date_gmt":"2014-10-07T00:00:00","guid":{"rendered":"https:\/\/structr.com\/was-sind-die-anwendungsfaelle-von-structr\/"},"modified":"2025-03-24T13:46:39","modified_gmt":"2025-03-24T13:46:39","slug":"was-sind-die-anwendungsfaelle-von-structr","status":"publish","type":"post","link":"https:\/\/structr.com\/de\/blog\/was-sind-die-anwendungsfaelle-von-structr\/","title":{"rendered":"Was sind die Anwendungsf\u00e4lle von Structr?"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><p>[vc_row][vc_column][vc_column_text]Wir bekommen oft Fragen wie diese: &#8222;Structr sieht toll aus und so, aber was kann ich damit eigentlich machen?&#8220;, also habe ich beschlossen, einen Blogbeitrag zu schreiben, um diese Fragen zu beantworten.<\/p>\n<h3 id=\"ein-kleines-stueck-geschichte\">Ein kleines St\u00fcck Geschichte<\/h3>\n<p>F\u00fcr diejenigen, die die lange und kurvenreiche Geschichte von Structr nicht mitverfolgt haben: alles begann vor vier Jahren mit einem einfachen CMS, das auf der Graphdatenbank <a href=\"http:\/\/neo4j.org\" target=\"_blank\" rel=\"noopener\">Neo4j<\/a> basierte. Von da an wurde die Entwicklung durch viele verschiedene Projekte beeinflusst. Jedes Projekt hatte seine eigenen Anforderungen, und Structr ist die Essenz all der Dinge, die diese Projekte gemeinsam hatten.  <\/p>\n<h3 id=\"wofuer-wir-structr-verwenden\">Wof\u00fcr wir Structr verwenden<\/h3>\n<p>Der einfachste Weg, diese Liste von Anwendungsf\u00e4llen zu beginnen, ist vielleicht ein Blick auf die Projekte, die <i>wir<\/i> mit Structr durchf\u00fchren, denn wir sind wahrscheinlich diejenigen, die es am besten kennen.<\/p>\n<h4 id=\"structr-org\">structr.org<\/h4>\n<p>[\/vc_column_text][vc_single_image image=&#8220;2964&#8243; img_size=&#8220;large&#8220;][vc_column_text]<\/p>\n<p>Unsere Website, structr.org, basiert nat\u00fcrlich auf Structr. Das ist nicht ganz der &#8222;Basic CMS&#8220; Anwendungsfall, den man erwarten w\u00fcrde, denn wir haben all die kleinen Dinge drin, die man f\u00fcr eine <i>richtige<\/i> Website braucht. Structr.org hat Blog-Artikel, Autoren, Bilder, Nachrichten, Feedback, Features und Kategorien, die alle mit dem Schema-Editor modelliert werden. Structr sendet sogar eine E-Mail, wenn ein neues Feedback-Objekt \u00fcber das Feedback-Formular gepostet wird, unter Verwendung des untenstehenden einfachen Funktionsausdrucks (der nat\u00fcrlich auch im Schema-Editor deklariert ist). Diese Funktion ist in der Methode <code>onCreate<\/code> der Entit\u00e4t <code>Message<\/code> definiert (die der K\u00fcrze halber nicht im Screenshot abgebildet ist).    <\/p>\n<pre>(\r\n    send_plaintext_mail(\r\n        'contact-form@structr.com',\r\n        'structr.com Contact Form',\r\n        'team@structr.com',\r\n        'Structr Team',\r\n        this.subject,\r\n        concat('Message from ', this.name, ' (', this.eMail, '): ', this.message)\r\n    )\r\n)\r\n<\/pre>\n<h4 id=\"structr-com\">structr.com<\/h4>\n<p>Structr.com ist die derzeitige Heimat des Structr-Hosting-Dienstes. Die Structr-Instanz, die den Hosting-Service betreibt, ist eines der fortschrittlichsten Structr-Projekte, die wir haben. Sie verwaltet alle gehosteten Instanzen \u00fcber einen API-Client f\u00fcr den Cloud-Hosting-Anbieter und ein ssh-basiertes State-Machine-Protokoll, das die Structr-Instanzen auf jedem Server steuert. Die Benutzerverwaltung, die Zahlungen, die PayPal-Integration und die Hosting-Optionen sind alle mit Structr entwickelt worden, obwohl der meiste gesch\u00e4ftskritische Code nat\u00fcrlich in Java geschrieben ist.   <\/p>\n<h4 id=\"docs-structr-org\">docs.structr.org<\/h4>\n<p><a href=\"http:\/\/docs.structr.org\" target=\"_blank\" rel=\"noopener\">http:\/\/docs.structr.org<\/a> ist die Structr-Dokumentationsseite, die Rohinhalte von GitHub abruft und sie mit dem <a href=\"https:\/\/github.com\/sirthias\/pegdown\" target=\"_blank\" rel=\"noopener\">in Structr integrierten Markdown-Prozessor<\/a> anzeigt, um die HTML-Dokumentation zu erstellen und anzuzeigen.<\/p>\n<p>Structr unterst\u00fctzt die folgenden Auszeichnungsdialekte:<\/p>\n<ul>\n<li>Markdown<\/li>\n<li>Textilien<\/li>\n<li>MediaWiki<\/li>\n<li>TracWiki<\/li>\n<li>Zusammenfluss<\/li>\n<li>AsciiDoc<\/li>\n<\/ul>\n<p>Vor kurzem habe ich <a href=\"\/blog\/structr-documentation-on-github\" target=\"_blank\" rel=\"noopener\">in einem Blog<\/a> \u00fcber die Migration unserer Dokumentationsinhalte zu GitHub berichtet.<\/p>\n<h4 id=\"die-epresia-empfehlungsmaschine\">Die Epresia-Empfehlungsmaschine<\/h4>\n<p>[\/vc_column_text][vc_single_image image=&#8220;942&#8243; img_size=&#8220;large&#8220;][vc_column_text]<\/p>\n<p>Epresia ist ein deutsches Start-up-Unternehmen, das Geschenkempfehlungen und andere Dienstleistungen rund um Geschenke f\u00fcr Freunde, Kollegen und Familienmitglieder anbietet. Structr betreibt die Empfehlungsmaschine hinter Epresia. Sie nutzt die Structr Java API und verl\u00e4sst sich stark auf die flexiblen Konfigurationsm\u00f6glichkeiten des Structr REST Servers.  <\/p>\n<h4 id=\"das-bierdiagramm\">Das Bierdiagramm<\/h4>\n<p>Structr dient als Backend f\u00fcr eine mobile Anwendung, die von einem unserer Teammitglieder, <a href=\"https:\/\/structr.com\/de\/unternehmen\/ueber-uns\/\">Alexander Thiele<\/a>, geschrieben wurde, der ein soziales Bier-Sharing\/Empfehlungssystem namens <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=de.alexander.thiele.beergraph\" target=\"_blank\" rel=\"noopener\">Bier Graph<\/a> entwickelt hat. Dies ist nat\u00fcrlich eher ein Anwendungsfall aus dem Freizeitbereich, aber es zeigt, dass Structr sehr gut f\u00fcr Backends von mobilen Anwendungen geeignet ist. <\/p>\n<h4 id=\"andere-projekte\">Andere Projekte<\/h4>\n<p>Es gibt viele weitere Projekte, von denen ich einige nur anonym erw\u00e4hnen werde. Die Liste umfasst eine E-Learning-Plattform (Backend und Frontend), ein Redner- und Konferenzmanagementsystem (Backend und Frontend), einen Hotelkatalog und ein Reservierungssystem (Backend und Frontend), ein soziales Netzwerk (REST-Backend), ein weiteres Empfehlungsmaschinenprojekt (Backend) und vieles mehr. Structr ist sogar die Grundlage f\u00fcr unsere interne Projektmanagement-L\u00f6sung, die t\u00e4glich w\u00e4chst und sich weiterentwickelt, w\u00e4hrend wir sie nutzen.<\/p>\n<p><strong>Structr ist bei weitem die am besten integrierbare Software, die ich je benutzt habe.<\/strong><\/p>\n<p>Die Tatsache, dass der Structr REST-Server Zugriff auf alle Elemente der Structr-Benutzeroberfl\u00e4che bietet, einschlie\u00dflich Schema, Seiten- und Inhaltsinformationen, Benutzer usw. (gesch\u00fctzt durch fein abgestufte Zugriffskontrollregeln), erm\u00f6glicht einen beispiellosen Grad der Integration mit anderen Systemen und Skripten. Sie k\u00f6nnen Python, Bash-Skripte (curl, grep, awk, sed), usw. verwenden. Im Grunde die Werkzeuge Ihrer Wahl, um auf die Datenbank zuzugreifen, Daten, Benutzer, Schemainformationen usw. zu erstellen, zu \u00e4ndern oder zu l\u00f6schen. Structr ist leicht skriptf\u00e4hig und eignet sich hervorragend f\u00fcr Webanwendungen im ROCA-Stil.<\/p>\n<h4 id=\"beispiel\">Beispiel<\/h4>\n<p>An diesem Wochenende habe ich <a href=\"http:\/\/www.ansible.com\/home\" target=\"_blank\" rel=\"noopener\">Ansible<\/a> eingerichtet, um die wachsende Zahl der gehosteten Instanzen besser verwalten zu k\u00f6nnen. Ansible ist ein ssh-basiertes Infrastruktur- und Konfigurationsmanagement-Tool, das fast keine Konfiguration auf den verwalteten Hosts erfordert. Wenn Sie mit Ansible vertraut sind: Die wichtigste Information ist das so genannte <i>Inventar<\/i>, das alle Hosts in Ihrer Umgebung auflistet und gruppiert. Da wir eine Liste der gehosteten Instanzen in unserer Structr-Hosting-Plattform haben, war es eine Sache von wenigen Minuten, ein JSON-Dokument vorzubereiten, das nur die f\u00fcr das Ansible-Inventar ben\u00f6tigten Informationen enth\u00e4lt, die ich dann an den Python JSON-Parser weitergegeben habe, um ein dynamisches Inventarisierungsskript zu erstellen:   <\/p>\n<pre>#!\/usr\/bin\/python\r\n\r\nimport json\r\nimport urllib2\r\n\r\n# create the request and authorize it\r\nurl = urllib2.Request(\"http:\/\/localhost:8282\/structr\/rest\/inventory\")\r\nurl.add_header(\"X-User\", \"user\")\r\nurl.add_header(\"X-Password\", \"password\");\r\n\r\n# load and parse the JSON document from Structr\r\ndata = json.load(urllib2.urlopen(url))\r\n\r\n# remove id and type from the result\r\ndel data[\"result\"][0][\"id\"]\r\ndel data[\"result\"][0][\"type\"]\r\n\r\n# print the result\r\nprint json.dumps(data[\"result\"][0], indent=4)\r\n<\/pre>\n<p>&nbsp;<\/p>\n<h3 id=\"andere-moegliche-anwendungsfaelle\">Andere m\u00f6gliche Anwendungsf\u00e4lle<\/h3>\n<h4 id=\"ersetzen-sie-das-unternehmens-wiki\">Ersetzen Sie das Unternehmens-Wiki<\/h4>\n<p>Structr ist der perfekte Ersatz f\u00fcr das \u00e4ltere Wiki Ihres Unternehmens<i>(wenn<\/i> Sie alle unstrukturierten Daten aus ihm herausholen k\u00f6nnen). Sie k\u00f6nnen neue Datentypen erstellen, bestehende erweitern, neue Seiten, gemeinsame Bereiche usw. erstellen. Sie k\u00f6nnen mit einem Structr-basierten generischen &#8222;Informationsspeichersystem&#8220; beginnen und es zu einer leistungsf\u00e4higen spezialisierten Gesch\u00e4ftsl\u00f6sung weiterentwickeln, die mit Ihren Anforderungen w\u00e4chst.[\/vc_column_text][vc_single_image image=&#8220;957&#8243; img_size=&#8220;large&#8220;][vc_column_text]<\/p>\n<h4 id=\"praesentieren-und-visualisieren-sie-ihre-daten\">Pr\u00e4sentieren und visualisieren Sie Ihre Daten<\/h4>\n<p>Erstellen Sie in wenigen Minuten spezialisierte Sichten auf Ihre Daten und verwenden Sie diese in Ihren Pr\u00e4sentationen. Nat\u00fcrlich k\u00f6nnen Sie die volle Leistungsf\u00e4higkeit von <a href=\"http:\/\/docs.neo4j.org\/chunked\/stable\/cypher-introduction.html\" target=\"_blank\" rel=\"noopener\">Cypher<\/a> auch in Ihrer Structr-Anwendung nutzen. <\/p>\n<h4 id=\"verwalten-sie-ihr-vermoegen\">Verwalten Sie Ihr Verm\u00f6gen<\/h4>\n<p>Structr verf\u00fcgt \u00fcber einen integrierten FTP-Server, der den Zugriff auf Seiten, Dateien und Bilder in Ihrer Datenbank mit denselben feink\u00f6rnigen Zugriffskontrollen erm\u00f6glicht, die \u00fcberall im System verf\u00fcgbar sind.<\/p>\n<h4 id=\"integrieren-sie-structr-in-ihre-prozesse\">Integrieren Sie Structr in Ihre Prozesse<\/h4>\n<p>Structr verf\u00fcgt \u00fcber eine leistungsf\u00e4hige API zur Befehlsausf\u00fchrung, mit der Sie externe Tools und Skripte f\u00fcr die Datenverarbeitung und die Integration mit anderen Systemen ausf\u00fchren k\u00f6nnen.<\/p>\n<h4 id=\"testen-sie-ihre-entwuerfe\">Testen Sie Ihre Entw\u00fcrfe<\/h4>\n<p>Testen Sie neue Screendesigns in wenigen Minuten. Importieren Sie Ihr Design in Structr, verkabeln Sie es und sehen Sie, wie es mit <i>Ihren Live-Daten<\/i> aussieht. <\/p>\n<h4 id=\"speichern-sie-ihre-berichtsdaten\">Speichern Sie Ihre Berichtsdaten<\/h4>\n<p>Leiten Sie Ihre Berichtsdaten in Structr ein und analysieren Sie sie sp\u00e4ter. Sie k\u00f6nnen das Datenbankschema zur Laufzeit leicht anpassen, neue Attribute oder sogar neue Typen hinzuf\u00fcgen. \u00c4nderungen am Schema sind sofort in der REST-Schnittstelle verf\u00fcgbar. Sie k\u00f6nnen Batch-Jobs schreiben, die Dinge organisieren oder die Daten periodisch auswerten.   <\/p>\n<h4 id=\"tldr\">tl;dr<\/h4>\n<p>Structr ist ein sehr flexibles System, das sich gut in bestehende Umgebungen integrieren l\u00e4sst und mit dem Sie Ihre Daten auf noch nie dagewesene Weise speichern, analysieren, auswerten und visualisieren k\u00f6nnen, indem Sie die Macht des Graphen nutzen.<\/p>\n<p><a href=\"https:\/\/structr.com\/de\/unternehmen\/kontakt\/\">Kontaktieren Sie uns<\/a> f\u00fcr weitere Informationen, besuchen Sie unsere Schulungsseite oder fordern Sie einen pers\u00f6nlichen Evaluierungsworkshop an.[\/vc_column_text][\/vc_column][\/vc_row]<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>[vc_row][vc_column][vc_column_text]Wir bekommen oft Fragen wie diese: &#8222;Structr sieht toll aus und so, aber was kann ich damit eigentlich machen?&#8220;, also \u2026<\/p>\n","protected":false},"author":8,"featured_media":2964,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[612,543],"tags":[871,660,549,552,878,582,873,875,556,872,613,876,547,877,623,598,548,545,611,874,557,551],"class_list":["post-2963","post","type-post","status-publish","format-standard","hentry","category-programmierung","category-structr-de","tag-anwendungsfalle","tag-api-de","tag-automatisierung","tag-backend-de","tag-berichterstattung","tag-cms-de","tag-datenanalyse","tag-empfehlungsgine","tag-graphdatabase-de","tag-integration-de","tag-it-de","tag-mobilebackend-de","tag-neo4j-de","tag-projektleitung-de","tag-rest-de","tag-skripting","tag-software-entwicklung","tag-structr-de","tag-vermogensverwaltung","tag-visualisierung","tag-vorderseite","tag-web-entwicklung"],"acf":[],"_links":{"self":[{"href":"https:\/\/structr.com\/de\/wp-json\/wp\/v2\/posts\/2963","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/structr.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/structr.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/structr.com\/de\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/structr.com\/de\/wp-json\/wp\/v2\/comments?post=2963"}],"version-history":[{"count":5,"href":"https:\/\/structr.com\/de\/wp-json\/wp\/v2\/posts\/2963\/revisions"}],"predecessor-version":[{"id":2972,"href":"https:\/\/structr.com\/de\/wp-json\/wp\/v2\/posts\/2963\/revisions\/2972"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/structr.com\/de\/wp-json\/wp\/v2\/media\/2964"}],"wp:attachment":[{"href":"https:\/\/structr.com\/de\/wp-json\/wp\/v2\/media?parent=2963"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/structr.com\/de\/wp-json\/wp\/v2\/categories?post=2963"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/structr.com\/de\/wp-json\/wp\/v2\/tags?post=2963"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}