MAKING DSPACE 1.5.X YOUR OWN CUSTOMIZATION VIA OVERLAYS Open Repositories 2009 Tim Donohue Research Programmer IDEALS University of Illinois.

Slides:



Advertisements
Similar presentations
Theo Andrew, Edinburgh University Library Choosing Suitable Open-Source Repository Software Choosing Suitable Open Source Repository Software Theo Andrew.
Advertisements

Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
A Toolbox for Blackboard Tim Roberts
Developing in CAS. Why? As distributed you edit CAS 3 with Eclipse and build with Maven 2 – Best Practice for Release Engineering – Difficult edit-debug.
A Blackboard Building Block™ Crash Course for Web Developers
1 XSLT – eXtensible Stylesheet Language Transformations Modified Slides from Dr. Sagiv.
Developing Interfaces and Interactivity for DSpace with Manakin Part 5: Introduction to Manakin’s Theme Tier Eric Luhrs Digital Initiatives Librarian,
Student Manager Catalog Builder An ACEware Webinar.
The DSpace Course Module – SWORD basics. Module objectives  By the end of this module you will:  Understand what SWORD is  Know what SWORD could be.
Developing Interfaces and Interactivity for DSpace with Manakin Part 6: Hands-on with Manakin’s Theme Tier Eric Luhrs Digital Initiatives Librarian, Lafayette.
My First Building Block Presented By Tracy Engwirda 28 September, 2005.
Depositing e-material to The National Library of Sweden.
CUSTOMIZING DSPACE 1.5 WITH BASIC OVERLAYS Open Repositories 2008 Tim Donohue Research Programmer IDEALS University of Illinois Graham Triggs Technical.
Defacing DSpace with Manakin DSpace User Group, February 2006 Scott Phillips Texas A&M University DSpace XML UI:
Manakin Workshop DSpace User Group, February 2006 Scott Phillips Texas A&M University
Object-Oriented Enterprise Application Development Tomcat 3.2 Configuration Last Updated: 03/30/2001.
Dspace – Digital Repository Dawn Petherick, University Web Services Team Manager Information Services, University of Birmingham MIDESS Dissemination.
Web Applications Basics. Introduction to Web Web features Clent/Server HTTP HyperText Markup Language URL addresses Web server - a computer program that.
Introduction to Liferay Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written.
Microsoft ® Office Word 2007 Training Mail Merge II: Use the Ribbon and perform a complex mail merge [Your company name] presents:
Open source administration software for education research administration Lin-Long Shyu System Analyst Kuali Coeus Technical Team Indiana University
A GUIDE TO SHAREPOINT 2007 CUSTOMIZATION OPTIONS Heather Solomon, WSS MVP.
DSpace XML UI Project Texas A&M University Digital Initiatives, Research and Technology Scott Phillips, Cody Green, Alexey Maslov, Adam Mikeal, Brian Surratt,
Installing DSpace on Window Bharat M. Chaudhari School of Petroleum Management, PANDIT DEENDAYAL PETROLEUM UNIVERSIRY, GANDHINAGAR
The DSpace Course Module – DSpace Installation. Module objectives  By the end of this module you will:  Understand the platforms DSpace can be hosted.
ETD Repositories Using DSpace Software Andrew Penman The Robert Gordon University 27 th September 2004.
© Blackboard, Inc. All rights reserved. My First Building Block as a Content Type Heather Natour Senior Lead Engineer Blackboard Inc. July 18 th 1:30pm.
Module - Technical Basics
Developing Interfaces and Interactivity for DSpace with Manakin Part 2: Technical and Conceptual Overview of Dspace and Manakin Eric Luhrs Digital Initiatives.
MAVEN-BLUEMARTINI Yannick Robin. What is maven-bluemartini?  maven-bluemartini is Maven archetypes for Blue Martini projects  Open source project on.
Guidelines for Homework 6. Getting Started Homework 6 requires that you complete Homework 5. –All of HW5 must run on the GridFarm. –HW6 may run elsewhere.
Using Cocoon 2.2 The Classic Way Vadim Gritsenko - -
DSpace UI Alexey Maslov. DSpace in general A digital library tool useful for storage, maintenance, and retrieval of digital documents Two types of interaction:
IUScholarWorks is a set of services to make the work of IU scholars freely available. Allows IU departments, institutes, centers and research units to.
The DSpace Course Module – Upgrading from 1.4 to 1.5.
The DSpace Course Module - Look & Feel Customisation.
The DSpace Course Module - Language Customisation.
University of Illinois at Urbana-Champaign A Unified Platform for Archival Description and Access Christopher J. Prom, Christopher A. Rishel, Scott W.
Renesas Technology America Inc. 1 SKP8CMINI Tutorial 2 Creating A New Project Using HEW.
10/18/2015 NORTEL NETWORKS CONFIDENTIAL – FOR TRAINING PURPOSES ONLY Global Documentation Evolution System Overview and End-to-End Process Training.
One Platform, Two Stories. Willamette University Oregon State University.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
Microsoft ® Office Excel 2003 Training Using XML in Excel SynAppSys Educational Services presents:
Tour Overview Introduction Collage Basics Collage Basics (Templates and Tools) Computer Configuration Bookmark Collage Getting Started Tour Collage Terminology.
1 Overview of XSL. 2 Outline We will use Roger Costello’s tutorial The purpose of this presentation is  To give a quick overview of XSL  To describe.
IUScholarWorks Technical Overview Randall Floyd Digital Library Program Programmer/Database Administrator.
14th Oct 2005CERN AB Controls Development Process of Accelerator Controls Software G.Kruk L.Mestre, V.Paris, S.Oglaza, V. Baggiolini, E.Roux and Application.
Extending & Customizing XNAT with Modules Rick Herrick
DSPACE 1.5 : MOVING TOWARDS THE DSPACE OF THE FUTURE JCDL Tutorial: June 16, 2008 Tim Donohue Research Programmer IDEALS University of Illinois.
DSpace - Digital Library Software
Licensed under Creative Commons Attribution-Share Alike 3.0 Unported License (CC BY-SA 3.0) To request other use: Integrating DSpace.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
Lecture Set 2 Part A: Creating an Application with Visual Studio – Solutions, Projects, Files 8/10/ :35 PM.
UpgradinguPortal to What’s new that matters Better use of third party frameworks Faster! Improved caching Drag and Drop New Skin & Theme Accessibility.
07/09/07 1 DSpace: Make it you own Documentation Research and Training Centre Indian Statistical Institute Bangalore Biswanath Dutta
Leveraging Web Content Management in SharePoint 2013 Christina Wheeler.
Here are some things you can do while you wait 1.Open your omeka.net site in your browser (e.g. 2.Open.
CS520 Web Programming Introduction to Maven Chengyu Sun California State University, Los Angeles.
Apache Cocoon – XML Publishing Framework 데이터베이스 연구실 박사 1 학기 이 세영.
Extreme User Interfaces for Alfresco Kevin Dorr Sr. Solutions Engineer Americas Channel.
Breeda Herlihy, IR Manager, UCC Library. UCC selected DSpace in 2008 Software selection group Staff from Library IT, Computer Centre, Special Collections,
Richard Jones, April 2006 DSpace AddOn and Component Management System.
Plan What is Maven ? Links : mvn command line tool
IBM Rational Rhapsody Advanced Systems Training v7.5
Introduction, Features & Technology
ESIS Consulting LLC (C) ESIS Consulting LLC. All rights reserved
Lightweight tools for on-line course development
MS Confidential : SharePoint 2010 Developer Workshop (Beta1)
Presentation transcript:

MAKING DSPACE 1.5.X YOUR OWN CUSTOMIZATION VIA OVERLAYS Open Repositories 2009 Tim Donohue Research Programmer IDEALS University of Illinois

DSpace 1.5.x Overview  Maven Build Architecture  DSpace “modules”  Application “Overlays”  XMLUI (aka. Manakin)  JSPUI  SWORD Interface  LNI (Lightweight Network Interface)  OAI-PMH Interface

Introducing Maven…  Apache Software Foundation  Java Project Build / Management Tool  Advantages:  Manages dependencies  Easier to manage/build many “modules”  Allows for basic application customizations via “overlays”  Disadvantages:  Yet another XML config (many actually…)  Somewhat complex, if doing more than basic overlays

Maven v. Ant  DSpace 1.x-1.4 used Ant to build & install DSpace  DSpace 1.5 uses both Maven & Ant  Maven – Builds / Assembles DSpace “package” Includes applying “overlays” and pulling down all the necessary 3 rd party dependencies  Ant – Installs or Updates your DSpace Installation directory ([dspace.dir] in dspace.cfg)

Ok, so what really is Maven? mvn package Maven Repository Maven Repository JAR WAR Build DSpace Here’s what I need… pom.xml Dependencies! Here you go… target build dspace-1.5-build.dir local copies

Maven Concepts: An Overview  pom.xml (Project Object Model) config file  Standard directory layout src main java resources webapp (Java Source Code) (Application Resources) (Web Application Source) (Build / Package Output) target

DSpace 1.5.x Release Structure bin src config docs etc modules (Maven Build Settings – no Java here…) (Module Overlays) For those who only want to make minor (non-Java) customizations dspace-1.5 dspace pom.xml (Maven Project Object Model config)

DSpace 1.5.x “Modules” modules lni oai sword xmlui src / main / resources src / main / webapp Where’s the actual source code? src / main / java? jspui (empty directories) dspace-1.5 dspace ….

DSpace 1.5.x Source (SVN) dspace-1.5 dspace dspace-api dspace-jspui dspace-lni dspace-oai dspace-sword dspace-xmlui Source code for DSpace “modules” In Release Version: Maven pulls down pre-compiled versions of these modules In Release Version: Maven pulls down pre-compiled versions of these modules (Same as release version – see previous slides)

Overview of Overlays How to take advantage of them DSpace 1.5.x Overlays

Customization via Overlays…  Overlay is Maven term (“Maven WAR Overlays”)  Simple way to override defaults with your own customizations and code  Allow you to more easily manage your customizations separate from DSpace core code  What can you “overlay”?  User interface look-and-feel (JSPUI, XMLUI Themes)  Language / terminology (messages.xml)  Java code to add functionality (XMLUI Aspect) Although, this may be better built into a custom “module”

DSpace Maven = “Overlays” modules dspace Maven Repository Maven Repository JSPUI WAR JSPUI WAR Can you give me the JSPUI Web application? pom.xml Here you go… Overlay My JSPUI jsp messages.properties jspui Build DSpace

Creating a Basic Overlay - JSPUI modules src dspace jsp messages.properties Notice the Maven “standard directory layout” (Replacement for “/jsp/local” ) jspui main webapp java resources See “The Dspace Course” (S. Lewis & C. Yates) for more details on 1.5.x JSPUI customizations

Creating a Basic Overlay - XMLUI modules webapp dspace xmlui src messages.xml My-Custom-Theme webapp i18n themes main java resources css xsl images sitemap.xmap

Building/Installing an Overlay  Add your files to appropriate “/dspace/modules/” directory (see previous slides)  Rebuild DSpace: mvn package  Builds to [dspace-src]/dspace/target/  Update DSpace installation: ant update  Installs to [dspace.dir] (as specified in dspace.cfg)

Review: Why Overlays?  Essentially, they came along with move to Maven  You can manage your own customizations separate from DSpace source code  “/dspace/modules” subdirectories empty by default  JSPUI replacement for “/jsp/local” from pre-1.5  It is possible to overlay most *anything* (Java code, JSPs, XMLUI Aspects/Themes, sitemaps, etc.)

Overlays: things to watch out for…  We don’t recommend overlaying core APIs  Be very careful to merge in new code changes during your next upgrade  A local SVN code repository is helpful (“SVN vendor branch”) Image borrowed from:  It is recommended to only place overlays in [dspace-src]/dspace/modules/ (and subdirectories)

Cocoon DRI Aspects Themes Quick XMLUI Review

XMLUI Architecture Review  Built on Apache Cocoon  Modular, web-development framework  Pipeline based architecture  DRI (Digital Repository Interface) Schema  Structure based on TEI (light)  Metadata referenced in METS  Aspects and Themes  Aspects = functionality in system (Java or XSL)  Themes = style / look & feel (XSL, CSS, images)

Cocoon’s Pipeline Model Diagram Credit: Scott Phillips, Texas Digital Library Sitemaps are used by both XMLUI Aspects and Themes.

XMLUI Architecture Overview Diagram Credit: Scott Phillips, Texas Digital Library Notice the similarities to Cocoon Pipeline model… defines aspect chain & themes xmlui.xconf

Three “tiers” of customization…  Style Tier (CSS only)  Simple Themes: change basic look & feel  Theme Tier (XSL, CSS)  More Complex Themes: change page layout, what/how content is displayed  Aspect Tier (Java or XSL, sitemap)  Add new features via Java (and Cocoon)  Change XML (DRI) structure/hierarchy via XSL

Creating an XMLUI Theme A few hints and tips on starting an XMLUI theme Creating a theme via overlay

Create a new Theme via overlay modules webapp dspace xmlui src messages.xml My-Custom-Theme webapp i18n themes main java resources css xsl images sitemap.xmap

Tips on creating a theme  Start with an existing theme and tweak it  Use ?XML to view XML/DRI source document  Firebug ( for CSS/XHTML  Locate appropriate in dri2xhtml  DIM-Handler.xsl = matches METS containing DIM  General-Handler.xsl = matches METS  MODS-Handler.xsl = matches METS containing MODS  QDC-Handler.xsl = matches METS containing QDC  structural.xsl = defines layout/page structure

Tips on creating a theme  Four metadata display “modes”  SummaryList = Summarized list of objects (E.g.) Community/Collection listing, item browse/search  SummaryView = Summarized view of single object (E.g.) Item homepage (summary metadata only)  DetailList = Detailed list of objects Rarely used: (E.g.) “item appears in following collections”  DetailView = Detailed view of single object (E.g.) Item “full record” page, collection/community pages

Homepage Structural Breakdown dri:body buildHeader buildFooter dri:options communitySummaryList-DIM (DIM-Handler.xsl) communitySummaryList-DIM (DIM-Handler.xsl) dri:list dri:trail

Item Page Structural Breakdown itemSummaryView-DIM (DIM-Handler.xsl) itemSummaryView-DIM (DIM-Handler.xsl) mets:filegrp (General-Handler.xsl) mets:filegrp (General-Handler.xsl) collectionDetailList-DIM (DIM-Handler.xsl) collectionDetailList-DIM (DIM-Handler.xsl)

Task: Modify file display to show a format icon (E.g.) PDF icon is displayed next to PDF files Simple XMLUI Theme Overlay

Review: Create a new Theme modules webapp dspace css xmlui src messages.xml My-Custom-Theme webapp i18n themes xsl images main java resources sitemap.xmap

Creating a new theme folder MyTheme dspace/modules/xmlui/src/main/webapp themes sitemap.xmap images lib (CSS is stored here) Copy the default “Reference” theme into a new folder called “MyTheme”

Adding File Format icons to theme MyTheme /src/main/webapp themes … … … Copy of “mets:file” template from General-Handler.xsl /images/pdf.png /images/pdf.png Snippet from getFileFormatIcon pdf.png sitemap.xmap images lib my-theme.xsl

Adding File Format icons to theme /src/main/webapp themes … … MyTheme sitemap.xmap images lib my-theme.xsl pdf.png

Enable your new theme… [dspace.dir] config xmlui.xconf … … … … Restart web server for changes to take effect Other sample theme settings: regex=“^$” (Theme for homepage ONLY) regex=“^browse$” (Theme for all global “Browse By” pages) handle=“2142/2” (Theme for Community/Collection/Item)

File Format icon in new theme

Creating an XMLUI Aspect A few (high-level) hints and tips on starting an XMLUI aspect

Options for adding custom Java  Little more simplistic  Sitemap (XMLUI)  Compiled in WAR  Only one “module” (UI) can use  Little more complex  pom.xml & sitemap (XMLUI)  Compiled in JAR  Multiple “modules” can use via dependencies  Easier to share with others via Overlay via Maven Module

Create a simple Aspect via overlay MyAspect resources aspects sitemap.xmap My-aspect.xsl modules webapp dspace xmlui src main java resources java (Custom java source code) Good for simple aspects

Aspect via a new Maven module MyAspect resources aspects sitemap.xmap modules dspace my-module src main java resources java (Custom java source code) pom.xml For complex aspects or for easier sharing

Aspect via a new Maven module modules dspace my-module src main java resources pom.xml edu.myu.modules my-aspect jar My Aspect’s API 1.0-SNAPSHOT … Very simple example of a valid pom.xml More pom.xml details:

Add new Module as a Dependency modules dspace my-module pom.xml … … my-module Add it to /dspace/modules/pom.xml so it is built alongside other modules Add it to /dspace/modules/pom.xml so it is built alongside other modules …. Also add it as a in pom.xml of UI modules (XMLUI, JSPUI, etc) Also add it as a in pom.xml of UI modules (XMLUI, JSPUI, etc) Rebuild DSpace for changes to take effect

Modify Breadcrumb Trail to link to our Library’s Homepage Do this at the “aspect” level so that it will apply across all of our XMLUI Themes No Java…just XSLT Simple Aspect via Overlay Credit: Conal Tuohy, New Zealand Electronic Text Centre

Review: Simple Aspect via overlay MyAspect resources aspects sitemap.xmap My-aspect.xsl modules webapp dspace xmlui src main java resources XSLT-only Aspect, so everything will go in /src/main/resources XSLT-only Aspect, so everything will go in /src/main/resources

Aspect Overlay – Breadcrumb trail Trail src/main/resources aspects sitemap.xmap modify-trail.xsl Remember: Aspects generate XML/DRI

Aspect Overlay – Breadcrumb trail Trail aspects sitemap.xmap modify-trail.xsl My Library src/main/resources

Enable your new aspect… [dspace.dir] config xmlui.xconf … … <aspect name=“Trail” path=“resource://aspects/Trail/”/> … Restart DSpace for changes to take effect

Complex aspect- based content Simple aspect- based content

Useful Resources (“Training Materials”) “The DSpace Course” (Stuart Lewis & Chris Yates): (Also linked to from under “Training Materials”) “Learning to Use Manakin” Tutorial (Scott Phillips): (Also linked to from under “Training Materials”)

Contact Info Tim Donohue University of Illinois DSpace Mailing Lists Technical Questions: Development Questions / Suggestions: This work is licensed under a Creative Commons Attribution- Noncommercial-Share Alike 3.0 United States License.Creative Commons Attribution- Noncommercial-Share Alike 3.0 United States License