Table of Contents

Backend2012

Anlegen eines neuen Backends

Mit dem Übergang von 2011 nach 2012 wurde das sogenannte Neue Backend eingeführt. Ein inzwischen ausgeschiedener Kollege hatte die neue Version für Aachen umgesetzt.
Für alle anderen Orte ist deshalb 2012 ein neues Backend anzulegen. Das Vorgehen wird weiter unten beschrieben.
Von der Idee her ist dann ab 2013 nur pro Ort ein neuer Ordner vonnöten, in dem die Unternehmen ihr Bildmaterial ablegen, und die Anbindung an eine neue Datenbank (d.h. config/database.php ist zu editieren).

Ausgehend von der Historie anderer KingCons ist aber anzunehmen, dass das NdU-Backend 2013 sich wesentlich von dem von 2012 unterscheiden wird und es wieder eine neue KingCon-Installation wird.

Zugänge

Die Datenbanken werden in Plesk in der Domain nachtderunternehmen.de angelegt.
Dadurch sind Namensteile bei DB- und Login-Name bereits fest.
Im Datenbankname soll das das Jahr der NdU enthalten sein. Der Loginname kann maximal 16 Zeichen lang sein. Dadurch ergibt sich - nach Adam Ries - ein Namensfitzel aus dem Ortsname von 6 Zeichen. (Fiel bei Aachen nicht auf, dass das schon die Maximallänge ist. ;-))

Aachen 2012
Datenbank Name Passwort
Braunschweig 2012
Datenbank nachtderunternehmen_brauns2012 Name nacht_brauns2012 Passwort vgtkjfmnfverm
Hannover 2012
Datenbank nachtderunternehmen_hannov2012 Name nacht_hannov2012 Passwort vgtkjfmnfverm
Mannheim 2012
Datenbank nachtderunternehmen_mannhe2012 Name nacht_mannhe2012 Passwort vgtkjfmnfverm
Stuttgart 2012
Datenbank nachtderunternehmen_stuttg2012 Name nacht_stuttg2012 Passwort vgtkjfmnfverm
Backendlogin (KingCon) - in JEDER Datenbank in der Tabelle users
Username admin Passwort 12ndu9

Vorgehensweise beim Neuanlegen

Die funktionale Referenz war Aachen 2012, die kopierbare Referenz ist Stuttgart 2012, in der viel parametrisiert wurde. Der Weg ist aber noch nicht zu Ende - vieles ist noch QaD (quick and dirty) umgesetzt.

  1. In Plesk/phpMyAdmin in der Domain nachtderunternehmen.de eine neue Datenbank und zu dieser Datenbank einen Benutzer anlegen. Die Struktur der Datenbank wird von der Referenz …_brauns2012 übernommen.
    DB- und Username setzen sich aus den vorgegebenen Teilen sowie 6 Zeichen als Hinweis auf den Ort und der vierstelligen Jahreszahl zusammen. Diese beiden Werte fungieren im Weiteren als php-Konstante NDU_ORT_PFAD und NDU_JAHR.
    Eventuell sollte man die Tabelle category mit Inhalt kopieren - sie enthält die Werte, aus denen sich Firmen einer Branche zuordnen. (Es ist eigentlich KingCon-untypisch, dass solche Werte in einer Tabelle und nicht im Quellcode hinterlegt sind. Es ist wiederum KingCon-typisch, dass die Werte nicht per CakePHP-Model sondern nacktem mysql_query eingelesen werden. -KE-)
    Die aktuelle Konstellation ist so, dass das Backend von Aachen aus ohne Login pflegbar ist (an die IP gebunden), alle anderen Mitarbeiter müssen sich anmelden. Dafür ist der admin-Eintrag in der Tabelle users immer mit zu kopieren.
    .
  2. Beim ersten Mal muss eine neue Cake-Installation kopiert werden. Dazu einfach den Ordner brauns mit allen Unterordnern kopieren un den Namen entsprechend NDU_ORT_PFAD wählen.
    Diese Arbeiten geschehen auf dem NdU-Server nachtderunternehmen.de in der subdomain anmeldung.
    D.h.: ftp auf den Server, dann wechseln nach /subdomains/anmeldung/httpdocs. Verzeichnisbaum kopieren.
    Zwei Sätze zur Logik: In den Ordnern mit den Städtenamen liegt eine .htaccess, die den HTTP-Request an die Datein index.php im Unterordner webroot der jeweiligen Stadt weiterleitet. Von dort wird CakePHP “aktiviert”. Das Cake-Source-Verzeichnis ist der Ordner cake auf der Ebene mit den ganzen Städte-Ordnern.
    .
  3. Bei späteren Malen ändert sich dann nur noch die Jahreszahl (vierstellig). D.h. eine neue Datenbank wird eingerichtet und im webroot-Ordner der betreffenen Stadt ist ein Ordner mit der Jahreszahl anzulegen und in diesem Ordner die sechs Ordner: anzeige, cmyklogo, rollup1, rollup2, rollup3, weblogos. In den Konfigurationsdateien für diese Stadt wird dann auf die neue Datenbank und die neuen Konstanten verwiesen.
    .
  4. Stadt- und jahrspezifische Konfigurationen befinden sich in den Dateien config/database.php, config/bootstrap.php und controllers/firmas_controller.php (Begrüßungsemail).
    Bei einer neuen NdU-Stadt sollte der Link zum Backend in der Datei zur URL http://anmeldung.nachtderunternehmen.de/ eingetragen werden, um das schnelle Auffinden zu ermöglichen. In TYPO3 wird der Login-Link für die Unternehmen über ein iframe eingebunden.
    Admin-Backend: array('controller'⇒'firmas','action'⇒'index')
    Unternehmens-Interner-Bereich: array('controller'⇒'users','action'⇒'login') (leitet weiter auf /firma/add)
    Jeweils zur Basis-URL: http://anmeldung.nachtderunternehmen.de/6-BUCHSTABEN-ORTSKUERZEL
    .
  5. Außerhalb von Cake, aber mit Zugriff auf die gleiche Datenbank läuft ein php-Script, das die angemeldeten Unternehmen auf den NdU-Seite auflistet. Außerdem sind in TYPO3 zwei Contentelemente als php-Script geschrieben, die auf diese Datenbank zugreifen. D.h. auch dort müssen evtl. Datenbankname und Username angepasst werden. Beim erstmaligen Umstieg auf das neue Backend läuft das Details-Script noch im Altes-Backend-Ordner - STADTNAME/webroot/php/firm_details.php. Beim Umstellen auf das neue Backend sollte dieses Script mit in das Cake-APP-Verzeichnis des neuen Backends für die jeweilige Stadt umziehen. Wichtig: Diesen Umzug muss man in den TYPO3-Seiten der jeweiligen Nacht der Unternehmen mit vollziehen, indem man den Scriptpfad anpasst!!!
    Da bei jeder NdU pro Stadt eine neue Datenbank angelegt wird, ist es so gedacht, dass die Registrierung neuer Unternehmen bereits in die neue Datenbank erfogt (Jahr X), während die Unternehmens-Listings-Scripts noch auf die Vorjahresdatenbank (Jahr X-1) zugreifen. Irgendwann muss dann umgestellt werden (SQL-Connect-Daten ändern).

Nach dieser puren Neuinstallation kommen sicherlich inhaltliche Anpassungen. Dazu gibt es noch keine verlässlichen Vorgaben. Zu bedenken sind u.a.:

Unterprojekte

Neues Projekt anlegen: projekte:nachtderunternehmen:backend_mit_cake:backend2012

Übersicht der Unterprojekte:

js doku

Kommentare