[Kobv-opus-tester] CollectionLeaf

Sascha Szott szott at zib.de
Sam Aug 3 22:28:30 MEST 2013


Hallo Herr Schnöpf,

On 02.08.2013 19:00, Markus Schnoepf wrote:
> da in unserer Migrationsinstanz beim Einstellen neuer Dokumente nur
> unser Hauptinstitut (BBAW) zur Auswahl steht, aber nicht die darunter
> gelisteten, habe ich versucht, in einem doctype für die Institute die
> Collection zu einem CollectionLeaf zu ändern, wie es im Handbuch
> beschrieben steht.
>
> Nun bekomme ich aber nicht das gewünschte Ergebnis, da in dem Formular
> nun folgende Fehlermeldung erscheint:
>
> "Sie wollen ein unbekanntes Formularelement erzeugen. 1) Überprüfen
> Sie den Variablennamen. 2) Einfache Elemente (z.B. Language,
> Identifier) werden mit element aufgerufen 3) Mehrfachelemente einer
> Gruppe werden mit group aufgerufen (z.B. Personen, Titel,
> Multiplicity=*)"
>
> In den doctype_Templates steht:
>
> <?= $this->group($this->groupInstitute); ?>
>
> und in dem doctype
>
> <field name="Institute" required="no" formelement="Select"
> datatype="CollectionLeaf" root="institutes" multiplicity="1"/>

Ich kann den Fehler reproduzieren. Scheinbar gibt es ein Problem, wenn 
als Datatype "CollectionLeaf" und als Multiplicity "1" gewählt wurde. 
Ich würde mal sagen, da haben Sie einen Bug gefunden. Der ist im Ticket 
OPUSVIER-3020 festgehalten.

Es gibt aber zum Glück auch einen einfachen Workaround: Wenn Sie das 
Attribut *multiplicity* ganz einfach weglassen (der Default ists sowieso 
1), dann klappt es ohne Fehlermeldung. Das Feld ist weiterhin optional 
(da required="no"), aber sobald ein Wert ausgewählt wurde, so muss bis 
ans Ende der Institutes-Collection navigiert werden. Ferner ist 
sichergestellt, dass auch nur maximal ein Wert ausgewählt werden kann.

Beste Grüße
Sascha Szott

-- 
Sascha Szott :: KOBV/ZIB :: <szott at zib.de> :: +49 30 84185-457