Hint: Together with the Topincs Reference this manual contains all you need to know. They are easy to access from the admin menu in any given system.
Topincs ist eine online 4GL Platform, die Systeme unter Anwendung von PHP, HTML, CSS, JavaScript und Topic Graphs baut. Die letzte Technologie ist hierbei am wichtigsten, denn es führt ein ganz eigenen und kräftigen Weg des Denkens rund um Data ein.
Die Anwendbarkeit von Topincs kennt kaum Grenzen. Sie können ein ERP System bauen, oder es in ein maßgeschneidertes Kollaborationstool für eine Forschungsgruppe umwandeln. Behandeln Sie es wie Ihre eigene programmierbare Datenbank in ihrem ursprünglicher Zweck. Oder erstellen Sie ein Manual, wie dieses. Ihrer Fantasie sind keine Grenzen gesetzt.
Hint: In Unix everything is a file. In Topincs everything is a topic.
Es existieren ganz wenige Kernprinzipien – einmal verstanden, öffnen sich alle mögliche Türen auf dem Weg. Sie werden alle hier im Manual tiefgründig erklärt. Aber sei bereit für einen steilen Anstieg. Wenn Sie sich verloren oder demütigt fühlen, weichen Sie nicht davor ab nochmal wichtige Segmente durchzugehen. Und sehr wichtig: Probieren Sie es aus! Sie werden Topincs erst richtig verstehen können, wenn Sie selber damit arbeiten. Ihr Aufwand es zu verstehen, wird Ihre Denkweise über Daten und Entwicklung positiv beeinflussen und lohnt sich. Sie werden weniger Zeit brauchen um komplexe und bessere Systeme zu erstellen, welche unendlich erweitert werden können und trotzdem beibehaltbar sind.
Mit Topincs lassen sich einfache Systeme auch fast ganz ohne Programmiererfahrung erstellen. Jedoch ist formelles und abstraktes Denken notwendig. Eine online Datenbank ist ein komplett funktionales Produkt und wird ganz ohne Programmieren erstellt. Aber sobald sie einen Schritt in Anwendungsentwicklung machen, benötigen Sie die Grundlagen des Programmierens. Dabei wird für das Meiste in PHP benutzt, wobei auch HTML-Kenntnisse, wie Markup Authoring angewandt werden. Zum stylen brauchen Sie CSS, und um Ihnen ein wenig Arbeit zu sparen SCSS. Und um Seiten zu bereichern, werden JavaScript und ein paar Erfahrungen mit DOM nicht schaden. Hierbei ist auch nicht das Fundament des HTTP Protokolls und den Aufbau einer URL zu vergessen. Keiner dieser Technologien werden im Manual behandelt, es existieren etlich viele Quellen online oder sogar als Buch.
Hint: Do not worry! Under the hood Topincs is all OOP.
Objektorientierung ist ein essenzieller Bestandteil Topincs, aber warscheinlich nicht ganz wie Sie es sich grad vorstellen. Es gibt meistens weder die Notwendigkeit eine Klasse zu definieren oder instanziieren, noch das Bedürfnis sich Namen oder Bibliotheken von Drittanbietern zu überlegen. Andere Ansätze von Softwareentwicklungen machen viele der durchgeführten Aktivitäten eines Entwicklers infrastruktureller Natur – nicht die gestellte Aufgabe, aber die Auswahl an Werkzeugen motiviert sie. Topincs zielt darauf ab diese zu minimieren und nutzt viel lieber Funktionen als Klassen wenn passender. Trotzdem werden Sie hauptsächlich mit Objekten arbeiten, schließlich ist jedes Topic im System repräsentiert durch ein Objekt, um in PHP sehr einfach darauf zugreifen zu können. Das Interface wird vom Schema generiert und erlaubt Ihnen Daten zu lesen, erstellen, modifizieren und löschen.
So wie jede andere Softwaretechnologie lässt sich Topincs am besten durch das Trial-and-Error-Prinzip verstehen. Anfangs wird es Ihnen noch ungewohnt vorkommen, aber innerhalb kurzer Zeit werden Sie die vollen Vorteile des Topincs verstehen und durchsetzen können. Am Ende dieser Einführung werden Sie die Möglichkeit haben, kostenlos Ihre persönliche Study Datenbank zu erstellen und damit reinstarten.
Der folgende Anwendungsfall, wird Sie durch dieses Manual begleiten. Alle Bildschirmübertragungen in späteren Kapiteln zeigt Ihnen die Herstellung dieses Systems. Das Hauptziel dieses Systems ist pädagogisch gedacht. Es solle Ihnen eine grobe Idee davon geben, wie es im Topincs abläuft. Falls Santa Claus Sie jemals anspricht oder sogar einstellt, sollte es weitestgehend tiefgründiger Ausgebaut werden. Zudem sollten Sie auch seine Identität und Ihren gesunden Verstand überprüfen.
Hint: You can recognize paragraphs about the use case easily. They have a colored bar to their left like this one.
Santa Claus ist in letzter Zeit überfordert, es kommen immer mehr Kinder zur Welt und jedes hat einen Wunsch zu Weihnachten. Es gibt sehr viel Information zu verarbeiten und die Anzahl Fehler steigen, trotz der unendlichen Arbeitskraft vom Santa Klaus, die Elfen: Wünsche gehen unerfüllt, Geschenke werden verwechselt und das stresst alle "Mitarbeiter" noch mehr. Er erhofft sich, dass das neue System welches er einführen möchte, ihm ein wenig Last von den Schultern nimmt und er wieder mehr Freizeit hat, wie früher.
Eine Online Datenbank ist sehr ähnlich zu einem Wiki, aber lagert Information eher als Daten als Text. In einem Wiki bearbeiten Nutzer Seiten über Topics anhand markup, dahingegen werden in Topincs Formulare ausgefüllt. Ihre Ausgabe ist direkt für alle mit den notwendigen Berechtigungen sichtbar. Es kann über Links navigiert werden und erscheint in Auswahlfeldern in Formularen.
Im Herz einer Online-Datenbank liegt ihr Schema. Es betreibt eine kleine Anzahl an generischen Basis-UI Komponenten und eine API zum erstellen von speziellen Komponenten, genannt Dienste. Alle diese können flexibel zusammengefügt werden, um eine beliebige Anzahl an Anwendungen, die in der Software zum Einsatz kommen, zu erstellen. Die Basis-Komponenten sind das Formular zum erstellen neuer Topics, oder schon existierende. Das Datenblatt zum anschauen eines Topics und den Index zum finden dieser Topics.
Eine Online-Datenbank befindet sich bei einer URL, z.B. https://www.topincs.com/santaclaus/. Der abschließende Schrägstrich ist notwendig. Wir bezeichnen diese URL als System URL, denn wir nennen eine online Datenbank auch System. Auf die System URL zuzugreifen, bringt den Nutzer zu seiner Nutzergruppen spezifische Startseite. Regulär ist das eine Index Seite, welche alle Topics, sortiert nach Typ, anzeigt. Behandeln Sie ein Topic wie eine Aufzeichnung oder ganz einfach als etwas, worüber die Datenbank Information drüber hat. Im nächsten Kapitel lernen sie viel mehr über der Begriff "Topic" erfahren. Sie sind meistens mit einander verknüpft. Diese Verknüpfungen werden oft als Hypertext Links dargestellt. Sie könne zu jeder Zeit aufhören und das vorhandene Topic bearbeiten durch ein Formular.
Hint: Check out the different layouts of Topincs by resizing your desktop browser window!
Hint: It is possible to use a customized header, like in this Topincs page you are reading.
All pages in the online database have the same header. It holds the main menu which collapses when too wide and can hold sub menus. To the right, users can search and sign in. A primary design goal of the Topincs user interface is to work well on any screen size, while maintaining a coherent and small set of usage principles. Let us now take a closer look at the three base components: index, fact sheet and form.
The index has two main functions: finding existing topics and creating new ones. For each type in the online database a rectangular bar is displayed. This bar displays the name of the type, how many topics (or instances) of that type exist and a link to create a new instance. When the bar is clicked or tapped, it expands and lists all instances. They can be searched and their display order can be changed. A topic is displayed by clicking or tapping its name or the area around it.
The factsheet displays all information that is recorded in the database about the topic. The headline holds type, name and meta data of the topic. All information (also called statements) are listed below. By default textual information is displayed to the left and data is displayed to the right.
Hint: Even large systems perform well due to many optimizations under the hood.
In the right margin a context menu for the current topic is displayed. It holds a few standard entries of which Edit is the most important. Delete is hidden under More, since it is not frequently used. A Topincs online database is very much like an archive which never forgets. The context menu can be extended. You will learn how in the chapter User interface.
In smaller layouts the separation of text and data is automatically omitted and the context menu is collapsed into the headline. Resize your browser window in one of the example factsheets to observe this behavior.
Examples
The fact sheet can be configured in many ways. Some of the advanced features are:
The form for a topic type is generated from the schema. It is used to create new topics or change existing ones. An empty form can be accessed from the index by clicking Record. An existing topic can be edited by using the context menu entry Edit. With Ok the changes are sent to the server and the factsheet is displayed.
Hint: The form is by far the most sophisticated base component. It is used daily hundredfold by numerous different professions.
Special value editors exist for date and many other datatypes. Select boxes are used to create associations to other topics. By default they display only the most likely options and allow access to all options through the entry More. New entries can be created on the fly. In this case a sub form opens and the current form is suspended. It will be reactivated once the sub form is committed or cancelled. Of course sub forms can open sub forms and so on.
An online database is the foundation of one or more online applications, but it is also a finished product which can be put to good use. These generic workflows work well with any type of factual information independent of the domain. Given a familiarity with the domain and an understanding of the two basic workflows, any user can work with the system.
Besides the above mentioned main components, an online database offers an Ongoing page which simply list the topics which have recently been create or modified. It is the short-term memory of the web database.
These generic workflows with the base components are not only used by your users to create, edit, search, and view domain data, but also by yourself when developing a system. Topincs is then just using the built in meta schema to drive the base components. We refer to this activity as modeling, even though it is sometimes just configuring some behavior. The other activity, coding, entails editing any form of linear source code that influences the behavior of the system. You will do both. Modeling is quick and easy. Coding takes more time and is error prone, but makes a system fit arbitrary requirements.
The big majority of coding is in PHP followed by HTML or Twig authoring, with optional small adjustments in SCSS. Excursions into JavaScript are rare and only necessary when you need to pull functionality into a single HTML page.
Building a system in Topincs might be unfamiliar in the beginning, since coding is not the only activity. In the initial stage of a system modeling is the main activity, later coding takes over. It is recommended to work on a desktop/laptop computer, ideally with a second screen. There are no other software tools needed. Everything is done directly in Topincs. During development you will sometimes need more than one session: one for the administrator and one to check out the application for the user group in focus. We recommend to do this in an incognito window. Alternatively you can use a second user profile or an entirely different web browser.
A Topincs online application offers a tailored view on the store which is optimized for the requirements of a specific user group. Think of it as a restriction and streamlining of the multiple ways tasks can be achieved in a online database. It leads users on predefined and familiar paths which originate in a customized main menu or start page.
Hint: Find out more about URLs in Topincs in this in-depth article!
Every component in Topincs is fully defined by a URL. In the case of forms the state of the component can be influenced by query parameters as well: form fields can be prefilled. They can be made immutable too. URL construction is one big part of development in Topincs. It reduces the work load for the user since the application draws conculsions or simply looks something up and prefills a form.
The other big part of a Topincs application is special components which aggregate information in the web database. This can have many purposes. Two reocurring ones are:
For Santa Claus we will build an online application for various user groups. Wishes can be requested by anyone without authentication. This predefined user group is called the unauthenticated use in Topincs. A system may also define any number of new user groups. Santa Claus is one of two users in the user group boss. The other is his wife, Mrs. Claus. Their application will help them to keep the overview over this years wishes and plays a central role on Christmas day. And of course the system provides an application for the user group elf.
The components of the application access and manipulate the online database through an object-oriented programming interface. This is powered by the schema and setup within seconds. It is intuitive to anyone familiar with object-oriented programming. Topics are represented by PHP objects called Tobjects.
<?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;
}
Since data is not everything you can just wrap a domain class around your topic and have methods that perform some computation or complex modification. Here are the most common programming artifacts:
The best way to understand Topincs is to try every step yourself while studying this manual. For this purpose you can setup your own personal study database for free.
Hint: Together with the Topincs Reference this manual contains all you need to know. They are easy to access from the admin menu in any given system.
Work through this manual in linear fashion, like you would with textbook on math or programming: read, do exercises, check the result and finally repeat or advance. The chapters in the horizontal main menu outline the journey. Introduction, Topic Graphs, and Modeling lay the conceptual foundation and are essential to building any database. Coding skills, mainly PHP, are required after that. As of the chapter Modeling you can get a first hand look of how it is supposed to be done through short videos. You can skip the chapter Rights, if you are in an environment, where everyone can see and do everything. The chapter In Depth covers important miscellaneous topics that you might need at a later stage.
This should be a hands-on experience. Thus a good project to realize in your study store will prove invaluable. Start looking for one right away! Apply everything you learn immediately to your own use case in the study database.
Some public systems can be used to reverse engineer interesting aspects in these applications. They contain a readonly admin account giving access to the complete schema and code. Modification is disabled for this user, not only for schematic data, but also for domain data. The username is Study and the password Topincs, Study/Topincs. Get it? This manual also provides links to directly log in. So you can forget the credentials for now.
This is the use case system of this manual. It has no practical value whatsoever other than educate you and make you smile every now and then.
This system serves us to document manual tests of Topincs. These complement the numerous nightly tests to stay in touch with the look and feel of Topincs on different devices. It also documents the evolution of the user interface. The system runs in two languages, English and German.
Diese Seite kann mit Ihrem Browser nicht angezeigt werden. Verwenden Sie Firefox, Opera, Safari oder Chrome.
Speichern …