SlideShare a Scribd company logo
www.atmire.com
DSpace UI prototype
dsember
Introduction
• Art Lowel, @mire
• most notable contributions: Mirage 1 & 2
• dsember = DSpace & Ember
Technologies used
• REST API + Ember JS + Ember CLI
• Ember JS is a framework for creating
ambitious web applications in javascript
• Ember CLI is a command line tool to
build and structure Ember projects
Guidelines
• Do not spend more than 80 hours
• ☑ spent between 70 and 80 hours
• Use the Rest API or DSpace Java API
• ☑ used REST API
• Use bootstrap or emulate Mirage2. Focus on
functionality over fancy UI look and feel.
• ☑ bootstrap slightly tweaked to look like Mirage2
• Make the code developer friendly
• ☑ Code is well structured, follows ember guidelines,
uses jsHint validation.
Guidelines
• Make all code publicly available. Demo is nice
• ☑ code: https://github.com/atmire/dsember
• ☑ demo: http://dsember.atmire.com
• Write Documentation
• ☑ README & Wiki on Github
• Mock-up missing features
• ☐ no features missing
Demo: Scope
Requirements
Project Structure: split in to two parts
• dsember-core:
• a CLI addon containing all the code
• dsember:
• an empty app, that imports dsember-core
• to keep customisations separate from
vanilla code
Project Structure: split in to two parts
• Anything in the dsember-core addon can
be overridden or extended in the
dsember app
• Just put a file with the same name in the
same relative location
• Ember classes can be subclassed or
reopened
Project Structure: add-ons
• Optional dspace features, like the
embargo example, should be implemented
as add-ons.
• So should themes. Customisations to the
base themes should reside in the app.
• run 

ember install [addon-name] 

to include an addon in your local version.
Customisation demo
Advantages over current UIs: Performance
• Client side JS apps are very fast
• The first page load may be a little slower:
• All possible templates, messages, etc are
downloaded before the app starts
• but afterwards everything is a lot faster:
• only data needs to be downloaded and it only
gets downloaded once:

e.g. if you’ve already seen the simple item page,
the full view or edit views load instantly.
Advantages over current UIs: Coherence
• Javascript is a necessity for most complex
behaviour
• The more Javascript you put in a server-
rendered HTML, the more it turns in to a giant
mess
• If you build the UI entirely in Javascript, using a
proper framework, it’s easier to reason about
how the different dynamic behaviours interact
• Significantly fewer synchronisation problems
Advantages over current UIs: REST API
• Incentive to improve/extend the REST API
• applicable for much more than just this UI
• makes DSpace a more attractive platform
• Separation of concerns
• All communication between UI and backend
happens through the REST API
• So it’s not possible to e.g. call a backend class
straight from a JSP file
Why Ember: Convention over Configuration
• Solving a common problem doesn’t
require much code
• Easy to follow best practices, hard to go
against them
Why Ember: Backwards compatibility
• Designed with backwards compatibility in
mind.
• Six week release cycles synchronised
across core modules: ember-js, ember-cli,
ember-data, …
• New features are added when they’re
done
Why Ember: Backwards compatibility
• legacy features are deprecated until at least the
next major version, with in-browser warnings
on how to upgrade them
• Because of this, the release of 2.0 was not an
issue
• all new features were gradually introduced in 1.x
releases
• 2.0 only removed features that had been deprecated
for months.
Why Ember: Developer friendly
• Great documentation
• Tutorials, guides and API docs can all be viewed by
ember version.
• ES6, today
• Ember CLI comes with babel, an ES6 to ES5 transpiler,
built-in
• ES6 modules are the building blocks of an ember CLI
app
• You’re encouraged to use other ES6 features:
• fat arrows, destructuring, template strings, promises, …
Why Ember: Developer friendly
• Computed Properties:
fullName: Ember.computed('firstName', 'lastName', function() {
return `${this.get('firstName')} ${this.get('lastName')}`;
})
• Enumerable helpers: map, filter, find, first/
last, …
• Great chrome/firefox extension
• livereload out of the box
• …
Why Ember: Addons
• addons are NPM modules
• there are 1000s of 3d party addons available to
solve all sorts of problems. In dsember:
• i18n
• authentication
• sass-support
• …
• can be completely self contained
• or use overlay mechanism
Why Ember: Not going anywhere
• Under active development:
• dozens of commits/week since its inception [1][2][3]
• Active community:
• hundreds of new posts/month on stackoverflow [4]
and the official ember forum [5]
• Monthly meetups all over the world [6]
• Used in production by:
• Apple, Netflix,Yahoo!, LinkedIn, Groupon,Vine, …
Try it out
• Demo: http://dsember.atmire.com
• or install it yourself:
• https://github.com/atmire/dsember
• Straightforward install, especially if you have the
Mirage 2 dependencies installed.
• Test it on your own DSpace 5 REST API:



ember server --proxy http://your.dspace.uri
Questions?
Ad

More Related Content

What's hot (20)

What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
Heiko Voigt
 
Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014
Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014
Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014
Mark Leusink
 
What's New in Notes, Sametime and Verse On-Premises
What's New in Notes, Sametime and Verse On-PremisesWhat's New in Notes, Sametime and Verse On-Premises
What's New in Notes, Sametime and Verse On-Premises
Gabriella Davis
 
Manage your external libraries with CocoaPods
Manage your external libraries with CocoaPodsManage your external libraries with CocoaPods
Manage your external libraries with CocoaPods
Juan C Catalan
 
Cross Site Collection Navigation
Cross Site Collection NavigationCross Site Collection Navigation
Cross Site Collection Navigation
Thomas Daly
 
DevOps for Scala
DevOps for ScalaDevOps for Scala
DevOps for Scala
Michele Sciabarrà
 
Face Off Domino vs Exchange On Premises
Face Off Domino vs Exchange On PremisesFace Off Domino vs Exchange On Premises
Face Off Domino vs Exchange On Premises
Gabriella Davis
 
Introducing CrossWorlds for IBM Domino
Introducing CrossWorlds for IBM DominoIntroducing CrossWorlds for IBM Domino
Introducing CrossWorlds for IBM Domino
Daniele Vistalli
 
Building a PaaS with Docker and AWS
Building a PaaS with Docker and AWSBuilding a PaaS with Docker and AWS
Building a PaaS with Docker and AWS
vesirin
 
April, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best PracticesApril, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best Practices
Howard Greenberg
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the Basics
Ulrich Krause
 
ICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJS
ICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJSICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJS
ICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJS
Mark Leusink
 
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UICross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI
Thomas Daly
 
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JSCross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Thomas Daly
 
OpenNTF Webinar, October 2020
OpenNTF Webinar, October 2020OpenNTF Webinar, October 2020
OpenNTF Webinar, October 2020
Howard Greenberg
 
Engage 2019: The good, the bad and the ugly: a not so objective view on front...
Engage 2019: The good, the bad and the ugly: a not so objective view on front...Engage 2019: The good, the bad and the ugly: a not so objective view on front...
Engage 2019: The good, the bad and the ugly: a not so objective view on front...
Frank van der Linden
 
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1
Howard Greenberg
 
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClassECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
European Collaboration Summit
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basics
Ulrich Krause
 
Rails scaling
Rails scalingRails scaling
Rails scaling
Sebastian Roth
 
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
Heiko Voigt
 
Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014
Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014
Get the best out of Bootstrap with Bootstrap4XPages - Engage 2014
Mark Leusink
 
What's New in Notes, Sametime and Verse On-Premises
What's New in Notes, Sametime and Verse On-PremisesWhat's New in Notes, Sametime and Verse On-Premises
What's New in Notes, Sametime and Verse On-Premises
Gabriella Davis
 
Manage your external libraries with CocoaPods
Manage your external libraries with CocoaPodsManage your external libraries with CocoaPods
Manage your external libraries with CocoaPods
Juan C Catalan
 
Cross Site Collection Navigation
Cross Site Collection NavigationCross Site Collection Navigation
Cross Site Collection Navigation
Thomas Daly
 
Face Off Domino vs Exchange On Premises
Face Off Domino vs Exchange On PremisesFace Off Domino vs Exchange On Premises
Face Off Domino vs Exchange On Premises
Gabriella Davis
 
Introducing CrossWorlds for IBM Domino
Introducing CrossWorlds for IBM DominoIntroducing CrossWorlds for IBM Domino
Introducing CrossWorlds for IBM Domino
Daniele Vistalli
 
Building a PaaS with Docker and AWS
Building a PaaS with Docker and AWSBuilding a PaaS with Docker and AWS
Building a PaaS with Docker and AWS
vesirin
 
April, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best PracticesApril, 2021 OpenNTF Webinar - Domino Administration Best Practices
April, 2021 OpenNTF Webinar - Domino Administration Best Practices
Howard Greenberg
 
XPages -Beyond the Basics
XPages -Beyond the BasicsXPages -Beyond the Basics
XPages -Beyond the Basics
Ulrich Krause
 
ICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJS
ICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJSICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJS
ICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJS
Mark Leusink
 
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UICross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI
Thomas Daly
 
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JSCross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Thomas Daly
 
OpenNTF Webinar, October 2020
OpenNTF Webinar, October 2020OpenNTF Webinar, October 2020
OpenNTF Webinar, October 2020
Howard Greenberg
 
Engage 2019: The good, the bad and the ugly: a not so objective view on front...
Engage 2019: The good, the bad and the ugly: a not so objective view on front...Engage 2019: The good, the bad and the ugly: a not so objective view on front...
Engage 2019: The good, the bad and the ugly: a not so objective view on front...
Frank van der Linden
 
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1
OpNovember Water Cooler Talk: The Mystery of Domino on Docker - Part 1
Howard Greenberg
 
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClassECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
European Collaboration Summit
 
UKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basicsUKLUG 2012 - XPages, Beyond the basics
UKLUG 2012 - XPages, Beyond the basics
Ulrich Krause
 

Viewers also liked (20)

Email deposit
Email depositEmail deposit
Email deposit
Bram Luyten
 
Durable Item Relations for DSpace
Durable Item Relations for DSpaceDurable Item Relations for DSpace
Durable Item Relations for DSpace
Bram Luyten
 
Metadata based statistics for DSpace
Metadata based statistics for DSpaceMetadata based statistics for DSpace
Metadata based statistics for DSpace
Bram Luyten
 
So we all have ORCID integrations, now what?
So we all have ORCID integrations, now what?So we all have ORCID integrations, now what?
So we all have ORCID integrations, now what?
Bram Luyten
 
Working for Atmire
Working for AtmireWorking for Atmire
Working for Atmire
Bram Luyten
 
DSpace repositories today and tomorrow
DSpace repositories today and tomorrowDSpace repositories today and tomorrow
DSpace repositories today and tomorrow
Bram Luyten
 
Enterprize aws
Enterprize awsEnterprize aws
Enterprize aws
mamoru tateoka
 
¿Cómo organizar una estrategia de investigación?
¿Cómo organizar una estrategia de investigación?¿Cómo organizar una estrategia de investigación?
¿Cómo organizar una estrategia de investigación?
Grial - University of Salamanca
 
Esco signing
Esco signingEsco signing
Esco signing
Don Buchanan
 
Pp resume
Pp resumePp resume
Pp resume
101390
 
6. manual pengelolaan pertandingan negeri (mss sarawak)
6. manual pengelolaan pertandingan negeri (mss sarawak)6. manual pengelolaan pertandingan negeri (mss sarawak)
6. manual pengelolaan pertandingan negeri (mss sarawak)
Kancin Anak Janbang
 
Daftarhadir&nilai statistik
Daftarhadir&nilai statistikDaftarhadir&nilai statistik
Daftarhadir&nilai statistik
Mukhamad Fathoni
 
Anastasia
AnastasiaAnastasia
Anastasia
bellisimo2389756434
 
Музей Боевой славы. МПГЛ
Музей Боевой славы. МПГЛМузей Боевой славы. МПГЛ
Музей Боевой славы. МПГЛ
Viktoriya Donchik
 
Daima biz hotel presentation
Daima biz hotel presentationDaima biz hotel presentation
Daima biz hotel presentation
Rafig Valiyev
 
Presentasi sd on campus hokudai after
Presentasi sd on campus hokudai   afterPresentasi sd on campus hokudai   after
Presentasi sd on campus hokudai after
Ninda Rahmawati
 
Tehnologi bioorganik di pertanian
Tehnologi bioorganik di pertanianTehnologi bioorganik di pertanian
Tehnologi bioorganik di pertanian
Rom Doni
 
스토리텔링_운명의나무_성민우_일반인_20111028
스토리텔링_운명의나무_성민우_일반인_20111028스토리텔링_운명의나무_성민우_일반인_20111028
스토리텔링_운명의나무_성민우_일반인_20111028
Minwoo Sung
 
Amaia's esl site thanksgiving
Amaia's esl site thanksgivingAmaia's esl site thanksgiving
Amaia's esl site thanksgiving
amaialopezescolarlearte
 
Durable Item Relations for DSpace
Durable Item Relations for DSpaceDurable Item Relations for DSpace
Durable Item Relations for DSpace
Bram Luyten
 
Metadata based statistics for DSpace
Metadata based statistics for DSpaceMetadata based statistics for DSpace
Metadata based statistics for DSpace
Bram Luyten
 
So we all have ORCID integrations, now what?
So we all have ORCID integrations, now what?So we all have ORCID integrations, now what?
So we all have ORCID integrations, now what?
Bram Luyten
 
Working for Atmire
Working for AtmireWorking for Atmire
Working for Atmire
Bram Luyten
 
DSpace repositories today and tomorrow
DSpace repositories today and tomorrowDSpace repositories today and tomorrow
DSpace repositories today and tomorrow
Bram Luyten
 
Pp resume
Pp resumePp resume
Pp resume
101390
 
6. manual pengelolaan pertandingan negeri (mss sarawak)
6. manual pengelolaan pertandingan negeri (mss sarawak)6. manual pengelolaan pertandingan negeri (mss sarawak)
6. manual pengelolaan pertandingan negeri (mss sarawak)
Kancin Anak Janbang
 
Daftarhadir&nilai statistik
Daftarhadir&nilai statistikDaftarhadir&nilai statistik
Daftarhadir&nilai statistik
Mukhamad Fathoni
 
Музей Боевой славы. МПГЛ
Музей Боевой славы. МПГЛМузей Боевой славы. МПГЛ
Музей Боевой славы. МПГЛ
Viktoriya Donchik
 
Daima biz hotel presentation
Daima biz hotel presentationDaima biz hotel presentation
Daima biz hotel presentation
Rafig Valiyev
 
Presentasi sd on campus hokudai after
Presentasi sd on campus hokudai   afterPresentasi sd on campus hokudai   after
Presentasi sd on campus hokudai after
Ninda Rahmawati
 
Tehnologi bioorganik di pertanian
Tehnologi bioorganik di pertanianTehnologi bioorganik di pertanian
Tehnologi bioorganik di pertanian
Rom Doni
 
스토리텔링_운명의나무_성민우_일반인_20111028
스토리텔링_운명의나무_성민우_일반인_20111028스토리텔링_운명의나무_성민우_일반인_20111028
스토리텔링_운명의나무_성민우_일반인_20111028
Minwoo Sung
 
Ad

Similar to DSpace UI prototype dsember (20)

Phonegap Day 2016: Ember/JS & Hybrid Apps Tips
Phonegap Day 2016: Ember/JS & Hybrid Apps TipsPhonegap Day 2016: Ember/JS & Hybrid Apps Tips
Phonegap Day 2016: Ember/JS & Hybrid Apps Tips
Alex Blom
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
TIMETOACT GROUP
 
OpenShift with Eclipse Tooling - EclipseCon 2012
OpenShift with Eclipse Tooling - EclipseCon 2012OpenShift with Eclipse Tooling - EclipseCon 2012
OpenShift with Eclipse Tooling - EclipseCon 2012
Steven Pousty
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012
Adam Mokan
 
Ember
EmberEmber
Ember
Domenic Simone
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
Docker, Inc.
 
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Phil Leggetter
 
Ember App Kit & The Ember Resolver
Ember App Kit & The Ember ResolverEmber App Kit & The Ember Resolver
Ember App Kit & The Ember Resolver
tboyt
 
Joomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesJoomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiences
Andy_Gaskell
 
Riding the Edge with Ember.js
Riding the Edge with Ember.jsRiding the Edge with Ember.js
Riding the Edge with Ember.js
aortbals
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
Karthik Gaekwad
 
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularEscaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
Mark Leusink
 
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET DeveloperPearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Ofer Zelig
 
Advanced Web Technology.pptx
Advanced Web Technology.pptxAdvanced Web Technology.pptx
Advanced Web Technology.pptx
ssuser35fdf2
 
Angular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and WorkshopAngular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and Workshop
Nitin Bhojwani
 
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
Gaetano Giunta
 
Should you use HTML5 to build your product? The pros & cons of using current ...
Should you use HTML5 to build your product? The pros & cons of using current ...Should you use HTML5 to build your product? The pros & cons of using current ...
Should you use HTML5 to build your product? The pros & cons of using current ...
boxuno
 
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
Heiko Voigt
 
DEV117 - Unleash the Power of the AppDev Pack and Node.js in Domino
DEV117 - Unleash the Power of the AppDev Pack and Node.js in DominoDEV117 - Unleash the Power of the AppDev Pack and Node.js in Domino
DEV117 - Unleash the Power of the AppDev Pack and Node.js in Domino
Heiko Voigt
 
#SpFestSea azr203 Azure functions lessons learned
#SpFestSea azr203 Azure functions lessons learned#SpFestSea azr203 Azure functions lessons learned
#SpFestSea azr203 Azure functions lessons learned
Vincent Biret
 
Phonegap Day 2016: Ember/JS & Hybrid Apps Tips
Phonegap Day 2016: Ember/JS & Hybrid Apps TipsPhonegap Day 2016: Ember/JS & Hybrid Apps Tips
Phonegap Day 2016: Ember/JS & Hybrid Apps Tips
Alex Blom
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
TIMETOACT GROUP
 
OpenShift with Eclipse Tooling - EclipseCon 2012
OpenShift with Eclipse Tooling - EclipseCon 2012OpenShift with Eclipse Tooling - EclipseCon 2012
OpenShift with Eclipse Tooling - EclipseCon 2012
Steven Pousty
 
Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012Single Page Applications - Desert Code Camp 2012
Single Page Applications - Desert Code Camp 2012
Adam Mokan
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
Docker, Inc.
 
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Phil Leggetter
 
Ember App Kit & The Ember Resolver
Ember App Kit & The Ember ResolverEmber App Kit & The Ember Resolver
Ember App Kit & The Ember Resolver
tboyt
 
Joomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiencesJoomla as a mobile App backend - ideas, examples and experiences
Joomla as a mobile App backend - ideas, examples and experiences
Andy_Gaskell
 
Riding the Edge with Ember.js
Riding the Edge with Ember.jsRiding the Edge with Ember.js
Riding the Edge with Ember.js
aortbals
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
Karthik Gaekwad
 
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularEscaping the yellow bubble - rewriting Domino using MongoDb and Angular
Escaping the yellow bubble - rewriting Domino using MongoDb and Angular
Mark Leusink
 
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET DeveloperPearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Ofer Zelig
 
Advanced Web Technology.pptx
Advanced Web Technology.pptxAdvanced Web Technology.pptx
Advanced Web Technology.pptx
ssuser35fdf2
 
Angular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and WorkshopAngular Meetup 1 - Angular Basics and Workshop
Angular Meetup 1 - Angular Basics and Workshop
Nitin Bhojwani
 
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
Gaetano Giunta
 
Should you use HTML5 to build your product? The pros & cons of using current ...
Should you use HTML5 to build your product? The pros & cons of using current ...Should you use HTML5 to build your product? The pros & cons of using current ...
Should you use HTML5 to build your product? The pros & cons of using current ...
boxuno
 
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
INF104 - HCL Domino AppDev Pack – The Future of Domino App Dev Nobody Knows A...
Heiko Voigt
 
DEV117 - Unleash the Power of the AppDev Pack and Node.js in Domino
DEV117 - Unleash the Power of the AppDev Pack and Node.js in DominoDEV117 - Unleash the Power of the AppDev Pack and Node.js in Domino
DEV117 - Unleash the Power of the AppDev Pack and Node.js in Domino
Heiko Voigt
 
#SpFestSea azr203 Azure functions lessons learned
#SpFestSea azr203 Azure functions lessons learned#SpFestSea azr203 Azure functions lessons learned
#SpFestSea azr203 Azure functions lessons learned
Vincent Biret
 
Ad

More from Bram Luyten (13)

Archiving Sensitive Data
Archiving Sensitive DataArchiving Sensitive Data
Archiving Sensitive Data
Bram Luyten
 
Update on DSpace 7
Update on DSpace 7Update on DSpace 7
Update on DSpace 7
Bram Luyten
 
DSpace 5.7 and 6.1 Preview
DSpace 5.7 and 6.1 PreviewDSpace 5.7 and 6.1 Preview
DSpace 5.7 and 6.1 Preview
Bram Luyten
 
DSpace Today and Tomorrow
DSpace Today and TomorrowDSpace Today and Tomorrow
DSpace Today and Tomorrow
Bram Luyten
 
Mirage 2: A responsive user interface for DSpace
Mirage 2: A responsive user interface for DSpaceMirage 2: A responsive user interface for DSpace
Mirage 2: A responsive user interface for DSpace
Bram Luyten
 
Dépôts institutionnels et collections spéciales en DSpace
Dépôts institutionnels et collections spéciales en DSpaceDépôts institutionnels et collections spéciales en DSpace
Dépôts institutionnels et collections spéciales en DSpace
Bram Luyten
 
Secrets of the DSpace Submission Form
Secrets of the DSpace Submission FormSecrets of the DSpace Submission Form
Secrets of the DSpace Submission Form
Bram Luyten
 
Introduction to XMLUI and Mirage Theming for DSpace 3
Introduction to XMLUI and Mirage Theming for DSpace 3Introduction to XMLUI and Mirage Theming for DSpace 3
Introduction to XMLUI and Mirage Theming for DSpace 3
Bram Luyten
 
What's in Store for DSpace 4?
What's in Store for DSpace 4?What's in Store for DSpace 4?
What's in Store for DSpace 4?
Bram Luyten
 
ORCID for DSpace
ORCID for DSpaceORCID for DSpace
ORCID for DSpace
Bram Luyten
 
Using Github for DSpace development
Using Github for DSpace developmentUsing Github for DSpace development
Using Github for DSpace development
Bram Luyten
 
Workshop: Google Analytics for DSpace
Workshop: Google Analytics for DSpaceWorkshop: Google Analytics for DSpace
Workshop: Google Analytics for DSpace
Bram Luyten
 
DSpace in Belgium and beyond
DSpace in Belgium and beyondDSpace in Belgium and beyond
DSpace in Belgium and beyond
Bram Luyten
 
Archiving Sensitive Data
Archiving Sensitive DataArchiving Sensitive Data
Archiving Sensitive Data
Bram Luyten
 
Update on DSpace 7
Update on DSpace 7Update on DSpace 7
Update on DSpace 7
Bram Luyten
 
DSpace 5.7 and 6.1 Preview
DSpace 5.7 and 6.1 PreviewDSpace 5.7 and 6.1 Preview
DSpace 5.7 and 6.1 Preview
Bram Luyten
 
DSpace Today and Tomorrow
DSpace Today and TomorrowDSpace Today and Tomorrow
DSpace Today and Tomorrow
Bram Luyten
 
Mirage 2: A responsive user interface for DSpace
Mirage 2: A responsive user interface for DSpaceMirage 2: A responsive user interface for DSpace
Mirage 2: A responsive user interface for DSpace
Bram Luyten
 
Dépôts institutionnels et collections spéciales en DSpace
Dépôts institutionnels et collections spéciales en DSpaceDépôts institutionnels et collections spéciales en DSpace
Dépôts institutionnels et collections spéciales en DSpace
Bram Luyten
 
Secrets of the DSpace Submission Form
Secrets of the DSpace Submission FormSecrets of the DSpace Submission Form
Secrets of the DSpace Submission Form
Bram Luyten
 
Introduction to XMLUI and Mirage Theming for DSpace 3
Introduction to XMLUI and Mirage Theming for DSpace 3Introduction to XMLUI and Mirage Theming for DSpace 3
Introduction to XMLUI and Mirage Theming for DSpace 3
Bram Luyten
 
What's in Store for DSpace 4?
What's in Store for DSpace 4?What's in Store for DSpace 4?
What's in Store for DSpace 4?
Bram Luyten
 
ORCID for DSpace
ORCID for DSpaceORCID for DSpace
ORCID for DSpace
Bram Luyten
 
Using Github for DSpace development
Using Github for DSpace developmentUsing Github for DSpace development
Using Github for DSpace development
Bram Luyten
 
Workshop: Google Analytics for DSpace
Workshop: Google Analytics for DSpaceWorkshop: Google Analytics for DSpace
Workshop: Google Analytics for DSpace
Bram Luyten
 
DSpace in Belgium and beyond
DSpace in Belgium and beyondDSpace in Belgium and beyond
DSpace in Belgium and beyond
Bram Luyten
 

Recently uploaded (20)

Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
Transcript: #StandardsGoals for 2025: Standards & certification roundup - Tec...
BookNet Canada
 
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...
Noah Loul
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In FranceManifest Pre-Seed Update | A Humanoid OEM Deeptech In France
Manifest Pre-Seed Update | A Humanoid OEM Deeptech In France
chb3
 
HCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser EnvironmentsHCL Nomad Web – Best Practices and Managing Multiuser Environments
HCL Nomad Web – Best Practices and Managing Multiuser Environments
panagenda
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...
Impelsys Inc.
 
How analogue intelligence complements AI
How analogue intelligence complements AIHow analogue intelligence complements AI
How analogue intelligence complements AI
Paul Rowe
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Technology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data AnalyticsTechnology Trends in 2025: AI and Big Data Analytics
Technology Trends in 2025: AI and Big Data Analytics
InData Labs
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 

DSpace UI prototype dsember

  • 2. Introduction • Art Lowel, @mire • most notable contributions: Mirage 1 & 2 • dsember = DSpace & Ember
  • 3. Technologies used • REST API + Ember JS + Ember CLI • Ember JS is a framework for creating ambitious web applications in javascript • Ember CLI is a command line tool to build and structure Ember projects
  • 4. Guidelines • Do not spend more than 80 hours • ☑ spent between 70 and 80 hours • Use the Rest API or DSpace Java API • ☑ used REST API • Use bootstrap or emulate Mirage2. Focus on functionality over fancy UI look and feel. • ☑ bootstrap slightly tweaked to look like Mirage2 • Make the code developer friendly • ☑ Code is well structured, follows ember guidelines, uses jsHint validation.
  • 5. Guidelines • Make all code publicly available. Demo is nice • ☑ code: https://github.com/atmire/dsember • ☑ demo: http://dsember.atmire.com • Write Documentation • ☑ README & Wiki on Github • Mock-up missing features • ☐ no features missing
  • 7. Project Structure: split in to two parts • dsember-core: • a CLI addon containing all the code • dsember: • an empty app, that imports dsember-core • to keep customisations separate from vanilla code
  • 8. Project Structure: split in to two parts • Anything in the dsember-core addon can be overridden or extended in the dsember app • Just put a file with the same name in the same relative location • Ember classes can be subclassed or reopened
  • 9. Project Structure: add-ons • Optional dspace features, like the embargo example, should be implemented as add-ons. • So should themes. Customisations to the base themes should reside in the app. • run 
 ember install [addon-name] 
 to include an addon in your local version.
  • 11. Advantages over current UIs: Performance • Client side JS apps are very fast • The first page load may be a little slower: • All possible templates, messages, etc are downloaded before the app starts • but afterwards everything is a lot faster: • only data needs to be downloaded and it only gets downloaded once:
 e.g. if you’ve already seen the simple item page, the full view or edit views load instantly.
  • 12. Advantages over current UIs: Coherence • Javascript is a necessity for most complex behaviour • The more Javascript you put in a server- rendered HTML, the more it turns in to a giant mess • If you build the UI entirely in Javascript, using a proper framework, it’s easier to reason about how the different dynamic behaviours interact • Significantly fewer synchronisation problems
  • 13. Advantages over current UIs: REST API • Incentive to improve/extend the REST API • applicable for much more than just this UI • makes DSpace a more attractive platform • Separation of concerns • All communication between UI and backend happens through the REST API • So it’s not possible to e.g. call a backend class straight from a JSP file
  • 14. Why Ember: Convention over Configuration • Solving a common problem doesn’t require much code • Easy to follow best practices, hard to go against them
  • 15. Why Ember: Backwards compatibility • Designed with backwards compatibility in mind. • Six week release cycles synchronised across core modules: ember-js, ember-cli, ember-data, … • New features are added when they’re done
  • 16. Why Ember: Backwards compatibility • legacy features are deprecated until at least the next major version, with in-browser warnings on how to upgrade them • Because of this, the release of 2.0 was not an issue • all new features were gradually introduced in 1.x releases • 2.0 only removed features that had been deprecated for months.
  • 17. Why Ember: Developer friendly • Great documentation • Tutorials, guides and API docs can all be viewed by ember version. • ES6, today • Ember CLI comes with babel, an ES6 to ES5 transpiler, built-in • ES6 modules are the building blocks of an ember CLI app • You’re encouraged to use other ES6 features: • fat arrows, destructuring, template strings, promises, …
  • 18. Why Ember: Developer friendly • Computed Properties: fullName: Ember.computed('firstName', 'lastName', function() { return `${this.get('firstName')} ${this.get('lastName')}`; }) • Enumerable helpers: map, filter, find, first/ last, … • Great chrome/firefox extension • livereload out of the box • …
  • 19. Why Ember: Addons • addons are NPM modules • there are 1000s of 3d party addons available to solve all sorts of problems. In dsember: • i18n • authentication • sass-support • … • can be completely self contained • or use overlay mechanism
  • 20. Why Ember: Not going anywhere • Under active development: • dozens of commits/week since its inception [1][2][3] • Active community: • hundreds of new posts/month on stackoverflow [4] and the official ember forum [5] • Monthly meetups all over the world [6] • Used in production by: • Apple, Netflix,Yahoo!, LinkedIn, Groupon,Vine, …
  • 21. Try it out • Demo: http://dsember.atmire.com • or install it yourself: • https://github.com/atmire/dsember • Straightforward install, especially if you have the Mirage 2 dependencies installed. • Test it on your own DSpace 5 REST API:
 
 ember server --proxy http://your.dspace.uri