================================================================================
Datenbankanwendung Universitätssammlungen: Routinen
================================================================================
2009-10-04, martin.stricker@gmail.com

Erläuterung einfacher Routinen für die Administration und kleinere Edits am 
an der Anwendung.

1. Statisches HTML ändern
2. CSS ändern
3. Feldbezeichner und andere Strings umbenennen
4. Dokumente verwalten und uploaden
5. Interne Links auf Dokumente und Bilder
6. Links auf E-Mail Adressen


Variablen
=========

{usm2dir} = /var/www-usm2
  Installationsverzeichnis der Anwendung
{usm2host} = "http://www.universitaetssammlungen.de"
  WWW Adresse der Anwendung


1. Statisches HTML aendern
==========================

Einige Seiten der Anwendung enhalten Inhalte, die weder dynamisch erzeugt werden 
noch über das Web Interface bearbeitet und geändert werden können. 
Dazu gehört z.B. die Dokumentationsseite, die Startseite und einige Seiten 
über Indizes.

Die entsprechenden statischen Inhalte sind in den View Scripts zu finden, im
Verzeichnis

  {usm2dir}/application/views/scripts
  
In diesem Verzeichnis gibt es Unterordner und *.php Skripts, die den
Seitencontent ausgeben und neben dynmaischem PHP auch statisches HTML (und
Javascript) enthalten. Das richtige Skript lässt sich so finden: Der erste 
Parameter nach {usm2host} entspricht dem Verzeichnis, der zweite dem
Skriptnamen.

Beispiel:

  URL: {usm2host}/index/orte
  Verzeichnis: {usm2dir}/application/views/scripts/index
  View Skript: {usm2dir}/application/views/scripts/index/orte.php
  
Alle View Skripts sind im Encoding UTF-8 gesichert.


2. CSS ändern
=============

Die änderbaren CSS Files (die nicht zu Modulen wie jQuery usw. gehören) sind:

Screen
  {usm2dir}/public/css/common.css
Print
  {usm2dir}/public/css/print.css
  

3. Feldbezeichner und andere Strings umbenennen
===============================================

Datenbank-Feldnamen und andere wiederkehrende Strings werden nach einem
Key-Value-Verfahren gebildet, um den Pflegeaufwand bei Änderungen minimal
zu halten. Die Datei mit dem Key-Value-Array findet sind hier:

  {usm2dir}/application/configs/fields.php
  
Manche Keys tauchen mehrmals auf, auf der Wurzelebene des Array und in
alternativ verwendeten Sub-Arrays.

In View Scripts erkennt man den Aufruf eines Elements aus fields.php an
folgendem Methodenaufruf:

  $this->field([key],[subarray (optional)]);
  
Vgl. auch Code Dokumentation (ZX_ViewHelper) ZX_ViewHelper_Field::field()
  

4. Dokumente verwalten und uploaden
===================================

Dokumente zum Download (z.B. Projektdokumentation.pdf) befinden sich im
Verzeichnis

  {usm2dir}/public/download
  
Betreffs SSH, Samba oder SFTP-Zugriffs auf dieses Verzeichnis ist der 
Serveradministrator zu befragen.


5. Interne Links auf Dokumente und Bilder
=========================================

Für Referenzen auf interne Bilder oder Dokumente (Links auf interne statische
Files) ist in View Scripts für das Erzeugen des URL eine Helper Methode zu 
verwenden, um das Funktionieren der Links auch im Falle einer Serververlagerung 
oder Serverumkonfiguration zu gewährleisten. Diese Methode heißt

  $this->baseUrl();
  
und nimmt als Übergabeparameter den Pfad vom {usm2dir}/public Verzeichnis aus.

Beispiel:
  Dokument: {usm2dir}/public/download/Projektdokumentation.pdf
  URL erzeugen: $this->baseUrl("download/Projektdokumentation.pdf");
  
Beispiel HTML/PHP: 
  <a href="<?php echo $this->baseUrl("download/Projektdokumentation.pdf"); 
  ?>">Projektdokumentation</a>


6. Links auf E-Mail Adressen
============================

Für Links auf E-Mail Adressen gibt es in View Scripts eine bequeme Helper 
Methode, die einen kompletten HTML Link erstellt, in dem die E-Mail Daten 
maskiert worden sind, um sie vor Spam Harvestern zu schützen:

  $this->email([adresse],[text (optional)]);
  
Beispiel:
  <?php echo $this->email("weber@mathematik.hu-berlin.de","Kontakt"); ?>
  
Vgl. Code Dokumentation (ZX_ViewHelper) ZX_ViewHelper_Email::email()
  
