[HomePage :: Module :: Eigenes Modul mit imBuilding erstellen :: Dieser Seite] |
Vorüberlegungen |
Module bauen mit imBuilding - Tutorial - Seite 2
Nächste Seite: Erstellen des Moduls
Vorige Seite: Eigenes Modul mit imBuilding erstellen
Zunächst sollte man sich überlegen, was für ein Modul man erstellen möchte. In unserem Fall haben wir uns ein möglichst einfaches Modul ausgesucht, das dennoch einige der Funktionen von IPF nutzt und auch einen guten Einblick in die Welt von ImpressCMS gibt: Wir bauen ein Ideen-Modul.
Wenn auch nicht gerade erzwungen, so ist es doch so, dass der Standard bei ImpressCMS Englisch ist, also nennen wir es "Ideas".
Was soll das Modul können?
"Ideas" soll der Community in erster Linie dienen, ideen zu sammeln, zu entscheiden ob sie umgesetzt werden und dann letztenendes dasselbe umzusetzen und dabei im Auge behalten, wie weit es fortgeschritten ist.
Was brauchen wir dazu in der Datenbank?
Letztenendes, wenn man mal davon absieht, direkt eine wirkliche History einzubauen, die den Verlauf trackt, nur eine Tabelle um die Ideen zu sammeln. Halten wir es also so einfach wie möglich.
Also: Tabellen: 1, nennen wir sie der Einfachheit halber auch "ideas".
Was benötigt diese Tabelle?
1. Die ID des Objekts
Brauchen wir nichts weiter machen. ImBuilding wird diese automatisch generieren: "tabellenname_id", also in unserem Fall "ideas_id".
2. title
Der Titel der Idee. Hierfür wird ein Textfeld benötigt
3. dsc
Kurzbeschreibung der Idee, um schnell verständlich zu machen, um was es sich handelt. Dafür sollte eine einfache Textarea ausreichen
4. body
Alles Rund um die Idee.. ausführliche Beschreibung und was man auch immer schreiben will. Da dies etwas ausführlicher werden kann, benötigen wir hier eine Textarea mit Editorunterstützung
5. url
Link zu einer Demo-Seite oder ähnlichem. Dafür gibt es ein tolles Feld "urllink" genannt. Mehr dazu später.
6. file
Möglichkeit, eine Datei als Attachment einzufügen. Ein Feld für den Dateiupload.
7. image
Wir wollen zusätzlich noch ein Bild einfügen. Also noch ein Bild-upload.
8. created_by
Erstellt von sollte einen user darstellen, also in erster Linie ein integer Feld um eine Zahl zu speichern.
9. created_on
Erstellt am sollte ein Datumsfeld sein
10. updated_on
zuletzt Aktualisiert von wie bei created_on
11. updated_by
zuletzt Aktualisiert von => wie bei created_by
12. active
Ist die idee noch nicht fertiggestellt und man möchte später noch dran arbeiten sollte man sie auf inaktiv setzen können, um zu verhindern, dass sie zu früh betrachtet wird und evtl missverstanden wird. Ein Ja/Nein-Feld sollte passend sein
13. started
Um festzulegen, ob angefangen wurde die Idee umzusetzen => wie bei "active"
14. finished
Wurde die Idee bereits abgeschlossen? => und noch einmal
15. status
In welchem Bearbeitungsstatus befindet sich die Idee. Das sollte ein Select-Feld werden, um den prozentualen Fortschritt in 10er-Schritten anzugeben
15. approved
Wird die idee umgesetzt? => Hier sollte wieder ein einfaches Ja/nein-Feld genügen.
Weitere Überlegungen
Brauchen wir das Notification System von ImpressCMS
Ja, wir wollen ja wissen, wenn es was neues gibt
Brauchen wir Kommentare?
Ja, wollen wir hier auch einbauen, damit jeder seinen Senf dazu geben kann.
ImpressCMS Suche integrieren
Ja, damit der geschriebene Inhalt besser gefunden werden kann
Code-Highlighting
Kann sicher nicht schaden
SEO-Funktionalität
Macht eigentlich für eine simple Ideen-Sammlung keinen Sinn, wir werden sie aber aus naheliegenden Gründen dennoch nutzen wollen
Aus diesen Überlegungen ergeben sich für später 2 weitere Felder, die wir mittels imBuilding zufügen müssen;
1. notif_sent
um zu speichern, ob eine Benachrichtigung gesendet wurde (verhindert mehrfache Absendungen von Benachrichtigungen)
2. comments
um die Anzahl der Kommentare zu speichern. Man bekommt den Wert auch ohne dieses Feld Problemlos, es hilft jedoch, bei den Abfragen zu sparen
So weit so gut. Damit sollte alles erfasst sein, was wir vorerst brauchen und können nun an das erstellen des Moduls gehen.
Module bauen mit imBuilding - Tutorial - Seite 2
Nächste Seite: Erstellen des Moduls
Vorige Seite: Eigenes Modul mit imBuilding erstellen