User manual

Projekt anlegen

Projekt anlegen

Schnellpunkte:

  • Starten Sie Lamba Php
  • Wählen Sie die Schaltfläche "Neues Projekt"
  • Geben Sie alle Daten ein und besätigen Sie

Voraussetzungen (Mindest/Empfohlen):

  • Arbeitsspeicher: 4gb/8gb
  • Festplattenspeicher: 500mb/2gb
  • Prozessorkerne: 4/8
  • Ab Windows 7

Serveranforderungen

  • Datenbankverbindung von Aussen zugänglich
  • Datenbankberechtigungen:
    • Lesen
    • Schreiben
    • Updaten
    • Löschen
    • Tabellen Anlegen/Bearbeiten/Löschen
  • FTP-Verbindung
  • FTP-Berechtigungen:
    • Lesen
    • Schreiben
    • Updaten
    • Löschen
    • Ordner anlegen
    • Rechte für Ordner vergeben

Auführlich:

Wählen Sie die Schaltfläche "Neues Projekt" 

Ein neues Fenster öffnet sich und es stehen folgende Bereiche zur Auswahl:
  • Allgmeine Angaben
  • FTP-Verbindungen
  • Datenbankverbindungen

Allgemeine Angaben
Hier finden Sie unter der Überschrift "Projekt" drei Felder: Projektbezeichnung: Titel des Projekts, Testdomain: URL des Testsystems, Livedomain: URL des Livesystems.
Unter dem Punkt "Administratorzugang" kann der Administrator des Portal angelegt werden.



FTP-Verbindungen
Unter diesem Reiter können die beiden FTP-Server sowohl für das Test-, wie auch das Livesystem eingetragen werden. Der Ordner ist der Stammordner des Portals.


Datenbankverbindungen
Hier können die beiden Datenbankverbindungen jeweils für das Test-, sowie für das Livesystem eingetragen werden. 

Bereiche kurz erklärt

Seitenansicht

In der Seitenansicht werden alle Seiten, oder Vorlagen für E-Mails und PDFs angezeigt. In dem Untermenü "member" finden sich alle Seiten, welche erst nach einem Login als Member oder als Admin zugänglich sind. Ob eine Seite als Member oder nur als Admin sichtbar ist, entscheidet sich dadurch, dass diese im Adminmenü oder im Membermenü befindlich ist. Zusätzlich sollte eine Abfrage über Smarty erfolgen, die abfragt, ob der eingeloggte Benutzer ein Admin ist: {if $rolle eq 1}...{/if} Hintergrund: 1 steht für einen Administrator, 2 steht für ein eingeloggtes Mitglied und 3 steht für alle Anderen.

Funktionen des Kontextmenüs (erreichbar über Rechtsklick)

Neue Seite einfügen
Fügt eine neue Seite ein. Dabei wird die Seite dort platziert, wo das Kontextmenü aufgerufen wurde (entweder im Memberbereich oder im offenen Bereich). Bein Anlegen der Seite werden alle benötigten Dateien generiert und der Titel in den Sprachen und, sofern gewünscht, in der Navigation registriert.
Seite bearbeiten
Hier kann der Titel der Seite bearbeitet werden. Der Titel wird auch in den Sprachdateien geändert. Zudem wird der Dateiname auf dem Dateisystem neu generiert. Der Titel einer Seite darf nur einmal Projektweit vorkommen.
Seite entfernen
Entfernt eine Seite. Dabei werden alle Dateien auf dem Dateisystem, die zu dieser Seite gehören, gelöscht, die Sprache entfernt und die Seite aus der Navigation deregistriert.
GUID kopieren
Kopiert die GUID (einzigartiger Bezeichner der Seite und Allem was dazu gehört).
Dateinamen kopieren
Kopiert den Dateinamen der Seite.

Dateiansicht

In der Dateiansicht werden alle Dateien des Projektes angezeigt. Dabei sind die lokalen Daten gemeint. Hier sollten lediglich Experten Änderungen vornehmen. Dieser Bereich bietet eine Möglichkeit einzelne, manuell hinzugefügte, Dateien auf den Testserver zu transportieren. Dafür kann im Kontextmenü erst ein "Aktualisieren" gewählt werden, um die manuell hinzugefügten Dateien anzuzeigen und im Anschluss die Datei über den Kontextmenüpunkt "Staging durchführen" auf den Testserver transportieren.

Kontrollen

Über die Kontrollen wird Code generiert und an die passenden Stellen eingefügt. Alle Kontrolle im einzelnen erklärt finden Sie in einem späteren Handbucheintrag. 


Layout

Unter dem Punkt Layout wird individueller CSS-Code eingetragen. Dadurch können alle Elemente (neu) gestaltet werden.


Snippets

Die Snippets beschreiben Code-Schnipsel, die als Hilfestellung für den Entwickler dienen.


Datenbank

Der Reiter Datenbank zeigt alle relevanten Tabellen der Datenbank, sowie die Spalten der ausgewählten Tabelle. Dies ist eine Hilfe für den Entwickler beim Erstellen individueller SQL-Befehle.


Bilder

Per Drag & Drop können hier Bilder zum Projekt hinzugefügt werden.

MVC-Architektur

Model

Die Datenbankstruktur wird "On the fly" - also während der Nutzung - dynamisch gebaut. Der Entwickler muss sich also nicht darum kümmern. Das objektrelationale Mappingtool "Red Bean Php" reagiert auf jede SQL-Operation mit einer möglichen Strukturänderung. 
Die Dokumentation dazu finden Sie hier: http://www.redbeanphp.com/index.php 

Controller / Ajax

Die Programmlogik wird in PHP programmiert. Dazu steht der obere Editor mit den Reitern "Controller" und "Ajax" zur Verfügung. Der Controller wird abgearbeitet bevor das Template gerendert wird. Der Code im Ajax-Reiter reagiert auf Ereignisse, welche durch Elemente in dem Template getriggert werden.

Template (View)

Der Reiter mit dem Titel "Quellcode" stellt das Template dar. HTML als Struktursprache, sowie Smarty als Templatingtool rendern die Sicht auf die Logik mit den Daten aus dem Model.
Eine entsprechende Dokumentation finden Sie hier: http://www.smarty.net/


Kontrolle: Ajax Schaltfläche

Ajax Schaltfläche


Die Ajaxschaltfläche generiert einen Link, der optisch einem Button gleichzusetzen ist.

Dieser Link wird in dem Template (der View) an der aktuellen Caretposition eingefügt. Des Weiteren wird am Ende des Templates der Ajaxaufruf mittels Javascript getriggert, welcher den Code in dem Ajaxbereich ausführt, welcher in der IF-Anweisung passend zum Button steht. Hier können mehrere IF-Anweisungen vorhanden sein. Jede reagiert auf eine Ajaxaktion (falls mehrere Schaltflächen vorhanden sind mit unterschiedlichen Ajaxaktionen).



Kontrolle: Eingabefeld

Kontrolle: Eingabefeld

Ein Eingabefeld ist eine standard Eingabekontrolle (Textfeld). Dieses Textfeld wird an der aktuellen Cursorposition in der View (dem Reiter "Quellcode" im unteren Bereich) eingefügt.

 Neben einem Titel in zwei Sprachen kann auch ein Fonticon eingetragen werden. Hier werden die Klassen des Fonticonsystems "Awesome Fonts" verwendet. Diese sind in der Regel wie folgt angegeben "fa-home" um z. B. ein Häuschen als Icon zu verwenden (in der aktuellen Version muss allerdings auf das vorangestellte "fa-" verzichtet werden).

Ein Eingabefeld kann einen von vielen verschiedenen Typen annehmen:

  • Text (einfacher einzeiliger Text)
  • Passwort (Bei der Eingabe wird der Text durch Sterne oder Punkte ersetzt)
  • Mail (Hier wird beim Verlassen der Kontrolle geprüft, ob die Eingabe eine valide E-Mail enthält)
  • URL (Hier wird beim Verlassen der Kontrolle geprüft, ob die Eingabe eine valide URL enthält)
  • Nummer (Hier wird beim Verlassen der Kontrolle geprüft, ob die Eingabe eine valide Nummer enthält)
  • Datum (Zum einen wird hier ein Datumspicker als Button angeboten und die Eingabe wird auf ein gültiges Datum geprüft)
Ein Eingabefeld kann weiteren Kontrollen unterliegen. Z. B. kann ein Eingabefeld pflicht sein. Zudem kann die Länge (minmal, maximal) bestimmt werden. Beim Verlassen des Feldes wird ein Fehler angezeigt, sollte der Inhalt nicht stimmen.



Kontrolle: WYSIWYG Editor

Kontrolle: WYSIWYG Editor

Der WYSIWYG Editor (What you see is what you get) ist ein mehrzeiliger Texteditor. Er erlaubt einfache Formatierungen wie z. B. Textgröße, Fettdruck, Kursiv, Ausrichtungen, Bilder einfügen, Einrückungen, etc.

Zum Anlegen des Editors wird der Titel zweisprachig angelegt. Danach kann noch gewählt werden, ob der Titel angezeigt werden soll und ob die Eingabe in den Editor erforderlich ist.

Kontrolle: Checkbox

Kontrolle: Checkbox

Diese Kontrolle erstellt eine Checkbox. Der Titel ist dabei der Text, der neben der Checkbox angezeigt wird.

Neben den üblichen Einschränkungen (Pflichtfeld z. B.) kann bestimmt werden, ob die Checkbox initial gecheckt sein soll oder nicht.

Kontrolle: Radiobutton Gruppe

Kontrolle: Radiobutton Gruppe

Diese Kontrolle beschreibt eine Gruppe von Radiobuttons. Diese Radiobuttons können in einer Tabelle angelegt werden. Neben dem zweisprachigen Titel für diese Gruppe, können noch folgende Einstellungen getroffen werden: 

  • Soll der Titel angezeigt werden?
  • Ist es erforderlich, dass einer der Radiobuttons ausgewählt ist

Kontrolle: Auswahlliste

Kontrolle: Auswahlliste

Die Auswahlliste ist eine Liste, die verschiedene vordefinierte Werte anbietet und ein oder mehrere Werte zur Auswahl erlaubt.

Der Titel wird zweisprachig angegeben. Zudem kann diese Kontrolle ein Font-Icon aufnehmen. Dazu können Sie z. B. "fa-home" (in der aktuellen Version nur "home") eintragen um ein Häuschen als Icon zu erhalten.

Die Einträge der Auswahlliste können über eine Tabelle hinzugefügt werden.

Des Weiteren kann bestimmt werden, ob der Titel angezeigt wird, und ob das Feld eine Pflichteingabe ist.

Kontrolle: Dateiupload

Kontrolle: Dateiupload

Der Dateiupload stellt ein Feld zur Verfügung, welches dazu genutzt werden kann beliebige Dateien auf den Server hochzuladen.

Neben dem zweisprachigen Titel, kann angegeben werden, wie groß (in Kilobyte) der Upload maximal sein darf und welche Dateitypen erlaubt sind.

Das Uploadfeld wird im Quellcode (der View) an der Cursorposition platziert. Zusätzlich wird im unteren Bereich der View ein JS-Skript angelegt, welches den Upload asynchron triggert und einen Ladebildschirm mit Fortschrittsanzeige öffnet bis der Dateiupload beendet ist. Im PHP Ajax Bereich wird zudem noch ein Controller für diesen Upload hinterlegt. Hier können noch weitere Einstellungen getroffen werden (Serverseitige Überprüfungen z. B.).

Kontrolle: Ansichtstabelle

Kontrolle: Ansichtstabelle


Kontrolle: Ajax Formular

Kontrolle: Ajax Formular



Kontrolle: Einfaches Formular

Kontrolle: Einfaches Formular



Kontrolle: IU Formular

Kontrolle: IU Formular



Kontrolle: Diagramme

Kontrolle: Diagramme



Kontrolle: Bild einfügen

Kontrolle: Bild einfügen



Kontrolle: Hinweisbox

Kontrolle: Hinweisbox