From agINFRA

Jump to: navigation, search



FAO has developed an agricultural information management tool called AgriDrupal. AgriDrupal is a Drupal-based application that provides agricultural institutions with a content management system pre-customized to manage a document repository, expert and institution directories, news and events, exposing all the data as Linked Data and using agricultural vocabularies. The main envisaged use of AgriDrupal is as Software as a Service (SaaS) and/or in a cloud environment.

In agINFRA, several steps have been taken to make the tool available as a SaaS:

  • Agridrupal has been made available as a Virtual Machine image that can be replicated in different cloud environments;
  • A VM has been deployed in the INFN MyCloud service, from which new instances can be requested;
  • AgriDrupal has been integrated with Scratchpads to be made available on the Scratchpads SaaS infrastructure.

Responsible body(ies):

Usage and deployment (if publicly accessible)

Downloadable application: AgriDrupal:

AgriDrupal has been deployed as one of the VM images available at the agINFRA cloud provided by INFN (MyCloud service).

The VM is available at: This VM image will be used to set up easily an instance of the AgriDrupal tool. No special APIs have been deployed so far for the remote execution and management of the AgriDrupal VM image. First sample instance: GFAR: or

Requests for a new cloud-based instance of the tool can be made at agINFRA Cloud Scientific Gateway

VM on the Scratchpads network: TBD Combined AgriDrupal / Scratchpads demo:

Example Usage Scenario

Our users

Bill is a librarian at ZARI, responsible for cataloguing the newly digitized documents from the ZARI library. She knows how to catalogue and she’s attended a short training course on the use of AgriDrupal, especially on the use of the internal authority files and the selection of AGROVOC terms for subject indexing.

Davy is the project manager of the ZAR4DIN project and has to make sure that the records are catalogued properly at ZARI and other participating Institutions and that at regular intervals they are exported and imported into the ZAR4DIN portal that gives access to all the bibliographic resources from the participating Institutions. Davy knows that the IT infrastructure at ZARI is not state of the art and that IT support for the cataloguing tool will be minimal, but his IT person Jones knows how to setup a basic LAMP environment, so he decides to adopt AgriDrupal for ZARI. However, for the portal, which has to be accessible on the Internet without interruptions, Davy decides to opt for hosting it with a commercial hosting service in Zambia. Considering that AgriDrupal can easily import from other AgriDrupal installations and also from Excel (other participating Institutions can export their records to Excel), Davy chooses AgriDrupal also for the ZAR4DIN portal,

Jones is an IT person at ZARI and he has the responsibility of ensuring that the ZARI AgriDrupal is always working and also to check that it’s used properly by the cataloguers. Jones also has the responsibility of updating contents on the ZAR4DIN portal.

Before agINFRA

Deployment of AgriDrupal in a slow network with poor IT support and low bandwidth AgriDrupal is installed on a server in the ZARI local network. The network is sometimes slow, IT support is only provided by Jones, who also has other duties, and the bandwidth is low. Bill reports that quite often she cannot attach AGROVOC terms to the records because the system is slow in displaying the terms from the remote AGROVOC server. He also reports that from time to time the local server goes down and she has to wait until the IT person can restore it. Jones has many tasks, among which taking care of the LAMP environment where AgriDrupal is installed and fixing problems if something doesn’t work with the tool. He is not an expert in web server management nor in database management and he cannot solve small problems like the corruption of a database table or an error in the replacement of a Drupal module with a new version, so these issues can stop the work of the cataloguers until he gets support from the AgriDrupal team.

The AgriDrupal team can only give him instructions, as they cannot access the AgriDrupal installation from outside ZARI. On a couple of occasions, the ISP of the ZARI network has allowed access and the AgriDrupal team was able to solve the issues remotely. The management of the ZAR4DIN portal is much easier, as it is hosted on a public hosting service and the AgriDrupal team can access the installation and make the necessary upgrades or configure the import functionalities for additional participating repositories. However, as the number of AgriDrupal installations increases, the AgriDrupal team will not be able to replicate all the upgrades and improvements in all the installations hosted on servers all over the world.

In order for the adoption of the tool to be sustainable in the current situation, those who adopt the tool have to take full responsibility for the maintenance and upgrades of the tool. In this scenario, Jones needs to:

  • Be able to maintain the basic functionalities of a LAMP environment;
  • Be able to upgrade the Drupal core and modules in case there are security fixes or new functionalities distributed by the AgriDrupal team.

agINFRA powered version

Davy and Jones have been informed that there is the possibility of hosting their AgriDrupal tool on an agINFRA-hosted Cloud or on the NHM Scratchpads network, where they will still be the owners of the installation and they will still have full access to administer the tool and manage the contents, while the server infrastructure will be maintained by agINFRA and the upgrades to the AgriDrupal (or AgriScratchpads) tool will be applied by the AgriDrupal and Scratchpads team to all the installations on the agINFRA Cloud. They decide to move their ZARI AgriDrupal to the agINFRA Cloud. In the following description of the scenarios, when we say AgriDrupal we include the option of an AgriDrupal / Scratchpads combined installation and when we say agINFRA Cloud we include the option ot the NHM Scratchpads network.

Jones has to perform the following steps:

  • Use the XML export buttons on the ZARI AgriDrupal to export all the records of any type (bibliographic records, news, events etc., including web pages and users);
  • Send the XML files to the AgriDrupal team, who will set up a new instance of AgriDrupal in the agINFRA Cloud by just replicating the basic distribution profile and will import the data in the newly created instance;
  • Login to the new AgriDrupal instance with the same credentials as before and work with it as before.

Jones will not have to worry about server downtimes, corrupted database tables or Drupal upgrades. He can either dedicate his time to his other tasks, or decide to learn AgriDrupal better to exploit all its functionalities and train the librarians.

Bill will not have problems loading AGROVOC terms from the remote web services because the agINFRA Cloud has a broad band. She can also exploit the new version of AgriDrupal and the highly performing server to mass-reprocess all bibliographic records setting up the automatic indexing option in the AGROVOC Field module, so that for all records the full text is automatically analyzed and AGROVOC terms are extracted. In this way, she can quickly add AGROVOC terms to all the records she didn’t manage to index when the connection to AGROVOC was too slow.

The AgriDrupal team will not have to support many different installations on different servers and will be able to apply upgrades on all instances in the agINFRA Cloud at once. In this way the AgriDrupal team can retain control of features that are essential to the behavior of AgriDrupal while giving users the possibility to customize all the rest, including enabling new modules and themes.

Davy decides to also move the ZAR4DIN portal to the agINFRA Cloud. A few months later, the AgriDrupal team releases a new feature that allows for the import of data from additional formats. They apply the new feature to all the AgriDrupal instances under Aegir and Jones can now import records from other Institutions into ZAR4DIN and Davy can add these new Institutions as partners to the project.

In case ZARI opts for the AgriDrupal / Scratchpads installation, they will also benefit from the advantage of being able to manage additional content types, such as photographs, specimen identification, DNA sequence, morphotype information using a standard vocabulary, soil characteristics, co-occurring species, habitat data, etc.



AgriDrupal provides a SPARQL engine for accessing the data managed in the content management tool. This API is a REST API implementing the SPARQL protocol. Any instance of AgriDrupal exposes the metadata through this API and supports SPARQL queries executed on all the data except private data. As sample URLs, we use the URLs of an AgriDrupal demo installation at AgriDrupal provides an API for accessing the metadata records. This API is a REST API implementing the OAI-PMH protocol. Any instance of AgriDrupal exposes the metadata through this API and supports all the methods defined by OAI-PMH. As sample URLs, we use the URLs of an AgriDrupal demo installation at

The URL of the SPARQL endpoint is http://agridrupal-installation-base-url/sparql2. Example;

The RDF vocabularies used in the RDF store are: Dublin Core, the BIBO ontology and FOAF.


AgriDrupal provides an API for accessing the metadata records. This API is a REST API implementing the OAI-PMH protocol. Any instance of AgriDrupal exposes the metadata through this API and supports all the methods defined by OAI-PMH. Examples of such methods are listed bellow. As sample URLs, we use the URLs of an AgriDrupal demo installation at

Example 1. Listing all the collections (sets) available in an AgriDrupal instance

Parameter verb
Value ListSets
Example Request
Example Response <?xml version="1.0" encoding="UTF-8"?> <OAI-PMH xmlns="" xmlns:xsi="" xsi:schemaLocation=""> <responseDate>2014-10-07T10:08:54Z</responseDate> <request verb="ListSets"></request> <ListSets> <set> <setSpec>17201</setSpec> <setName>N20 Agricultural machinery and equipment</setName> </set><set> <setSpec>17202</setSpec> <setName>P01 Nature conservation and land resources</setName> </set><set> <setSpec>17203</setSpec> <setName>P05 Energy resources and management</setName> </set><set> <setSpec>17204</setSpec> ... </ListSets> </OAI-PMH>

Example 2. Listing all the metadata sets available in an AgriDrupal instance

Parameter verb
Value ListMetadataFormats
Example Request
Example Response <?xml version="1.0" encoding="UTF-8"?> <OAI-PMH xmlns="" xmlns:xsi="" xsi:schemaLocation=""> <responseDate>2013-11-19T16:48:42Z</responseDate> <request verb="ListMetadataFormats"></request> <ListMetadataFormats> <metadataFormat> <metadataPrefix>oai_dc</metadataPrefix> <schema></schema> <metadataNamespace></metadataNamespace> </metadataFormat> <metadataFormat> <metadataPrefix>agrisap</metadataPrefix> <schema></schema> <metadataNamespace></metadataNamespace> </metadataFormat> ListMetadataFormats> </OAI-PMH>

Example 3. List of metadata records for a specific set in AGRIS AP format

Parameters verb, set, metadataPrefix
Values ListRecords, the setSpec of the chosen set, the metadataPrefix of the chosen metadata format
Example Request
Example Response (only first record for brevity) <?xml version="1.0" encoding="UTF-8"?> <OAI-PMH xmlns="" xmlns:xsi="" xsi:schemaLocation=""> <responseDate>2013-11-19T16:49:41Z</responseDate> <request verb="ListRecords"></request> <ListRecords> <record> <header> <identifier></identifier> <datestamp>2013-08-21T14:32:40Z</datestamp> </header> <metadata> <ags:resources xmlns:ags="" xmlns:dc="" xmlns:agls="" xmlns:dcterms=""><ags:resource ags:ARN="ad2013min46943"> <dc:title xml:lang="en">Partitioning of radiation within a maize crop.</dc:title> <dc:creator> <ags:creatorPersonal>Njihia, J.K., Kenya Meteorological Department</ags:creatorPersonal> </dc:creator> <dc:publisher> <ags:publisherPlace>Nairobi, (Kenya)</ags:publisherPlace> </dc:publisher> <dc:publisher> <ags:publisherName>Kenya Agricultural Research Institute</ags:publisherName> </dc:publisher> <dc:date> <dcterms:dateIssued scheme="dcterms:W3CDTF">1984-01</dcterms:dateIssued> </dc:date> <dc:subject> <ags:subjectClassification scheme="ags:ASC">F60</ags:subjectClassification> </dc:subject> <dc:subject> <ags:subjectClassification scheme="ags:ASC">F62</ags:subjectClassification> </dc:subject> <dc:subject> <ags:subjectThesaurus scheme="ags:AGROVOC" xml:lang="en">maize</ags:subjectThesaurus> </dc:subject> <dc:subject> <ags:subjectThesaurus scheme="ags:AGROVOC" xml:lang="es">Maíz</ags:subjectThesaurus> </dc:subject> <dc:subject> <ags:subjectThesaurus scheme="ags:AGROVOC" xml:lang="fr">Maïs</ags:subjectThesaurus> </dc:subject> <dc:subject> <ags:subjectThesaurus scheme="ags:AGROVOC" xml:lang="en">plant population</ags:subjectThesaurus> </dc:subject> <dc:subject> <ags:subjectThesaurus scheme="ags:AGROVOC" xml:lang="es">Población vegetal</ags:subjectThesaurus> </dc:subject> <dc:subject> <ags:subjectThesaurus scheme="ags:AGROVOC" xml:lang="fr">Population végétale</ags:subjectThesaurus> </dc:subject> <dc:subject> <ags:subjectThesaurus scheme="ags:AGROVOC" xml:lang="en">radiation</ags:subjectThesaurus> </dc:subject> <dc:subject> <ags:subjectThesaurus scheme="ags:AGROVOC" xml:lang="es">Radiación</ags:subjectThesaurus> </dc:subject> <dc:subject> <ags:subjectThesaurus scheme="ags:AGROVOC" xml:lang="fr">Radiation</ags:subjectThesaurus> </dc:subject> <dc:subject> <ags:subjectThesaurus scheme="ags:AGROVOC"></ags:subjectThesaurus> </dc:subject> <dc:subject> <ags:subjectThesaurus scheme="ags:AGROVOC"></ags:subjectThesaurus> </dc:subject> <dc:subject> <ags:subjectThesaurus scheme="ags:AGROVOC"></ags:subjectThesaurus> </dc:subject> <dc:description> <dcterms:abstract xml:lang="En">Global radiation, net radiation, reflection and transmission coefficients of global radiation were measured in a maize crop planted at three densities. A consistent relationship between the reflection coefficient of global radiation and plant density(21+4., 19+. and 17+3. over the canopies of densities H, N and L respectively) was observed only during the flowering phase. The transmission coefficient of global radiation increased as plant density decreased. On the average, the transmission coefficient was minimum during the flowering phase. The lowest (13+4.) and the highest (48+17.) values of transmission coefficient were obtained in densities H during the flowering phases and L during the ripening phase) respectively. The absorption coefficient of global radiation for the maize crop decreased with decreasing plant density</dcterms:abstract> </dc:description> <dc:description> <dcterms:abstract xml:lang="">variations from phase to phase were not sufficiently precise. The lowest (38+21.) and the highest (67+10.) values of absorption coefficient were observed during the vegetativephase in densities L and H respectively. The pattern of transmission and absorption of net (total) radiation was similar to that of global radiation. The net radiation below canopy expressed as a percentage of net radiation above canopy increased as plant density decreased. The lowest (13+4.) and the highest (45+10.) values were obtained during the vegetative phase in densities H and L respectively.</dcterms:abstract> </dc:description> <dc:type>Journal Article</dc:type> <dc:language scheme="ags:ISO639-1">en</dc:language> <agls:availability> <ags:availabilityLocation>Kenya Agricultural Research Institute, Muguga South, Kikuyu, Kenya</ags:availabilityLocation> <ags:availabilityNumber>1984400037</ags:availabilityNumber> </agls:availability> <ags:citation> <ags:citationTitle>East African Agricultural and Forestry Journal</ags:citationTitle> <ags:citationNumber>v.45/n.3</ags:citationNumber> </ags:citation> </ags:resource></ags:resources> </metadata> </record><record> <header> <identifier></identifier> <datestamp>2013-08-21T14:32:40Z</datestamp> </header> <metadata> … </record> </ListRecords> </OAI-PMH>
Personal tools