Upload
chet
View
32
Download
2
Embed Size (px)
DESCRIPTION
2009 European EMu Users Meeting, Thursday 4rd June. - Elizabeth Bruton, Museum of the History of Science, Oxford [email protected]. One acronym, one system: using the EMu API to connect your Collections Management System with your Content Management System. Outline. - PowerPoint PPT Presentation
Citation preview
One acronym, one system: using the EMu API to connect your Collections
Management System with your Content Management System
2009 European EMu Users Meeting, Thursday 4rd June.
- Elizabeth Bruton, Museum of the History of Science, Oxford
Outline
►Content Management Systems►KE EMu web interface►First Steps
Taking a different look at your collections’ data
Design and functionality Data structure and planning
►Example: ‘Plugging in’ the EMu API into Wordpress on the MHS website
►Future development and ideas
Content Management Systems
►What?►Why?►Which one?►php►Wordpress►How does your Collections
Management System fit in?
KE EMu web interface
►Old system http://emu.mhs.ox.ac.uk
►API►Advantages of API►Available example: Hull Museums'
Collections at
http://www.hullcc.gov.uk/museumcollections
Current Collections Website
- Similar design and functionality as previous collections website
- Produced by adapting KE EMu online collections (php-based)
First Steps
►Taking a different look at your collections’ data
►Narratives module: a pseudo-Content Management System?
►Design and functionality►Data structure and planning
MHS Collections data
►Mostly catalogue records and multimedia
►Currently narratives are used for internal usage (as per previous cataloguing system)
►But some new narratives created, especially by education department
►Online audience: researchers and academics
►How can this be developed?
Design
Design new collections' website (aka EMu v2) as part of new website running on Wordpress - http://www.wordpress.org
Design (2)
Design (3)
Functionality (1)
►Copy existing functionality– Search options– Results List (text and image view)– Individual record view
Functionality (2)
►Implement new functionality and features including:
– 'Top 10' children-friendly objects– Recently catalogued objects– Objects on Loan/Display– Change number of search records
displayed– More advanced multimedia options
including login & free full-size images for personal, academic and/or non-commercial use
How?
►API runs on php5►Has basic documentation►Includes five php files:
– config.php– media.php– query.php– serverconnection.php: stores server
connections– sessions.php: handles php sessions
config.php (1)
►Configures behaviour of media and query classes
►Stores Texxmlserver options (host, port number etc)
►Stores default visibility options (Intranet/Internet)
►Debug: copies queries►error_reporting (php-based)
config.php (2)
►set_exception_handler– Useful for debugging in test
version►Can also be used to set global variables
by calling php function ini_set()
media.php (1)
►Used to create HTML img tags by passing variables through URL string (i.e GET variables)
►Functionality significantly differently to query class although does use internal query class to get data
►All properties are set through GET variables except visibility which is set in config.php file
►Usage: <img src=”media.php?irn=123&image=yes&width=200” />
query.php (1)
►Very general class used to query the specified Texpress database via Texxmlserver
►Can manually set TexQL query or use in-built helper function to form TexQL query
►TexQL queries can include joins to different Texpress databases where the base table contains the link but joins in the opposite direction are not supported and must be performed manually by calling another query object
query.php (2)
►Once the query is run, the query class parses the XML returned into native php object structure which can be used on a HTML page
►Three key things:– Properties to set– Properties to test– Methods, e.g. Select, Term,
ClearTerms etc
query.php (3)
►Usage (from EMu documentation):– Instantiate the class– Set Table, Visibility, StartRec and EndRec
properties on the class– Make a number of calls to Select() to define the
fields to return in the query.– Make as many calls to Term() or TexqlTerm() as
required to specify what you are querying for.– Call Fetch() to return the results in an array of
records.– Check Matches and Status to find the results of
your query.– Use the returned records as appropriate.
How? (2)
►Say what?►Use query class to return results as php
objects►Use php objects (data, e.g. variables or
arrays) to format HTML►Use media class to handle multimedia►Build on top of the EMu API to create and
develop your online collections
Current and Future development
►Current►In Progress►Future
Conclusion
►API doesn’t work ‘out of box’ but is a much more stable platform for web development
►Requires a medium to high level of technical knowledge
►API can be used to create mashups – with other data sources and/or collections
►Working examples: Hull Museums’ Collections
►Any questions?