Repository-demonstratie VU Infrastructuur RUG Er wordt vanaf 2003, binnen de RUG, hard gewerkt aan de aanleg van een goede infrastructuur met de daarbij behorende workflow. Dit gebeurt zowel aan de 'bovenkant' (publicaties) als aan de 'onderkant' (scripties en meetdata, bijv. foto's van sterrenkundigen). Inmiddels zijn er ruim 80 werkende OAI-archiven die met het door OAI ontwikkelde protocol OAI-PMHOAI-PMH
Repository-demonstratie VU Repository:
Repository-demonstratie VU Export van data via Dublin Core naar o.a. Darenet en OAIster Export naar Webplatform met oai_ubwp. Zie: dissertatiesdissertaties Export naar de KB met dare_didle (binnenkort DIDL 2.3)
Repository-demonstratie VU WildFire is geschikt voor complexe objecten. Uiteindelijk zullen complete onderzoeken in onze repositories worden bewaard.
Repository-demonstratie VU De RUG clustert m.b.v. aggregators Dit zijn harvesters die niet alleen harvesten (oogsten) maar zelf ook m.b.v. OAI-PMH te oogsten zijn
Repository-demonstratie VU
Voorbeeld van een cluster: ● Wetenschapswinkels Wetenschapswinkels – Biologiewinkel – Chemiewinkel – Geschiedeniswinkel RUG bv – Natuurkundewinkel – Wetenschapswinkel Geneeskunde en Volksgezondheid – Wetenschapswinkel Geneesmiddelen – Wetenschapswinkel Taal, Cultuur en Communicatie – Wetenschapswinkel voor Economie en Bedrijfskunde – Wetenschapswinkel voor Onderwijs
Repository-demonstratie VU
WildFire-software ( ● Ondersteuning van meerdere (tot veel) metadata-sets in één OAI-archief (complexe objecten), ● Ondersteuning voor meerdere (tot veel) talen, ● Ondersteuning voor het gebruik van thumbnails voor directories, oai-records en files, ● Software is nog overzichtelijk en zelf documenterend.
Repository-demonstratie VU Gebruik van de UDA ●
Repository-demonstratie VU Statistieken: Top 10/100 Bijv. De dissertatie-repositorydissertatie-repository
Repository-demonstratie VU Stabiele identifiers Telkens als een document wordt ingevoerd wordt in onze resolver ( een identifier aangemaakt en teruggestuurd ( Nadat het object (OAI-record of file) is aangemaakt wordt de identifier met bijbehorende URL naar de resolver teruggestuurd.
Repository-demonstratie VU WildFire ● WildFire is ontwikkeld door Henk Druiven, Rijksuniversiteit Groningen Met dank aan Johannes Nicolai en al mijn collegae.
Repository-demonstratie VU WildFire ● WildFire wordt gebruikt voor zo’n tachtig repositories van de RUG ● Met WildFire heeft de gebruiker een instrument in handen waarmee op een eenvoudige manier documenten kunnen worden opgeslagen die direkt in een webpagina worden getoond
Repository-demonstratie VU WildFire ● De layout kan eenvoudig worden aangepast. WildFire maakt gebruik van sjablonen, zie: “wildfire.eldoc.ub.rug.nl/LOCAL/page.html” en: “wildfire.eldoc.ub.rug.nl/LOCAL/ppage.htmlwildfire.eldoc.ub.rug.nl/LOCAL/page.htmlwildfire.eldoc.ub.rug.nl/LOCAL/ppage.html
Repository-demonstratie VU Voorbeelden: Dissertations Carmen Share
Repository-demonstratie VU WildFire is ● geschreven in PHP, ● modulair opgebouwd ● zelf-documenterend.
Repository-demonstratie VU Gedeeltelijke listing van index.php if( $_GET[ 'pList']) $content= list_page( ); elseif( $_GET[ 'pSearch']) $content= search_page( ); elseif( $_GET[ 'pAll']) $content= all_page( ); elseif( $_GET[ 'pPrintOnDemand']) $content= printondemand_page( ); elseif( $_GET[ 'pHowToOrder']) $content= howtoorder_page( ); elseif( $_POST['pPrintOrderForm']) $content= printprintorder_page( ); elseif( $_GET[ 'pExchangeable']) $content= exchangeble_page( ); elseif( $_POST['pExchangeableForm']) $content= exchangeble _page( ); else $content= default_page( );
Repository-demonstratie VU Gedeeltelijke listing van index.php else $content= default_page( ); $pagehtml= get_file( $page); $pagehtml= str_replace( '[!WEBROOT!]', $gConfig[ 'webroot'], $pagehtml); $pagehtml= str_replace( '[!WEBPLATFORMURL!]', $gConfig[ 'webplatformurl'], $pagehtml); $pagehtml= str_replace( '[!TITLE!]', $gConfig[ 'title_'. $gLanguage], $pagehtml); $pagehtml= str_replace( '[!SUBTITLE!]', $gConfig[ 'subtitle_'. $gLanguage], $pagehtml); $pagehtml= str_replace( '[!LANGUAGE!]', $gLanguage, $pagehtml); $pagehtml= str_replace( '[!CLICK_ON_ME!]', $gStrings[ 'ClickOnMe'][ $gLanguage], $pagehtml); $pagehtml= str_replace( '[!SEARCH!]', $gStrings[ 'search'][ $gLanguage], $pagehtml); $pagehtml= str_replace( '[!PAGETITLE!]', $content[ 'title'], $pagehtml); $pagehtml= str_replace( '[!BUTTONLANGUAGE!]', $content[ 'language'], $pagehtml); $pagehtml= str_replace( '[!BREADCRUMBS!]', $content[ 'breadcrumbs'], $pagehtml); $pagehtml= str_replace( '[!BUTTONPRINT!]', $content[ 'print'], $pagehtml); $pagehtml= str_replace( '[!COVER!]', $content[ 'cover'], $pagehtml); $pagehtml= str_replace( '[!SECTIONMENU!]', $content[ 'sectionmenu'], $pagehtml); $pagehtml= str_replace( '[!ERRORS!]', $content[ 'errors'], $pagehtml); $pagehtml= str_replace( '[!LINKFULLITEMRECORD!]', $content[ 'linkfullitemrecord'], $pagehtml); $pagehtml= str_replace( '[!MAIN!]', $content[ 'main'], $pagehtml); print $pagehtml;
Repository-demonstratie VU function default_page( ) { global $gErrors, $gDirID, $gBodies, $gLanguage, $gDB, $gConfig, $gPath, $gMainDir, $gOaiRecord, $gStrings, $gLanguage; $sql= "SELECT * FROM Metadata_File WHERE `directory_id`='". $gDirID. "' AND `publish`='yes' ORDER BY `alphabetic_order`"; $files= db_getAll( $gDB, $sql, 'assoc'); $sql= "SELECT * FROM Metadata_Directory WHERE `directory_id`='". $gDirID. "' AND `publish`='yes' ORDER BY `alphabetic_order`"; $subdirs= db_getAll( $gDB, $sql, 'assoc'); $content[ 'breadcrumbs']= breadcrumbs2body( ); $content[ 'title']= title( ); $content[ 'print']= printbody( ); $content[ 'cover']= cover2dirbody( ); $content[ 'language']= languagebody( ); $content[ 'sectionmenu']= sectionmenu2body( ); $content[ 'main']= title2body( $title); $content[ 'main'].= authors2body( ); $content[ 'main'].= exchangeable2body( ); $content[ 'main'].= dirinfo2body( ); $content[ 'main'].= description2body( ); $content[ 'main'].= extrainfo2body( ); $content[ 'main'].= $gBodies[ 'hr'][ $gLanguage]; $content[ 'main'].= dirs2body( $subdirs); $content[ 'main'].= files2body( $files); $content[ 'main'].= ppn2body( ); $content[ 'main'].= ppnopc2body( ); $content[ 'main'].= links2body( ); $content[ 'main'].= printingondemand2body( ); $content[ 'main'].= fullitemrecord2body( ); $content[ 'linkfullitemrecord']= linkfullitemrecord2body( ); $content[ 'errors']= errors2body( ); return $content; }
Repository-demonstratie VU Listing van een deel van ‘bodies.inc.php’ $gBodies[ 'description'][ 'nl']= ' [!DESCRIPTION!] '; $gBodies[ 'description'][ 'en']= ' [!DESCRIPTION!] '; Listing van een deel van ‘functions.inc.php’ function description2body( ) { global $gErrors, $gDirID, $gBodies, $gLanguage, $gDB, $gConfig, $gPath, $gMainDir, $gOaiRecord, $gStrings; $body= ''; if( $gOaiRecord[ 'description']) { $body= str_replace( "[!DESCRIPTION!]”, n2b( my_encode( $gOaiRecord[ 'description'])), $gBodies[ 'description'][ $gLanguage]); } return $body; }
Repository-demonstratie VU Listing van een deel van ‘strings.inc.php’ 23 tekstregels $gStrings[ 'search'][ 'nl']= 'Zoeken'; $gStrings[ 'search'][ 'en']= 'Search'; $gStrings[ 'Latest'][ 'nl']= 'De laatste 20 documenten'; $gStrings[ 'Latest'][ 'en']= 'The latest 20 documents'; $gStrings[ 'List of all'][ 'nl']= 'Lijst van alles in '; $gStrings[ 'List of all'][ 'en']= 'List all of '; $gStrings[ 'Nothing found'][ 'nl']= 'Niets gevonden'; $gStrings[ 'Nothing found'][ 'en']= 'Nothing found'; $gStrings[ 'NoName'][ 'nl']= 'Geen naam'; $gStrings[ 'NoName'][ 'en']= 'No Name'; $gStrings[ 'NoNameCompany'][ 'nl']= 'Geen naam van het bedrijf of organisatie'; $gStrings[ 'NoNameCompany'][ 'en']= 'No Name of Company or Organization';
Repository-demonstratie VU