XMLUI Modularity in DSpace 1.5 & 2.0

Similar documents
Introducing Manakin: Overview & Architecture. Scott Phillips, Cody Green, Alexey Maslov, Adam Mikeal, and John Leggett

Standards and the Portals Project

Manakin Workshop. Manakin Workshop DSpace User Group, February Scott Phillips Texas A&M University

Building a Digital Repository on a Shoestring Budget

5.1 Registration and Configuration

what and why DSpace AddOn and Component Management System

VIVO 1.9.x Documentation

Working with Islandora

Managing Installations and Provisioning of OSGi Applications. Carsten Ziegeler

Implementing the Twelve-Factor App Methodology for Developing Cloud- Native Applications

LEAP DATA SHEET. Lumina Extension Adaptation Platform. Benefits: Model-driven software platform enables automation of heterogeneous networks.

The DSpace Course. Module - Look & Feel Customisation

There is no such thing as a microservice!

Nuxeo Roadmap. From Memphis to Chicago Nuxeo Team

If you build it, will they come? Issues in Institutional Repository Implementation, Promotion and Maintenance

TM DevOps Use Case. 2017TechMinfy All Rights Reserved

Using DSpace for Digitized Collections. Lisa Spiro, Marie Wise, Sidney Byrd & Geneva Henry Rice University. Open Repositories 2007 January 23, 2007

Composable Software, Collaborative Development, and the CareWeb Framework. Doug Martin, MD

Embedding Moskito-WebUI Into Your Application

Real World Data Governance- Part 1

2 Apache Wink Building Blocks

Cloud-Native Applications. Copyright 2017 Pivotal Software, Inc. All rights Reserved. Version 1.0

FACULTY OF ENGINEERING B.E. 4/4 (CSE) II Semester (Old) Examination, June Subject : Information Retrieval Systems (Elective III) Estelar

TRANSFORM YOUR SITECORE EXPERIENCE

TM DevOps Use Case TechMinfy All Rights Reserved

QUIZ #5 - Solutions (5pts each)

Spring Web Services Tutorial With Example In

DevOps and Maven. Eamonn de Leastar Dr. Siobhán Drohan Produced by:

App Studio 4.1 Deployment Guide

Digital Network Architecture

EMF Compare Galileo Simultaneous Release

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java

Treating Deployments as Code with Puppet and the Atlassian Toolsuite Puppet Camp, Geneva

Struts 2 Maven Archetypes

Smallworld Core Spatial Technology 4 Smallworld MAGIK : The object oriented language for an object oriented world

BUILDING MICROSERVICES ON AZURE. ~ Vaibhav

Cisco Unified Computing System Delivering on Cisco's Unified Computing Vision

The State of Apache Sling

10264A CS: Developing Web Applications with Microsoft Visual Studio 2010

From Cloud adoption to Cloud first Enabling effective Cloud usage

Cisco ACI App Center. One Platform, Many Applications. Overview

Smarts Application Discovery Manager 5.0: Accelerating Server/Data Center Consolidations, Application Migrations, and CMDB Projects

Adobe Experience Manager

What s new in Spring Web Flow 2.0

Behind the Scenes of the Apache Software Foundation

#jenkinsconf. Jenkins user plugin. This time it's. Jenkins User Conference Israel. Shiran JFrog

Global Search v 6.1 for Microsoft Dynamics CRM Online (2013 & 2015 versions)

Hospital System Lowers IT Costs After Epic Migration Flatirons Digital Innovations, Inc. All rights reserved.

RDF VISUALIZER. 3/4/ th CRM-SIG meeting M.Doerr, K. Doerr, K.Petrakis, L.Harami, N.Minadakis

IntelliJ IDEA, the most intelligent Java IDE

Developing Data Access Solutions with Microsoft Visual Studio 2010

Community Edition. Web User Interface 3.X. User Guide

Continuous Integration and Deployment (CI/CD)

THOMAS LATOZA SWE 621 FALL 2018 DESIGN ECOSYSTEMS

<Insert Picture Here> JavaFX 2.0

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies

Drupal 8 THE VIDER ITY APPR OACH

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

1. Introduction. 2. Technology concepts

Portlet Standard JSR 168 / JSR 286

Spring and OSGi. Martin Lippert akquinet agile GmbH Bernd Kolb Gerd Wütherich

Comparison: Perforce and Microsoft Visual SourceSafe. Perforce VSS

Apache Wink Developer Guide. Draft Version. (This document is still under construction)

RSDs vs Dossiers Best Practices on When and Where to use them

DevOps. A way to reduce risks for IoT? Hui Song, SINTEF

Course Microsoft Dynamics 365 Customization and Configuration with Visual Development (CRM)

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

m2e 1.2 Release Review

Hybrid WAN Operations: Extend Network Monitoring Across SD-WAN and Legacy WAN Infrastructure

ONAP Micro-service Design Improvement. Manoj Nair, NetCracker Technologies

EMF Compare Ganymede Simultaneous Release

Configuration Management

Configurable Submission System For DSpace

The Open Monolith. Keeping Your Codebase (and Your Headaches) CON3449. Matthew sbgrid.

ApacheCon NA How to Avoid Common Mistakes in OFBiz Development Presented by Adrian Crum

Breaking Apart the Monolith with Modularity and Microservices CON3127

Selenium Testing Course Content

An Experimentation Workbench for Replayable Networking Research

An Architecture for Self-Organizing Continuous Delivery Pipelines

API Design & Management

What is Superscalar? CSCI 4717 Computer Architecture. Why the drive toward Superscalar? What is Superscalar? (continued) In class exercise

DEVELOPING WEB APPLICATIONS WITH MICROSOFT VISUAL STUDIO Course: 10264A; Duration: 5 Days; Instructor-led

THE ACUCOBOL AND RM/COBOL ROADMAP WHAT S NEXT?

An Experimentation Workbench for Replayable Networking Research

Weiterentwicklung von OpenStack Netzen 25G/50G/100G, FW-Integration, umfassende Einbindung. Alexei Agueev, Systems Engineer

Gold: points Platinum: 80+ points. Certified: points Silver: points

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.

Why Converged Infrastructure?

Mind Q Systems Private Limited

Invitation to Tender Content Management System Upgrade

Best Practices for a Mission- Critical Jenkins

Orchestrating the Continuous Delivery Process

Technology for a Changing World

1Z Oracle. Java Enterprise Edition 5 Enterprise Architect Certified Master

JavaEE Interview Prep

Technical Architecture & Analysis

MODERNIZE YOUR DATA CENTER. With Cisco Nexus Switches

The Mobile IDE provides Eclipse-based Perspectives, a menu, the mobile source code wizard, the mobile website template wizard, and others.

Building the Enterprise

ProDeploy Suite. Accelerate enterprise technology adoption with expert deployment designed for you

Transcription:

XMLUI Modularity in DSpace 1.5 & 2.0 Mark Diggory mdiggory@atmire.com 1 1

What is the Problem? A Tale of being too successful! DSpace 1.x: Rapidly developed by HP/MIT developers. Gains immediate Popularity HP calls it a SUCCESS Original Team moves on to new projects. Adopters utilize local staff for customization. Small Team of overtaxed volunteer commiters is left. HP/MIT create Foundation and hand over IP. 2

What is the Problem? A Tale of being too successful! DSpace 1.x: Rapidly developed by HP/MIT developers. Gains immediate Popularity HP calls it a SUCCESS Original Team moves on to new projects. Adopters utilize local staff for customization. Small Team of overtaxed volunteer commiters is left. HP/MIT create Foundation and hand over IP. 2

What is the Problem? The struggle of customization Monolithic No Interface Contracts Users Alter Implementation Alterations Conflict Contributions Stagnate 3

What is the Problem? The struggle of contribution Code improvements often bound to research cycles Large projects take longer to complete DSpace branches evolve in parallel Conflicts + Dramatic Changes = Increased Risk 4

What is the Problem? The struggle of contribution Code improvements often bound to research cycles Large projects take longer to complete DSpace branches evolve in parallel Conflicts + Dramatic Changes = Increased Risk Result: Traffic Jam 4

Better Practices: Awareness is half the battle. We have been very Aware of these problems! Community has already provided some solutions. Plugin Manager, Event Manager, Usage Event. Manakin XMLUI, Maven Adopted. Community knows there is more to do (DSpace 2.0). Service Architecture, New Data Model, API Contracts 5

Better Practices: Open Developer Community COMMUNITY Developers Design Guidelines Modular Projects Common Workspace 6

Better Practices: More Developers New Bylaws = New Developers More Eyes Keeping Code Safe Less Gate-Keeping Migrated SVN = New Commons New Neighbors = Cross-pollination 7

Better Practices: Better API Contracts for Modules User Code Developer 8

Better Practices: Modular Design Guides Modules, Encapsulation and API Contracts Separate Functional Domains. Protect against tangled inter-dependencies. Reliable Integration Points Open Doors to Innovation. 9

Better Tools: What is Cocoon 2.2? A Modular Framework UI Service Contracts XML Pipelines and More 10

Better Tools: History of Cocoon Blocks At first plugin architecture was needed to support modularity. Blocks designed by Stefano Mazzocchi et al. 4+ years ago. Compile time blocks before 2.2 no external contracts, not dynamic configurability. Cocoon 2.2 implementation is Spring / Maven based with external contracts. Leads to more modular and reconfigurable modules. See more: http://wiki.apache.org/cocoon/butterflymanifesto 11

What is a Cocoon Block? A Webapp Fragment. Servlets, Resources, Components, etc. External Contracts, Exported component Contracts Inter Dependency Polymorphism Configurable at Deployment. 12

Cocoon 2.2 Block Based on Servlet API Block = Embedded Servlet Container Block properties = Servlet init-params Block Connections = Named Dispatchers Not Cocoon Specific. Usable with any Servlets you create. 13

Maven Projects Archetypes: Quickly generate DSpace Addon Projects Provide some of the basic wiring for Adding modules to DSpace 14

Easy Startup: Maven DSpace Archetypes 15

Generated XMLUI Block 16

Generated XMLUI Block Generated Code 16

Generated XMLUI Block Generated Code Cocoon Block Sitemap 16

Generated XMLUI Block Generated Code Cocoon Block Sitemap Spring Services Config 16

Generated XMLUI Block Generated Code Cocoon Block Sitemap Spring Services Config XMLUI Aspect Sitemap 16

Generated XMLUI Block Generated Code Cocoon Block Sitemap Spring Services Config XMLUI Aspect Sitemap Maven Project 16

Demonstration 17

Cocoon Wiring Reference Theme /xmlui/themes/reference Reduces uncertainty in overlaying My Theme super: mount: Text /xmlui/themes/mine METS Block Blocks secure address Modularity no longer hindered by monolithic files 18

Cocoon Wiring Text Entity Serialization ATOM Block LOD Block Block /feed/xxx.atom Text /lod/xxx.n3 /lod/sparql Text /entity Entity Block SPARQL Block Frees Up Address Space Modularity no longer hindered by monolithic files web.xml sitemap.xmap 19

Better Tools: DSpace in Cocoon 2.2 DSpace Typed Presentation Blocks Default Journal Book Custom DSpace Service and Aspect Blocks DCMI Entity Admin DRI RDF DescriptionSet Driven Presentation Content Model DescriptionSet Drive Content Models 20

DSpace 2.0 Initiative Partners Mark Diggory mdiggory@atmire.com 21