Managing Documents on the Web Using Drupal, Alfresco & Cloud November 6 2013 Ian Norton – Senior Web Architect at Alfresco Good afternoon and firstly thank you all for coming to my talk, I'll try to keep you entertained and hopefully fully awake, feel free to raise your hand during the presentation – there will also be time for questions and answers at the end.
Introduction Ian Norton Senior Web Architect at Alfresco Drupal and Alfresco alfresco.com, summit, partners. My name's Ian Norton, I've been privileged to hold the position of Senior Web Architect at Alfresco for three exciting years now, we've seen a lot of change during that time, both in terms of Alfresco the product and our web infrastructure at Alfresco the company. When I started we were just pushing Alfresco 3.3 out, it shipped with a full version of CMIS 1.0 for the first time and the possibilities that this would open were just starting to be explored. CMIS is the common interface that allows Drupal and Alfresco to talk to each other, I'm not going to focus on that today, there are plenty of talks and resources around that this week at Summit. Not that long after I’d started at Alfresco I was asked by my boss to build a Drupal 7 site for a new product and integrate it with Alfresco, I’d had a bit of experience with Drupal 6 in the past but limited to tweaking themes, ECM integrations seemed like a pretty daunting task, I hope that people are able to leave here today and try this out for themselves, or feel like they can build on this and make use of what’s currently there
Agenda Drupal & Alfresco concepts. Real world usage scenarios. Alfresco Cloud. Timed demo. The future. Q&A. I'm going to talk about the concepts of using Drupal and Alfresco - when it makes sense, when it doesn't and then show you some real world usage scenarios and if time permits I’ll give you a sneak peak into the future of integrating these two.
Alfresco and Drupal Concepts A library of content. I’m working on the basis that everyone knows Alfresco in here, and that most people know Drupal but not perhaps in-depth, so I’m going to abstract a little and talk about the roles of the different systems and what them used together allows you to build, in my mind it’s a carefully curated, well structured library of content. If this seems old hat then please bear with me – we’ll go into more depth later on Libraries have been around for thousands of years, they’re nothing new. What is new is the way that we’re managing content, we can collaborate on a documents in Alfresco, have them approved by an editor and then have it published in our library. A whole document factory inside Alfresco, that’s great but where do your documents go after that? What If you need to push them out to your website, you need to do that in a safe controlled way and adding Drupal makes for an amazing delivery channel.
Concepts Document-centric web pages Why do we need to use Alfresco and Drupal together? Why not just use Alfresco? Alfresco is fantastic at managing and collaborating on information, it’ll do workflows, lifecycles. But how do I get that information to people? If I want to post a latest news item with a powerpoint in it, how do I add that in to my web page? Do I invite them all to my Share site? Do I quickshare the document? Those of course are possibilities but I want to ensure two things: I’m losing that visitor from my website, I want to keep them engaged and in reading my pages, not going off to another web site. What if that user isn’t part of my organisation? Ok, so why don’t we just use Drupal? Drupal’s great, it allows me to manage web pages and the navigational structure of my site really easily. I can add new pages, images and invite people to work on pages with me. I want them to see the latest version of the content, not the draft, not the one with the typo that got updated by the PR agency at the 11th hour. But what about documents? Can’t I just put my documents in Drupal? Sure you can but you’re losing that collaborative authoring environment, workflow, lifecycle. Download from your ECM and upload to Drupal = not good, poor admin experience, easy to have out of date files.
Concepts Production, lifecycle, workflow, authoring and collaboration So Alfresco gives us a content warehouse where documents are collaborated, approved and published, it’s a giant repository full of things that we want to push out to our website. All of our business logic is here, we can create renditions of documents to re-purpose them for different platforms.
Concepts Presentation, navigation and context. Every library needs a way of easily accessing the information. Drupal gives us a way of displaying this information in a clear fashion, we can control the navigation, how we promote the pages.
Alfresco & Drupal Real World So that’s the concepts of why we’d want to integrate and how we’d use each tool, now I want to show you how we’re actually using this in the real world and talk a little bit about the contributed modules that we use from Drupal.org. The site for this conference is a great example of how we use these two technologies.
Alfresco & Drupal Real World Cloud Sync CMIS Alfresco in the cloud Alfresco on-premise summit.alfresco.com We have three pieces of technology in our stack sitting on different servers, there are two that are accessible to people external to Alfresco, these are our cloud server and Drupal. Speak about system account.
Alfresco & Drupal Real World All of the session pages for Alfresco Summit (should) have the presentations at the bottom of the session page, We invited all of the Alfresco Summit Speakers to a cloud site, there they can download PowerPoint templates and are asked to place their slides in a specific folder, this content doesn’t have to be slides, code examples, audio and other documents can be added here.
So here’s our standard Summit page, hopefully you’ve seen this and hopefully you’ll write something nice in the review after my talk.
The main text on the page is a drupal text field just like any other Drupal web page, but below it we’ve added an additional field for CMIS folders, this one here is pointing to the folder ID for my presentation on the Summit Alfresco repository. This is being displayed using the theme in the CMIS Views module of Drupal, there are four built in themes, and if you wanted to you can add your own and have it appear completely differently.
The CMIS Object If we look closer you’ll see how the properties have mapped over between the two, we have the title field, description, last modified and the size. We’ve also gained a small thumbnail of the front page of the presentation, Alfresco generates these after new files are uploaded on to the server, this is a rendition and we can configure Alfresco to be pretty clever with these, I’ll talk more about that shortly. As a developer I have full access to properties in a CMIS object.
Alfresco & Drupal Real World Cloud Sync CMIS Alfresco in the cloud Alfresco on-premise summit.alfresco.com If a speaker goes in and updates their presentation on the Alfresco in the cloud site, it’ll kick off a cloud sync process that updates the Alfresco on-premise install, next time Drupal looks at the Alfresco repository it’ll get the new version of the document. The CMIS Views module builds on Drupal’s caching, so that object is cached for as long as the site cache is set for. We generally set this to three hours, but it’s just a GUI option that can be increased or decreased as needed. Why cache? Caching the CMIS object saves us from having to do an expensive CMIS query every time the page is loaded, if the document is updated then clicking it will result in the latest version being downloaded, we just might not see the latest meta data immediately on our Drupal site.
Alfresco in the Cloud Use Alfresco in the Cloud to collaborate externally. Use Alfresco on-premise to serve documents to Drupal.
Drupal modules we use CMIS API (7.x-1.6) https://drupal.org/project/cmis CMIS Views (7.x-1.1) https://drupal.org/project/cmis_views The two Drupal modules that make this possible are the CMIS API and CMIS Views, they’re both regularly updated and tested with new versions of Alfresco, the API builds on the PHP CMIS wrapper from apache chemistry. I’m going to demonstrate how easy it is to get up and running with these modules.
Timed Demo In under 10 minutes: Download and install Drupal CMIS modules. Upload this PowerPoint to Alfresco. Create a Drupal page and attach this PowerPoint. Update PowerPoint in Alfresco. So we’re going to run through a timed demo, I chose a timed demo as I thought it’d be something a bit different, I’ve going to run through each step and cross them off one by one until I’m done. Download and install Drupal CMIS modules. Upload this PowerPoint to Alfresco. Create a Drupal page and attach this PowerPoint. Update PowerPoint in Alfresco. This is all built using two modules, you can download them and try them yourself, or build on them and create something on top of them.
Timed Demo In under 10 minutes: Download and install Drupal CMIS modules. Upload this PowerPoint to Alfresco. Create a Drupal page and attach this PowerPoint. Update PowerPoint in Alfresco.
Timed Demo In under 10 minutes: Download and install Drupal CMIS modules. Upload this PowerPoint to Alfresco. Create a Drupal page and attach this PowerPoint. Update PowerPoint in Alfresco.
Timed Demo In under 10 minutes: Download and install Drupal CMIS modules. Upload this PowerPoint to Alfresco. Create a Drupal page and attach this PowerPoint. Update PowerPoint in Alfresco.
Timed Demo In under 10 minutes: Download and install Drupal CMIS modules. Upload this PowerPoint to Alfresco. Create a Drupal page and attach this PowerPoint. Update PowerPoint in Alfresco.
All built using just these CMIS API (7.x-1.6) CMIS Views (7.x-1.1) The two Drupal modules that make this possible are the CMIS API and CMIS Views, they’re both regularly updated and tested with new versions of Alfresco, the API builds on the PHP CMIS wrapper from apache chemistry. I’m going to demonstrate how easy it is to get up and running with these modules.
We’re all curators With Alfresco and Drupal we can all be curators, we can be the authors of the content, we can be the architects to build the surroundings that our content lives in. This is the 21st century library, from production, storage and delivery.
Questions?
Thank you Modules at: https://drupal.org/project/cmis https://drupal.org/project/cmis_views Getting Started at: http://nort.io/blog/getting-started-alfresco-drupal