The ContentDm module for Ruby provides access to structured metadata in CONTENTdm collections via CONTENTdm’s built-in OAI-PMH provider interface. The module turns Qualified Dublin Core metadata into a convenient hash structure. With proper authentication, it can also scrape collection-level field information from the CONTENTdm administrative interface and create formatted HTML output from retrieved records.
# Create a Harvester using the location of a CONTENTdm repository harvester = ContentDm::Harvester.new('http://mycontentdm.example.com/') # Retrieve the list of collections collections = harvester.collections => {"collection1" => "My First Collection", "collection2" => "My Second Collection"} # Retrieve a single record from collection1 record = harvester.get_record("collection1",16) # Retrieve all records from collection2 records = harvester.get_records("collection2") # Output XML and HTML markup consistent with the default CONTENTdm settings for the # collection puts record.to_xml() puts record.to_html() # Retrieve a record based on its persistent URI using the class method version of #get_record record = ContentDm::Harvester.get_record('http://mycontentdm.example.com/u/?/collection1,16')