210 likes | 356 Views
Connected! How we Integrated our Collections in WordPress using the EMu API. Paul Trafford paul.trafford@mhs.ox.ac.uk October 2011. The promise. The problem. www.mhs.ox.ac.uk. emu.mhs.ox.ac.uk. Outline of a Solution. Install WordPress CMS Customise MHS Theme
E N D
Connected! How we Integrated our Collections in WordPress using the EMu API Paul Traffordpaul.trafford@mhs.ox.ac.uk October 2011 http://www.mhs.ox.ac.uk/
The promise http://www.mhs.ox.ac.uk/
The problem www.mhs.ox.ac.uk emu.mhs.ox.ac.uk http://www.mhs.ox.ac.uk/
Outline of a Solution • Install WordPress CMS • Customise MHS Theme • Copy over, tweak, configure EMu PHP API • Extend theme by developing library of EMU-specific functions. • Reference in WP pages via shortcodes. http://www.mhs.ox.ac.uk/
Connected! 1/6 http://www.mhs.ox.ac.uk/
Connected! 2/6 WordPress integration of related resources http://www.mhs.ox.ac.uk/
Same search options as before Connected! 3/6 Same interface as before. This actually searches across many fields (which we could allow user to define). http://www.mhs.ox.ac.uk/
Connected! 4/6 Image thumbnail links to full size images Hyperlinks to record details http://www.mhs.ox.ac.uk/ Combined List and Thumbnail views
Hyperlinks allowing onward navigation Connected! 5/6 http://www.mhs.ox.ac.uk/
Connected! 6/6 Searched creation place field for Nuremberg http://www.mhs.ox.ac.uk/
User Benefits • Consistent look and feel • Closer Integration • Better navigation between objects and exhibits • Staff access to internal details (via WordPress login). E.g. display of images without watermarks. • Staff updates/edits possible of EMu-related information pages. http://www.mhs.ox.ac.uk/
System Development Benefits • One fewer web servers to maintain • Code all in one place • Great flexibility in developing collections functionality and also in styling output. • Allows EMu data to be released according to WordPress sessions. • Encourages cross-linking to/from e.g. exhibition sites. http://www.mhs.ox.ac.uk/
Caveats • Low-level API means quite a lot of coding • Uses a copy of the PHP API bundle in a WordPress directory -> manual updates • Some sorting queries appear inefficient (as at 4.0.01) • Name spaces: rename the EMu Query class and Fetch() method. • Dependence: if WordPress is inaccessible then so is the catalogue. http://www.mhs.ox.ac.uk/
WordPress: Search Interface One search page for basic, field, advanced search. E.g. Standard HTML form specified by:<form action="results-list/" method="get"> ... Indicate query type: <input name="QueryName" type="hidden" value="BasicQuery" /> Other options: <input class="WebInput" name="ImagesOnly" type="checkbox" value="true" /> http://www.mhs.ox.ac.uk/
WordPress: Results Page A small set of pages, with the display of results data invoked via WordPress shortcodes: - results as a list view [print_emusearch_results] - display of object records [print_emudisplay_page] - narratives display [print_emunarrative] http://www.mhs.ox.ac.uk/
EMu use within WordPress 1/3 EMu functions Include EMu config and query class files:<?phprequire_once( TEMPLATEPATH. '/emuphp5/config.php' );require_once( TEMPLATEPATH. '/emuphp5/query.php' ); ... http://www.mhs.ox.ac.uk/
EMu use within WordPress 2/3 Build the query (as per documentation), e.g.<?php$query1 = new EMuQuery(); $query1->Table="ecatalogue"; ... // save resources by specifying the return of only what we need$query1->StartRec=$list_start; $query1->EndRec=$list_start+$list_size; // build up the query term and then execute it: $queryterm="(TitMainTitle contains '~$query')"; … $query1->TexqlTerm($queryterm); $results=$query1->EMuFetch(); // proceed to process results in $results. http://www.mhs.ox.ac.uk/
EMu use within WordPress 3/3 MHS developed a (cheeky?) watermarking solution within WP. • Modification of supplied query.php (for security) • Uses GD library, doesn’t require ImageMagick • Includes session info (via wp-blog-header.php) • Modifies Show() function to display watermark depending upon image size and session state. http://www.mhs.ox.ac.uk/
Limitations • Not much documentation (and it’s not very visible) • Use of Texxmlserver means it has no understanding of EMu … • Authorisation (as defined in EMu registration) has to be implemented some other way … • For a small organisation like MHS, roles in WordPress may suffice http://www.mhs.ox.ac.uk/
Conclusions • WordPress integration is fine • Implementation complete, but took some effort • Expect to develop further functionality, particularly 2-way linking to/from existing Exhibition sites • Will seek to go beyond just object records • However, IMu offers a far more advanced (and supported) option – in Web services and APIs. • Will investigate IMu concurrently. http://www.mhs.ox.ac.uk/
Any Questions? Paul Trafford Web Officer Museum of the History of Science Oxford OX2 8DD, UK paul.trafford@mhs.ox.ac.uk http://www.mhs.ox.ac.uk/