Part 1
•
What is AgriDrupal, what is Drupal
•
Drupal content management architecture
•
Getting started with AgriDrupal
– Basic customization of our installations: title, logo, slogan, email address, informational web pages (using the rich editor, creating internal hyperlinks, understanding path
aliases)
– Customizing navigation menus in our installations
– Defining a content model and metadata models: Content types and fields – Content model and contents: content types and “nodes”
– Defining knowledge organization systems::Taxonomies – Displaying dynamic lists of contents: Views
The Drupal Content Management
System (CMS)
•
Drupal is a free software package that allows an individual or
a community of users to easily
publish, manage and organize
a wide variety of content
on a website.
•
Drupal is open-source software distributed under the GPL
("GNU General Public License") and is maintained and
developed by a community of thousands of users and
developers.
The AgriDrupal community
• The AgriDrupal community is made up of people who work in the
community of agricultural information management specialists and have been experimenting with IM solutions with the Drupal CMS
•The community interacts using the AIMS community platform:
http://aims.fao.org/ community/home
AgriDrupal solutions and “demo tool”
• One or more “reference” installations of AgriDrupal including all or only selected functionalities can be made available
– for testing purposes
– for adoption by Institutions looking for a full-fledged tool for integrated information management and dissemination
Why a community on IM solutions
•
One of the main obstacles towards a more efficient
management and sharing of agricultural knowledge is the
lack of good standard-compliant tools whose adoption and
maintenance is really
sustainable
•
In-house developed solutions, outsourced solutions and
proprietary platform-based solutions are not easily
sustainable
•
IM needs of agricultural institutions are in most cases very
similar and duplicating efforts is costly
•
Joining efforts around solutions based on a mainstream open
source platform is more sustainable
Why Drupal
•
More and more implementations of Drupal solutions in the
community of agricultural information managers
:
– Cornell libraries in the US
– AgroPedia Indica
– “Rangeland West” project in the US
– three CG Centers (ILRI, IFPRI, ICRAF), soon also ICARDA
– San Yat Sen University in Guangzhou
– Condesan in Peru
– E-agriculture
– our team in FAO
•
Because of the flexible and extensible Drupal
content management model
“Agri” Drupal
•
Drupal best practices and configurations to manage
contents that
are commonly of interest to the agricultural community
(Institutions, researchers, projects, project outputs / publications,
technologies, events)
•
Drupal recommended configurations to use
agriculture-specific
metadata and vocabularies
•
Drupal best configurations to automate
exchange
between
installation
•
Drupal best configuration of
community functions
for agricultural
communities (vocabularies, links with other contents)
AgriDrupal is not a tool
•
Not software “development”
, but platform customization
•
Customizations implemented / tested / recommended by the
AgriDrupal community
•
Recommendation of best practices and distribution of specific
configurations
•
As little programming code as possible
•
Advanced features:
– Re-use and configuration of modules maintained by the community
AgriDrupal is “also” a tool
•
One or more “reference” installations of AgriDrupal
including all
or only selected functionalities will be made available
– for testing purposes
– for adoption by Institutions looking for a full-fledged tool for integrated information management and dissemination
•
Institutions adopting an AgriDrupal reference installation will
become the owners of the installation and will be responsible for
its maintenance
•
The AgriDrupal community will make new or improved solutions
available for all institutions that have
– adopted the AgriDrupal tool
Other Drupal setups in agriculture
• Agropedia Indica: http://agropedia.iitk.ac.in/
• ILRI: http://www.ilri.org/
• IFPRI: http://www.ifpri.org/
• ICRAF: http://www.icraf.org/
• Mann Library at Cornell: http://www.mannlib.cornell.edu/
• WorldAgInfo portal: http://www.worldaginfo.org/
• KAINET: http://www.kainet.or.ke/
• FPMU Bangladesh:http://182.160.112.236/agridrupal/
• E-agriculture:www.e-agriculture.org
• CIARD website: http://www.ciard.net
Drupal for content management (1)
1. Content types
• Drupal has the in-built capacity to treat any kind of user-defined content type: from simple web pages to events, contacts, bibliographical records or any custom content types
extensible with no programming
• Content types define entities.
• Users can decide which content types are needed in their systems
• For each content type, users can decide which fields are needed for describing the entity (in other words, a suitable metadata set can be designed)
Mapping metadata to standard vocabularies
E.g.: mapping the metadata describing an event to the AgEvent Application Profile metadata set. (See AIMS Application Profiles here:
Drupal for content management (2)
2. Nodes
•
The contents stored in Drupal are called “nodes”. When
creating a new node, the user has to select one of the
existing content types defined in the system.
Content types are the definitions of metedata for describing
an entity / a class, while nodes are the actual contents, or
an “instance” of the entity / class.
Drupal for content management (3)
3. Taxonomies
•
Users can define taxonomies (or categories,
classification systems, tagging systems) that can be
used to “tag” or index any contents.
Adding / editing terms in taxonomies can be done
through a simple user interface
Taxonomy
Example of taxonomy: Document types
Drupal for content management (4)
4. Views
•
Drupal has the in-built capacity to provide
any number and type of views
(displays,
lists) over the stored contents: from simple
lists of news to tables with selected columns
to search engines to calendars to feeds and
XML/RDF exports
Building views on data
The User Interface for creating / editing Views
Users can set all the parameters of which contents, how many, filtered by which criteria they want to see on a page
Part 2
•
AgriDrupal content model
– Pages, news, events, vacancies – Institutions and experts
– Documents, authors, journals – Relations between contents
•
Specialized functions:
AgriDrupal content model
•
Using the Drupal content management infrastructure,
AgriDrupal implements a “content model” that is suitable for
an agricultural information management system.
This means that an AgriDrupal installation already contains the necessary content types, taxonomies and views to manage a basic agricultural
information system. This is the added value of AgriDrupal compared to a vanilla installation of Drupal.
•
This content model allows to manage
contents that are
commonly of interest to agricultural Institutions
(Institutions,
researchers, projects, project outputs / publications, news,
AgriDrupal content model
Document
Expert
Author
News item
Institution
Corporate
body
Event
Conference
Page
Journal author corporate author or publisher conference journalDOCUMENT REPOSITORY RESEARCH MANAGEMENT Content type Document type Field (node reference) Agrovoc terms Agris Categories Document types
Institution types Free tags
Drupal CMS: software architecture
Database layer
Apache / IIS
Unix / Linux / BSD / Solaris / Windows / Mac OS X support
PHP libraries MySQL / PostgreSQL OS Web server Programming support Browse Web services Manage content model and content SERVER CLIENTS
Feeds / exports Notifications
Specialized functions:
AgriDrupal for document repository
management
AgriDrupal in the ZAR4DIN project
•
ZAR4DIN: creating document repositories in the participants
Institutions for sharing full-text documents with metadata
AgriDrupal allows to create metadata (bibliographic records)
compliant with library standards and attach full-text resources to
the metadata
•
ZAR4DIN: sharing records between the involved Institutions and
creating a portal that gives access to records from all the
participating Institutions
AgriDrupal can export records in a a standard formats and
import / harvest on the fly records from other AgriDrupal.
installations (and from any source that uses a standard format).
AgriDrupal also allows to manage a website with portal
AgriDrupal for document repository management
Through an extended use of metadata and workflows, a CMS can perform the functions of specialized software.
AgriDrupal for document repository management
Input form (cataloguing form) compliant with library standards. Example: metadata and authority control for authors and journals
AgriDrupal for document repository management
>> click <<
Standard vocabulary for subject indexing: Agrovoc (http://aims.fao.org/website/AGROVOC/sub).
Essential for consistent subject indexing and for a common subject-browsing interface in the portal.
Part 3
•
Basic customization of our installations: title,
logo, slogan, email address, informational web
pages (using the rich editor, creating internal
hyperlinks, understanding path aliases)
•
Customizing navigation menus in our
installations
•
Views
For hands-on sessions, slides will only provide the relevant links and screenshots in your AgriDrupal installation
Configuring site information
• Administer > Site configuration > Site information
Managing navigation menus
•
http://localhost/agridrupal075/admin/build/menu
Administer > Site building > Menus
•
Do not remove the Drupal default menus
•
You can link each menu item to the system path of a page (e.g.
node/x) or to its path alias (e.g. home), or to the view path if you
are linking to a view
•
You can then decide where your menus will be placed through the
Blocks page (see slides from Day 2):
http://localhost/agridrupal075/admin/build/block
Administer > Site building > Blocks
•
Drupal guide on Menus:
Relevant AgriDrupal internal links
•
Content types
Administer > Content > Content types
http://localhost/agridrupal075/admin/content/types
•
Views
Administer > Site building > Views
http://localhost/agridrupal075/admin/build/views
•
Add contents:
“Private area” menu on the right > Add new resource
then select the content type
Learning material
•
Get started with Drupal:
http://drupal.org/documentation/customization/tutorials/be
ginners-cookbook
•
Drupal tutorial on Views:
http://drupal.org/documentation/modules/views
•
Video tutorial on Content types and Views:
Part 4
•
Techniques, formats and technologies for information exchange
– Metadata, “vocabularies” and namespaces – XML, CSV, machine-readable formats / notations – Syndication (RSS) and harvesting
– OAI-PMH
– RDF and the semantic web – A broader concept of “feeds”
•
Recommended standards in the agricultural field
– Subject indexing: Agrovoc (and other thesauri and reciprocal mapping) – Other KOS (the VEST registry on AIMS)
– Description:
• DLIOs: Agris AP (-> RDF recommendations)
• News (RSS); Events and vacancies (RSS + AgEvent AP and AgJobs AP) • People (FOAF); Organizations (FOAF, AiDA)
Techniques, formats and technologies for
information exchange
Metadata
•
“Data about data”: the elements that describe
an entity of a specific type, e.g. for a person:
First name: Valeria
Last name: Pesce
Country: Italy
…
Agreeing on a metadata set means agreeing on
a common set of elements to exchange
Metadata “vocabularies”
•
Formalization of a metadata set in a series of
agreed “property names” for metadata
elements, e.g. for a person:
firstname: Valeria
lastname: Pesce
country: Italy
…
Vocabularies allow machines to share metadata
using the same “labels” for metadata properties
Namespaces
• Metadata elements only have a specific meaning within the vocabulary where they were created; these vocabularies are defined in “namespaces” and elements must associated with a namespace in order to have some meaning
• dc:date means the “date” element in the Dublin Core namespace (shortened in the dc: prefix)
• ags:dateStart means the “dateStart” element in the AgMES namespace (shortened in the ags: prefix)
Namespaces are needed in order to avoid duplication of element
names and misinterpretation
e.g. “source” element in different namespaces:
dc:source in Dublin Core identifies the source book/document of a document
Notation, syntax, encoding
Metadata elements can be expressed in different notations:
examples:
•
CSV comma separated values (->Excel)
firstname,lastname,country Valeria,Pesce,Italy Justin,Chisenga,Ghana
•
XML
<firstname>Justin</firstname> <lastname>Chisenga</lastname> <country>Ghana</country>Vocabularies can be defined in specific “definition files” (DTDs, XML schemas, RDF
schemas…) that provide machine-readable rules for structure, syntax and encoding, e.g. the nesting of the “ags:locationCountry” element inside the “ags:location” element, or ISO encoding for countries and languages, specific date formats etc.
<ags:location>
<ags:locationCountry>GHA</ags:locationCountry> </ags:location>
RSS
•
Really Simple Syndication.
•
RSS feed: a file that exposes syndicated
contents from a website (or any source) in a
way that can be read by RSS readers.
RSS is a metadata set defined in the RSS
namespace and is expressed in XML
•
RSS specification:
RSS feed item
•
Example of RSS feed with bibliographical data
...
<item>
<title>Web 2.0 Principles and Best Practices. An O'Reilly Radar Report</title> <author>John Musser</author>
<author>Tim O'Reilly</author>
<description>What does Web 2.0 mean to your company and products? What are the risks and opportunities? What are the proven strategies for successfully
capitalizing on these changes?</description>
<pubDate>Sun, 01 November 2006 00:00:00 GMT</pubDate> <guid>ISBN:0-596-52769-1</guid>
<link>http://radar.oreilly.com/research/web2-report.html</link> <category>technology</category>
<category>web development</category> </item>
Extended RSS feed
•
Example of RSS feed extended with Dublin Core
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"> <channel>
<title>O'Reilly publications</title> <link>http://www.oreilly.com/</link>
<item>
<title>Web 2.0 Principles and Best Practices.</title> <link>http://www.marchal.com/en/</link>
<dc:creator>Marchal</dc:creator>
<dc:date>2006/11/01</dc:date>
<dc:identifier>ISBN:0-596-52769-1</dc:identifier>
<dc:rights>Copyright 2006 O'Reilly</dc:rights>
</item>
</channel> </rss>
OAI-PMH
• In the context of the OA (Open Access) Initiative, the technical protocol called OAI-PMH (Protocol for Metadata Harvesting) is the agreed protocol to harvest metadata from repositories.
The OAI-PMH architecture is based on OAI providers (or data providers) and OAI harvesters (or service providers).
• An OAI provider maintains one or more repositories (web servers) that support the OAI protocol as a means of exposing metadata. It provides data as well as OAI services. OAI services include implmenentations of the six OAI verbs (Identify, ListSets, ListMetadataFormats, ListIdentifiers,
ListRecords, and GetRecord ).
• An OAI harvester is a service that can import metadata from a remote OAI provider
Feeds and OAI-PMH in AgriDrupal
• Different types of feeds are available by default (and highlighted by the standard RSS and XML icons) in AgriDrupal from the web pages listing the
following types of contents:
– News and events RSS feeds: in the homepage and in the corresponding web pages:
• News: Newsroom > Our news
• Events: Newsroom > Our events
• Vacancies: Newsroom > Our vacancies
– Documents RSS feeds and Agris AP XML export: in The Documents > Catalog page
• See slides from Day 3 to see how these feeds were created. In the same way, other feeds can be created.
• Implementing an OAI data provider that implements all the “verbs” required by the OAI-PMH standard requires a lot of programming: in AgriDrupal, this has already been done for you.
The AgriDrupal OAI-PMH interface as data provider is available at:
http://yourwebsite/oai2
(in your local installations: http://localhost/agridrupal075/oai2)
A broader concept of “feeds”
Calendar News reader Blog Website Advanced service Web 1.0 Web 2.0 FEEDSAny machine-readable file that can feed other information systems using a standard metadata set and notation is a FEED
Feeds in Drupal
•
Drupal considers any machine-readable file containing
metadata and using a standard notation as a FEED containing
records that can be imported in the system
•
The Feeds module can import / harvest from:
–
RSS feeds
–
XML files
–
CSV files
The condition is that the metadata in the file and the
metadata in one of the content types in the system match
•
This module can both harvest from a URL or import from an
uploaded file
Recommended standards
in the agricultural field
Subject indexing
•
Agrovoc
http://aims.fao.org/website/AGROVOC/sub
AGROVOC is the world’s most comprehensive multilingual agricultural vocabulary. Downloaded over a thousand times a year by dozens of countries it is in daily institutional use to index and search documents, web pages and digital objects. Organized as a concept scheme, AGROVOC contains close to 40,000 concepts in over 20 languages covering subject fields in agriculture, forestry and fisheries together with cross-cutting themes such as land use, rural livelihoods and food security.
•
Agrovoc is available:
– As a browse / search web interface:
http://aims.fao.org/website/Search-Terms/sub
– As a dataset to download (in different formats):
http://aims.fao.org/website/Download/sub
– As “web services” that other applications can call to integrate Agrovoc terms:
http://aims.fao.org/website/Web-Services/sub
•
Other “subject indexing vocabularies” or “Knowledge Organization
Systems” (KOS):
http://aims.fao.org/vest-registry
Metadata sets
•
“Application Profiles” for describing:
–
Documents (DLIOs) (Agris AP)
–
Learning objects (AgL-AP)
–
News (RSS)
–
Events (Ag-Event AP)
See
http://aims.fao.org/website/Application-Profiles/sub
•
Other metadata sets:
http://aims.fao.org/vest-registry
e.g.
Services that exploit metadata standards
in agriculture
•
The AGRIS search engine:
http://agris.fao.org
allows to search for documents in the document repositories
that export their data in the Agris AP format
•
AgriFeeds
http://www.agrifeeds.org
allows to search and browse news, events and vacancies from
sources that expose their data in RSS and the Ag-Event AP
Brief introduction to
RDF and the semantic web
RDF:
RDF basics
•
Subject – predicate – object
RDF assumption: Triples like this can represent and describe
everything
Adam – is a – person
Adam – knows – Giampaolo
Giampaolo – lives in – Rome
<resource A> – <has title> – “War and Peace”
<resource A> - <has author> - <person A>
RDF/XML serialization
Useful links on RDF
RDF
• http://en.wikipedia.org/wiki/Resource_Description_Framework
(forget about Alt, Bag, List, Seq, nil: they are a nightmare and luckily in Linked Data they are deprecated!)
On blank nodes:
• http://en.wikipedia.org/wiki/Blank_node
(also blank nodes are not recommended in Linked Data, but they are a very important concept in RDF)
On FOAF:
• http://en.wikipedia.org/wiki/FOAF_(software)
If you have the Data Browser plugin for Firefox, open this in Firefox:
http://danbri.org/foaf.rdf
or open it with one of the online RDF navigators like Tabulator (also available as Firefox plugin): http://www.w3.org/2005/ajar/tab
HANDS-ON
customizing the layout and style of the website
Customizing the layout - 1
•
Themes
The theme you select for your Drupal installation controls the page layout (header, columns) and style (colors, sizes, borders etc.). It also defines which “regions” are available for placing your “blocks” (see next slide)
Administer > Site building > Themes
Theme folder under /agridrupal075/sites/all/themes
To customize the layout (columns, regions), file page.tpl.php in the theme folder. To customize colors, font styles etc., file style.css in the theme folder
The last section of the style.css file allows even non-technical users to set some simple style rules (font color, background color, font size) for certain elements of the website. This section can be found at the end, below the line that says:
/****** EASILY CUSOMIZABLE STYLES ****/
After saving style.css, if you don’t see your changes reflected on the website, go to Administer > Site configuration > Performance and click on “Clear cached data”
Customizing the layout - 2
•
Blocks
Blocks are small “boxes” containing either static or dynamic content that can be placed in one of the available “regions” of the website.
By default, the following “regions” are available: header, left column, right column, content (right below the main central area of the page), footer.
Administer > Site building > Blocks In the Blocks list, you will find:
– Dynamic blocks (e.g. the latest 3 news items, or the latest documents added to the system) that have been
created with Views
– Blocks automatically created by Drupal and Drupal modules
– All the available menus
– Static blocks that can be created from the Blocks page by clicking on the “Add block” tab
You can place each of these blocks in any of the available regions by selecting the region in the corresponding dropdown box. Under each region, you can drag and drop blocks to re-arrange the order.
• Tutorial on using Blocks:
Part 6
•
Exporting and importing
– RSS / XML / RDF Views for export + Feeds for importing
– Feed importers in Drupal
•
Hands-on: exchange data
– Harvest RSS feeds from Internet
– Create new contents in the system (documents, events)
– Harvest a news feed and an event feed from another AgriDrupal installation
– Improve the “News from partners” view: add a search filter and a filter by feed
– Import a document repository from another AgriDrupal installation Agris AP export
RSS / XML / RDF Views for export - 1
• Drupal (with the help of additional modules) offers several “displays” that create special Views that are not just normal HTML web pages but text-based machine readable files (XML, CSV, Json…)
In particular, when creating Views, the user can select the “feed” display and choose among the following formats (“styles” in the View):
– RSS: this creates a basic RSS feed (with only title, body, date, author and tags), unless the RSS template for the content type has been modified in Administer > Content > Content templates > select the content type (requires some programming skills, but in AgriDrupal this has already been done, so the metadata in the RSS feeds are richer than the basic RSS metadata)
– RDF: this creates an RDF RSS feed and uses the RDF mappings that can be defined in the content type (Administer > Content > Content types > select the content type): each field has an “RDF mappings” section where you can write the property (prefixed with the namespace) that you want to use in your RDF feed for that field. E.g. for the “event start date” field in the event content type you can set the ags:dateStart property. In
AgriDrupal, this has already been done
– CSV: this creates a Comma Separated Values file that can be easily imported into Excel: data are exported in columns, each column is a field in your content type
– XML: this creates a Drupal-namespace XML file for exporting your data and importing them in another Drupal installation. In order to have a custom XML export, using a specific metadata set like for instance the Agris Application profile, see next page.
RSS / XML / RDF Views for export - 2
• By adding a module called Views Data Source, when creating a new View with “Page” display, users will get additional options, among which “XML data document” and “RDF data document”.
They have a similar function: they create either an XML or an RDF file using the labels set for each field in the “Fields” section of the view. This allows to create custom XML and RDF exports.
The only thing that is not implemented in this type of view is the “nesting” of elements: all elements in the XML or RDF output are at the same hierarchical level: to implement nesting, you need some programming. In AgriDrupal, for the Agris AP XML export, this has already been done.
Exports - Summary
• Using one of the solutions in the previous pages, you can export records from your Drupal system. You only need to create a new View, select the type of export you want (as described above), add a filter to tell Drupal which content types you want to export in that file, and give the export a path, so that there is a URL where the file is available.
• With the normal RSS, RDF and CSV styles, you can use the “Node” row style (without setting the fields: Drupal will use your content template or your RDF mappings to output the node fields), while with the “XML data document” style you should select the “Fields” row style and assign an XML label to each field.
• In AgriDrupal, the views for the essential RSS, RDF and XML exports have already been created for you!
See screenshots on the next slides to refresh your memory: you saw those Views during the workshop
The “News” RSS and RDF feeds for news
Administer > Views > look for a view called News
For the
alternative RDF feed, we
selected a “Feed” display
with “RDF” style We filtered only records of content type “news”, and only those that have been “published”
We give this export a path: news/rss, so the URL of the export will be:
http://websitedomain/news/rss
(in your local installation:
http://localhost/agridrupal075/news/rss) For this RSS feed, we selected a “Feed” display with “RSS” style
We selected the “node” row style, so we don’t have to indicate fields. Drupal will get the fields from the News
content type and from the News content template.
In the RDF feed, Drupal will also consider the RDF mapping that we set in the News content type
The RSS and RDF feeds for events
Administer > Views > look for a view called Upcoming_events
For the
alternative RDF feed, we
selected a “Feed” display
with “RDF” style We filtered only records of content type “Event”, and only those that have been “published”
We give this export a path: events/rss, so the URL of the export will be:
http://websitedomain/events/rss
(in your local installation:
http://localhost/agridrupal075/events/rss) For this RSS feed, we selected a “Feed” display with “RSS” style
We selected the “node” row style, so we don’t have to indicate fields. Drupal will get the fields from the Event
content type and from the Event content template.
In the RDF feed, Drupal will also consider the RDF mapping that we set in the Event content type
The “dliosxml” View to export documents in the
Agris AP XML format
We selected a “Page” display with “XML data
document” style We filtered only records of content type “document”, published and not belonging to any feed (we don’t include imported records in our repository export) We export the whole repository, no limit in number of records
We give this export a path: dlios-xml, so the URL of the export will be:
http://websitedomain/dlios-xml
(in your local installation:
http://localhost/agridrupal075/dlios-xml)
We assigned a label with the corresponding XML element name to each field.
You will also find here
additional fields and PHP fields: these are needed for the PHP file we had to write for
implementing the nesting required by the Agris AP format
Feed importers in Drupal
•
Module: Feeds
This module adds support for creating “Feed importers”: you can define any number of importers in order to import from different file/feed formats
(RSS, RDF, XML, CSV…)
By default, this module adds some basic importers for standard feeds like basic RSS (the importer is called Feed) and for CSV files.
In AgriDrupal, we added some new importers in order to import from:
• RSS feeds of News that may or may not have some additional metadata like “ags:locationCountry”. Use this importer for importing basic RSS feeds from other websites.
• RSS feeds of Events that have the additional Ag-Event metadata like
ags:dateStart, ags:dateEnd, ags:locationCountry etc. Important: Use this importer ONLY for feeds that have these elements.
• RSS feeds of Jobs that have the additional Ag-Event metadata like ags:dateEnd, ags:locationCountry etc.
• XML files in the Agris AP format
So the basic importers you need for exchanging news, events and documents have already been created in AgriDrupal
Feed importers
Administer> Site building > Feed importers
Created for AgriDrupal
Created by the
Drupal Feeds module
This is the column where you see which content type you have to use when you want to create a new “Feed” node for importing: depending on the source from which you want to import, create the appropriate type of feed
How to import - 1
•
News or events from RSS feeds
Create a new node of the appropriate type (e.g. “Event feed” fro importing from a feed of events using the Ag-Event metadata, or just “News feed” for normal news feeds)
N.B.: RSS feeds that you find on the Internet and are labelled as “Event feeds” are usually simple news feeds: do not import them with the “Event feed” content type unless you are sure that they contain the mandatory Ag-Event AP elements (ags:dateStart, ags:dateEnd, ags:locationCountry)
When creating the node, just define the title and provide the URL of the feed from which you want to import. Then save the node and click on Import.
Harvested news will appear under Newsroom > News from partners, while
harvested events will appear under Newsroom > Events from partners, unless you have changed the navigation menu.
N.B. You should create a new feed of the appropriate content type for each feed that you want to import, but DO NOT create more than one feed for the same source feed, this will cause duplicates.
How to import - 2
•
Documents from a repository (1)
N.B.: the repository from which you are importing must contain the metadata that you consider mandatory in your repository. In addition, if you use the Agris AP importers defined in AgriDrupal, the repository from which you harvest must be an XML file using the Agris AP metadata set.
• N.B.: considering the AgriDrupal content model, personal authors, corporate authors, publishers and conferences need to be imported in different content types before importing the documents: this is why we have defined different importers for each of these entities. Follow the recommended order of import tasks:
1) “Add new resource” > Create a new node of type “Agris AP authors feed”.
In the node, just define the title and provide the URL of the XML file from which you want to import. Then save the node and click on Import.
Imported authors will appear in Reference > Personal authors. .
How to import - 3
•
Documents from a repository (2)
2) “Add new resource” > Create a new node of type “Agris AP corporate authors feed” and do the same (provide title and URL, save, import).
Imported corporate authors will appear in Reference > Corporate authors.
3) “Add new resource” > Create a new node of type “Agris AP publishers feed” and do the same (provide title and URL, save, import).
Imported publishers will appear in Reference > Corporate authors.
4) “Add new resource” > Create a new node of type “Agris AP conferences feed” and do the same (provide title and URL, save, import).
Imported corporate authors will appear in Reference > Conferences.
Important: DO THE FOLLOWING AS LAST STEP, AFTER IMPORTING THE 4 FEEDS ABOVE
5) “Add new resource” > Create a new node of type “Agris AP DLIO feed” and do the same (provide title and URL, save, import).
Imported documents will appear under Documents > Catalog (and advanced search).
Important notes on using the
Agris AP export / import functionalities
• Personal and corporate authors that are not related to any document are not exported. This is why some authors present in the imported repository may not be imported.
• Records that are present both in the local repository and in the imported repository are not merged: given the impossibility for the machine to establish whether two records refer to exactly the same entity and given the fact that the same metadata record in the local and external
repositories refers to two different “instances” of the document, records that are apparently identical are kept distinct.
- An Agris journals feed only needs to be created and imported prior to importing the DLIOs ONLY IF the source XML doesn’t have journals catalogued as DLIO records. Otherwise, this import can be skipped. - Warnings after imports can be ignored
- When receiving the “batch error” (go to error page) after importing, just click on Import again: sometimes a full import may require several
View / edit your feed importer nodes
All the harvesters / importers that you have created to import contents from different feeds are available under “Harvesters and importers” under “Private area”
Example: feed for importing events from AgriFeeds
Title
URL of the RSS feed from which you want to import
Once saved, click here to import
These are advanced settings for users who know Xpath: in AgriDrupal the settings for the available importers are already defined
More information on harvesting
•
Drupal Feeds module documentation:
http://drupal.org/node/622696
•
Tutorial for importing RSS feeds using the Feeds module:
Part 7
• Document repository management
– Configuring the OAI-PMH interface
– Configuring the repository to participate in Agris (repository ARN)
• Website management and maintenance
– User management
– Upgrades, modules
Configuring the OAI-PMH interface
• The parameters of your OAI-PMH data provider interface are available here: Documents > OAI data provider
(in your local installations:
http://localhost/agridrupal075/oai-pmh-interface)
• VERY IMPORTANT:
You have to configure your OAI data provider before publishing your website.
All AgriDrupal installations have the same parameters, assuming a local
installation under localhost with the website name “agridrupal075”. A public installation of AgriDrupal will have its domain name, which must be reflected in the OAI configuration, otherwise the repository will not be uniquely identified.
You can configure your OAI-PMH provider here:
OAI-PMH data provider configuration
Change this to the name of your repository
Change this to a unique identifier for your repository. The best practice is to use your domain name
Change this replacing localhost/agridrupal075 with the base URL of your website. The trailing part, “/oai2”, should remain as it is
Change the reference email address
Configuring the repository to participate in Agris
Repositories participating in Agris must be identified by a unique
identifier, called ARN
In order to get your ARN, contact the Agris secretariat at
[email protected]
Once you have your ARN, do the following:
• Administrator > Manage contents
• Select the “Repository” type and click on Filter
• For the first record of this type (you should have only one, called “Main repository”) click on Edit
• Replace the value of the ARN field with your ARN.
Now your Agris AP export (available from the Catalog page) can be sent to the Agris secretariat for inclusion in the Agris search engine.
System management: Users
• Administer > User management Website administrators can:
– view, edit, delete and add users ( > Users)
– decide if and how users can register to the website ( > User settings)
– create roles and assign roles to users ( > Roles) (> Users)
– define permissions for roles ( > Permissions)
• E.g. for the document repository a “cataloguer” or “librarian” role could be created, with permission to create, edit and delete nodes of content types “Document”, “Author”,
“Corporate body” and “Conference”, and this role could be assigned to all the users who are going to catalog documents.
The “editor” role by default has broader permissions: editors can create, edit and delete nodes of almost all content types, they can create web pages and edit the navigation menu.
Read more on Users management here:
System maintenance: Drupal upgrades
• Drupal core upgrade:
http://drupal.org/node/287824
VERY IMPORTANT: Before upgrading to a new version of Drupal, make a backup copy of all folders under /sites
(in your local installations: xampp/htdocs/agridrupal075/sites)
This is where your chosen modules, themes, settings and files are stored, and the new version of Drupal would overwrite all of them.
Then download the new version, unzip it, replace the old version with the new one (in your local installation, replace all the folders under
“agridrupal075”), and put back your backed-up folders under /sites. Then open the website in your browser and load the update.php page under the root of your website
(in your local installations: http://localhost/agridrupal075/update.php) and follow the instructions (just click on Continue and OK until the procedure is completed)
System maintenance: modules and upgrades
• Adding and removing Drupal modules
– Modules are stored under /sites/all/modules:
– In order to install a new module, download it from drupal.org, unzip it and place it under /sites/all/modules/. Then, go to Administer > Site building > Modules, look for the new module in the list and enable it.
IMPORTANT: never upload and enable a module that is in dev or alpha version.
– In order to remove a module, go to Administer > Site building > Modules, look for the module in the list and disable it. Check also under the “Uninstall” tab in the Modules page to see if there is an uninstall option for that module and if it is there, execute it (NB: doing this removes all settings for the module and in certain cases also contents created with that module, so if you want to re-install it later you will have to re-apply the settings and re-create the
contents). Then remove the physical folder under /sites/all/modules.
• Drupal modules upgrades:
– Download the new version and unzip it.
– Under /sites/all/modules/, replace the old folder of the module with the new one.
– Launch update.php (in your local installation: http://localhost/agridrupal075/update.php)
System maintenance tasks
In order to have an efficient website and make sure that system maintenance tasks are executed regularly:
• Install and enable the Poormanscron module if you cannot manage cron jobs on your server (ask your system administrator)
(Poormanscron is already enabled in AgriDrupal)
• When the website doesn’t seem to display updated contents or to use
updated settings, refresh the Drupal cache: Administer > Site configuration > Performance > click on the “Clear cache” button.
• When in trouble, sometimes loading the update.php procedure (see Drupal upgrades above) can solve temporary problems.