Das KingCon für die Ausstellerprofile und Besucheranmeldungen zieht für 2023 auf den FUTRIS-Server. Hauptgrund: mehr Plattenplatz.
Abonnement: register-me.org
Domain: anmeldung.nachtderunternehmen.de
Aktuell wird nur die NdU in Aachen “bespielt”, die aber zweimal im Jahr (realisiert aktuell als zwei “Städte”).
akenss – im Mai/Juni
akenws – im Oktober/November
<note warning>Das NdU-KingCon für 2021 und 2022 liegt weiterhin auf vs8181.</note>
https://anmeld2.nachtderunternehmen.de/
<note important>Am 08.11.2021 ist das Registrierungs-Backend auf den Server vs8181
gezogen.</note>
Es liegt im Paket web151.
Zugangsdaten zu den Datenbanken finden sich in der Datei:
/var/www/web151/htdocs/anmeld2/beForms/config/database.php
<note important>09.11.2010:
Die aktuelle Anwendung (auf vs8181) wird
https://anmeldung.nachtderunternehmen.de/, die alte (NetPublic-Server) http://anmeldung0.nachtderunternehmen.de/</note>
Es gibt nur einen CakePHP-Scripteordner, der von allen NdUs verwendet wird.
Das Backend befindet sich in der anmeldung-Subdomain zu nachtderunternehmen.de. Dort gibt es den Ordner cake mit dem Framework (CakePHP 1.3.xx) und den Application-Ordner beForms.
Die Zuordnung zu den NdU-Standorten erfolgt über einen Named Parameter innerhalb Cakes; genutzt wird das Cake-Routing. (Die Ordner mit Ortsnamen, die dort ebenfalls noch herumliegen sind von 2012!)
Über eine statische HTML-Seite gelangt man zu allen Backends:
http://anmeldung.nachtderunternehmen.de/
Die Datenbanken werden in Plesk in der Domain nachtderunternehmen.de angelegt.
Dadurch sind Namensteile bei DB- und Login-Name bereits fest.
Die Datenbanknamen bestehen nach dem vorgegebenen Teil aus be für backend einem Unterstrich und dem. Ortsnamen.
Die Zugangsdaten zu den Datenbanken finden sich im CakePHP-Konfigurationsverzeichnis. Deshalb werden sie hier nicht wiederholt.
Das Backend ist über die TEMA-Aachen-IP zugangsgeschützt. Die anderen Standorte brauchen ein Login. Deshalb ist es ganz wichtig, beim Einrichten einer neuen NdU-Stadt-Datenbank in der Tabelle users diesen einen Eintrag mit zu kopieren:
Backendlogin (KingCon) - in JEDER Datenbank in der Tabelle users |
|||
|---|---|---|---|
| Username | admin | Passwort | 12ndu9 |
APP/webroot/xls-vorjahre ablegen. Danach können die Studententabelle und deren Bookings beruhigt zurückgeschnitten (TRUNCATE) werden.anmeldung.nachtderunternehmen.de in APP/config die bootstrap.NDUKÜRZEL.inc.php editieren. Es sind insbesondere: NDU_JAHR, NDU_SOOFT, NDU_DATUM_UPLOAD_BIS.nachtderunternehmen_be_NDUKÜRZEL die Tabellenwerte in cfg_rechnungs editieren (phpMyAdmin). Es sind insbesondere: config_identkürzel, config_betreff, config_endefrühbucher, eventuell die Paketpreise und Rabatte (Cluster genannt).users alle Einträge außer des admin löschen.APP/views/elements/email/html/NDUKÜRZEL die Datei firma_add_success.ctp angepasst werden.APP/webroot/NDUKÜRZEL für die Dateiuploads anlegen. Das tut das Backend allein beim ersten VerwendenAPP/Controller/students_booking_options/incl//typo3conf/ext/bl_companys/Classes auf dem neuen Cubos-ServerSo war es auf dem alten NdU-Webserver:
Zu beachten: Einge NdUs wurden seit mehrerern Jahren nicht mehr durchgeführt. - Deshalb sollte vor einer Reaktivierung überprüft werden, ob in der Datenbank und in den CakePHP-config-Dateien (die bootstrap.NDU.inc.php) alle aktuell verwendeten Felder/Konstanten definiert sind.
Jede NdU existiert nur als Konfiguration, es werden keine Cake-Scripte kopiert.
Für jede NdU gibt es ein Ortsnamen-Kürzel, das aus Kleinbuchstaben ohne Umlaute und Sonderzeichen besteht. Momentan wird versucht, das Kürzel auf einheitlich 6 Zeichen festzulegen, was aber nicht notwendig ist.
Über das Namenskürzel wird in der Cake-Configdatei APP/config/database.php zugeordnet, welche Datenbank genutzt wird. In dieser Datenbank werden die teilnehmenden Unternehmen und Absolventen verwaltet. Diese Datenbank wird über die Jahre fortgeschrieben.
In der Datenbank gibt es die Tabelle cfg_rechnungs, in der Preise und Rahmendaten für die Rechnung liegen. Das ist Teil 1 der Konfiguration. Diese Tabelle muss jedes Jahr mit neuem Inhalt versehen werden. (Überschreiben!)
Beim Anlegen einer neuen NdU erzeugt man also als erstes die Datenbank und trägt die Zugangsdaten am Besten gleich in APP/config/database.php ein.
Dann erzeugt man sich die leeren Datenbanktabellen (z.B. Aachen exportieren und in die gerade generierte Datenbank importieren). In der Tabelle users sollte der Benutzer admin enthalten sein, wenn auch Nichtaachener TEMAner auf das Backend zugreifen können sollen.
Der 2. Teil der Konfiguration besteht aus einer Include-Datei im Order APP/config. Diese wird durch die Cake-Configdatei bootstrap.php eingebunden. In dieser Datei stehen vor allem Werte für die Begrüßungs- u.a. Emails. Für die leichtere Erkennbarkeit und vor allem Zuordenbarkeit tragen die Include-Dateien das NdU-Ortskürzel im Namen.
Querverbindungen zu TYPO3: In der Cake-Configdatei werden Pfadteile und Page-IDs verwendet, die vorher beim Anlegen der neuen NdU im TYPO3 entstanden sind. Umgekehrt verlinken der interne Bereich der Unternehmen, die Ausstellerliste und die Studentenanmeldungen auf CakePHP-URLs der neuen NdU.
Werte, die für alle NdUs gleichermaßen gelten, sind in der CakePHP-Struktur so angeordnet, dass sie möglichst nur einmal definiert werden müssen.
Die Liste der Branchen, z.B. ist in der Datei APP/views/firmas/edit_profil.branchenliste.php hinterlegt; die Email-Adresse aller NdU-Grafik-Kommentare im UploadsController. Usw.
Das CakePHP bei der NdU ist so konfiguriert, dass es die Tabellenstruktur (also die Models) cached.
Das hat den bösen Effekt zur Folge, dass Änderungen an der Datenbanktabelle (z.B.: ein neues Feld wurde angelegt) vom NdU-Backend ignoriert werden. — Richtig hartnäckig ignoriert!!!, sodass man als Programmierer schon an sich zu zweifeln beginnt.
Deshalb: Nach Änderungen an der Datenstruktur - Cache löschen!!!
Das geschieht im Ordner APP/tmp/cache/models - da einfach alles weglöschen.
Da alle NdUs den selben cake-APP-Ordner nutzen und folglich alle auf die selbe Model-cache-Beschreibung zugreifen, muss die Tabellenstruktur bei allen NdUs identisch sein, weil sonst die find()-Funktionen bei den NdUs ins leere Laufen, bei denen die Tabellenstruktur abweicht.
Deshalb: Tabellenstrukturänderungen zügig an allen Datenbanken hintereinander durchziehen.
Neues Projekt anlegen: projekte:nachtderunternehmen:backend_mit_cake
Übersicht der Unterprojekte:
js doku