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:
inspectors
mit Dateivorlagen-Einschränkung
werden untersucht.inspectors
mit Dateityp-Einschränkung werden
untersucht.inspectors
ohne Einschränkungen werden
untersucht.inspector
mit der ID default
wird
gesucht.inspector
verwendet und eine
Fehlermeldung ins Protokoll geschrieben.Wenn es mehrdeutige inspector
-Konfigurationen 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.