DPS909 and OSD600 Winter 2009 OpenOffice.org Weekly Schedule
Contents
- 1 Introduction
- 2 Part I – Essential Open Source Development Skills and Concepts
- 2.1 Week 1 (Jan 12) - Course Introduction
- 2.2 Week 2 (Jan 19) - Collaborative and Community Development Practices
- 2.3 Week 3 (Jan 26) - Complete distcc Installation, Managing and Building Large Source Trees
- 2.4 Week 4 (Feb 2) - Building Open Office (Continued), Issues
- 2.5 Week 5 (Feb 9) - Navigating The Source Code
- 2.6 Week 6 (Feb 16) - Patches, Build, GDB
- 2.7 Week 7 (Feb 23) - Selecting a Project (Issue)
- 2.8 Study break Week (Mar 02) - Study break
- 2.9 Week 8 (Mar 09) - Working on Issues
- 2.10 Week 9 (Mar 16) - Presenting Issues
- 2.11 Week 10 (Mar 23) - Presenting Issues
- 2.12 Week 11 (Mar 30) - Presenting Issues
- 2.13 Week 12 (Apr 05) - Presenting Issues
- 2.14 Week 13 (Apr 12) - Presenting Issues
Introduction
The course is broken into two parts. First, general open source and and community specific skills and ideas are taught. Students learn how to deal with the tools, techniques, and practices of the OpenOffice.org project and its community. Second, students are taught about extensibility models, and how to write Add-ons and Extensions.
Part I – Essential Open Source Development Skills and Concepts
Week 1 (Jan 12) - Course Introduction
- Course introduction
- Intro to open source
- Intro to the OpenOffice.org project
- OpenOffice.org Overview
- Becoming a contributor
- Sun, Community
- Readings/Resources
- "Cathedral and Bazaar" by Eric Raymond
- "Revolution OS" [film] (see also http://www.revolution-os.com/ or QA 76.9.A25 R68 2003)
- TODO
- Create an account on this wiki for yourself
- Create a personal wiki page on this wiki
- Add a link for yourself to the People page and the Winter 2009 Open Source Students page
- Create a blog (WordPress or Blogger or whatever) and create a feed category or tag called "open source"
- Read the Blog Guidelines for instructions on how to use your blog in the course
- Add your blog feed and info to the Open Source@Seneca Planet List so that it appears in the OpenSource@Seneca Planet
- Blog on your reactions to the readings for this week.
- Begin learning how to use IRC for communication. We'll cover this in detail next week, but it's better to get started early.
Week 2 (Jan 19) - Collaborative and Community Development Practices
- Collaborative development using on-line tools
- Intro to Internet Relay Chat (IRC)
- Blogs and Planets
- Using wikis for collaborative writing
- Wikipedia and MediaWiki
- Intro to course wiki
- "Yes, you can edit it!"
- Common editing tasks, history, and reverting changes
- Watches, Recent Changes
- Comparing selected versions (cf. diff)
- How to Edit a page
- Wikis used by OpenOffice.org
- Readings/Resources
- TODO
- Ensure all TODO items from week 1 are completed
- Comment in at least one other student's blog with your feedback to what they wrote. Reminder: Comments have to be approved for them to be be shown on your blog. Check your blog settings.
- Download the "Sun Microsystems Inc. Contributor Agreement (SCA)" from OpenOffice.Org Programming, sign it and email it to Copyrightfax@sun.com and CC it to Fardad.
- Subscribe to "dev AT education DOT openoffice DOT org" by sending an email to "dev-subscribe AT education DOT openoffice DOT org" and then confirming it by replying to the confirmation email.
- Add this wiki page to your watch list.
- Here is the IP addresses of the CDOT continent for you to log in to!
- Setup distcc on assigned computers
Week 3 (Jan 26) - Complete distcc Installation, Managing and Building Large Source Trees
- Revision Control Systems (RCS)
- Using make to build software
- Intro to make
- Building large open source projects from source
- Readings/Resources (to be completed)
- TODO (to be completed)
- Install distcc to work with all linux boxes at CDOT
- Check out the code with latest milestone from svn://svn.services.openoffice.org/ooo/tags/DEV300_mXX and time it and blog about it.
- Make two copies of the code and configure them; one to compile locally and other using distcc.
- Start Building
Week 4 (Feb 2) - Building Open Office (Continued), Issues
- Build
- Complete your build and update relative build wiki pages
- If completed move to next platform (at least two)
- Issues
- Filing or submitting rules
- Only one problem per issue
- Summary (recognizable, descriptive, meaningful)
- Able to recreate (step by step instructions)
- Providing samples
- Use attachments
- Avoid links, add relevant info. instead
- Handling and "Life Cycle"
- "Issue Tracker" (a modified version of Bugzilla)
- Filing or submitting rules
- Useful Links for Quality Assurance Testing (QAT/Reporting a Bug)
- TODO
- Complete the build at least on two platforms
- Collaborative-ly create and complete OOo Issues wiki page. A brief document from creating an issue to closing it.
- Learning to be "lost productively"
- Adding to OpenOffice is not like writing a program from scratch
- Leverage the existing code by reading, studying, and copying existing code
- OpenOffice.org source code structure and style
- Searching for code
- How to make changes
- Hacking procedure on Fedora
- Resources
- TODO
- Complete week 4 TODO
- Run, make a change, build, and then run again
Week 6 (Feb 16) - Patches, Build, GDB
- Guest lecturer Eric Bachard, lead of OOo Education Project
- Patches
- Build
- GDB
- Resources
- Debugging OOo Lectures by Eric Bachard
- patch command
- TODO
- Complete week 5 TODO
- Test and experiment with patches ie. create, dry run, apply... (blog, wiki)
- Use GDB and run OpenOffice in debug mode (blog, wiki)
Week 7 (Feb 23) - Selecting a Project (Issue)
- Education project
- Become a member: Membership
- Select a project: Available Projects (search for those with Seneca tag)
- Additional projects
- Update Seneca page: Seneca Page On Education Project
- Resources
- TO DO
Study break Week (Mar 02) - Study break
Week 8 (Mar 09) - Working on Issues
Resources to help you with your projects:
- The OpenOffice.org API (application programming interface) Project
- API Tutorials
- API Global Index
- Global Namespace in C++
- OpenOffice Class Diagram (.odg file)
- Source Code Directories
- OpenOffice Documentation and all what you need from classes(Amazing!!!)
- C++ UNO tutorial
Week 9 (Mar 16) - Presenting Issues
- Tue: filling spots
- Thu:
- Andrew Braini, Upgrade Python to 2.6, Issue 92413
- Daeseon Moon, Improve impress style, Issue Link.
Week 10 (Mar 23) - Presenting Issues
- Tue:
- No Presentation
- Thu:
- Tiago, Building OpenOffice on OpenSolaris
- Ladan Zahir, Fix MouseWheel jump in Calc, Issue 81907.
- Bartosz Barcicki, Make Impress Master Pages Copyable, Issue 380039.
Week 11 (Mar 30) - Presenting Issues
- Tue:
- Jerry Pau, Implement additional 3D slideshow transitions, No Issue Link.
- (Fred Wang, Understand the Impress application (6))
- Thu:
- IRC: #OSD600
Week 12 (Apr 05) - Presenting Issues
- Tue:
- On IRC #OSD600
- Thu:
- On IRC #OSD600
Week 13 (Apr 12) - Presenting Issues
- Tue:
- Daeseon Moon, Issue, Issue Link.
- Andrew Braini, Upgrade Python to 2.6, Issue 92413
- Ladan Zahir, Fix MouseWheel jump in Calc, Issue 81907.
- Thu ON #OSD600:
- Tiago, Building OpenOffice on OpenSolaris
- Fred Wang, Understand the Impress application (6)
- Bartosz Barcicki, Make Impress Master Pages Copyable, Issue 380039.
- Jerry Pau, Implement additional 3D slideshow transitions, No Issue Link.