BibfolderFlexibleView - Dokumentation

Inhalt

  1  Beschreibung des Produkts

  2  Installation
  
  3  Erste Schritte
  
  4  Konfiguration
  
    1  Masken
    
    2  Assoziierte Objekte
    
    3  Autoren
    
    4  Kategorien
   
  5  Einbinden der Ansicht
  
  6  Exportieren
  
  7  Fragen/Probleme

Beschreibung des Produkts
  
  Das Produkt BibfolderFlexibleView stellt eine dynamische Ansicht für die 
  Bibliographieverwaltung CMFBibliographyAT bereit. Sie erlaubt dem Besucher der 
  Webseite, sich nur Publikationen eines bestimmten Typs oder eines bestimmten
  Autors anzeigen zu lassen und ermöglicht es dem Betreiber der Seite, das 
  Erscheinungsbild der Liste und den Stil der Bibliographieeinträge (welche 
  Felder sollen in welcher Reihenfolge erscheinen) sehr frei anzupassen, ohne 
  dass dafür Templates von Hand geändert werden müssten.
  
  Das Produkt ermöglicht es zudem, andere Plone-Objekte (Links, PDFs, ...) mit 
  möglichst geringem Aufwand mit Bibliographieeinträgen zu verknüpfen.
  
Installation

  siehe README.txt
  
Erste Schritte

  Nach Installation des Produkts findet sich in der "Ansicht"-Drop-Down-Liste
  jedes BibliographyFolders und - falls das Produkt ATBiblioList installiert ist
   - jedes Smart Bibliography Folders (ATBiblioTopic) der Punkt "Flexible 
  Ansicht". Wird er gewählt, übernimmt das hier beschriebene Produkt die 
  Darstellung des Ordnerinhalts.
  Die in der Standardeinstellung wahrscheinlich augenscheinlichsten Unterschiede
  zur Standardansicht sind:
  
  *  Auswahllisten für Publikationstyp und Autor
  
  *  Ein Button zum Exportieren der Einträge
  
  *  Die Einträge sind nach Jahren gruppiert
  
Konfiguration

  Es gibt zwei Möglichkeiten, die Ansicht zu Konfigurieren:
  
  *  Instanzweit (die entsprechende Berechtigung vorausgesetzt) - über
     Preferences -> Bibfolder Flexible View Setup 
     
  *  Für einzelne Bibliographieordner über den "flexible view settings"-Reiter
     des Ordners oder ATBiblioTopics
     
  Solange die Konfiguration eines Bibliographieordners nicht explizit gesetzt
  ist, verwendet er die Instanzweite Konfiguration.
     
  Masken
  
    Es lassen sich beliebig viele Masken für die Anzeige von 
    Bibliographieeinträgen anlegen. Dabei können in der linkstehenden Liste die 
    Referenztypen ausgewählt werden, für die die Maske gelten soll. Die
    Standardeinstellung funktioniert mit allen Referenztypen, aber bei 
    Anpassungen muss natürlich darauf geachtet werden, dass alle verwendeten 
    Felder bei allen aktivierten Referenztypen vorhanden sind (z.B. macht 
    'booktitle' bei einer 'InbookReference' Sinn, nicht aber bei einer 
    'ArticleReference')
    
    Es wird immer die erste Maske, die sich für einen Typ verantwortlich fühlt,
    benutzt. Man kann also am Ende alles Übriggebliebene mit einer Defaultmaske
    abfangen, bei der alle Typen aktiviert sind, oder Masken parken.
    
    Inhalt von Masken ist HTML. Auf Felder der Referenzen kann dabei über 
    Platzhalter (z.B. '%T' für den Titel) Bezug genommen werden (siehe Legende).
    
    Einige Platzhalter in der Legende sind mit '*' gekennzeichnet. Das bedeutet,
    dass das entsprechende Feld in den Metadaten im 'portal_catalog' vorhanden
    ist. Werden in *allen* Masken nur solche Felder benutzt (wie in der 
    Standardeinstellung), greift die View beim Anzeigen der Liste nur auf die 
    Katalogdaten (und nicht die eigentlichen Referenzobjekte) zurück, was einen 
    erheblichen Performancegewinn bringen kann.
    **Achtung**: Sobald die Option "PDF-Eintrag als assoziiertes Objekt 
    anzeigen" aktiviert ist, reichen die Katalog-Metadaten nicht mehr zur 
    Anzeige aus, d.h. Deaktivieren dieser Option kann zu Performancegewinn 
    führen, selbst wenn keine oder nur wenige Objekte einen Eintrag im PDF-Feld 
    haben! 
    
    Über die Konstruktion ' $<platzhalter>{<text>} ' erscheint alles innerhalb 
    der geschweiften Klammern nur, wenn das Feld, auf das '<platzhalter>' 
    verweist, nicht leer ist. 
    '<text>' darf HTML-Tags, aber keine Platzhalter oder weitere bedingte 
    Konstruktionen enthalten.
    
    Bedingte Konstruktionen überprüfen *nicht*, ob ein Feld in der Referenz 
    vorhanden ist, sondern nur, ob es mit Inhalt gefüllt ist. Sie sind also kein 
    Ersatz für das Aktivieren/Deaktivieren der Referenztypen, für die die Maske 
    gilt.
    
  Assoziierte Objekte
  
    Ist die Optioon aktiviert zeigt die View nach jedem Bibliographieeintrag
    alle Objekte an, die im angegebenen Pfad oder Unterverzeichnissen liegen und
    
    *  Die selbe id wie die Referenz, oder
    
    *  Die id '<referenz_id>.<suffix>' haben, wobei '<referenz_id>' für die id
       der Referenz und '<suffix>' eine Dateiendung ist (erkannte Endungen sind
       momentan '.pdf', '.ps', '.mov', '.mpg', '.mpeg', '.doc', '.xls', '.ods', 
       '.odt', '.htm', '.html')
       
    **Achtung**: Der Pfad, in dem nach assoziierten Objekten gesucht wird,
    sollte unbedingt so weit wie möglich eingeengt werden. Außerdem sollten im
    angegebenen Pfad (und seinen Unterverzeichnissen) im Idealfall nur Objekte
    liegen, die wirklich als assoziierte Objekte in Frage kommen. Ansonsten
    drohen gravierende Performanceeinbußen!
       
    Auch die Anzeige dieser assoziierten Objekte kann über eine Maske geregelt
    werden.
    Weitere Einstellmöglichkeiten (IP-Beschränkung) in der Konfiguration sollten
    selbsterklärend sein.
    
    Der 'Titel' im Eintrag eines assoziierten Objekts ist standardmäßig der
    Titel eben dieses Objekts, oder, falls dieser nicht vorhanden ist, seine id.
    Ausnahme: Endet die id des Objekts auf 'pdf', wird der Text "Download as
    PDF-File" angezeigt.
    
    Dieses (sicher nicht überall gewünschte) Verhalten, sowie die bekannten
    Dateiendungen, lassen sich über das Anpassen des Skripts 
    'bibflexview_get_url_dict' ändern. In Zukunft sollte das auch komfortabler
    möglich sein.
    
    **Achtung**: Damit evtl vorhandene assoziierte Objekte auch angezeigt
    werdem, muss in den Masken der Bibliographieeinträge der Platzhalter '%o'
    (für das Feld 'ass_obs') benutzt werden.
    
  Autoren
  
    Die Autorenliste wird entweder dynamisch gefüllt, oder es wird die
    konfigurierbare statische Liste angezeigt (nicht vergessen, nicht nur diese
    Liste zu füllen, sondern auch das Häkchen hinter "Autoren aus Referenzen?"
    zu entfernen!)
    
    Für die dynamische Liste werden alle Referenzen durchsucht, die im
    "Zustandigkeitsbereich" der Anzeige liegen. Für große Bibfolder oder 
    Instanzweite Anzeigen sind sowohl was Performance als auch Übersichtlichkeit
    angeht statische Listen eher zu empfehlen.
    
    Wie die dynamische Liste sich ihre Namen sammelt, lässt sich über
    'bibflexview_get_authors' anpassen.
    
  Kategorien
  
    Sollte selbsterklärend sein - die Kategorien, die in der Drop-Down-Liste
    erscheinen. Unschön ist hier (genauso wie bei "Download as PDF-File" oder
    dem Titel für ein ass. Obj. des 'publication_url' Feldes) die fehlende 
    Möglichkeit, Varianten für mehrere Sprachen anzubieten.
    
    
Einbinden der Ansicht

  Es gibt verschiedene Möglichkeiten, die flexible Ansicht zu nutzen
  
  *  Die in "Erste Schritte" beschriebene, offensichtlich(st)e Variante, d.h.
     Festlegen der Ansicht für einen Bibliographie-Ordner oder über das 'Ansicht'
     bzw. 'display' Menü.
  
  *  Analog für einen intelligenten Bibliographie-Ordner (ATBiblioTopic). Dies
     kann z.B. nützlich sein, um Bibliographieeinträge nicht doppelt vorrätig
     halten zu müssen, wenn die selbe Publikationsliste - z.B. für die Menü-
     struktur - in verschiedenen Sprachen angeboten werden soll.
    
  *  Direkter Aufruf von 'publications_by_author'. Dabei wird standardmäßig die
     ganze Instanz nach Publikationen durchsucht.
     'publications_by_author' versteht eine Reihe von (URL-)Parametern:
     
       'p': Pfad, in dem Publikationen gesucht werden sollen (einschließlich 
       Unterverzeichnisse)
       
       'author': Autor, nach dem gefiltert werden soll
       
       'keyword': Filtern nach einem Schlüsselwort  
       
       'type': Filtern nach einer Kategorie (siehe Konfiguration)
       
       'noselection': Wenn hier ein Wert übergeben wird, werden dem Besucher
       der Seite keine Auswahlmöglichkeiten angeboten
       
  Bis auf 'p' werden diese Parameter auch von Bibliographieordnern verstanden
  (vorrausgesetzt die flexible Ansicht wird benutzt)
   
  Beispiel::
   
    http://www.bla.de/bibliographieordner?author=Gambleputty;noselection=1
     
  zeigt alle Publikationen von Gambleputty an, ohne dem Betrachter eine Wahl zu 
  lassen.

  Der von 'publications_by_author' benutzte Anzeigestil ist der Instanzweit
  eingestellte, außer man ruft 'publications_by_author' "auf" einem
  Bibliographieordner auf, der eigene Einstellungen besitzt::
  
    http://www.bla.de/bibliographieordner/publications_by_author
    
  In diesem Fall werden die Einstellungen von 'bibliographieordner' benutzt.
  Das mag zunächst sinnlos aussehen, ist aber nützlich, um Publikationen aus
  mehreren Bibliographieordnern zu sammeln (ggf. muss hier natürlich auf 
  sinnvolle Einschränkung des Suchbereichs mittels 'p'-Parametert geachtet
  werden)
  
Exportieren

  Die Ansicht zeigt über der Liste von Bibliographieeinträgen einen Button
  "Export entries". Darüber können *die angezeigten* Einträge exportiert werden
  (im Unterschied zum kleinen grünen Pfeil in der document actions Leiste
  eines Bibliographieordners (oder einer Referenz), über den der gesamte
  Ordnerinhalt (bzw. die einzelne Referenz) exportiert wird.
  
Fragen/Probleme

  *  Warum liefert das über '%l' eingebundenen 'absolute_url'-Feld einen leeren
     Link?
  
       Der wahrscheinlichste Grund ist, dass die betroffenen Referenzobjekte 
       schon existierten, bevor BibfolderFlexibleView installiert wurde. Das 
       bedeutet, dass bei der Installation zwar im 'portal_catalog' ein Feld 
       'absolute_url'hinzugefügt wird, aber nicht mit Inhalt gefüllt wird.
       Werden nun nur Platzhalter verwendet, die im 'portal_catalog' als 
       Metadaten vorhanden sind (siehe oben), wird dieses leere Feld angezeigt.
       Abhilfe schafft ein Update des Katalogs (ZMI: portal_catalog -> Advanced
       -> Update Catalog).
    
  *  Die Liste baut sich nur sehr langsam auf - was kann ich tun!
     
       1. Sicherstellen, dass  nur *die* Ordner nach assoziierten Objekten 
          durchsucht werde, die wirklich welche enthalten, und dass diese Ordner 
          eben auch möglichst *nur* solche Objekte enthalten
       
       2. Darauf achten, dass in allen Masken nur Felder benutzt werden, die in
          den Katalog-Metadaten existieren (die, die mit einem '*' 
          gekennzeichnet sind).
          **Achtung**: Sobald die Option "PDF-Eintrag als assoziiertes Objekt 
          anzeigen" aktiviert ist,  reichen die Katalog-Metadaten nicht mehr zur 
          Anzeige aus, d.h. Deaktivieren dieser Option kann zu Performancegewinn 
          führen, selbst wenn keine oder nur wenige Objekte einen Eintrag im 
          PDF-Feld haben! 
          
       3. Statische statt dynamischer Autorenliste verwenden
       
       4. Evtl. "assoziierte Objekte" ganz abschalten - lohnt sich aber nur bei
          wirklich vielen assoziierten Objekten
  

