Mercy Baggot Street Canopy Intranet www.appnovation.com
Mercy Baggot Street Canopy Intranet Contents 1.0 Background P. 3 2.0 Project Overview P. 4 3.0 Modules P. 7 4.0 Other Technologies P. 9 * This project is based on Mercy s internal intranet system. We are unable to show screen shots due to our confidentiality agreement. P.2
1.0 Background Section 1.1 Mercy Project Overview Mercy Health (Mercy) supports several hospitals and clinics across many different geographical locations. Each geographical location has historically had its own dedicated intranet site. These sites were on different technologies and had a separate support structure. It was determined that a single unified co-worker portal was needed to support a vision of One Mercy and that began the start of Baggot Street as that portal. Since then Baggot Street has been launched as the home page for over 38,000 co-workers however, that was just step one of the process; Mercy still needed to migrate the documents and structure from the old intranet sites into Baggot Street. One of the main features Mercy wanted to have was the ability to upload and share three types of files used by the network of hospitals. These included: 1. Policies - enforced policies for a department, hospital, region, etc 2. Forms - filled out by both staff and customers 3. User content - personal folder for users to upload anything they want Furthermore, for policies and forms file-types Mercy wanted to have an approval workflow implemented. However this workflow would be different than a typical workflow because it would be started by a rule, use information about the department and content to know who to assign the workflow to, and then would allow the user to choose all the people that needed to approve the workflow, with the department head always getting final approval in the chain. Mercy also wants to have the Baggot Street portal become the one place for all co-workers to go to find people, places and things across all of Mercy s various data stores (Sharepoint, Wiki, Knowledge base, Document Repository, etc). P.3
2.0 Project Overview Section 2.1 Why Drupal? Mercy first chose which web content system to build Baggot Street upon and because Mercy had the vision that open source was the direction they wanted to go Drupal, with it s high-end framework with extensible functionalities, was the perfect choice. This was satisfactory until Mercy wanted to migrate documents into Baggot Street. Drupal, out of the box, did not provide a document management solution flexible enough to meet Mercy s business logic. Contributed modules such as: Workflow, Maestro, Revisioning, Actions, and other modules related to workflow and document management were considered but didn t prove to have the power necessary to support our solution. Section 2.2 Why Alfresco? In need of a document repository, Mercy then performed a comparison between Sharepoint and Alfresco. In comparing the ease of integration, ability to support the enterprise, the ease of use and the cost Mercy determined that Alfresco was the correct document repository solution. P.4
2.0 Project Overview Section 2.3 Why Appnovation & Canopy Canopy Integration for Mercy Baggot Street INTERNET FIREWALL APACHE REVERSE PROXY ALFRESCO & DRUPAL SYNC USERS AND INTEGRATE WITH ARCHIVE DIRECTORY VIA THE LDAP INTERFACE APACHE WEB SERVERS DRUPAL 6.X ALFRESCO & DRUPAL USE MYSQL 5.X DATABASE MYSQL 5.X DATABASE SERVER ACTIVE DIRECTORY SERVER LOAD BALANCER USE STICKY SESSION ALFRESCO 4.0 CLUSTERED ALFRESCO SERVERS IN A SINGLE CLUSTER SHARE THE CONTENT DIRECTORY ALFRESCO 4.0 STORAGE SOLR CLUSTERED EACH SOLR SERVER SHARES ITS OWN INDEXES TO DISK SOLR SHAREPOINT INTEGRATE DRUPAL, ALFRESCO SHAREPOINT & SERVICE DESK CONTENT INFO ONE SEARCH INDEX & INTERFACE SERVICE DESK Mercy Health originally reached out to Alfresco about using its software as the backend repository for all of their various Drupal web properties. As Mercy explained their use case and business needs to Alfresco, it was apparent that Appnovation s Canopy solution would be a perfect fit. Canopy by Appnovation integrates the highly scalable and popular open source website development tool with a world class open source document repository application with allowing for the best of both worlds. The Canopy framework is a set of services and APIs used to accelerate the integration of Drupal and P.5
2.0 Project Overview Section 2.3 Partnering with Appnovation and utilizing Canopy has enabled us to combine Drupal and Alfresco to create a world class policy maintenance tool, along with an awesome foundation for us to create innovative ways for us to collaborate and manage documents. This is just the beginning. - Brian Boyer, Manager Application Development, Mercy Health Systems Alfresco in an enterprise environment. Canopy combines the flexibility of Drupal as a front end web development platform with the power of Alfresco as an Enterprise content management and workflow system. Appnovation was introduced to Mercy by Alfresco because Appnovation was the only Solutions Integration Partner that had experience and expertise in integrating the two open source technologies together. No other providers were introduced for this reason. Alfresco and Appnovation began to explain to Mercy Health how this would be accomplished. After demoing a prototype of Canopy, Mercy was confident in their ability to supplement their internal development team in building out a Drupal / Alfresco integration. P.6
3.0 Objectives Section 3.1 Project Details PROJECT TEAMS 10 members from appnovation: 1 Account Manager 1 Project Manager 1 Technical Architect 5 Developers 1 Quality Assurance Analyst 1 Themer 9 members from MERCY HEALTH: 1 Project Sponsor 5 Developers 2 Quality Assurance Analyst 1 Business Analyst The objectives of the Mercy Health project were to: 1. Understand the Alfresco system architecture requirements to enable integration with Baggot Street 2. Develop and stand-up the Alfresco foundation required for the integration 3. Provide consulting and training to facilitate the Mercy Health team to develop, customize and maintain the integration between Alfresco and Drupal for Baggot Street 4. Provide guidance and training with the Records Management module in Alfresco for the Mercy Health ROi Drupal instance Ultimately, the final deliverable was an Intranet foundation setup on the Mercy Health Development Server (tested for 2 content types, data syncing, workflows and LDAP authentication features). P.7
3.0 Objectives Section 3.2 Project Management & Communication Project Phases PHASE 1 Functional Requirements Discovery PHASE 2 Technical Requirements Discovery & Architecture Design PHASE 3 Development: Alfresco Intranet Set-Up PHASE 4 Training The approach chosen for this project was a combination of Waterfall and Agile methodologies. The project was broken down into a number of phases to provide the structure and progressive framework that was required for this type of project: Phase 1: Functional Requirements Discovery Phase 2: Technical Requirements Discovery & Architecture Design Phase 3: Development (Alfresco Intranet Set-up) Phase 4: Training The Appnovation and Mercy Health teams worked very collaboratively during design and development phases of this project. Daily status meetings were held with representatives from both teams in attendance. These meetings typically lasted about 10 minutes and were effective in ensuring all parties were up-to- P.8
3.0 Objectives Section 3.2 date on recent activities and completed tasks as well as make any important announcements to the group. In addition to the daily status meetings, technical discussions were often held between members of the two teams on an ongoing basis and as needed (sometimes daily). Appnovation and Mercy Health utilized such tools as WebEx and Skype to allow screen sharing (for more efficient troubleshooting) and to provide real-time support and communication. 4.0 Development Section 4.1 Canopy Integration for Mercy.net & Baggot Street The Appnovation team developed the Alfresco Intranet foundation for mercy.net and Baggot Street which required setting up an inventory of Canopy modules and CMIS integration points. The existing Drupal intranet and website were replicated in a Mercy Health Development Environment while the Canopy modules and integration points were added to the system. On the Alfresco end, Appnovation set up the Java Server and Database environments based on the infrastructure identified during the discovery phase. Basic workflows were built as according to the parameters defined in the goals and requirements section of this case study and user sign-ins were set up using LDAP authentication. P.9
4.0 Development Section 4.2 Drupal - Alfresco Data Synchronization Integration Appnovation developed several custom REST based webscripts for mercy in order to batch certain operations into one call instead of several. These custom REST based webscripts/apis served as a bridge for synchronizing group nodes, group members, taxonomy terms and department/sub-department nodes between Drupal and Alfresco. Content is then able to synchronize in real-time meaning that at the time content is created on Drupal, it will also simultaneously be sent to Alfresco as well. If for any reason the content was not successfully delivered to Alfresco, the content will not be saved in Drupal and the user will be notified. Custom webscripts were also created in Alfresco to handle the manipulation of custom metadata so as to allow users to set the values in a document such as reviewer and department head. Thus allowing Drupal to trigger another custom script and initiate a workflow. Appnovation also set terms to be synchronized by using Alfresco s category system and creating a series of scripts to link up to Drupal s taxonomy through the ScriptAPI in Alfresco. Finally, Mercy needed to create folders for each department called by a Drupal function. The Appnovation team used the ScriptNode API to create the folder hierarchy based on the parent node of the company to create these folders. P.10
4.0 Development Section 4.3 Drupal - Alfresco - CMIS - Apachesolr Document Search Integration The idea behind this functionality is that Mercy Health wanted to be able to have faceted searching on the documents available in Alfresco. The Apachesolr module handles this out of the box. In order for Apachesolr to index documents form Alfresco, CMIS API was used to retrieve documents from Alfresco. Once the documents are available in Drupal, they are then saved as an Alfresco Document node and will be indexed by Apachelsolr the next time a cron job is executed. Section 4.4 Document Upload from Alfresco to Drupal Mercy Health wanted the ability for users to upload their documents from Drupal to Alfresco. For regular documents, CMIS API was used to upload content while for form documents custom webscripts were developed on top of CMIS API to trigger a workflow in Alfresco. Using CMIS to upload either document type (regular or form) would then trigger custom scripts built by Appnovation to set the metadata of the reviewer and department head. This custom work was done outside of the CMIS custom model. P.11
4.0 Development Section 4.5 Custom Workflow Custom Workflow Diagram ASSIGN APPROVERS REVIEW TASKS BY APPROVERS DEPT HEAD REVIEW TASK DOCUMENT REJECTED DOCUMENT APPROVED BY HEAD Mercy Health had a custom requirement that when a document was uploaded, the uploader would then be prompted to choose to the person to set as the reviewer and the department head. Any reviewer would then be allowed to specify multiple users to review and approve the document. Once every reviewer had approved the document, it would then move on to finally be reviewed by the department head. Once the document is reviewed by all parties, (finishing with department head), it is then assigned back to the initial reviewer so they could then publish the document manually. At any point the document is rejected the whole process would be returned to the initial reviewer. P.12
VANCOUVER HE ADQUARTER S 152 W. Hastings Street Vancouver BC, V6B 1G8 T: +1 604 568 0313 F: +1 604 568 0314 ATL ANTA OFFICE 3414 Peachtree Road, # 1600 Atlant a, Georg ia 30326-1164 T: +1 404 850 9046 LONDON OFFICE 3000 Hillswood Dr ive Hillswood Business Par k Cher t sey K T16 0RS UK T: +44 (0) 1932 895 014 w w w.appnovation.com info@appnovation.com