WORKSHOP ON INFORMATION SYSTEMS ARCHITECTURES Information / software architectures based on Content Management Systems (CMS): some examples with Drupal IAALD 2010 side-event SupAgro, Montpellier, France 26 April 2010 Valeria Pesce (GFAR)
CMS + external sources + commodity services AgriFeeds (www.agrifeeds.org) Information architecture: individual sources “commodity services” Software architecture: CMS to harvest, store and manage content CMS + custom code for advanced filtering and custom feeds “Commodity services”: feed generators like Feedburner, Google API for calendars, widgets exploiting the APIs of various popular RSS readers - search/display - sources Processing commodity services
AgriFeeds architecture CMS news events Organization website harvesting metadata filtering news events Regional network website AGGREGATED VIEW FeedBurner Commodity services
Example: Upcoming Forestry Events
Item level: semantics come from the sources Future versions: automatic indexing with controlled vocabularies
Feed level: semantics come from the system
Advantages Information architecture: Relevant contents are stored and indexed without human intervention Metadata standards are exploited Software architecture: No need to write code from scratch No need to maintain code: relies on an active community of developers Complies with good practices in IM: re-use, re-usability, re-packaging, use of standards
Challenges Information architecture: Software architecture: Depends (partially: the basic functionalities rely on the CMS) on the functioning and continued availability of the commodity services Quality depends on the quality of the sources Software architecture: Relies on the continued maintenance of the CMS The custom code needed to extend the basic CMS functionalities needs to be maintained 1st version: 30% custom code 2nd version: 15% custom code NEXT VERSION: >> 1% CUSTOM CODE
CMS as integrated solution AgriDrupal (http://aims.fao.org/community/group/agridrupal) Information architecture: - external sources - locally managed contents Software architecture: - search/display - exports Coherent management metadata Model / content model CMS to manage any kind of information using any metadata set CMS to interface web services, APIs, RDF, XML… CMS as an “information management tool” CMS as an “information hub” CMS as a pool of specialized solutions
CMS for specialized functions Through an extended use of metadata and workflows, a CMS can perform the functions of specialized software. Example of document repository management in Drupal
Advantages Information architecture: Both external and local contents managed through metadata models and content models flexibility and adaptability to standards Software architecture: No need to write code from scratch No need to maintain code: relies on an active community of developers One tool to manage everything
Challenges Information architecture: Software architecture: Depends (partially) on the availability of good sources Common vocabularies are needed Software architecture: Relies on the continued maintenance of the CMS Functionalities limited to the functionalities of the CMS The custom code needed to extend the CMS functionalities needs to be maintained Specialized functions will not be as specialized as in specialized software