This documentation relates to an old version of VIVO, version 1.9.x. Looking for another version? See all documentation.
Custom entry forms allow VIVO to transcend the general-purpose, utilitarian editing scheme of Vitro. Without custom entry forms, VIVO users must edit each RDF triple individually. With a custom entry form, users can edit a complex data structure on a single page.
VIVO is distributed with a dozens of custom entry form generators. You may want to modify these form generators, or add more of your own.
Say you wish to establish that a particular person is a member of a particular academic department. This relationship can be expressed as a member role. See Membership Model
But what if the academic department doesn't exist in VIVO yet? You will want to create that department, and assign a name to it. You may also want to record the member role in that department, when their membership began, and when it ended (if it is not ongoing).
Without a custom entry form, you would need to record each piece of data individually.
VIVO includes a custom form generator for this relationship. The custom entry form looks like this:
How is it created?
The creation of custom entry forms is an arcane and eldritch art, for which little documentation is available.
Each form requires a Java class known as a
EditConfigurationGenerator. The generator describes the data structure being created, lists the SPARQL queries used, and includes a reference to the Freemarker template that will render the form.
You can start by examining the existing generators in this directory
and the Freemarker templates found here
- Note: The directory structure has changed in version 1.9+.
[VIVO]/src/... is now [VIVO]/api/src/main/java/...
[VIVO]/productMods/... is now [VIVO]/webapp/src/main/webapp/...
There is also a short page of technical description called Implementing custom forms using N3 editing.