140 likes | 154 Views
Join the IBM team to enable Moodle 1.9 and 2.0 to work with DB2 9.7, enhancing software engineering skills and community involvement. Collaboration, rapid decision-making, and technical writing emphasized.
E N D
Enablement of Moodle software to DB2 9.7 Raul F. Chong IBM Canada rfchong@ca.ibm.com Mario Briggs IBM India mario.briggs@in.ibm.com Gergana Markova SWG – Tivoli gmarkova@us.ibm.com Other Mentors: TBD for each team
Agenda • Introduction • The IBM team • What is it there for you? • The Project • Conclusion • Questions 2
The IBM Team • Project Lead: Gergana Markova • Project organization • Java, eXtremeProgramming, JUnit, Design Patterns • Project Lead: Raul F. Chong • Project organization, and technical assistance • DB2, Cloud computing • Technical writing • Lead Technical Mentor: Mario Briggs • Open-source enthusiast • Enablement of several open source projects to DB2 • PHP, Perl, Python, Ruby on Rails • Each team will have dedicated Lead Technical Mentor and Lead Project Mentor: TBD • Technical Mentors • The Go-To experts for any technical questions and challenges • Project Mentors • Project environment, scheduling • Facilitation & collaboration • Team dynamics • Other • Open Source Moodle resources and forums • IBM Academic Initiative Student Forum • IBM Developer Works resources 3
What is it there for you? • Software Engineering Skills • Team Project Planning and execution • Collaboration, Networking • Rapid Decision Making • Open source community involvement (process, resources..) • Research and resources evaluation • Other benefits • Interact closely with IBMers • Showcase your skills. • You *may* be recommended for a position at IBM or an internship at the IBM Toronto Lab. • May be part of a book team to write your experiences working with open source and DB2. 4
Moodle enablement to DB2 9.7 ProjectSub-projects:- Moodle 1.9 to DB2 9.7- Moodle 2.0 to DB2 9.7
What is Moodle? • Moodle is an Open Source Course Management System (CMS). It offers: • Scalability (from elementary schools to universities) • Flexibility: Can be used for fully online classes or to augment face-to-face learning (blended learning) • Adaptability: Provides forums, wikis, databases • Allows for collaborative communities • Assess students through assignments and quizzes • Moodle 1.9 is the current release used in most institutions, however, Moodle 2.0 will be released this Feburary 2010. There are drastic changes in the code. • Moodle 1.9 - 732,726 lines; $11M lifetime cost - ohloh.net • ADOdb (abstraction layer used by Moodle) - 7,930 lines; $94K lifetime cost - ohloh.net 6
General Project information • Goal • Enable Moodle to work with DB2 9.7 using DB2 Express-C edition (free version of DB2) • Moodle currently works with MySQL (and Oracle) • Two versions of Moodle to enable, 1.9 and 2.0. • Version 1.9 is partially enabled and running on the cloud at www.learndb2.org/moodle • General Project Technology/requirements • Open source, cloud computing for deployment • Programming Language: PHP • Eclipse or NetBeans (optional) • Project Repository of your choice (e.g., CVS) • Recommend using SF.net • Defect Tracking (SF.net tracker, Bugzilla, bitbucket, etc…) • Project Discussion Forum/Log of your choice (e.g., Wiki, Google Groups/Docs) • Unit testing of your choice • In the end, it’s your decision what to do! 7
Project Deliverables • Deliverables • Mandatory • Your project in a public repository, fully documented, contribute back to the Moodle community • Optional • An article/book that will be published on IBM DeveloperWorks detailing your experience 8
Moodle 1.9 to DB2 9.7 details • Project started in Sep 2009 by a team of 3 students from CSULB • Moodle 1.9 environment: • PHP - PHP: Hypertext Preprocessor: • HTML-embedded scripting language • Syntax is borrowed from C, Java and Perl • Goal: to allow web developers to write dynamically generated pages quickly • DB2 • IBM relational database management system • Offers industry leading performance, scale, and reliability on popular platforms (Linux, UNIX, Windows, z/OS, System i) • ADOdb • Database abstraction library for PHP • Used by Moodle; provides interface to DB2 9
Moodle 1.9 to DB2 9.7 details • Non-contamination policy: • Since Moodle is an open source project, IBMers cannot see the code to avoid ‘contamination’ • Students can tell IBMers the problems they encounter, and IBMers will help with advise/technical assistance • Refer to CSULB powerpoint presentation with more details, and issues encountered. 10
Moodle 2.0 to DB2 9.7 details • Students need to research what will be required for the enablement of Moodle 2.0 to DB2 9.7. • Moodle 1.9 used the ADOdb layer to interact with DB2. ADOdb is phased out in Moodle 2.0. • After performing an analysis of the code changes required, students can set up their testing environment, and proceed making the appropriate changes. 11
Moodle 1.9 and 2.0 Enablement - Suggested Approach Review Moodle 1.9 to DB2 enablement project experiences Environment setup Research changes requires – determine the project scope Implement changes Test Deployment (Go Live – Use Amazon Web Services)
Skills Required PHP Programming, nothing fancy DB2 skills (easy to learn if you already know other RDBMS) Basic web-application concepts Basic XML
Conclusion • Thank you for your time! • We’re here for you! • E.g. Can provide learning materials to learn DB2 quickly • Questions? • Project Ideas? 14