05/10/2011http:// 1/15 Connected! How we Integrated our Collections in WordPress using the EMu API Paul Trafford October 2011
05/10/2011http:// 2/15 The promise
05/10/2011http:// 3/15 The problem emu.mhs.ox.ac.uk
05/10/2011http:// 4/15 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.
05/10/2011http:// 5/15 Connected! 1/6
05/10/2011http:// 6/15 Connected! 2/6 WordPress integration of related resources
05/10/2011http:// 7/15 Connected! 3/6 Same interface as before. This actually searches across many fields (which we could allow user to define). Same search options as before
05/10/2011http:// 8/15 Connected! 4/6 Hyperlinks to record details Image thumbnail links to full size images Combined List and Thumbnail views
05/10/2011http:// 9/15 Connected! 5/6 Hyperlinks allowing onward navigation
05/10/2011http:// 10/15 Connected! 6/6 Searched creation place field for Nuremberg
05/10/2011http:// 11/15 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.
05/10/2011http:// 12/15 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.
05/10/2011http:// 13/15 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 ) Name spaces: rename the EMu Query class and Fetch() method. Dependence: if WordPress is inaccessible then so is the catalogue.
05/10/2011http:// 14/15 WordPress: Search Interface Standard HTML form specified by:... Indicate query type: Other options: One search page for basic, field, advanced search. E.g.
05/10/2011http:// 15/15 WordPress: Results Page - results as a list view [print_emusearch_results] - display of object records [print_emudisplay_page] - narratives display [print_emunarrative] A small set of pages, with the display of results data invoked via WordPress shortcodes:
05/10/2011http:// 16/15 EMu use within WordPress 1/3 EMu functions Include EMu config and query class files: <?php require_once( TEMPLATEPATH. '/emuphp5/config.php' ); require_once( TEMPLATEPATH. '/emuphp5/query.php' );...
05/10/2011http:// 17/15 EMu use within WordPress 2/3 Build the query (as per documentation), e.g. 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.
05/10/2011http:// 18/15 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.
05/10/2011http:// 19/15 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
05/10/2011http:// 20/15 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.
05/10/2011http:// 21/15 Any Questions? Paul Trafford Web Officer Museum of the History of Science Oxford OX2 8DD, UK