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
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 at the University of Bristol- an overview:TERMINALFOUR t44u 2013

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 at the University of Bristol- an overview:TERMINALFOUR t44u 2013

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 at the University of Bristol- an overview:TERMINALFOUR t44u 2013

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 at the University of Bristol- an overview:TERMINALFOUR t44u 2013

IT Services R&D / ILRT

Content for Web …

Page 5: Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44u 2013

IT Services R&D / ILRT

… and Print …

Page 6: Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44u 2013

IT Services R&D / ILRT

… all stored in Site Manager

Page 7: Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44u 2013

IT Services R&D / ILRT

We needed to replace old software

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

Page 8: Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44u 2013

IT Services R&D / ILRT

Opportunity to review processes

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

Page 9: Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44u 2013

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 at the University of Bristol- an overview:TERMINALFOUR t44u 2013

IT Services R&D / ILRT

Architecture

Site Manager PET

Workflow

DB

Custom tag brokers

PET DB CMS DB Data

Warehouse

Page 11: Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44u 2013

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 at the University of Bristol- an overview:TERMINALFOUR t44u 2013

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 at the University of Bristol- an overview:TERMINALFOUR t44u 2013

IT Services R&D / ILRT

Mapping Content

@SectionID private Integer id;

@ContentID private Integer contentId;

@VersionField private String version;

@MetadataField(“keywords“) private String keywords;

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

@ContentField(“Award”) private String award;

Page 14: Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44u 2013

IT Services R&D / ILRT

Support for the web view

• Validators check with

the CMS for mandatory

fields

• Get list values

• Show field names and

descriptions (can be

overridden)

Page 15: Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44u 2013

IT Services R&D / ILRT

Workflow

• Activiti BPM Platform

• Support BMN 2.0

• Design the workflow

with an Eclipse plugin

• Java and a REST API

• Supports different tasks –

Email, Script, Business

Rule etc

Page 16: Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44u 2013

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 at the University of Bristol- an overview:TERMINALFOUR t44u 2013

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 at the University of Bristol- an overview:TERMINALFOUR t44u 2013

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 at the University of Bristol- an overview:TERMINALFOUR t44u 2013

IT Services R&D / ILRT

Documentation

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

Page 20: Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44u 2013

IT Services R&D / ILRT

Should you avoid parts of the API?

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

Page 21: Prospectus editing at the University of Bristol- an overview:TERMINALFOUR t44u 2013

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 at the University of Bristol- an overview:TERMINALFOUR t44u 2013

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 at the University of Bristol- an overview:TERMINALFOUR t44u 2013

IT Services R&D / ILRT

Questions?