Post on 28-Mar-2015
1
Give the dog a PloneDominic HilesKieren Pitts
2
Introduction
• Who are we?• What is Plone?• Implementing the Plone CMS• Plone pitfalls• Summary
3
ILRT
• Unique combination of projects, services and research with national and international reputation
• 75-80 Staff• Semantic Web – RDF, XML, RSS and more• Elearning – Biz/ed, LTSN, LTSS• Digital Images – TASi, Biomed• Digital Libraries Portals – SOSIG, Regard,
Subject Portals• Internet Development (ID)
4
Who are we?
• Dominic Hiles– Web developer– Background in information systems design
• Kieren Pitts– Senior Technical Researcher– Web development– Previously a research biologist
5
Internet Development (ID) group
• 10+ staff: usability engineers, designers, developers (plus other ILRT staff)
• Consultancy unit – academic and public sectors
• Web sites, eLearning tools, car-share software, survey software, content management systems
• Usability reviews, testing, technical reviews
6
Clients (2002-04)
• University of Bristol (40-50%)
• 48 Universities using CROS• 5 Universities using BOS• Bristol City Council, Temple
Quay companies, NHS, Ford UK, Oxford Universities, Swansea (234car)
• University of Southampton (BOPCRIS)
• HESDA• HEFCE – Good Management
Practice• UCISA
• SCONUL• Church of England• Institute for Fiscal Studies• Environment Agency• INASP• JISC Assist• Children’s Society• West Yorkshire Archive
Service• National Maritime Museum• CILIP, BIOME, BECTA, DLTR,
LTSN centres and more…
7
What is Plone?
• A Content Management System (CMS)• Version 2 released Easter 2004• Built on Zope…
– An open-source Web application server– Written in Python (also used in Google!)
• …and CMF– Content Management Framework– Arguably, a "bare bones" CMS implementation
8
The Plone Environment
Zope
Plone
CMF
Web application
Optional Web server (e.g. Apache)
9
Plone features
• Open source• TTW management• XHTML• Extensible workflow
system• Accessible GUI• Search engine• WYSIWYG or external
XHTML editing
• Effective and expiration dates for content
• Pluggable user management
• External RDBMS Connectivity
• Automated RSS feeds• Platform independent
10
Why Plone?
• Open Source• Free!• Feature rich - good fit with user
requirements• Experience with Zope• Platform independent
11
The Projects
• LTSN BEST– Business Education Support Team is the Business,
Management and Accountancy subject centre of the Higher Education Academy
– A "new" site
• Church of England– Migrating an existing site– 2000 static HTML pages– 350 images, 450 "text" files– 4 ASP Web applications, serving data from around
20,000 database records, held in 4 different databases
13
14
15
Real World Plone
16
Skins
• Fundamental Plone concept• Separate views on the same content• Advantages
– Avoids compromising site design for site administration ("My Plone")
– Usable, accessible (WAI AA) administrative interface already written and extensively researched/tested => reduced total cost of ownership
– Allows developer to customise different aspects of functionality separately
17
Content maintenance
1. Create the business roles – what should people be able to do to the content?
2. Create the workflow – provides the mechanism to underpin these roles
18
Content maintenance - roles
• What should content maintainers be able to do with the content?– Create and edit content?– Review and Publish content?– Remove content?
• Where on your site should they able to do it?– The whole site…– ...or just specified areas?
19
Content maintenance – roles (2)
• Managing the roles– Groups are created and named according
to a folder-dependant role• e.g. info_editors (editors of the info
folder)– Users are placed in group(s) according to
their role(s) in a given content area– Roles can also be created that allow users
to manage other users
20
Content maintenance - workflow
• The process underlying the business roles
• Can be simple…– All content is automatically published when saved or
edited
• …or complex– Content must be reviewed before publishing– Can be versioned and later retrieved or reverted
21
Private
Pending
Published
Reject
Retract
Submit
Publish
Retract
Publish
Re-edit(copy)
Versioned
Revert
22
Content migration
• Import of HTML and file objects (e.g. PDFs, Images)– Opportunity to migrate HTML to valid XHTML– Import process can be semi-automated
• Plone can connect to and display data from most existing RDBMS
• It may be better to import these data as Plone "objects"– e.g. "Churches for Sale" database
• Content extractable = exit strategy
23
Content editing
• TTW WYSIWYG editor– Kupu supplied as standard– edit-On Pro provides different feature set
• External editor (e.g. Dreamweaver)• Editing (X)HTML source• Upload new (X)HTML source
24
edit-On Pro in action
25
So, it's all rosy - not quite…
• Out the box, there's only one content role– Plone evolved from a community-orientated portal – No concept of business "ownership" – content "owned" by
creator
• Designing a collaborative workflow is hard – 40% of development time for Church of England
• No Versioning or Revisioning– We wrote our own…but lots now appearing
• No deletion management (cf. Windows Recycle Bin)– Again, we wrote our own
26
So, it's all rosy (2) ?
• User management– Devolving user management to non-developers not
possible by default– Relatively easy to extend Plone to allow this– 3rd Party Product (CMFMember) also available to
facilitate this
• Content migration– Again, no tools "out the box"– Migration to accessible XHTML invariably requires
some manual work
27
So, it's all rosy (3) ?
• Maintenance– Our development overlapped Plone 2
release cycle – not good!– Product testing required with each new
Plone release– Writing reusable code can cause problems– Some issues ameliorated by appropriate use
of CVS
28
Summary
• Skins – different views on the same content
• Roles – control what people can do and where
• User management – allocate roles• Workflow - mechanism underpinning the
roles• Content migration• Content editing
29
Discussion
Slides available at: http://www.ilrt.bris.ac.uk/publications/conf/IWMW2004/plone_slides.ppt
Contact:dominic.hiles@bristol.ac.ukkieren.pitts@bristol.ac.uk