250 likes | 352 Views
Presented by Capstone Team #1. Integrating Content Management tool with Software Development Assistance (SDA). Guidance. Instructor Name: Dr. Alfredo Perez-Davila Email: perezd@uhcl.edu Mentor Name: Abbasi Dhilawala Email: Abbasi.Dhilawala@tietronix.com. Team Members. Omkar Wadkar
E N D
Presented by Capstone Team #1 Integrating Content Management tool with Software Development Assistance (SDA)
Guidance • Instructor • Name: Dr. Alfredo Perez-Davila • Email: perezd@uhcl.edu • Mentor • Name:Abbasi Dhilawala • Email: Abbasi.Dhilawala@tietronix.com
Team Members • Omkar Wadkar • wadkar05011@uhcl.edu • Team Leader/ Researcher/ Programmer/Developer • AdebiyiOlukayode • adebiyiO2496@uhcl.edu • Researcher/ Programmer/Web designer • PrachiPhatak • Phatakp7215@uhcl.edu • Researcher/ Programmer/Database administrator • Zhen-Yu Fang • Fangz5973@uhcl.edu • Researcher/ Programmer/Web developer
Introduction of SDA • What is SDA? • an engineering process automation tool that already has built in support for software development. • web based and is geared towards team development. • built on J2EE technologies like EJBs, Struts, Servlets, JSP and more. • The SDA UI framework is built upon a leading open source portal called Liferay.
Features of SDA (continued…) • Automates: • guiding the team through the process • clerical, tedious tasks & handoffs • process compliance • team collaboration & coordination • collection of metrics & status • Project Wide Visibility • process ‘execution’ • project status • Build, Deploy & Maintain Software • faster & easier • higher quality & safety • less expensively • Process Optimization • Project Reporting & Dashboard • Process Customization & Tailoring
System Details • Users, Roles, Authorization Packages Processes Activities Sub-processes Instruction Background Instruction Background
Requirements • The team should either select an open source content management tool or develop one for the integration. • The tool should store the content in a database. Preferably works with multiple leading database management tools like SQL Server, MySQL, Oracle etc • The tool should allow certain users with the appropriate right to create/modify the content with a rich text editor. • The tool should display the managed content to other users in a read only format.
Requirements • Provide a link for editing the processes Link to Edit Background & Instruction
Requirements Option to edit Instruction
Requirements Option to edit Background
Solution Approaches • Two solution Approaches • Research • Search a wiki • An open source content management tool • Should store the content in a database • Should allow users to create/modify • Should support rich text editing • Should support access control mechanism
Solution Approaches • Development. • Database approach • Plan of development • Search an open source web based editor • Integrate searched editor into SDA • Provide access control by applying locking mechanism
Solution Approaches • Why not 1st approach? • Although has all the functionalities its big in size . • Hard to integrate • Choose 2nd approach. • The rich text editor is lightweight • We can build staging area easily with the help of databases • Its easy to integrate lightweight text editor.
Implementation Layer • Class • Database
Class Prototypes • SDA Class Prototypes: • Model • com.tietronix.protal.model.ComtentModel • Action • com.tietronix.portlet.processadmin.action.ViewContentAction • com.tietronix.portlet.processadmin.action.EditViewContentAction • com.tietronix.portlet.processadmin.action.EditContentAction • com.tietronix.portlet.processadmin.action.EditSaveContentAction • Manager • com.tietronix.portal.manager.ActivityManagerExt • DAL • com.tietronix.portal.dal.ContentDAL
Class Prototypes ActivityMangerExt Action // Class Variables //Class Variables getEditableProcessesForUser() getProcessHierarchy() getLatestVersionContent() saveContent() publishContent() ViewContentAction() EditContentAction() SaveContentAction() PublishContentAction()
Class Prototypes – Manager ContentDAL //Class Variables viewContent(StringUserID) getContentInfoFromWorkingContent() insertContentToworkingContent() deleteContentFromWorkingContent() getContentInfoFromPublishedContent()updateDontentToPublishedContent() insertContentToPublishedContent()
Proposed design • The staging area can be built using two separate databases • Database 1: Publish area • Stores all the data published • Database 2 : Working area • Copies a record which is being modified from publish database • each record is locked by particular user
Database Schema • Publish Area Business Key
Database Schema • Working Area