Top Banner
IT Services R&D / ILRT Using emerging learning and research technologies to enable excellence Prospectus Editing Tool (PET) Mike Jones ([email protected])
23

Prospectus Editing Tool (PET)

Nov 19, 2014

Download

Technology

MrJ1971

Presentation given at the T44U 2013 conference. The presentation covers the work at the University of Bristol on the Prospectus Editing Tool (PET) and the experiences of using the T4 API.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

Using emerging learning and research technologies to enable excellence

Prospectus Editing Tool (PET)

Mike Jones ([email protected])

Page 2: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

Overview

• The drivers and opportunities of the Prospectus project

• The rationale for developing PET

• How we use the TERMINALFOUR Site Manager API in PET

• The pros and cons of our approach

• Experiences of using the TERMINALFOUR Site Manager API

Page 3: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

A workflow-driven web application for collating, editing and approving content for the undergraduate and postgraduate prospectuses.

What is PET?

Page 4: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

Content for Web …

Page 5: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

… and Print …

Page 6: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

… all stored in Site Manager

Page 7: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

We needed to replace old software

http://www.flickr.com/photos/bogdansuditu/2377842887

Page 8: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

Opportunity to review processes

http://www.flickr.com/photos/videolux/2389320345/

Page 9: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

Why develop PET?

• Reluctance to train ~100 academics and faculty staff in using Site Manager for just prospectus content

• Needed to control access to content via roles (Editor, Faculty Reviewer, Print Reviewer and Prospectus Administrator) that didn’t fit with Site Manager roles

• Wanted a robust standards-based workflow engine

• A request for ‘simplified editing screens’

Page 10: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

Architecture

Site ManagerPET

Workflow DB

Custom tag brokers

PET DB CMS DB Data Warehouse

Page 11: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

Core Technology for PET

• Spring Framework (http://spring.io)• Spring MVC• Spring Security

• Activiti BPM Platform (http://www.activiti.org)

• MyBatis (http://github.com/mybatis)

• Ehcache (http://ehcache.org)

• TERMINALFOUR Site Manager API

Page 12: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

Content is abstracted to Domain Objects

• Web application passes around domain model objects that represent people, programmes, faculties, subjects etc

• For Site Manager content an object is made of a Section + Metadata + Content

• Implemented mappings from variables in the Java objects to Site Manager content via custom annotations

• Support a subset of types – plain text, numbers, list (not sub-lists), content links …

Page 13: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

Mapping Content

@SectionIDprivate Integer id;

@ContentIDprivate Integer contentId;

@VersionFieldprivate String version;

@MetadataField(“keywords“)private String keywords;

@ContentField(“UCAS code”)private String ucasCode;

@ContentField(“Award”)private String award;

Page 14: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

Support for the web view

• Validators check withthe CMS for mandatory fields

• Get list values

• Show field names and descriptions (can be overridden)

Page 15: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

Workflow

• Activiti BPM Platform

• Support BMN 2.0

• Design the workflowwith an Eclipse plugin

• Java and a REST API

• Supports different tasks – Email, Script, Business Rule etc

Page 16: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

Progress

• Still a work in progress

• Currently being used by Undergraduate Recruitment

• Soon to be released to Postgraduate Recruitment

• Undergraduate prospectus will be published in February 2014 (I still need to write some Custom Brokers)

• Positive feedback from academics. Student Recruitment positive but have lots of suggestions for improvement.

Page 17: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

Pros and cons of our approach

• Flexible system that can adapt to the needs of Student Recruitment

• Benefit from the advantages of Site Manager while providing an easy-to-use interface for the academics

• Powerful workflow that can be adapted to changing business processes

• BUT … the heavy use of the Site Manager API means we cannot update our CMS until PET is fully tested against new versions of Site Manager

Page 18: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

Experiences of using the Site Manager API

• We have used the API for:

• The development of PET

• The migration of Plone content to Site Manager

• Populating users and groups in Site Manager from LDAP

It is very powerful!

Page 19: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

Documentation

http://www.flickr.com/photos/53326337@N00/3820645253

Page 20: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

Should you avoid parts of the API?

http://www.flickr.com/photos/robwatling/5059689668/

Page 21: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

Pass a Connection or a Statement?

• Initially surprised that you deal with JDBC objects directly but we embraced it

• Decided to pass in a Statement rather than a Connection so we can ensure the Statement was closed

• You can’t always pass in a Statement; some API calls query the database but don’t even require a Connection ...

• … which ties you to the SM Connection pool implementation

Page 22: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

Bits and bobs

• More examples needed

• No notes on API changes in the release notes

• Not trivial to setup a development environment – I use maven overlays to make my life easier

• Support for transactions?

• Cache – not able to notify the Site Manager cache that a remote application has added or modified content.

• No support for repository standards – JSR-170 / JSR-283 or CMIS

Page 23: Prospectus Editing Tool (PET)

IT Services R&D / ILRT

Questions?