Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web...

31
Islandora Past, Present, and Future Paul Pound UPEI Melissa Anez - Islandora Foundation Islandora Camp New York, Nov 2013

Transcript of Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web...

Page 1: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Islandora Past, Present, and FuturePaul Pound UPEI

Melissa Anez - Islandora Foundation

Islandora Camp New York, Nov 2013

Page 2: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Brief History

Islandora started as an in house project as a front-end for Drupal 5 and Fedora 2.

Drupal was to be one of many frontends for Fedora, we talked about using Moodle, OCS, OJS and other open source PHP applications.

Page 3: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Early on ● Limited Drupal

specific code in favour of pure PHP

● Mapped callbacks in ISLANDORACM xml stream.

Page 4: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Drupal 7

As time went on we realized we could not realistically support more than one frontend and Drupal was the only one we were really using.● So we leveraged as much Drupal Code and

as many Drupal principles as made sense (hooks, alters, menus etc.)

Page 5: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Drupal 8Fairly extensive rewrite of Drupal.Includes:● Integration with Symfony2● Use of Twig for templating (by the creators of Symfony)● Using YAML for configs (instead of the database)● More RESTful● HTML5● Views in core

Page 6: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Drupal 8 - Symfony2Symfony is a PHP web application framework

The move to Symfony will require some changes to modules.● Hooks will mostly wrap Symfony concepts (like events)● Modern OOP approach● hook_menu will use Symfony routing● PSR (coding standards and conventions, namespaces

etc.)● Composer (Dependency Manager)

Page 7: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Drupal 8 - ThemesNew Template engine called Twig● Twig is fast● Twig has good IDE support● Twig is more secure● Twig is easy to useNew layout system● Site builders define layout (instead of

themers)

Page 8: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Drupal 8 - configuration

● Info file is now YAML● Module configuration can now be stored in

YAML files (much better for developing, testing, deploying)

● YAML is human readable and machine parsable (allows comments as well)

● Standard (not Drupal specific)

Page 9: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Drupal 8 - REST● No longer assumes every request is for a complete

page.● Easier to expose content in different formats (json, xml

or something else)● Easier/better communications between systems● Easier to make custom mobile apps

More info

Page 10: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Drupal 8 - IslandoraSimilar to the move to Drupal 7 we will probably wait for the dust to settle a little before we spend too much time on Drupal 8. We’ll have to wait for required modules to be released etc.

Islandora on Drupal 8 may only support Fedora 4?

Drupal 8 Release Cycle

Page 11: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Fedora and Islandora

Fedora had some changes between version 2 and 3, but they were not that significant.● Changes in package names required the Drupal filter to

be updated

● Fedora 3 brought in the CMA (content model architecture) but we were already simulating a lot of that with our ISLANDORACM stream in Fedora 2.

Page 12: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Fedora 4

Fedora 4 is basically a rewrite that allows Fedora to leverage Modeshape and it’s underlying dependencies like Infinispan.

Modeshape has several rest apis include JSR-283 and it’s own Modeshape api.

Page 13: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Goals for Fedora 4According to the wiki link above the main goals for Fedora 4 are:● improved performance, enhanced vertical and

horizontal scalability● more flexible storage options● features to accommodate research data management● better capabilities for participating in the world of linked

open data ● an improved platform for developers—one that is easier

to work with and which will attract a larger core of developers.

Page 15: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Islandora and Fedora 4

● DiscoveryGarden has a developer working part time with the Fedora Futures project.

● UPEI was involved with some early sprints● We hope to have a beta Islandora release

soon after the Fedora 4 beta release.● Duraspace wiki

Page 16: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Challenges for Islandora● Security

○ Drupal servlet filter (currently extends Fedora3.x code)○ XACML (will it exist? will the vocabulary be the same?)

● Discovery○ Islandora uses ITQL and SPARQL for generating collection views of

objects. These will all have to be converted to using SPARQL. Triplestore will probably live outside of Fedora 4

○ Indexing in Solr (no gsearch for Fedora 4)

● Transactions (add support in islandora)

see the wiki for more details

Page 17: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Fedora 4 Current Status

Notes on Wiki

You can help, I believe they are looking for people to testing of Fedora 3 to Fedora 4 migrations etc.

Page 18: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Project Direction

Page 19: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Islandora Foundation

Member supported:● Partners - $10,000● Collaborators - $4000● Members - $2000

Page 20: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Islandora Foundation

Partners:

dicoverygarden and UPEI

Page 21: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Islandora Foundation

Collaborators:

University of Connecticut and York University

Page 22: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Islandora Foundation

Members: University of Manitoba

University of SaskatchewanAmerican Philosophical Society

University of South CarolinaDigiBESS (CNR-Ceris)Prince Rupert Library

Page 23: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Islandora Community

● Foundation Board○ Staff

● User groups○ Google Groups

■ Users■ Devs

○ Camps

● Committees○ Committers○ Roadmap

● Volunteers○ Code Reviewers○ Testers○ Developers

Page 24: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Foundation Board

● Board:○ Mark Leggott (Chair), University Librarian, UPEI○ John Eden (Treasurer), discoverygarden Inc.○ Jonathan Green (Secretary), discoverygarden Inc.

● Staff:○ Melissa Anez - Project & Community Manager○ 2014/2015 hire - Programmer/Release Manager

Page 25: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

User Groups

● Google Groups○ Users - 460 members○ Devs - 169 members

● Camps○ 2014: Berkeley, London, Toronto, Denver

■ 30 - 40 attendees■ Community presenters

Page 26: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Committees

● Committers○ A dozen developers with “push” access to GitHub○ 27 regular Committers Call attendees

■ Every other Thursday at 2:00 EST via Skype

● Roadmap Committee○ 9 members - from UPEI, dgi, IF, York, U of

Connecticut, and U of Toronto

Page 27: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Volunteers

● Code Reviewers○ Release Manager○ Component Manager○ Reviewer

● Testers○ Any user who wants to download

RC code/VMs to try out. Aimed at end users.

● Developers○ Anyone who contributes modules,

tools, forms, or any other code back to the community.

○ New CLA to accept contributions under a GNU license.

○ New Software Acceptance Procedure to define the steps.

Page 28: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

The old way...

Page 29: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

The new way...

http://xkcd.com/1195

Page 30: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Resources

Resources - http://islandora.ca/resourcesIdeawall - http://ideas.theideawall.com/islandoraDocumentation - https://wiki.duraspace.org/display/ISLANDORA/Islandora Blog & more - http://islandora.ca

Page 31: Melissa Anez - Islandora Foundation Paul Pound UPEI · Drupal 8 - Symfony2 Symfony is a PHP web application framework The move to Symfony will require some changes to modules. Hooks

Questions?