150 likes | 382 Views
”Introduction to CMS for Applied Research“ Linking People, Thoughts, Tasks, Documents and Code for successful research project management July 2014. Wilhelm Wimmreuter wilhelm@wimmreuter.de. CMS for Research Projects. Agenda Objectives Tools of the Trade
E N D
”Introduction to CMS for Applied Research“Linking People, Thoughts, Tasks, Documents and Codefor successful research project management July 2014 Wilhelm Wimmreuter wilhelm@wimmreuter.de
CMSforResearch 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 http://projects.rtc.iit.edu/tsetup
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
Tools of the Trade To support experiments, teaching and examination, the RTC Configuration-Management-System provides: • Active and accountable references and links betweenresearchers, 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.
Implementation Server & Components • The track system with plug-ins is installed onhttp://projects.rtc.iit.edu a CNAME for elgin.rice.iit.edu • Major Components: • Ubuntu 12.04 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
Implementation Overview CMS Software CMS Databases Proj DBbabl Proj DBmain Trac: Web-basedProject Management Proj DBtsetup ... Proj DBtsetup Reposit.babl SVN Code Repository ... Reposit.proj-x GIT Code Repository ... Note: The Trac project “main” is a project reference to all other RTC-projects. URL: http://projects.rtc.iit.edu. MailAccount
Implementation References The CMS is documented in the Trac-Setup-Project “tsetup”at: http://projects.rtc.iit.edu/tsetup • Important Wiki Pages in the “tsetup” project: • TracSetupCmsOV a overview of the CMS setup • TsuRoles Roles for RTC Project Management & Operations • TsuTracOp RTC Track operational hints. E.g. project setup • SvnHints SVN operation and addressing modes Dav-SVN… • TsuBack The Backup System: Scripts, Configuration, Auto-Start • Other resources in the “tsetup” project: • tsetup/browser Configuration- & Souce-Code for “tsetup” • tsetup/report Tickets for tasks and error reporting • tsetup/roadmap Milestones and completion status for roadmap
Project Lifecycle Work Flow ManagementProfessor, Assistant, … Project OwnerContributors & Members Project Definition Result: Project Short-Name Project Setup (add-Proj.sh) Result: Project-CredentialsLx-User, Trac, SVN Config. & Content(SSH, http) Result: Secure-access, add users,Provide initial content Add/Update content(SVN,http) Done by: Proj. Users & Contributors Support proj. lifecycle(http) Result:Assist and validate Finalize Project(http) Result: All Milestones Closed Decide Project Finalization Result: Keep-published or delete Project Del. (del-Proj.sh) Result:All content deleted
Trac Operation Hints: Project Setup & Removal RTC uses TRAC forResearch Project Management This section talks about project setup only. Further documentation can be found in the Wiki of the Track-Setup-Project athttp://projects.rtc.iit.edu/tsetup • 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.shProjShrtNam: Create new project • $ del-Proj.shProjShrtNam: Delete existing project
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.shProjShrtNam • 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.
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.shProjShrtNam 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!
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/SvnHints • SVN: $ svn checkout --username projUserNamehttp://projects.rtc.iit.edu See further documentation at SvnHints Wiki page of “tsetup” project • 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) V-0.8-var V-0.9-var Branches: Development variants R:35 R:82 R:83 R:20 R:34 R:80 Trunk:Main development R:81 R:21 Tags: Production releases V-1.01 V-1.02
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 backupScripts are executed automatically through cron-jobs.bak-l-rsyn.sh, bak-r-rsyn.sh, bak-set-dayly.shSee tsetup/wiki/TsuBack for further information