SlideShare una empresa de Scribd logo
1 de 53
Descargar para leer sin conexión
Hot Topics: DuraSpace Community Webinar Series
Hot Topics: The DuraSpace
Community Webinar Series
Series Fifteen:
Introducing DSpace 7:
Next Generation UI
Hot Topics: DuraSpace Community Webinar Series
Hot Topics: The DuraSpace
Community Webinar Series
Curated by Claire Knowles,
Library Digital Development Manager,
The University of Edinburgh
Hot Topics: DuraSpace Community Webinar Series
Webinar 1:
Introducing DSpace 7
Presented by:
Claire Knowles, The University of Edinburgh
Tim Donohue, DuraSpace
Art Lowel, Atmire
Andrea Bollini, 4Science
History: Why a new UI?
Claire Knowles
Background - Vision
Strategic Plan 2015 - 2018
- Technology
- Community
- Sustainability
https://wiki.duraspace.org/display/DSPACE/DSpace+2015-18+Strategic+Plan
Road Map
- Priority one: a single user interface
- Making DSpace lean and flexible
https://wiki.duraspace.org/display/DSPACE/RoadMap
Background - Two UIs
- Two User Interfaces
- Duplication of effort
- Different features
- New UI Group
- Prototype Challenge (8 entries)
- Rails, EmberJS, AngularJS, Spring
MVC, Spring Boot
https://wiki.duraspace.org/display/DSPACE/DSpace+UI+Prototype
+Challenge
UI Technology Selection Process
Tim Donohue
Prototype Challenge Analysis
(early 2016)
Decision Point: Java vs Javascript UI
● Client Side (JS) benefits
○ Dynamic, innovative
○ Separation of concerns (REST API)
● Client Side (JS) concerns
○ Search Engine Optimization (SEO)?
○ Accessibility?
https://wiki.duraspace.org/display/DSPACE/DSpace+UI+Prototype
+Challenge
Angular 2 Framework
● First beta in Dec 2015
● All benefits of Client Side UI
● Angular = most widely used platform
● SEO support (via Angular Universal)
● Accessibility support
https://angular.io
March - June 2016 (Demo at OR2016)
★ SEO (verified, Google Scholar)
★ Accessibility (verified, U of Kansas)
★ Web archiving (verified, RCAAP,
Portugal)
★ More dynamic user experience
★ Configurable UI
★ Backend still Java (5.x REST API)
DSpace 5 + Angular 2 Prototype
http://www.slideshare.net/tdonohue/introducing-the-
new-dspace-user-interface
OR2016 until Nov 2016
DSpace 6
Time Passes...
DSpace 7 UI Working Group
(late 2016)
Goal: Build the Angular UI / REST API for
DSpace 7
★ Coordination (Tim Donohue, DuraSpace)
★ Angular UI Subteam (Art Lowel, Atmire)
★ REST API Subteam (Andrea Bollini,
4Science)
https://wiki.duraspace.org/display/DSPACE/DSpace
+7+UI+Working+Group
DSpace 7 UI (Angular UI)
Art Lowel
Angular 2
• Framework by Google for building
applications in the browser.
• Only data from the server
• HTML generated by JavaScript in the
browser.
https://angular.io
TypeScript
• Extension of ES6
• Adds types and annotations
• Compiles to regular JavaScript
errors can be detected at compile time.
https://www.typescriptlang.org/
TypeScript
• Result looks familiar to Java and .NET
developers
Interfaces, Generics, Decorators, …
• Much better IDE integration than JS
https://www.typescriptlang.org/
TypeScript
import { autoserializeAs } from "cerialize";
...
export abstract class DSpaceObject implements CacheableObject {
...
@autoserializeAs(Metadatum)
metadata: Array<Metadatum>;
...
private findMetadatum(key: string, language?: string): Metadatum {
return this.metadata
.find((metadatum: Metadatum) => {
return metadatum.key === key &&
(isEmpty(language) || metadatum.language === language)
});
}
}
Angular 2: Main elements
• Components:
– render data
• Services:
– provide components with data
Angular 2: Components
• The building blocks of an angular 2 app
• New HTML tags that come with their
own code and styling
• Consist of a view and a controller in the
traditional MVC sense
Angular 2: Components
<div class="wrapper">
<ds-header></ds-header>
<main>
...
</main>
<ds-footer></ds-footer>
</div>
Angular 2: Components
@Component({
selector: 'ds-header',
styleUrls: ['header.component.css'],
templateUrl: 'header.component.html'
})
export class HeaderComponent implements OnInit {
isNavBarCollapsed: boolean;
constructor() {}
ngOnInit(): void {
this.isNavBarCollapsed = true;
}
toggle(): void {
this.isNavBarCollapsed = !this.isNavBarCollapsed;
}
}
Angular 2: Components
<button (click)="toggle()">
<i class="fa fa-bars fa-fw" aria-hidden="true"></i>
</button>
<div [ngbCollapse]="isNavBarCollapsed">
<a class="nav-link" routerLink="/home"
routerLinkActive="active">
{{ 'header.home' | translate }}
</a>
</div>
Angular 2: Services
• Singletons
• Provide streams of data for the rest of
the app
this.restService.get('/items')
• Provide operations to add or modify
data
this.cacheService.add(item)
Angular 2: Services
@Injectable()
export class RESTService {
constructor(public http: Http) {}
get(relativeURL: string, options?: RequestOptionsArgs): Observable<string> {
return this.http.get(new RESTURLCombiner(relativeURL).toString(), options)
.map(res => res.json())
.catch(err => {
console.log('Error: ', err);
return Observable.throw(err);
});
}
}
Angular Universal
• Sub-project by the angular team.
• Goal: support server-side rendering for
angular apps
• using the same code that's used by the
client
https://universal.angular.io/
Angular Universal
• The universal server imitates a browser
using the angular app
• makes calls to the REST API for data
• sends the HTML as a response
https://universal.angular.io/
Angular Universal
• The first page is rendered on the
universal server
• Don’t have JavaScript?
– The server’s HTML is identical to the
version generated by a client
– Clicking a link = requesting a new
page from the server
https://universal.angular.io/
Angular Universal
• Do have JavaScript?
– start using the page while JS loads
– once loaded, no further requests to
the universal server needed
– Clicking a link = fetching new data
from the REST API and rendering it
in the browser
https://universal.angular.io/
Learning more
• Learn about Angular 2, Universal, and
other related technologies on the wiki:
https://wiki.duraspace.org/display/DSPACE/D
Space+7+UI+Technology+Stack
• Questions? ask on Slack
#angular-ui on dspace-org.slack.com
• How To: https://goo.gl/aJ9u4U
• Project board: https://waffle.io/DSpace/dspace-angular
Contributing
DSpace 7 (new) REST API
Andrea Bollini
Outcome from the prototype challenge
Why do we need a new REST API?
● Only a limited subset of DSpace
functionality is currently exposed
● Handcrafted implementation, no
standard or convention adopted
● Different technology than the other
DSpace code (Jersey)
What are the goals?
● Support the Angular UI development
● Fully documented, tested and stable
REST API
● Modernize the code base, adopting best
practices
● Rely on frameworks widely used in and
outside DSpace (Spring)
REST Levels
https://martinfowler.com/articles/richardsonMaturityModel.html
DSpace REST currently sits here
How? Standards!
★ HATEOAS - Hypertext As The Engine Of
Application State
★ The HAL format
★ Define a REST contract
★ ALPS - Application-Level profile
semantics
★ JSON-Schema
HAL format
http://stateless.co/hal_specification.html
Example: embedded
Bitstream → BitstreamFormat
"name": "license.txt",
"type": "bitstream",
"sizeBytes": 1748,
"_links": {
"format": {
"href": "http://my.dspace.url/api/core/bitstreams/bd30fbfc-.../format"
},
"self": {
"href":"http://my.dspace.url/api/core/bitstreams/bd30fbfc-..."
}
},
"_embedded": {
"format": {
"shortDescription": "License",
"description": "Item-specific license agreed upon to submission",
"mimetype": "text/plain; charset=utf-8",
…
"_links": {
"self": {"href":"http://my.dspace.url/api/core/bitstreamformats/2"}
}
Resource attributes
Links
Embedded resource
Example: pagination
"_links": {
"first": {
"href": “http://my.dspace.url/api/core/bitstreams?page=0&size=5"
},
"self": {
"href": "http://my.dspace.url/api/core/bitstreams"
},
"next": {
"href": "http://my.dspace.url/api/core/bitstreams?page=1&size=5"
},
"last": {
"href": "http://my.dspace.url/api/core/bitstreams?page=2&size=5"
}
},
"page": {
"size": 5,
"totalElements": 14,
"totalPages": 3,
"number": 0
}
ALPS
At the root of the API is a profile document, with a list of all the
available endpoints
{
"_links" : {
"profile" : {
"href" : "http://my.dspace.url/api/profile"
},
"items" : {
"href" : "http://my.dspace.url/api/core/items"
},
"bitstreams" : {
"href" : "http://my.dspace.url/api/core/bitstreams"
},
…
}
}
http://docs.spring.io/spring-data/rest/docs/current/reference/html/#metadata.alps
ALPS
The /api/profile endpoint, as defined in RFC 6906, gives access
to detailed information about each application resource
{
"_links" : {
"self" : {
"href" : "http://my.dspace.url/api/profile"
},
"items" : {
"href" : "http://my.dspace.url/api/profile/items"
},
"bitstreams" : {
"href" : "http://my.dspace.url/api/profile/bitstreams"
},
…
}
}
Points to a json-schema
representation of the
resource structure,
including allowed
methods and returns
The HAL Browser
★ Application agnostic JS UI
★ Available as web-jar from the Spring
Data REST project
★ It allows easy exploration and
self-documentation of the REST API
http://docs.spring.io/spring-data/rest/docs/current/reference/html/#_the_hal_browser
The HAL Browser
Best practices and convention
★ Spring Data REST project
○ projection
○ pagination defaults
○ ETAGs
○ Architecture
★ Look to JSON-API Format for
unresolved issues
Technologies
★ JAVA 8, Servlet 3.1
★ Spring Boot
★ Spring MVC + Spring HATEOAS
★ Spring REST Documentation*
★ Spring Security*
* to be confirmed
Architecture
★ REST Data model
★ A single controller for all the REST
resources
★ Repository Design Pattern
★ Converter to translate REST model
classes to persistence and vice versa
Learning more
• HATEOAS
http://restcookbook.com/Basics/hateoas/
• HAL Specification
http://stateless.co/hal_specification.html
• ALPS
https://tools.ietf.org/html/draft-amundsen-richardson-foster-alps-01
• JSON-Schema
http://json-schema.org/
Learning more
• Spring REST & Spring HATEOAS
https://spring.io/guides/gs/rest-hateoas/
• Take inspiration from Spring DATA Rest
http://projects.spring.io/spring-data-rest/
• Questions? ask on Slack
#rest-api on dspace-org.slack.com
Contributing
★ Rest Contract definition & discussion
https://github.com/DSpace-Labs/Rest7Contract
https://github.com/DSpace-Labs/Rest7Contract/issues
★ Claim a task! “new-REST” component
https://jira.duraspace.org/issues/?filter=13920
★ Source code:
https://github.com/DSpace/DSpace/tree/rest7
Next Steps & Contributing
Tim Donohue
Next Steps / Timeline
OR2017 in Brisbane
★ Angular UI dev workshop
★ DSpace 7 update talk
★ Alpha demo (search/browse?)
7.0 Final Release - est 2018?
Collaboration / Updates
• Meetings: Every Thursday (16:00 UTC)
alternating between text meetings in
Slack, and Google Hangouts.
• Soon: monthly video updates (to lists)
How to contribute
Claim a ticket and/or join a meeting
https://wiki.duraspace.org/display/DSPACE/DSpace
+7+UI+Working+Group
Join us on Slack / ask questions
https://goo.gl/forms/s70dh26zY2cSqn2K3
DSpace 7 Outreach Group
https://wiki.duraspace.org/display/DSPACE/DSpace
+7+UI+Outreach+Group
Hot Topics: DuraSpace Community Webinar Series
Hot Topics: The DuraSpace
Community Webinar Series
Join us for our 2nd webinar:
DSpace for Data:
issues, solutions and challenges
March 7, 2017 at 11:00a.m. ET

Más contenido relacionado

La actualidad más candente

Parquet Strata/Hadoop World, New York 2013
Parquet Strata/Hadoop World, New York 2013Parquet Strata/Hadoop World, New York 2013
Parquet Strata/Hadoop World, New York 2013Julien Le Dem
 
Elastic search overview
Elastic search overviewElastic search overview
Elastic search overviewABC Talks
 
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...Edureka!
 
Log analysis using Logstash,ElasticSearch and Kibana
Log analysis using Logstash,ElasticSearch and KibanaLog analysis using Logstash,ElasticSearch and Kibana
Log analysis using Logstash,ElasticSearch and KibanaAvinash Ramineni
 
An Intro to Elasticsearch and Kibana
An Intro to Elasticsearch and KibanaAn Intro to Elasticsearch and Kibana
An Intro to Elasticsearch and KibanaObjectRocket
 
DSpace standard Data model and DSpace-CRIS
DSpace standard Data model and DSpace-CRISDSpace standard Data model and DSpace-CRIS
DSpace standard Data model and DSpace-CRIS4Science
 
Cognos 11 installation step by step and notes
Cognos 11 installation step by step and notesCognos 11 installation step by step and notes
Cognos 11 installation step by step and notesCarlos Castro Rodríguez
 
Apache Arrow: In Theory, In Practice
Apache Arrow: In Theory, In PracticeApache Arrow: In Theory, In Practice
Apache Arrow: In Theory, In PracticeDremio Corporation
 
Information Architecture Guidelines (SharePoint) - Innovate Vancouver.pdf
Information Architecture Guidelines (SharePoint) - Innovate Vancouver.pdfInformation Architecture Guidelines (SharePoint) - Innovate Vancouver.pdf
Information Architecture Guidelines (SharePoint) - Innovate Vancouver.pdfInnovate Vancouver
 
Introduction to Sharding
Introduction to ShardingIntroduction to Sharding
Introduction to ShardingMongoDB
 
Elastic - ELK, Logstash & Kibana
Elastic - ELK, Logstash & KibanaElastic - ELK, Logstash & Kibana
Elastic - ELK, Logstash & KibanaSpringPeople
 
Amazon EMR Deep Dive & Best Practices
Amazon EMR Deep Dive & Best PracticesAmazon EMR Deep Dive & Best Practices
Amazon EMR Deep Dive & Best PracticesAmazon Web Services
 
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3Databricks
 
DSpace 7 ORCID Integration
DSpace 7 ORCID IntegrationDSpace 7 ORCID Integration
DSpace 7 ORCID Integration4Science
 
Application Load Balancer and the integration with AutoScaling and ECS - Pop-...
Application Load Balancer and the integration with AutoScaling and ECS - Pop-...Application Load Balancer and the integration with AutoScaling and ECS - Pop-...
Application Load Balancer and the integration with AutoScaling and ECS - Pop-...Amazon Web Services
 
Securing Hadoop with Apache Ranger
Securing Hadoop with Apache RangerSecuring Hadoop with Apache Ranger
Securing Hadoop with Apache RangerDataWorks Summit
 

La actualidad más candente (20)

Parquet Strata/Hadoop World, New York 2013
Parquet Strata/Hadoop World, New York 2013Parquet Strata/Hadoop World, New York 2013
Parquet Strata/Hadoop World, New York 2013
 
Workshop Docker for DSpace
Workshop Docker for DSpaceWorkshop Docker for DSpace
Workshop Docker for DSpace
 
Elastic search overview
Elastic search overviewElastic search overview
Elastic search overview
 
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
What Is ELK Stack | ELK Tutorial For Beginners | Elasticsearch Kibana | ELK S...
 
Log analysis using Logstash,ElasticSearch and Kibana
Log analysis using Logstash,ElasticSearch and KibanaLog analysis using Logstash,ElasticSearch and Kibana
Log analysis using Logstash,ElasticSearch and Kibana
 
An Intro to Elasticsearch and Kibana
An Intro to Elasticsearch and KibanaAn Intro to Elasticsearch and Kibana
An Intro to Elasticsearch and Kibana
 
DSpace standard Data model and DSpace-CRIS
DSpace standard Data model and DSpace-CRISDSpace standard Data model and DSpace-CRIS
DSpace standard Data model and DSpace-CRIS
 
Cognos 11 installation step by step and notes
Cognos 11 installation step by step and notesCognos 11 installation step by step and notes
Cognos 11 installation step by step and notes
 
Apache Arrow: In Theory, In Practice
Apache Arrow: In Theory, In PracticeApache Arrow: In Theory, In Practice
Apache Arrow: In Theory, In Practice
 
Information Architecture Guidelines (SharePoint) - Innovate Vancouver.pdf
Information Architecture Guidelines (SharePoint) - Innovate Vancouver.pdfInformation Architecture Guidelines (SharePoint) - Innovate Vancouver.pdf
Information Architecture Guidelines (SharePoint) - Innovate Vancouver.pdf
 
Introduction to Sharding
Introduction to ShardingIntroduction to Sharding
Introduction to Sharding
 
Elastic - ELK, Logstash & Kibana
Elastic - ELK, Logstash & KibanaElastic - ELK, Logstash & Kibana
Elastic - ELK, Logstash & Kibana
 
Amazon EMR Deep Dive & Best Practices
Amazon EMR Deep Dive & Best PracticesAmazon EMR Deep Dive & Best Practices
Amazon EMR Deep Dive & Best Practices
 
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3
Spark Saturday: Spark SQL & DataFrame Workshop with Apache Spark 2.3
 
DSpace 7 ORCID Integration
DSpace 7 ORCID IntegrationDSpace 7 ORCID Integration
DSpace 7 ORCID Integration
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Application Load Balancer and the integration with AutoScaling and ECS - Pop-...
Application Load Balancer and the integration with AutoScaling and ECS - Pop-...Application Load Balancer and the integration with AutoScaling and ECS - Pop-...
Application Load Balancer and the integration with AutoScaling and ECS - Pop-...
 
ELK Stack
ELK StackELK Stack
ELK Stack
 
Catalyst optimizer
Catalyst optimizerCatalyst optimizer
Catalyst optimizer
 
Securing Hadoop with Apache Ranger
Securing Hadoop with Apache RangerSecuring Hadoop with Apache Ranger
Securing Hadoop with Apache Ranger
 

Destacado

3.7.17 DSpace for Data: issues, solutions and challenges Webinar Slides
3.7.17 DSpace for Data: issues, solutions and challenges Webinar Slides3.7.17 DSpace for Data: issues, solutions and challenges Webinar Slides
3.7.17 DSpace for Data: issues, solutions and challenges Webinar SlidesDuraSpace
 
DuraSpace is OPEN, OR2016
DuraSpace is OPEN, OR2016DuraSpace is OPEN, OR2016
DuraSpace is OPEN, OR2016DuraSpace
 
Introducing the New DSpace User Interface
Introducing the New DSpace User InterfaceIntroducing the New DSpace User Interface
Introducing the New DSpace User InterfaceTim Donohue
 
3.15.17 DSpace: How to Contribute Webinar Slides
3.15.17 DSpace: How to Contribute Webinar Slides3.15.17 DSpace: How to Contribute Webinar Slides
3.15.17 DSpace: How to Contribute Webinar SlidesDuraSpace
 
DSpace Tutorial : Open Source Digital Library
DSpace Tutorial : Open Source Digital LibraryDSpace Tutorial : Open Source Digital Library
DSpace Tutorial : Open Source Digital Libraryrajivkumarmca
 
DSpace 4.2 Basics & Configuration
DSpace 4.2 Basics & ConfigurationDSpace 4.2 Basics & Configuration
DSpace 4.2 Basics & ConfigurationDuraSpace
 
Running DSpace: Technical overview, lessons learned, workflows and essential ...
Running DSpace: Technical overview, lessons learned, workflows and essential ...Running DSpace: Technical overview, lessons learned, workflows and essential ...
Running DSpace: Technical overview, lessons learned, workflows and essential ...ILRI
 
Fedora 3.6 webinar slides 10 18-12
Fedora 3.6 webinar slides 10 18-12Fedora 3.6 webinar slides 10 18-12
Fedora 3.6 webinar slides 10 18-12DuraSpace
 
2.24.16 Slides, “VIVO plus SHARE: Closing the Loop on Tracking Scholarly Acti...
2.24.16 Slides, “VIVO plus SHARE: Closing the Loop on Tracking Scholarly Acti...2.24.16 Slides, “VIVO plus SHARE: Closing the Loop on Tracking Scholarly Acti...
2.24.16 Slides, “VIVO plus SHARE: Closing the Loop on Tracking Scholarly Acti...DuraSpace
 
The "Direct" Services - DSpaceDirect and ArchivesDirect
The "Direct" Services - DSpaceDirect and ArchivesDirectThe "Direct" Services - DSpaceDirect and ArchivesDirect
The "Direct" Services - DSpaceDirect and ArchivesDirectDuraSpace
 
How to Get Started Tracking Scholarly Activity with VIVO and SHARE
How to Get Started Tracking Scholarly Activity with VIVO and SHAREHow to Get Started Tracking Scholarly Activity with VIVO and SHARE
How to Get Started Tracking Scholarly Activity with VIVO and SHAREDuraSpace
 
How to "Hack" the DSpace Community
How to "Hack" the DSpace CommunityHow to "Hack" the DSpace Community
How to "Hack" the DSpace CommunityTim Donohue
 
SHRM Certification Resources at a Glance
SHRM Certification Resources at a GlanceSHRM Certification Resources at a Glance
SHRM Certification Resources at a GlanceHR Metrics
 
περιαστικο δασος 8 Δ Σχ Ροδου
περιαστικο δασος 8 Δ Σχ Ροδουπεριαστικο δασος 8 Δ Σχ Ροδου
περιαστικο δασος 8 Δ Σχ ΡοδουKpe Maronias
 
Implementation of d space controlled dpwm based
Implementation of d space controlled dpwm basedImplementation of d space controlled dpwm based
Implementation of d space controlled dpwm basedeSAT Journals
 
DSpace: State of the art
DSpace: State of the artDSpace: State of the art
DSpace: State of the artILRI
 
Using DSpace as a LOR
Using DSpace as a LORUsing DSpace as a LOR
Using DSpace as a LORScott Leslie
 
Carin nguyen earning 6 figures balancing vip conference
Carin nguyen   earning 6 figures balancing vip conferenceCarin nguyen   earning 6 figures balancing vip conference
Carin nguyen earning 6 figures balancing vip conferenceNathan Froelich
 
Making DSpace XMLUI Your Own
Making DSpace XMLUI Your OwnMaking DSpace XMLUI Your Own
Making DSpace XMLUI Your OwnTim Donohue
 

Destacado (20)

3.7.17 DSpace for Data: issues, solutions and challenges Webinar Slides
3.7.17 DSpace for Data: issues, solutions and challenges Webinar Slides3.7.17 DSpace for Data: issues, solutions and challenges Webinar Slides
3.7.17 DSpace for Data: issues, solutions and challenges Webinar Slides
 
DuraSpace is OPEN, OR2016
DuraSpace is OPEN, OR2016DuraSpace is OPEN, OR2016
DuraSpace is OPEN, OR2016
 
Introducing the New DSpace User Interface
Introducing the New DSpace User InterfaceIntroducing the New DSpace User Interface
Introducing the New DSpace User Interface
 
3.15.17 DSpace: How to Contribute Webinar Slides
3.15.17 DSpace: How to Contribute Webinar Slides3.15.17 DSpace: How to Contribute Webinar Slides
3.15.17 DSpace: How to Contribute Webinar Slides
 
DSpace Tutorial : Open Source Digital Library
DSpace Tutorial : Open Source Digital LibraryDSpace Tutorial : Open Source Digital Library
DSpace Tutorial : Open Source Digital Library
 
DSpace 4.2 Basics & Configuration
DSpace 4.2 Basics & ConfigurationDSpace 4.2 Basics & Configuration
DSpace 4.2 Basics & Configuration
 
Running DSpace: Technical overview, lessons learned, workflows and essential ...
Running DSpace: Technical overview, lessons learned, workflows and essential ...Running DSpace: Technical overview, lessons learned, workflows and essential ...
Running DSpace: Technical overview, lessons learned, workflows and essential ...
 
Fedora 3.6 webinar slides 10 18-12
Fedora 3.6 webinar slides 10 18-12Fedora 3.6 webinar slides 10 18-12
Fedora 3.6 webinar slides 10 18-12
 
2.24.16 Slides, “VIVO plus SHARE: Closing the Loop on Tracking Scholarly Acti...
2.24.16 Slides, “VIVO plus SHARE: Closing the Loop on Tracking Scholarly Acti...2.24.16 Slides, “VIVO plus SHARE: Closing the Loop on Tracking Scholarly Acti...
2.24.16 Slides, “VIVO plus SHARE: Closing the Loop on Tracking Scholarly Acti...
 
The "Direct" Services - DSpaceDirect and ArchivesDirect
The "Direct" Services - DSpaceDirect and ArchivesDirectThe "Direct" Services - DSpaceDirect and ArchivesDirect
The "Direct" Services - DSpaceDirect and ArchivesDirect
 
13 java in oracle
13 java in oracle13 java in oracle
13 java in oracle
 
How to Get Started Tracking Scholarly Activity with VIVO and SHARE
How to Get Started Tracking Scholarly Activity with VIVO and SHAREHow to Get Started Tracking Scholarly Activity with VIVO and SHARE
How to Get Started Tracking Scholarly Activity with VIVO and SHARE
 
How to "Hack" the DSpace Community
How to "Hack" the DSpace CommunityHow to "Hack" the DSpace Community
How to "Hack" the DSpace Community
 
SHRM Certification Resources at a Glance
SHRM Certification Resources at a GlanceSHRM Certification Resources at a Glance
SHRM Certification Resources at a Glance
 
περιαστικο δασος 8 Δ Σχ Ροδου
περιαστικο δασος 8 Δ Σχ Ροδουπεριαστικο δασος 8 Δ Σχ Ροδου
περιαστικο δασος 8 Δ Σχ Ροδου
 
Implementation of d space controlled dpwm based
Implementation of d space controlled dpwm basedImplementation of d space controlled dpwm based
Implementation of d space controlled dpwm based
 
DSpace: State of the art
DSpace: State of the artDSpace: State of the art
DSpace: State of the art
 
Using DSpace as a LOR
Using DSpace as a LORUsing DSpace as a LOR
Using DSpace as a LOR
 
Carin nguyen earning 6 figures balancing vip conference
Carin nguyen   earning 6 figures balancing vip conferenceCarin nguyen   earning 6 figures balancing vip conference
Carin nguyen earning 6 figures balancing vip conference
 
Making DSpace XMLUI Your Own
Making DSpace XMLUI Your OwnMaking DSpace XMLUI Your Own
Making DSpace XMLUI Your Own
 

Similar a 2.28.17 Introducing DSpace 7 Webinar Slides

Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformAntonio Peric-Mazar
 
Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformAntonio Peric-Mazar
 
[2015/2016] Apache Cordova
[2015/2016] Apache Cordova[2015/2016] Apache Cordova
[2015/2016] Apache CordovaIvano Malavolta
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...Mark Leusink
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...Mark Roden
 
Drupal 8 and iOS - an Open Source App
Drupal 8 and iOS - an Open Source AppDrupal 8 and iOS - an Open Source App
Drupal 8 and iOS - an Open Source ApplittleMAS
 
Getting started with titanium
Getting started with titaniumGetting started with titanium
Getting started with titaniumNaga Harish M
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Nicole Szigeti
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumTechday7
 
Building intranet applications with ASP.NET AJAX and jQuery
Building intranet applications with ASP.NET AJAX and jQueryBuilding intranet applications with ASP.NET AJAX and jQuery
Building intranet applications with ASP.NET AJAX and jQueryAlek Davis
 
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...Tom Johnson
 
Angular - Chapter 1 - Introduction
 Angular - Chapter 1 - Introduction Angular - Chapter 1 - Introduction
Angular - Chapter 1 - IntroductionWebStackAcademy
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Pierre Joye
 
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Anupam Ranku
 
State of modern web technologies: an introduction
State of modern web technologies: an introductionState of modern web technologies: an introduction
State of modern web technologies: an introductionMichael Ahearn
 
SOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesSOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesVagif Abilov
 
Kubernetes Architecture - beyond a black box - Part 1
Kubernetes Architecture - beyond a black box - Part 1Kubernetes Architecture - beyond a black box - Part 1
Kubernetes Architecture - beyond a black box - Part 1Hao H. Zhang
 

Similar a 2.28.17 Introducing DSpace 7 Webinar Slides (20)

Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API Platform
 
REST easy with API Platform
REST easy with API PlatformREST easy with API Platform
REST easy with API Platform
 
Apache Cordova 4.x
Apache Cordova 4.xApache Cordova 4.x
Apache Cordova 4.x
 
Building APIs in an easy way using API Platform
Building APIs in an easy way using API PlatformBuilding APIs in an easy way using API Platform
Building APIs in an easy way using API Platform
 
[2015/2016] Apache Cordova
[2015/2016] Apache Cordova[2015/2016] Apache Cordova
[2015/2016] Apache Cordova
 
The future of web development write once, run everywhere with angular js an...
The future of web development   write once, run everywhere with angular js an...The future of web development   write once, run everywhere with angular js an...
The future of web development write once, run everywhere with angular js an...
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...
 
Drupal 8 and iOS - an Open Source App
Drupal 8 and iOS - an Open Source AppDrupal 8 and iOS - an Open Source App
Drupal 8 and iOS - an Open Source App
 
Getting started with titanium
Getting started with titaniumGetting started with titanium
Getting started with titanium
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator Titanium
 
Building intranet applications with ASP.NET AJAX and jQuery
Building intranet applications with ASP.NET AJAX and jQueryBuilding intranet applications with ASP.NET AJAX and jQuery
Building intranet applications with ASP.NET AJAX and jQuery
 
Apache Cordova
Apache CordovaApache Cordova
Apache Cordova
 
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
Survival Strategies for API Documentation: Presentation to Southwestern Ontar...
 
Angular - Chapter 1 - Introduction
 Angular - Chapter 1 - Introduction Angular - Chapter 1 - Introduction
Angular - Chapter 1 - Introduction
 
Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18Webdevcon Keynote hh-2012-09-18
Webdevcon Keynote hh-2012-09-18
 
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
 
State of modern web technologies: an introduction
State of modern web technologies: an introductionState of modern web technologies: an introduction
State of modern web technologies: an introduction
 
SOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesSOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class Libraries
 
Kubernetes Architecture - beyond a black box - Part 1
Kubernetes Architecture - beyond a black box - Part 1Kubernetes Architecture - beyond a black box - Part 1
Kubernetes Architecture - beyond a black box - Part 1
 

Más de DuraSpace

12.5.18 "How For-Profit Companies Can Be a Part of the Open Environment" pres...
12.5.18 "How For-Profit Companies Can Be a Part of the Open Environment" pres...12.5.18 "How For-Profit Companies Can Be a Part of the Open Environment" pres...
12.5.18 "How For-Profit Companies Can Be a Part of the Open Environment" pres...DuraSpace
 
11.20.18 DSpace for Research Data Management Webinar
11.20.18 DSpace for Research Data Management Webinar11.20.18 DSpace for Research Data Management Webinar
11.20.18 DSpace for Research Data Management WebinarDuraSpace
 
10.24.18 "Securing Community-Controlled Infrastructure: SPARC’s plan of actio...
10.24.18 "Securing Community-Controlled Infrastructure: SPARC’s plan of actio...10.24.18 "Securing Community-Controlled Infrastructure: SPARC’s plan of actio...
10.24.18 "Securing Community-Controlled Infrastructure: SPARC’s plan of actio...DuraSpace
 
9.26.18 Beyond NA presentation slides
9.26.18 Beyond NA presentation slides9.26.18 Beyond NA presentation slides
9.26.18 Beyond NA presentation slidesDuraSpace
 
9.19.18 ArchivesDirect Overview: Standards-Based Preservation with Hosted Arc...
9.19.18 ArchivesDirect Overview: Standards-Based Preservation with Hosted Arc...9.19.18 ArchivesDirect Overview: Standards-Based Preservation with Hosted Arc...
9.19.18 ArchivesDirect Overview: Standards-Based Preservation with Hosted Arc...DuraSpace
 
5.24.18 DuraCloud in 2018 Presentation Slides
5.24.18 DuraCloud in 2018 Presentation Slides5.24.18 DuraCloud in 2018 Presentation Slides
5.24.18 DuraCloud in 2018 Presentation SlidesDuraSpace
 
5.17.18 "The 2.5% Commitment: Investing in Open" presentation slides
5.17.18 "The 2.5% Commitment: Investing in Open" presentation slides5.17.18 "The 2.5% Commitment: Investing in Open" presentation slides
5.17.18 "The 2.5% Commitment: Investing in Open" presentation slidesDuraSpace
 
3.28.18 "Open Source Repository Upgrades: Top Advice from Practitioners" Pres...
3.28.18 "Open Source Repository Upgrades: Top Advice from Practitioners" Pres...3.28.18 "Open Source Repository Upgrades: Top Advice from Practitioners" Pres...
3.28.18 "Open Source Repository Upgrades: Top Advice from Practitioners" Pres...DuraSpace
 
2.28.18 Getting Started with Fedora presentation slides
2.28.18 Getting Started with Fedora presentation slides2.28.18 Getting Started with Fedora presentation slides
2.28.18 Getting Started with Fedora presentation slidesDuraSpace
 
6.15.17 DSpace-Cris Webinar Presentation Slides
6.15.17 DSpace-Cris Webinar Presentation Slides6.15.17 DSpace-Cris Webinar Presentation Slides
6.15.17 DSpace-Cris Webinar Presentation SlidesDuraSpace
 
5.15.17 Powering Linked Data and Hosted Solutions with Fedora Webinar Slides
5.15.17 Powering Linked Data and Hosted Solutions with Fedora Webinar Slides5.15.17 Powering Linked Data and Hosted Solutions with Fedora Webinar Slides
5.15.17 Powering Linked Data and Hosted Solutions with Fedora Webinar SlidesDuraSpace
 
Digital Preservation in Production (DPN and DuraCloud Vault)
Digital Preservation in Production (DPN and DuraCloud Vault)Digital Preservation in Production (DPN and DuraCloud Vault)
Digital Preservation in Production (DPN and DuraCloud Vault)DuraSpace
 
DuraSpace and LYRASIS CEO Town Hall Meeting -- April 29, 2016
DuraSpace and LYRASIS CEO Town Hall Meeting -- April 29, 2016DuraSpace and LYRASIS CEO Town Hall Meeting -- April 29, 2016
DuraSpace and LYRASIS CEO Town Hall Meeting -- April 29, 2016DuraSpace
 
DuraSpace and LYRASIS CEO Town Hall Meeting -- April 21, 2016
DuraSpace and LYRASIS CEO Town Hall Meeting -- April 21, 2016DuraSpace and LYRASIS CEO Town Hall Meeting -- April 21, 2016
DuraSpace and LYRASIS CEO Town Hall Meeting -- April 21, 2016DuraSpace
 
3.11.16 Slides, “Institutional Perspectives on the Impact of SHARE and VIVO T...
3.11.16 Slides, “Institutional Perspectives on the Impact of SHARE and VIVO T...3.11.16 Slides, “Institutional Perspectives on the Impact of SHARE and VIVO T...
3.11.16 Slides, “Institutional Perspectives on the Impact of SHARE and VIVO T...DuraSpace
 
The "Cloud" Services - DuraCloud and DuraCloud Vault
The "Cloud" Services - DuraCloud and DuraCloud VaultThe "Cloud" Services - DuraCloud and DuraCloud Vault
The "Cloud" Services - DuraCloud and DuraCloud VaultDuraSpace
 
Integrating DuraCloud with DPN at Chronopolis and the Texas Digital Library
Integrating DuraCloud with DPN at Chronopolis and the Texas Digital LibraryIntegrating DuraCloud with DPN at Chronopolis and the Texas Digital Library
Integrating DuraCloud with DPN at Chronopolis and the Texas Digital LibraryDuraSpace
 
The DuraCloud Workshop - Open Repositories 2015
The DuraCloud Workshop - Open Repositories 2015The DuraCloud Workshop - Open Repositories 2015
The DuraCloud Workshop - Open Repositories 2015DuraSpace
 
5.26.15 Slides, “Digital Preservation with ArchivesDirect: Go!”
5.26.15 Slides, “Digital Preservation with ArchivesDirect: Go!” 5.26.15 Slides, “Digital Preservation with ArchivesDirect: Go!”
5.26.15 Slides, “Digital Preservation with ArchivesDirect: Go!” DuraSpace
 
5.14.15 Slides, “Digital Preservation with ArchivesDirect: Ready, Set...”
5.14.15 Slides, “Digital Preservation with ArchivesDirect: Ready, Set...” 5.14.15 Slides, “Digital Preservation with ArchivesDirect: Ready, Set...”
5.14.15 Slides, “Digital Preservation with ArchivesDirect: Ready, Set...” DuraSpace
 

Más de DuraSpace (20)

12.5.18 "How For-Profit Companies Can Be a Part of the Open Environment" pres...
12.5.18 "How For-Profit Companies Can Be a Part of the Open Environment" pres...12.5.18 "How For-Profit Companies Can Be a Part of the Open Environment" pres...
12.5.18 "How For-Profit Companies Can Be a Part of the Open Environment" pres...
 
11.20.18 DSpace for Research Data Management Webinar
11.20.18 DSpace for Research Data Management Webinar11.20.18 DSpace for Research Data Management Webinar
11.20.18 DSpace for Research Data Management Webinar
 
10.24.18 "Securing Community-Controlled Infrastructure: SPARC’s plan of actio...
10.24.18 "Securing Community-Controlled Infrastructure: SPARC’s plan of actio...10.24.18 "Securing Community-Controlled Infrastructure: SPARC’s plan of actio...
10.24.18 "Securing Community-Controlled Infrastructure: SPARC’s plan of actio...
 
9.26.18 Beyond NA presentation slides
9.26.18 Beyond NA presentation slides9.26.18 Beyond NA presentation slides
9.26.18 Beyond NA presentation slides
 
9.19.18 ArchivesDirect Overview: Standards-Based Preservation with Hosted Arc...
9.19.18 ArchivesDirect Overview: Standards-Based Preservation with Hosted Arc...9.19.18 ArchivesDirect Overview: Standards-Based Preservation with Hosted Arc...
9.19.18 ArchivesDirect Overview: Standards-Based Preservation with Hosted Arc...
 
5.24.18 DuraCloud in 2018 Presentation Slides
5.24.18 DuraCloud in 2018 Presentation Slides5.24.18 DuraCloud in 2018 Presentation Slides
5.24.18 DuraCloud in 2018 Presentation Slides
 
5.17.18 "The 2.5% Commitment: Investing in Open" presentation slides
5.17.18 "The 2.5% Commitment: Investing in Open" presentation slides5.17.18 "The 2.5% Commitment: Investing in Open" presentation slides
5.17.18 "The 2.5% Commitment: Investing in Open" presentation slides
 
3.28.18 "Open Source Repository Upgrades: Top Advice from Practitioners" Pres...
3.28.18 "Open Source Repository Upgrades: Top Advice from Practitioners" Pres...3.28.18 "Open Source Repository Upgrades: Top Advice from Practitioners" Pres...
3.28.18 "Open Source Repository Upgrades: Top Advice from Practitioners" Pres...
 
2.28.18 Getting Started with Fedora presentation slides
2.28.18 Getting Started with Fedora presentation slides2.28.18 Getting Started with Fedora presentation slides
2.28.18 Getting Started with Fedora presentation slides
 
6.15.17 DSpace-Cris Webinar Presentation Slides
6.15.17 DSpace-Cris Webinar Presentation Slides6.15.17 DSpace-Cris Webinar Presentation Slides
6.15.17 DSpace-Cris Webinar Presentation Slides
 
5.15.17 Powering Linked Data and Hosted Solutions with Fedora Webinar Slides
5.15.17 Powering Linked Data and Hosted Solutions with Fedora Webinar Slides5.15.17 Powering Linked Data and Hosted Solutions with Fedora Webinar Slides
5.15.17 Powering Linked Data and Hosted Solutions with Fedora Webinar Slides
 
Digital Preservation in Production (DPN and DuraCloud Vault)
Digital Preservation in Production (DPN and DuraCloud Vault)Digital Preservation in Production (DPN and DuraCloud Vault)
Digital Preservation in Production (DPN and DuraCloud Vault)
 
DuraSpace and LYRASIS CEO Town Hall Meeting -- April 29, 2016
DuraSpace and LYRASIS CEO Town Hall Meeting -- April 29, 2016DuraSpace and LYRASIS CEO Town Hall Meeting -- April 29, 2016
DuraSpace and LYRASIS CEO Town Hall Meeting -- April 29, 2016
 
DuraSpace and LYRASIS CEO Town Hall Meeting -- April 21, 2016
DuraSpace and LYRASIS CEO Town Hall Meeting -- April 21, 2016DuraSpace and LYRASIS CEO Town Hall Meeting -- April 21, 2016
DuraSpace and LYRASIS CEO Town Hall Meeting -- April 21, 2016
 
3.11.16 Slides, “Institutional Perspectives on the Impact of SHARE and VIVO T...
3.11.16 Slides, “Institutional Perspectives on the Impact of SHARE and VIVO T...3.11.16 Slides, “Institutional Perspectives on the Impact of SHARE and VIVO T...
3.11.16 Slides, “Institutional Perspectives on the Impact of SHARE and VIVO T...
 
The "Cloud" Services - DuraCloud and DuraCloud Vault
The "Cloud" Services - DuraCloud and DuraCloud VaultThe "Cloud" Services - DuraCloud and DuraCloud Vault
The "Cloud" Services - DuraCloud and DuraCloud Vault
 
Integrating DuraCloud with DPN at Chronopolis and the Texas Digital Library
Integrating DuraCloud with DPN at Chronopolis and the Texas Digital LibraryIntegrating DuraCloud with DPN at Chronopolis and the Texas Digital Library
Integrating DuraCloud with DPN at Chronopolis and the Texas Digital Library
 
The DuraCloud Workshop - Open Repositories 2015
The DuraCloud Workshop - Open Repositories 2015The DuraCloud Workshop - Open Repositories 2015
The DuraCloud Workshop - Open Repositories 2015
 
5.26.15 Slides, “Digital Preservation with ArchivesDirect: Go!”
5.26.15 Slides, “Digital Preservation with ArchivesDirect: Go!” 5.26.15 Slides, “Digital Preservation with ArchivesDirect: Go!”
5.26.15 Slides, “Digital Preservation with ArchivesDirect: Go!”
 
5.14.15 Slides, “Digital Preservation with ArchivesDirect: Ready, Set...”
5.14.15 Slides, “Digital Preservation with ArchivesDirect: Ready, Set...” 5.14.15 Slides, “Digital Preservation with ArchivesDirect: Ready, Set...”
5.14.15 Slides, “Digital Preservation with ArchivesDirect: Ready, Set...”
 

Último

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Último (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

2.28.17 Introducing DSpace 7 Webinar Slides

  • 1. Hot Topics: DuraSpace Community Webinar Series Hot Topics: The DuraSpace Community Webinar Series Series Fifteen: Introducing DSpace 7: Next Generation UI
  • 2. Hot Topics: DuraSpace Community Webinar Series Hot Topics: The DuraSpace Community Webinar Series Curated by Claire Knowles, Library Digital Development Manager, The University of Edinburgh
  • 3. Hot Topics: DuraSpace Community Webinar Series Webinar 1: Introducing DSpace 7 Presented by: Claire Knowles, The University of Edinburgh Tim Donohue, DuraSpace Art Lowel, Atmire Andrea Bollini, 4Science
  • 4. History: Why a new UI? Claire Knowles
  • 5. Background - Vision Strategic Plan 2015 - 2018 - Technology - Community - Sustainability https://wiki.duraspace.org/display/DSPACE/DSpace+2015-18+Strategic+Plan Road Map - Priority one: a single user interface - Making DSpace lean and flexible https://wiki.duraspace.org/display/DSPACE/RoadMap
  • 6. Background - Two UIs - Two User Interfaces - Duplication of effort - Different features - New UI Group - Prototype Challenge (8 entries) - Rails, EmberJS, AngularJS, Spring MVC, Spring Boot https://wiki.duraspace.org/display/DSPACE/DSpace+UI+Prototype +Challenge
  • 7. UI Technology Selection Process Tim Donohue
  • 8. Prototype Challenge Analysis (early 2016) Decision Point: Java vs Javascript UI ● Client Side (JS) benefits ○ Dynamic, innovative ○ Separation of concerns (REST API) ● Client Side (JS) concerns ○ Search Engine Optimization (SEO)? ○ Accessibility? https://wiki.duraspace.org/display/DSPACE/DSpace+UI+Prototype +Challenge
  • 9. Angular 2 Framework ● First beta in Dec 2015 ● All benefits of Client Side UI ● Angular = most widely used platform ● SEO support (via Angular Universal) ● Accessibility support https://angular.io
  • 10. March - June 2016 (Demo at OR2016) ★ SEO (verified, Google Scholar) ★ Accessibility (verified, U of Kansas) ★ Web archiving (verified, RCAAP, Portugal) ★ More dynamic user experience ★ Configurable UI ★ Backend still Java (5.x REST API) DSpace 5 + Angular 2 Prototype http://www.slideshare.net/tdonohue/introducing-the- new-dspace-user-interface
  • 11. OR2016 until Nov 2016 DSpace 6 Time Passes...
  • 12. DSpace 7 UI Working Group (late 2016) Goal: Build the Angular UI / REST API for DSpace 7 ★ Coordination (Tim Donohue, DuraSpace) ★ Angular UI Subteam (Art Lowel, Atmire) ★ REST API Subteam (Andrea Bollini, 4Science) https://wiki.duraspace.org/display/DSPACE/DSpace +7+UI+Working+Group
  • 13. DSpace 7 UI (Angular UI) Art Lowel
  • 14. Angular 2 • Framework by Google for building applications in the browser. • Only data from the server • HTML generated by JavaScript in the browser. https://angular.io
  • 15. TypeScript • Extension of ES6 • Adds types and annotations • Compiles to regular JavaScript errors can be detected at compile time. https://www.typescriptlang.org/
  • 16. TypeScript • Result looks familiar to Java and .NET developers Interfaces, Generics, Decorators, … • Much better IDE integration than JS https://www.typescriptlang.org/
  • 17. TypeScript import { autoserializeAs } from "cerialize"; ... export abstract class DSpaceObject implements CacheableObject { ... @autoserializeAs(Metadatum) metadata: Array<Metadatum>; ... private findMetadatum(key: string, language?: string): Metadatum { return this.metadata .find((metadatum: Metadatum) => { return metadatum.key === key && (isEmpty(language) || metadatum.language === language) }); } }
  • 18. Angular 2: Main elements • Components: – render data • Services: – provide components with data
  • 19. Angular 2: Components • The building blocks of an angular 2 app • New HTML tags that come with their own code and styling • Consist of a view and a controller in the traditional MVC sense
  • 20. Angular 2: Components <div class="wrapper"> <ds-header></ds-header> <main> ... </main> <ds-footer></ds-footer> </div>
  • 21. Angular 2: Components @Component({ selector: 'ds-header', styleUrls: ['header.component.css'], templateUrl: 'header.component.html' }) export class HeaderComponent implements OnInit { isNavBarCollapsed: boolean; constructor() {} ngOnInit(): void { this.isNavBarCollapsed = true; } toggle(): void { this.isNavBarCollapsed = !this.isNavBarCollapsed; } }
  • 22. Angular 2: Components <button (click)="toggle()"> <i class="fa fa-bars fa-fw" aria-hidden="true"></i> </button> <div [ngbCollapse]="isNavBarCollapsed"> <a class="nav-link" routerLink="/home" routerLinkActive="active"> {{ 'header.home' | translate }} </a> </div>
  • 23. Angular 2: Services • Singletons • Provide streams of data for the rest of the app this.restService.get('/items') • Provide operations to add or modify data this.cacheService.add(item)
  • 24. Angular 2: Services @Injectable() export class RESTService { constructor(public http: Http) {} get(relativeURL: string, options?: RequestOptionsArgs): Observable<string> { return this.http.get(new RESTURLCombiner(relativeURL).toString(), options) .map(res => res.json()) .catch(err => { console.log('Error: ', err); return Observable.throw(err); }); } }
  • 25. Angular Universal • Sub-project by the angular team. • Goal: support server-side rendering for angular apps • using the same code that's used by the client https://universal.angular.io/
  • 26. Angular Universal • The universal server imitates a browser using the angular app • makes calls to the REST API for data • sends the HTML as a response https://universal.angular.io/
  • 27. Angular Universal • The first page is rendered on the universal server • Don’t have JavaScript? – The server’s HTML is identical to the version generated by a client – Clicking a link = requesting a new page from the server https://universal.angular.io/
  • 28. Angular Universal • Do have JavaScript? – start using the page while JS loads – once loaded, no further requests to the universal server needed – Clicking a link = fetching new data from the REST API and rendering it in the browser https://universal.angular.io/
  • 29. Learning more • Learn about Angular 2, Universal, and other related technologies on the wiki: https://wiki.duraspace.org/display/DSPACE/D Space+7+UI+Technology+Stack • Questions? ask on Slack #angular-ui on dspace-org.slack.com
  • 30. • How To: https://goo.gl/aJ9u4U • Project board: https://waffle.io/DSpace/dspace-angular Contributing
  • 31. DSpace 7 (new) REST API Andrea Bollini
  • 32. Outcome from the prototype challenge Why do we need a new REST API? ● Only a limited subset of DSpace functionality is currently exposed ● Handcrafted implementation, no standard or convention adopted ● Different technology than the other DSpace code (Jersey)
  • 33. What are the goals? ● Support the Angular UI development ● Fully documented, tested and stable REST API ● Modernize the code base, adopting best practices ● Rely on frameworks widely used in and outside DSpace (Spring)
  • 35. How? Standards! ★ HATEOAS - Hypertext As The Engine Of Application State ★ The HAL format ★ Define a REST contract ★ ALPS - Application-Level profile semantics ★ JSON-Schema
  • 37. Example: embedded Bitstream → BitstreamFormat "name": "license.txt", "type": "bitstream", "sizeBytes": 1748, "_links": { "format": { "href": "http://my.dspace.url/api/core/bitstreams/bd30fbfc-.../format" }, "self": { "href":"http://my.dspace.url/api/core/bitstreams/bd30fbfc-..." } }, "_embedded": { "format": { "shortDescription": "License", "description": "Item-specific license agreed upon to submission", "mimetype": "text/plain; charset=utf-8", … "_links": { "self": {"href":"http://my.dspace.url/api/core/bitstreamformats/2"} } Resource attributes Links Embedded resource
  • 38. Example: pagination "_links": { "first": { "href": “http://my.dspace.url/api/core/bitstreams?page=0&size=5" }, "self": { "href": "http://my.dspace.url/api/core/bitstreams" }, "next": { "href": "http://my.dspace.url/api/core/bitstreams?page=1&size=5" }, "last": { "href": "http://my.dspace.url/api/core/bitstreams?page=2&size=5" } }, "page": { "size": 5, "totalElements": 14, "totalPages": 3, "number": 0 }
  • 39. ALPS At the root of the API is a profile document, with a list of all the available endpoints { "_links" : { "profile" : { "href" : "http://my.dspace.url/api/profile" }, "items" : { "href" : "http://my.dspace.url/api/core/items" }, "bitstreams" : { "href" : "http://my.dspace.url/api/core/bitstreams" }, … } } http://docs.spring.io/spring-data/rest/docs/current/reference/html/#metadata.alps
  • 40. ALPS The /api/profile endpoint, as defined in RFC 6906, gives access to detailed information about each application resource { "_links" : { "self" : { "href" : "http://my.dspace.url/api/profile" }, "items" : { "href" : "http://my.dspace.url/api/profile/items" }, "bitstreams" : { "href" : "http://my.dspace.url/api/profile/bitstreams" }, … } } Points to a json-schema representation of the resource structure, including allowed methods and returns
  • 41. The HAL Browser ★ Application agnostic JS UI ★ Available as web-jar from the Spring Data REST project ★ It allows easy exploration and self-documentation of the REST API http://docs.spring.io/spring-data/rest/docs/current/reference/html/#_the_hal_browser
  • 43. Best practices and convention ★ Spring Data REST project ○ projection ○ pagination defaults ○ ETAGs ○ Architecture ★ Look to JSON-API Format for unresolved issues
  • 44. Technologies ★ JAVA 8, Servlet 3.1 ★ Spring Boot ★ Spring MVC + Spring HATEOAS ★ Spring REST Documentation* ★ Spring Security* * to be confirmed
  • 45. Architecture ★ REST Data model ★ A single controller for all the REST resources ★ Repository Design Pattern ★ Converter to translate REST model classes to persistence and vice versa
  • 46. Learning more • HATEOAS http://restcookbook.com/Basics/hateoas/ • HAL Specification http://stateless.co/hal_specification.html • ALPS https://tools.ietf.org/html/draft-amundsen-richardson-foster-alps-01 • JSON-Schema http://json-schema.org/
  • 47. Learning more • Spring REST & Spring HATEOAS https://spring.io/guides/gs/rest-hateoas/ • Take inspiration from Spring DATA Rest http://projects.spring.io/spring-data-rest/ • Questions? ask on Slack #rest-api on dspace-org.slack.com
  • 48. Contributing ★ Rest Contract definition & discussion https://github.com/DSpace-Labs/Rest7Contract https://github.com/DSpace-Labs/Rest7Contract/issues ★ Claim a task! “new-REST” component https://jira.duraspace.org/issues/?filter=13920 ★ Source code: https://github.com/DSpace/DSpace/tree/rest7
  • 49. Next Steps & Contributing Tim Donohue
  • 50. Next Steps / Timeline OR2017 in Brisbane ★ Angular UI dev workshop ★ DSpace 7 update talk ★ Alpha demo (search/browse?) 7.0 Final Release - est 2018?
  • 51. Collaboration / Updates • Meetings: Every Thursday (16:00 UTC) alternating between text meetings in Slack, and Google Hangouts. • Soon: monthly video updates (to lists)
  • 52. How to contribute Claim a ticket and/or join a meeting https://wiki.duraspace.org/display/DSPACE/DSpace +7+UI+Working+Group Join us on Slack / ask questions https://goo.gl/forms/s70dh26zY2cSqn2K3 DSpace 7 Outreach Group https://wiki.duraspace.org/display/DSPACE/DSpace +7+UI+Outreach+Group
  • 53. Hot Topics: DuraSpace Community Webinar Series Hot Topics: The DuraSpace Community Webinar Series Join us for our 2nd webinar: DSpace for Data: issues, solutions and challenges March 7, 2017 at 11:00a.m. ET