Aufbau der Konfigurationsdateien für die Detailansichten

Die Einstellungen für die Detailansichten sind in der folgenden Datei zu finden: webapps/GUI/WEB-INF/inspectorRegistry.xml

Die Dateien basieren auf dem Spring Framework.

In den Detailansichten (intern Inspektoren genannt) werden die Inhalte mit Hilfe von Velocity-Templates angezeigt, die sich im Verzeichnis inspectors unterhalb des oben genannten Verzeichnisses befinden. Sie können die mitgelieferten Velocity-Templates ändern oder ergänzen und darin die in Abschnitt Velocity-Templates genannten Schlüsselwörter verwenden.

Eine Detailansicht wird in der Datei inspectorRegistry.xml als inspector bezeichnet. Was ein inspector anzeigt, wird über restrictions (Einschränkungen) geregelt. Ein inspector kann mehrere views (Ansichten) haben.

<bean id="publication-inspector"
  class="com.infopark.cm.htmlgui.browse.inspector.Inspector">
<!-- restrictions:-->
  <property name="objType">
    <value>publication</value>
  </property>
<!-- views:-->
  <property name="overview">
    <ref bean="publication-overview"/>
  </property>
  <property name="details">
    <list>
      <ref bean="publication-details" />
      <ref bean="links" />
      <ref bean="publication-childData" />
      <ref bean="sourceCode" />
      <ref bean="publication-administration" />
      <ref bean="help" />
    </list>
  </property>
</bean>

In diesem Beispiel wird der inspector mit dem Namen publication-inspector verwendet, wenn der Typ der aktuell ausgewählten Datei publication ist.

Es gibt die folgenden Einschränkungen:

<property name="objType"><value>publication</value></property>
<property name="objClasses"><set>
  <value>referrer</value>
  <value>press</value></set>
</property>
<property name="roles"><set>
  <value>admin</value>
  <value>restricted</value></set>
</property>

Als Kriterien dafür, ob ein Inspektor zur Anzeige der Eigenschaften einer Datei dienen soll, können also Dateitypen, Vorlagen und Oberflächen dienen.

Es ist nicht zwingend erforderlich, Einschränkungen zu definieren. Dies ist beispielsweise beim Default-Inspector der Fall:

<bean id="default"
  class="com.infopark.cm.htmlgui.browse.inspector.Inspector">
<!-- no restrictions-->
<!-- views:-->
<property name="overview">
  <ref bean="default-overview"/></property>
</bean>

Einschränkungen für Vorlagen und Dateitypen schließen sich gegenseitig aus, weil der Dateityp bereits in Vorlagen definiert ist.

Die Reihenfolge der inspectors in der Konfigurationsdatei ist ohne Bedeutung. Vielmehr werden die inspectors nach folgenden Kriterien untersucht. Sobald ein inspector gefunden wurde, der ein Kriterium erfüllt, wird er verwendet, und die Ermittlung wird abgebochen:

  • Die inspectors mit Dateivorlagen-Einschränkung werden untersucht.
  • Die inspectors mit Dateityp-Einschränkung werden untersucht.
  • Die inspectors ohne Einschränkungen werden untersucht.
  • Der inspector mit der ID default wird gesucht.
  • Es wird kein inspector verwendet und eine Fehlermeldung ins Protokoll geschrieben.

Wenn es mehrdeutige inspector-Konfigu­rationen gibt, wird eine entsprechende Meldung ins Protokoll geschrieben.

Für jeden inspector muss mindestens eine Ansicht, overview, konfiguriert werden:

<property name="overview">
  <ref bean="default-overview"/>
</property>

Optional können zusätzlich Detailansichten konfiguriert werden. Auf eine solche Ansicht wird in einer inspector-Konfiguration per Referenz verwiesen:

<property name="details">
  <list>
    <ref bean="publication-details" />
    <ref bean="links" />
    <ref bean="publication-childData" />
    <ref bean="sourceCode" />
    <ref bean="publication-administration" />
    <ref bean="help" />
  </list>
</property>

Die Reihenfolge der view-Referenzen ist entscheidend für die Reihenfolge der Ansichten-Reiter im Content Navigator. Die referenzierten views müssen vorhanden sein, d. h. es muss für sie jeweis eine view-Konfiguration geben:

<bean id="publication-overview"
    class="com.infopark.cm.htmlgui.browse.inspector.View">
  <property name="titles">
    <map>
      <entry key="de"><value>Überblick</value></entry>
      <entry key="en"><value>Overview</value></entry>
    </map>
  </property>
  <property name="template">
    <value>publication-overview.vm</value>
  </property>
</bean>
<bean id="publication-details"
    class="com.infopark.cm.htmlgui.browse.inspector.View">
  <property name="titles">
    <map>
      <entry key="de"><value>Details</value></entry>
      <entry key="en"><value>Details</value></entry>
    </map>
  </property>
  <property name="template">
    <value>publication-details.vm</value>
  </property>
</bean>
[etc.]

Eine view-Konfiguration legt die Titel des views in den verschiedenen Sprachen fest. Diese Titel werden als Reiterbeschriftung verwendet. Es muss mindestens ein Titel angegeben werden.

Jede view-Konfiguration referenziert genau ein Velocity-Template. Die referenzierten Template-Dateien werden im Verzeichnis webapps/GUI/WEB-INF/config/inspectors gesucht.