One of the disadvantages of Omeka is that an item can only be linked to a single collection. A simple way of overcoming this is to use a technique combining the plugins Exhibits, Simple Pages and tags. 

To set this up add a new Exhibit as you would normally and then add a page. In the page add the following Simple Pages shortcode [items tags="tag"] .

As tags are added more items will dynamically be displayed within the exhibit page.

 

 

I had several hundred items that needed to be changed to make them public. All the record numbers were in a spreadsheet and so, to save having to make manual edits, I developed the following code to flip the items from private to public. The code is in PHP bur run from a desktop against a remote Omeka instance. The record numbers are held in a CSV file and the name of the file is passed in to the routine.

require_once 'Unirest\Unirest.php';
$csvfile  = $argv[1];
global $uri;
global $key;
$uri='http://your-url/api/items/'  ;
$key ='your-key';

Loop through the CSV  using routines to get and save the item. 

$lastRecord = 0;
if (($handle = fopen($csvfile . "/" . $csvfile . ".csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 0, "@")) !== FALSE) {
        $num = count($data);
		$recordNumber = $data[0];
		if ($lastRecord != $recordNumber)
			{
			$responseEncoded = getItem($recordNumber);
			echo $recordNumber;
			saveItem($recordNumber,$responseEncoded)	;
			$lastRecord = $recordNumber;			
			}
	}
fclose($handle);
}

Function to get an item

function getItem($recordNumber) {
global $uri;
global $key;
$response = Unirest\Request::get($uri .$recordNumber . '?key=' . $key);
$responseBody = $response->raw_body;
$response_decoded = json_decode($responseBody,true);
$response_decoded["public"]=true;
return   json_encode($response_decoded,true);
}

and function to save the item

function saveItem($recordNumber,$responseEncoded) {
global $uri;
global $key;
$headers = array('Accept' => 'application/json');
$response2 = Unirest\Request::put( $uri .$recordNumber . '?key=' . $key , $headers, $responseEncoded);
}

The museum I was working for had a web site based on Joomla. As more items were added to Omeka they wanted to integrate some of the Omeka data into the web site. The data to be presented in Joomla was all of one item type. Joomla, through a plugin, is able to run custom PHP code and this custom code was used, via the Omeka API, to access and format the Omeka data. 

To start we need to set-up the API using the Omeka Admin screen. The the code to be run in Joomla is:

$uri='http://yourwebsite/api/items?item_type=3';
$key ='1234..........xyz';
include ('httpful.phar');

This has defined the Omeka uri and key plus pulled in an HTTP library. The uri has been configured to access all items with a type of 3. Now go get some data:

$response = \Httpful\Request::get($uri . '&key=' . $key)
    ->send();
$response_decoded = json_decode($response,true);
$record = array();
$length_response = count($response_decoded);

Now loop around processing the Omeka item data ready to display in Joomla:

 



for ($j = 3; $j < $length_response; $j++ ) {
	
	$item_data = ($response_decoded[$j]);
	$file_count = $item_data['files']['count'];
	$length_item = count($item_data['element_texts']);
	for ($i = 0; $i < $length_item; $i++) {
	$elementName = $item_data['element_texts'][$i]['element']['name'];
	$record [$elementName] = $record [$elementName] . $item_data['element_texts'][$i]['text']  ;

	}
echo   "<h3>" . $record["Title"] . "</h3>  <p>" .  $record[	"Description"] .  ' (' . $record["Identifier"] .')';
}

 Now you should get back a list items showing the titles, descriptions and ids

 For more information or help use the contact form

Some ageing swing boards needed to replaced. Rather than just buy some new boards the museum management decided they would like to use some form of digital display. I don’t know how much the swing boards would cost but the digital display system was put in place for under £250.

 

The display system included a 10.1” touch screen, a stand to securely house the tablet, some software to turn the tablet into a kiosk system, a quality power cable and some software to bring the content to the screen.

 

The tablet was a Samsung Galaxy Tab 10.1” device. This device was chosen for a couple of reasons; the screen was centred in the device (important when it gets slotted into the stand) and, having paid a trip to Curry’s to see the devices in the flesh, the Samsung just seemed to look better than the competition. The tablet cost £169.

 

Stands come in all sorts of shapes and mounting options. You can bolt them to the wall, a desk or the floor. Many are designed for specific models of a tablet and some are generic. The stands that support a specific device seemed to cost more so I went for a generic stand that was designed to support 10.1” tablets. The product description did state it supported the Samsung tablet but Samsung change the physical aspects of their devices almost every year so this didn’t really mean it would support the tablet I had purchased. I bought the stand a from eBay for £39.99. The tablet fitted but the window space in the stand was too large for the tablet’s screen. Some black plastic sheet, again purchased on eBay, solved that problem. A small hole was drilled in the side of the stand to provide access to the tablet’s power button. This wasn’t absolutely necessary but it was a bit of a pain getting the tablet out of the case just to power it up or down.

 

Positioning the stand, in the museum, was a bit tricky. The museum is small and there is a lot in it some spare space in range of a power socket wasn’t easy to come by.. Having eventually found a location I needed about 3 metres of power cable and purchased a decent cable, a JuicEBitz 20AWG, to ensure the charge rate was maintained.

 

To turn the tablet into a kiosk an app needed to be loaded. I looked at quite a few and in the end settled on Fully Kiosk Browser PLUS. I set-up Fully so that the tablet turned on and off to match the museum opening times, dimmed the screen if it hadn’t been used for a while and revert to the main screen after a couple of minutes. This worked reasonably well but the power scheduling wasn’t always reliable. Occasionally I would go into the museum outside of the opening hours and find the tablet powered on.

 

Now for some content. A number of letters were displayed on the swinging boards. These were scanned and loaded into the Omeka system. A small web page was developed which contained code driving the Flexslider component which turned the images loaded into Omeka into a slide show on the tablet.

 

As a first attempt it worked reasonably well and certainly encouraged the museum management to consider more digital projects.