Presentation on theme: "”Introduction to CMS for Applied Research“ Linking People, Thoughts, Tasks, Documents and Code for successful research project management July 2014 Wilhelm."— Presentation transcript:
”Introduction to CMS for Applied Research“ Linking People, Thoughts, Tasks, Documents and Code for successful research project management July 2014 Wilhelm Wimmreuter
2 CMS for Applied Research CMS for Research Projects Agenda Objectives Tools of the Trade Implementation Overview & References Project Lifecycle Roles and Workflow Usage Hints for Track-Setup & SVN Security & Backup Note: This slides contain a brief overview of project installation and workflow only! More detailed information is available at
3 CMS for Applied Research Objectives Support the whole Lifecycle of Research Projects Project definition Theory and expectations Definition of the experiment Resources and technology required Documentation of the experiment References of information and measurement Software implementation and execution Results and scientific papers Business considerations; nurturing, deployment Final delivery and defense of results
4 CMS for Applied Research Tools of the Trade To support experiments, teaching and examination, the RTC Configuration-Management-System provides: Active and accountable references and links between researchers, thoughts, tasks, documents, code, … Public access to documents & experiments if desired Simple and open validation collaboration processes Skills for Project Management tools the industry needs The RTC CMS provides SW-Project-Management Tools WIKI and file attachments for documentation Roadmap / Milestones, Ticketing, Timelines for planning Source code repositories SVN, GIT, etc User Management with access restrictions.
5 CMS for Applied Research Implementation Server & Components The track system with plug-ins is installed on a CNAME for elgin.rice.iit.edu Major Components: Ubuntu operating system additional programs Sqlite as the database of choice (default for Trac) Trac V 1.2 with a number of plug-ins and additional tools Subversion as the Code-Repository versioning tool GIT another Code Repository Backup System: versioned backup on local & remote servers Mail for notification on important events
6 CMS for Applied Research Implementation Overview Trac: Web-based Project Management SVN Code Repository GIT Code Repository Mail Account Proj DB main Proj DB tsetup Proj DB babl Proj DB tsetup Reposit. babl... CMS SoftwareCMS Databases Reposit. proj-x Note: The Trac project “main” is a project reference to all other RTC-projects. URL:
7 CMS for Applied Research Implementation References The CMS is documented in the Trac-Setup-Project “tsetup” at: Important Wiki Pages in the “tsetup” project: TracSetupCmsOV a overview of the CMS setupTracSetupCmsOV TsuRoles Roles for RTC Project Management & OperationsTsuRoles TsuTracOp RTC Track operational hints. E.g. project setupTsuTracOp SvnHints SVN operation and addressing modes Dav-SVN…SvnHints TsuBack The Backup System: Scripts, Configuration, Auto-StartTsuBack Other resources in the “tsetup” project: tsetup/browser Configuration- & Souce-Code for “tsetup”tsetup/browser tsetup/report Tickets for tasks and error reportingtsetup/report tsetup/roadmap Milestones and completion status for roadmaptsetup/roadmap
8 CMS for Applied Research Project Lifecycle Work Flow Management Professor, Assistant, … Project Owner Contributors & Members Config. & Content (SSH, http) Result:Secure-access, add users, Provide initial content Add/Update content (SVN,http) Done by:Proj. Users & Contributors Finalize Project (http) Result:All Milestones Closed Decide Project Finalization Result:Keep-published or delete Project Definition Result:Project Short-Name Project Setup (add-Proj.sh) Result:Project-Credentials Lx-User, Trac, SVN Support proj. lifecycle (http) Result:Assist and validate Project Del. (del-Proj.sh) Result:All content deleted
9 CMS for Applied Research Trac Operation Hints: Project Setup & Removal RTC uses TRAC for Research Project Management This section talks about project setup only. Further documentation can be found in the Wiki of the Track- Setup-Project at Each project therefore needs A Trac project instance for the Wiki, Roadmap, Tickets, … A SVN Source-Code-Repository with html access Optional a Unix user for manual administration Shell scripts to install & remove projects $ add-proj.sh ProjShrtNam : Create new project $ del-Proj.sh ProjShrtNam : Delete existing project
10 CMS for Applied Research Trac Operation Hints: Project Setup & Removal Install new RTC CMS Project Prerequisites Project-Manager Lx-User account with sudo rights Short-Name for the new project (from project Owner) Execution of Project Setup $ add-proj.sh ProjShrtNam Results in Home-Dir- of Mgmt-User & Trac Wiki Credentials for the owner of the project with instructions at: ~/RTC-proj-users/RTC-ProjShrtName-credentials- mmddyy.txt Wiki Start Page with Todo-List for the new owner SVN Repository with Branches, Taggs and Trunk directories Project reference in the “main” CMS Trac project.
11 CMS for Applied Research Trac Operation Hints: Project Deletion Delete existing RTC CMS Project Prerequisites Project Manager User Account with Sudo Rights Short-Name for the Project to be removed (from project Owner) Execution of Project Setup $ del-proj.sh ProjShrtNam This Command is very dangerous and therefore asks for Acknowledgement! Results Wiki with databases and all other content Deleted SVN Repository with all content deleted Project reference in “main” project must be deleted manually!
12 CMS for Applied Research Subversion Hints The RTC CMS uses Subversion and TRAC for configuration management with version-control, documentation, activity tickets and error tracking. TRAC:http://projects.rtc.iit.edu/tsetup/wiki/SvnHintshttp://projects.rtc.iit.edu/tsetup/wiki/SvnHints SVN:$ svn checkout --username projUserName See further documentation at SvnHints Wiki page of “tsetup” project SvnHints Subversion version tree sample for RTC-CMS projects SVN revisions (R:xx) are increased on every check-in of new/changed modules Production version are tagged with major and minor version V-x.yy (e.g. V-0.05) Branches: Development variants Trunk: Main development Tags: Production releases V-0.8-var R:20 V-1.01 R:21 R:34 R:35 R:80 R:81 R:82 R:83 V-0.9-var V-1.02
13 CMS for Applied Research Security & Backup Precautions for Security and Information loss Security The usual port-restrictions and firewall settings The system only allows SSH access to user accounts Fail2ban is a statistical method to block malicious access to SSH, Mail, web, etc. Backup to prevent information loss 3 scripts provide 1.) local, 2.) remote and 3.) versioned backup Scripts are executed automatically through cron-jobs. bak-l-rsyn.sh, bak-r-rsyn.sh, bak-set-dayly.sh See tsetup/wiki/TsuBack for further information bak-l-rsyn.shbak-r-rsyn.shbak-set-dayly.shtsetup/wiki/TsuBack