Hinweis: Zusammen mit der Topincs Reference beinhaltet dieses Handbuch alles, was man wissen muss. Über das Admin-Menü jedes Systems sind diese einfach erreichbar.
Topincs ist eine Online-4GL-Platform, um Systeme unter Anwendung von PHP, HTML, CSS, JavaScript und Topic-Graphen zu erstellen. Die letzte Technologie ist hierbei absolut zentral, denn sie führt einzigartige und mächtige Konzepte für Datenmodellierung ein.
Die Anwendbarkeit von Topincs ist groß. Sie können damit ein ERP System bauen, oder es in ein maßgeschneidertes Kollaborationstool für eine Forschungsgruppe verwandeln. Verwenden Sie es wie Ihre eigene programmierbare Wissensdatenbank in seinem ursprünglichen Zweck. Oder erstellen Sie ein Handbuch wie dieses. Ihrer Fantasie sind keine Grenzen gesetzt.
Hinweis: In Unix ist alles eine Datei. In Topincs ist alles ein Topic.
Es existieren ganz wenige Kernprinzipien – einmal verstanden, öffnen diese alle Türen auf dem Weg. Sie werden alle hier im Manual eingehend erklärt. Aber seien Sie bereit für eine anstrengende Reise. Wenn Sie sich verloren oder entmutigt fühlen, gehen Sie die entsprechenden Abschnitte nochmal durch. Und sehr wichtig: Probieren Sie es aus! Sie werden Topincs erst richtig verstehen können, wenn Sie selber damit arbeiten. Ihr Aufwand es zu erfassen und Ihre Denkweise über Daten und Software-Entwicklung zu ändern, wird sich lohnen, denn Sie werden weniger Zeit brauchen um komplexe und bessere Systeme zu erstellen, welche beliebig erweitert werden können und trotzdem wartungsfreundlich bleiben.
Mit Topincs lassen sich Systeme auch fast ganz ohne Programmierkenntnisse erstellen. Jedoch ist formales und abstraktes Denken eine wichtige Voraussetzung. Eine Online-Datenbank ist ein funktionales Produkt und wird ohne Programmieren erstellt. Aber sobald sie einen Schritt in Anwendungsentwicklung machen, benötigen Sie die Grundlagen des Programmierens. Für das Meiste wird PHP benutzt, wobei auch Markup, vor allem HTML, wichtig ist. Zum Stylen brauchen Sie CSS – SCSS um Arbeit zu sparen. Um die Funktionalität einer Seite zu bereichern, würden Erfahrungen mit JavaScript und dem DOM nicht schaden. Auch das HTTP-Protokoll und den Aufbau einer URL ist nicht zu vergessen. Keine dieser Technologien wird in diesem Handbuch behandelt, es existieren etliche Quellen online oder auch als Buch.
Hinweis: Keine Sorge! Im Topincs selbst ist alles OOP.
Objektorientierung ist ein essenzieller Bestandteil von Topincs, aber wahrscheinlich nicht so wie Sie es erwarten. Es gibt selten die Notwendigkeit eine Klasse zu definieren oder zu instanziieren, noch einen Anlass sich Klassennamen zu überlegen oder Bibliotheken von Drittanbietern einzubinden. Andere Ansätze von Softwareentwicklung erfordern viele Arbeiten infrastruktureller Natur – nicht die gestellte Aufgabe, sondern die Auswahl an Werkzeugen motiviert sie. Topincs zielt darauf ab, diese zu minimieren, und gibt Funktionen den Vorzug vor Klassen, wenn irgendwie möglich. Trotzdem werden Sie hauptsächlich mit Objekten arbeiten, schließlich ist jedes Topic im System in PHP durch ein Objekt repräsentiert, um damit einfach und bequem arbeiten zu können. Das Interface wird durch das Schema generiert und erlaubt Ihnen, Daten zu lesen, zu erstellen, zu modifizieren und zu löschen.
So wie jede andere Softwaretechnologie lässt sich Topincs am besten durch Ausprobieren verstehen. Anfangs wird es Ihnen noch ungewohnt vorkommen, aber innerhalb kurzer Zeit werden Sie die Vorteile von Topincs verstehen und einsetzen können. Am Ende dieser Einleitung haben Sie die Möglichkeit, kostenlos Ihre persönliche Studier-Datenbank zu erstellen und direkt loszulegen.
Der folgende Anwendungsfall, wird uns durch dieses Handbuch begleiten. Alle Bildschirmaufzeichnungen in späteren Kapiteln zeigen Ihnen die Herstellung dieses Systems. Das Hauptziel dieses Systems ist pädagogisch. Es solle Ihnen eine grobe Idee davon geben, wie alles im Topincs abläuft. Falls der Weihnachtsmann Sie jemals anspricht oder sogar beauftragt, sollte Sie in Konzeption und Entwicklung viel gründlicher zur Sache gehen. Des Weiteren sollten Sie auch seine Identität und Ihren Verstand überprüfen.
Hinweis: Die Paragraphen über den Anwendungsfall werden ganz einfach mit dem farblichen Balken auf der linke Seite gekennzeichnet.
Der Weihnachtsmann ist in letzter Zeit überfordert, es kommen immer mehr Kinder zur Welt und jedes hat zu Weihnachten einen Wunsch frei. Es gibt sehr viel Information zu verarbeiten und die Anzahl Fehler steigt, trotz der unendlichen Arbeitskraft von seiner unsterblichen Helfer, den Elfen. Wünsche bleiben unerfüllt, Geschenke werden verwechselt und das stresst alle Mitarbeiter noch mehr. Er erhofft sich, dass das neue System, ihm ein wenig Last von den Schultern nimmt und er wieder mehr Freizeit hat, wie früher.
Eine Online Datenbank ist ähnlich wie ein Wiki, aber speichert Information nicht als Text sondern als Daten. In einem Wiki bearbeiten Benutzer Seiten über Topics mithilfe von Markup, in Topincs hingegen werden Formulare ausgefüllt. Nach dem Speichern ist die Information für alle mit den notwendigen Berechtigungen sichtbar. Es kann über Links navigiert werden und erscheint in Auswahlfeldern in Formularen.
Im Zentrum einer Online-Datenbank liegt ihr Schema. Es betreibt eine kleine Anzahl an generischen UI-Basiskomponenten und eine API zum Erstellen von Spezialkomponenten, genannt Dienste. Diese können flexibel kombiniert werden, um eine beliebige Anzahl an Anwendungen auf der Datenbank einzurichten. Die Basiskomponenten sind das Formular zum Erstellen und Bearbeiten von Datensätzen, auch Topics genannt, das Datenblatt zum Anzeigen und den Index zum Auffinden von Topics.
Eine Online-Datenbank liegt an einer URL, z.B. https://www.topincs.com/santaclaus/. Der abschließende Schrägstrich ist zwingend notwendig. Wir bezeichnen diese URL als System-URL. Beim Zugriff auf die System-URL, kommt der Benutzer zu seiner Benutzergruppen spezifischen Startseite. Standardmäßig ist das eine Index-Seite, die alle Topics sortiert nach Typ anzeigt. Behandeln Sie ein Topic wie einen Datensatz oder ganz einfach als etwas, worüber die Datenbank Information hat. Im nächsten Kapitel werden Sie viel mehr über den Begriff "Topic" erfahren. Ein Topic ist meistens mit anderen Topics verknüpft, wie Knoten in einem Graphen.
Hinweis: Probieren Sie die Layouts von Topincs selber aus, indem Sie Ihr Browser-Fenster vergrößern oder verkleinern.
Hinweis: Es ist möglich eine individuelle Kopfzeile zu verwenden, wie in dieser Topincs-Seite, die Sie gerade Lesen.
Alle Seiten in der Online-Datenbank haben die selbe Kopfzeile. Es enthält das Hauptmenü, das sich zusammenklappt, wenn es zu breit ist. Rechts können Benutzer die Suchfunktion verwenden und sich anmelden. Ein Designziel von Topincs ist, dass es auf allen Bildschirmgrößen gut funktioniert, und dabei trotzdem durch wenige, klare Prinzipien benutzerfreundlich bleibt. Jetzt schauen wir uns die drei Basiskomponenten von Topincs genauer an: Index, Datenblatt, und Formular.
Der Index hat zwei Hauptfunktionen: Topics finden und erstellen. Für jeden Typen in der Online-Datenbank wird ein rechteckiger Balken angezeigt. Dieser Balken zeigt den Namen des Typs an, wie viele Topics (oder Instanzen) er besitzt und einen Link zum Erstellen einer neuen Instanz. Wenn man den Balken anklickt, klappt er nach unten und listet die Instanzen auf. Diese können dann durchsucht und auch sortiert werden. Ein Topic wird durch Anklicken angezeigt.
Das Datenblatt bildet alle Informationen ab, die in der Datenbank über das Topic gespeichert sind. Die Überschrift enthält Typ, Namen und Metadaten des Topics. Alle Informationen (auch genannt Aussagen) werden darunter angezeigt, gruppiert nach Typ in Paragraphen. Standardmäßig werden alle Texte links angezeigt und Daten rechts.
Hinweis: Sogar große Systeme sind wegen der vielen Optimierungen in Topincs sehr schnell.
Am rechten Seitenrand wird ein Kontextmenü angezeigt, das Seitenmenü. Es beinhaltet einige Standardeinträge, der Wichtigste ist Bearbeiten. Löschen finden Sie unter Mehr versteckt, da es nicht häufig verwendet wird. Eine Topincs Online-Datenbank ähnelt eher einem Archiv, das nie vergisst. Wie das Kontextmenü erweitert werden kann, lernen Sie in dem Kapitel Benutzer Schnittstelle.
Bei kleineren Layouts entfällt die Trennung zwischen Text und Daten automatisch, und das Kontextmenü wird minimiert. Ändern Sie die Größe Ihres Browserfensters in einem Beispiel-Datenblatt, um dieses Verhalten zu beobachten.
Beispiele
Das Datenblatt lässt sich auf vielfältige Weise konfigurieren. Ein paar fortgeschrittene Beispiele sind:
Das Formular eines Topictyps wird vom Schema gesteuert. Es wird verwendet, um neue Topics zu erstellen oder ein altes zu bearbeiten. Ein leeres Formular erreichen Sie über den Index indem Sie auf Neu klicken. Ein altes Topic kann im Kontextmenü über Bearbeiten editiert werden. Die Änderungen werden mit einem Klick auf Ok zum Server geschickt und dann wird das Datenblatt angezeigt.
Hinweis: Das Formular ist bei weitem die komplexeste Basis-Komponente von Topincs. Es wird täglich hundertfach von unterschiedlichsten Berufsgruppen zur Datenerfassung verwendet.
Spezielle Eingabekomponenten existieren für Datum und viele andere Datentypen. Auswahlfelder werden verwendet um neue Assoziationen zu anderen Topics zu erstellen. Standardmäßig sind nur die wichtigsten Optionen sichtbar, dabei ist der Rest unter der Option Mehr zu erreichen. Neue Topics können schnell erstellt werden. In diesem Fall wird ein Unterformular geöffnet und das aktuelle ausgeblendet. Es wird wieder eingeblendet, sobald Sie das Unterformular entweder speichern oder abbrechen. Im Unterformular kann noch ein weiteres Unterformular geöffnet werden und so weiter.
Eine Online-Datenbank ist das Fundament von einer oder mehreren Online-Anwendungen, aber es ist auch ein fertiges Produkt, das sich gut nutzen lässt. Diese generischen Arbeitsabläufe sind perfekt für jede Art von sachlichen Informationen unabhängig von der Domäne. Vorausgesetzt, ein Benutzer ist mit dem Fachgebiet vertraut und versteht die beiden grundlegenden Arbeitsabläufe, ist das Arbeiten mit dem System einfach.
Außer den erwähnten Komponenten, bieten Online-Datenbanken eine Aktuell-Seite an, die zuletzt bearbeitete oder erstellte Topics anzeigt, also eine Art Kurzzeitgedächtnis.
Diese generischen Arbeitsabläufe verwenden nicht nur die Benutzer Ihres Systems, sondern auch Sie bei der Entwicklung. Topincs benutzt dann nur das integrierte Metaschema zur Steuerung der Basiskomponenten. Diese Aktivität bezeichnen wir allgemein als Modellieren, obwohl es manchmal nur der Konfiguration eines Verhaltens dient. Die andere Aktivität, Programmieren, besteht daraus herkömmlichen Quellcode zu bearbeiten. Sie werden beides machen. Modellieren geht schnell und einfach. Programmieren kann etwas dauern und ist fehleranfällig, erlaubt aber beliebige Anforderungen zu erfüllen.
Der überwiegende Teil der Programmierarbeit erfolgt in PHP, gefolgt von der Erstellung von HTML-Code, ergänzt durch optionale kleinere Anpassungen in SCSS. JavaScript brauchen Sie nur selten, nämlich nur dann, wenn zusätzliche Funktionalität in eine einzelne HTML-Seite direkt integriert werden muss.
In Topincs ein System zu erstellen wird Ihnen anfangs ungewöhnlich erscheinen, da Programmieren nicht die einzige Aktivität ist. In der ersten Phase werden Sie viel Modellieren, später überwiegt das Programmieren. Es wird empfohlen, an einem PC oder Laptop zu arbeiten, idealerweise mit einem zweiten Bildschirm. Es werden keine anderen Softwaretools benötigt, alles wird direkt in Topincs gemacht. Beim Entwickeln werden sie manchmal mehr als eine Browsersitzung brauchen: eine für den Administrator und eine um sich die Anwendung als Benutzer anzuschauen. Wir schlagen vor, ein Inkognito-Fenster zu öffnen. Alternativ können Sie auch ein zweites Benutzerprofil oder einen zusätzlichen Webbrowser nutzen.
Eine Topincs Online-Anwendung bietet eine maßgeschneiderte Sicht auf das System, welche nach benutzerspezifischen Anforderungen erstellt wird. Betrachten Sie es wie eine Beschränkung der vielen Möglichkeiten wir ein und dieselbe Aufgaben in Topincs erledigt werden kann. Es führt Benutzer auf vordefinierten und gewohnten Pfaden, welche ihren Ursprung im Hauptmenü oder auf einer Startseite haben.
Hinweis: Mehr zu URLs in Topincs gibt es bei diesem ausführlichem Artikel.
Jede Komponente in Topincs ist vollständig durch eine URL bestimmt. Bei Formularen kann die Komponente mit Anfrageparameter beeinflusst werden: Felder können vorab ausgefüllt werden, oder auch unveränderbar gemacht werden. URL-Konstruktion ist ein wichtiger Teil der Entwicklung in Topincs. Es reduziert die Arbeit der Benutzer, indem es Schlussfolgerungen anhand bestehender Daten zieht.
Der andere wichtige Teil einer Topincs Anwendung sind Spezialkomponenten, welche Informationen in der Webdatenbank aggregieren. Dies kann viele Zwecke haben. Häufig dabei sind:
Für den Weihnachtsmann bauen wir eine Online-Anwendung mit verschiedenen Benutzergruppen. Jeder kann einen Wunsch erstellen. Diese vorgegebene Benutzergruppe nennen wir den unauthentifizierten Benutzer in Topincs. Ein System kann beliebig viele Benutzergruppen zusätzlich definieren. Der Weihnachtsmann ist einer von zwei Benutzern in der Gruppe Chef. Der andere Benutzer ist seine Frau. Ihre Anwendung wird ihnen helfen einen Überblick der diesjährigen Wünsche zu haben und spielt eine zentrale Rolle am Weihnachtstag. Und selbstverständlich besitzt das System eine Anwendung für die Benutzergruppe Elf.
Eine objekt-orientierte Programmierschnittstelle wird verwendet, um auf Daten zuzugreifen und sie zu manipulieren. Sie wird durch das Schema gesteuert und ist innerhalb von Sekunden eingerichtet. Wer mit OOP vertraut ist, wird sich sofort zuhause fühlen. Topics werden durch spezielle PHP-Objekte, genannt Tobjects, repräsentiert.
<?php
// Santa: "How many of each gift do we need to build this year?"
$year = Tobject::get("si:year/" . strftime("%Y"));
foreach ($year->get_all_wishs() as $wish) {
$gift = $wish->get_gift();
// Tobjects can be augmented with transient properties.
$gift->count ??= 0;
$gift->count += 1;
}
Da Daten nicht alles sind, können Sie eine Domänenklasse um Ihr Topic hüllen und darin Methoden definieren, die komplexe Berechnungen oder Modifikationen durchführen. Hier sind die gängigsten Programmierartefakte:
Der beste Weg um Topincs zu verstehen, ist es jeden Schritt gleich selber auszuprobieren. Daher können Sie kostenfrei Ihre eigene Studierdatenbank erstellen.
Hinweis: Zusammen mit der Topincs Reference beinhaltet dieses Handbuch alles, was man wissen muss. Über das Admin-Menü jedes Systems sind diese einfach erreichbar.
Arbeiten Sie dieses Handbuch Schritt für Schritt durch – genau so, wie Sie es bei einem Lehrbuch für Mathematik oder Programmierung tun würden: lesen, Übungen bearbeiten, Ergebnisse überprüfen und schließlich entweder wiederholen oder fortfahren. Die Kapitel im horizontalen Hauptmenü geben Ihnen den Verlauf dieser Reise vor. Die Abschnitte Einführung, Topic-Graphen und Modellierung legen das konzeptionelle Fundament und sind für den Aufbau jeder Datenbank unverzichtbar. Im Anschluss daran sind Programmierkenntnisse, vorwiegend in PHP, erforderlich. Ab dem Kapitel Modellierung erhalten Sie anhand kurzer Videos einen praktischen Einblick in die korrekte Vorgehensweise. Das Kapitel Rechte können Sie überspringen, sofern Sie in einer Umgebung arbeiten, in der jeder alles einsehen und bearbeiten darf. Das Kapitel Vertiefung behandelt diverse wichtige Themen, die Sie zu einem späteren Zeitpunkt möglicherweise benötigen werden.
Das ganze sollte eine praktische Erfahrung sein. Es wird sich lohnen, in Ihrem System ein gutes Projekt zu verwirklichen. Fangen sie direkt an eins zu suchen! Wenden Sie alles, was sie lernen, umgehend in einem eigenen Anwendungsfall Ihres Systems an.
Einige öffentliche Systeme lassen sich nutzen, um interessante Aspekte mittels Reverse-Engineering zu analysieren. Sie verfügen über ein Administratorkonto, das Lesezugriff auf das gesamte Schema sowie den Code gibt. Für diesen Benutzer sind jegliche Modifikationen deaktiviert, und zwar nicht nur für die Schemadaten, sondern auch für die Domändaten. Der Benutzername lautet Study und das Passwort Topincs (Study/Topincs). Verstanden? Dieses Handbuch enthält zudem Links für ein direktes Anmelden. Sie können die Zugangsdaten also eigentlich auch gleich vergessen.
Das ist der Anwendungsfall in diesem Handbuch. Es dient nur dazu, Ihnen beim Lernen zu helfen und Sie manchmal zum Schmunzeln zu bringen.
Dieses System dient uns zur Dokumentation manueller Tests von Topincs. Diese ergänzen die zahlreichen nächtlichen Tests, um ein Gefühl für das Erscheinungsbild und die Bedienung von Topincs auf verschiedenen Geräten zu bekommen. Zudem dokumentiert es die Weiterentwicklung der Benutzeroberfläche. Das System läuft in zwei Sprachen, Englisch und Deutsch.
Diese Seite kann mit Ihrem Browser nicht angezeigt werden. Verwenden Sie Firefox, Opera, Safari oder Chrome.
Speichern …