Difference between revisions of "DPS909 and OSD600 Winter 2009 OpenOffice.org Weekly Schedule"
(→Week 7 (Feb 23) - Selecting a project (Issue)) |
m (updated User link) |
||
(108 intermediate revisions by 9 users not shown) | |||
Line 2: | Line 2: | ||
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. | 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. | ||
+ | |||
+ | Most pages related to OpenOffice.org hosted here can be found through here: [[:Category:OpenOffice.org]]. | ||
=Part I – Essential Open Source Development Skills and Concepts= | =Part I – Essential Open Source Development Skills and Concepts= | ||
− | == Week 1 (Jan 12) - Course | + | == Week 1 (Jan 12) - Course Introduction == |
* Course introduction | * Course introduction | ||
Line 39: | Line 41: | ||
** [http://planetopenoffice.org/ Planet OpenOffice.org] | ** [http://planetopenoffice.org/ Planet OpenOffice.org] | ||
** [http://zenit.senecac.on.ca/~chris.tyler/planet/ OpenSource@Seneca Planet] | ** [http://zenit.senecac.on.ca/~chris.tyler/planet/ OpenSource@Seneca Planet] | ||
− | * Using | + | * Using wikis for collaborative writing |
** [http://www.wikipedia.org Wikipedia] and [http://www.mediawiki.org/ MediaWiki] | ** [http://www.wikipedia.org Wikipedia] and [http://www.mediawiki.org/ MediaWiki] | ||
** Intro to course wiki | ** Intro to course wiki | ||
*** "Yes, you can edit it!" | *** "Yes, you can edit it!" | ||
− | *** Common | + | *** Common editing tasks, history, and reverting changes |
*** Watches, [[Special:Recentchanges|Recent Changes]] | *** Watches, [[Special:Recentchanges|Recent Changes]] | ||
*** Comparing selected versions (cf. diff) | *** Comparing selected versions (cf. diff) | ||
Line 60: | Line 62: | ||
** [http://svn.services.openoffice.org/ooo/ SVN OOo] | ** [http://svn.services.openoffice.org/ooo/ SVN OOo] | ||
** [http://www.owlnet.rice.edu/~comp314/svn.html Source Control in Ten Minutes: a Subversion tutorial] | ** [http://www.owlnet.rice.edu/~comp314/svn.html Source Control in Ten Minutes: a Subversion tutorial] | ||
− | ** [http://distcc.samba.org/ | + | ** [http://distcc.samba.org/ distcc] |
Line 72: | Line 74: | ||
** [[Distcc Setup|Setup distcc on assigned computers]] | ** [[Distcc Setup|Setup distcc on assigned computers]] | ||
− | == Week 3 (Jan 26) - Complete [[Distcc Setup|distcc | + | == Week 3 (Jan 26) - Complete [[Distcc Setup|distcc Installation]], Managing and Building Large Source Trees == |
* Revision Control Systems (RCS) | * Revision Control Systems (RCS) | ||
** Introduction to RCS | ** Introduction to RCS | ||
Line 78: | Line 80: | ||
** Common concepts and tasks | ** Common concepts and tasks | ||
*** Repository | *** Repository | ||
− | *** Local | + | *** Local working copy |
− | *** Typical read-only activities: | + | *** Typical read-only activities: ''checkout, update'' |
− | * Using | + | * Using ''make'' to build software |
− | ** Intro to [http://en.wikipedia.org/wiki/Make_(software) | + | ** Intro to [http://en.wikipedia.org/wiki/Make_(software) ''make''] |
− | * Building | + | * Building large open source projects from source |
* '''Readings/Resources (to be completed)''' | * '''Readings/Resources (to be completed)''' | ||
− | ** [http://svnbook.red-bean.com/ Version Control | + | ** [http://svnbook.red-bean.com/ Version Control with Subversion (Online Book)] |
** [http://www.gnu.org/software/make/manual/make.html GNU Make] | ** [http://www.gnu.org/software/make/manual/make.html GNU Make] | ||
** Two simple [http://matrix.senecac.on.ca/~chris.tyler/osd600/makefile-examples.tgz makefile examples] | ** Two simple [http://matrix.senecac.on.ca/~chris.tyler/osd600/makefile-examples.tgz makefile examples] | ||
Line 95: | Line 97: | ||
* '''TODO (to be completed)''' | * '''TODO (to be completed)''' | ||
− | ** Install | + | ** 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. | ** 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 | + | ** Make two copies of the code and configure them; one to compile locally and other using distcc. |
** Start Building | ** Start Building | ||
*** [[OOo Fedora Build]] | *** [[OOo Fedora Build]] | ||
*** [[OOo Mac Build]] | *** [[OOo Mac Build]] | ||
*** [[OOo Windows Build]] | *** [[OOo Windows Build]] | ||
− | |||
== Week 4 (Feb 2) - Building Open Office (Continued), Issues == | == Week 4 (Feb 2) - Building Open Office (Continued), Issues == | ||
Line 109: | Line 110: | ||
** If completed move to next platform (at least two) | ** If completed move to next platform (at least two) | ||
* [http://qa.openoffice.org/issue_handling/project_issues.html Issues] | * [http://qa.openoffice.org/issue_handling/project_issues.html Issues] | ||
− | ** Filing or | + | ** Filing or submitting [http://qa.openoffice.org/issue_handling/basic_rules.html rules] |
*** Only one problem per issue | *** Only one problem per issue | ||
− | *** | + | *** Summary (recognizable, descriptive, meaningful) |
*** Able to recreate (step by step instructions) | *** Able to recreate (step by step instructions) | ||
*** Providing samples | *** Providing samples | ||
Line 123: | Line 124: | ||
** [http://www.openoffice.org/scdocs/issue_lifecycle.html Issue Life cycle ] | ** [http://www.openoffice.org/scdocs/issue_lifecycle.html Issue Life cycle ] | ||
** [http://qa.openoffice.org/issue_handling/project_issues.html About Issues] | ** [http://qa.openoffice.org/issue_handling/project_issues.html About Issues] | ||
+ | *Tinderbox Links | ||
+ | **[http://tinderbox.go-oo.org/ Tinderbox] | ||
+ | **[http://muenchen-surf.de/lohmaier/misc/All_about_Tinderbox.odp About TinderBox] | ||
* '''TODO''' | * '''TODO''' | ||
** Complete the build at least on two platforms | ** 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. |
− | == Week 5 (Feb 9) - Navigating | + | == Week 5 (Feb 9) - Navigating The Source Code == |
− | * Learning to be | + | * Learning to be "lost productively" |
− | ** Adding to | + | ** Adding to OpenOffice is not like writing a program from scratch |
** Leverage the existing code by reading, studying, and copying existing code | ** Leverage the existing code by reading, studying, and copying existing code | ||
− | * OpenOffice.org | + | * OpenOffice.org source code structure and style |
− | ** [http://api.openoffice.org/docs/DevelopersGuide/DevelopersGuide.pdf Developers | + | ** [http://api.openoffice.org/docs/DevelopersGuide/DevelopersGuide.pdf Developers guide] |
− | ** OOo directory structure | + | ** [http://wiki.services.openoffice.org/wiki/Source_code_directories OOo directory structure] |
− | * Searching for | + | * Searching for code |
** [http://svn.services.openoffice.org/opengrok/ {OpenGrok] | ** [http://svn.services.openoffice.org/opengrok/ {OpenGrok] | ||
− | * How to | + | * How to make changes |
** [http://wiki.services.openoffice.org/wiki/Building Building] | ** [http://wiki.services.openoffice.org/wiki/Building Building] | ||
− | ** [[Installing]] | + | ** [[Installing Multiple OOo Builds]] |
** [http://wiki.services.openoffice.org/wiki/Hacking Hacking] | ** [http://wiki.services.openoffice.org/wiki/Hacking Hacking] | ||
− | ** [http://wiki.services.openoffice.org/wiki/Tutorials Hackers | + | ** [http://wiki.services.openoffice.org/wiki/Tutorials Hackers tutorials] |
* [[Hacking procedure on Fedora]] | * [[Hacking procedure on Fedora]] | ||
Line 147: | Line 151: | ||
** [http://kohei.us/ooo/ "Roundtrip to Shanghai via Tokyo!!!"] | ** [http://kohei.us/ooo/ "Roundtrip to Shanghai via Tokyo!!!"] | ||
* '''TODO''' | * '''TODO''' | ||
− | ** | + | ** Complete week 4 TODO |
− | ** | + | ** Run, make a change, build, and then run again |
== Week 6 (Feb 16) - Patches, Build, GDB == | == Week 6 (Feb 16) - Patches, Build, GDB == | ||
− | * Guest | + | * Guest lecturer Eric Bachard, lead of OOo [http://education.openoffice.org/ Education Project] |
** Patches | ** Patches | ||
** Build | ** Build | ||
** [http://www.gnu.org/software/gdb/ GDB] | ** [http://www.gnu.org/software/gdb/ GDB] | ||
* '''Resources''' | * '''Resources''' | ||
− | ** [ | + | ** [[Debugging OOo]] Lectures by Eric Bachard |
− | |||
** [http://linux.about.com/od/commands/l/blcmdl1_patch.htm patch command] | ** [http://linux.about.com/od/commands/l/blcmdl1_patch.htm patch command] | ||
* '''TODO''' | * '''TODO''' | ||
− | ** | + | ** Complete week 5 TODO |
− | ** Test | + | ** 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 | + | == Week 7 (Feb 23) - Selecting a Project (Issue) == |
− | * [http://education.openoffice.org Education project] | + | * '''[http://education.openoffice.org Education project]''' |
− | ** Become a | + | ** Become a member: [http://education.openoffice.org/servlets/ProjectMemberList Membership] |
− | ** Select a | + | ** Select a project: [http://wiki.services.openoffice.org/wiki/Education_Project/Effort Available Projects] (search for those with Seneca tag) |
+ | ** [http://wiki.services.openoffice.org/wiki/Education_Project/Effort/Improve_Impress Additional projects] | ||
** Update Seneca page: [http://wiki.services.openoffice.org/wiki/Education_Project/Effort/Seneca Seneca Page On Education Project] | ** Update Seneca page: [http://wiki.services.openoffice.org/wiki/Education_Project/Effort/Seneca Seneca Page On Education Project] | ||
+ | * '''Resources''' | ||
+ | ** [[OOo Project List]] | ||
+ | ** [http://wiki.services.openoffice.org/wiki/Source_code_directories OOo Directories description] | ||
+ | ** [http://wiki.services.openoffice.org/wiki/ChildWorkSpace ChildWorkSpace(CWS)] | ||
+ | * '''TO DO''' | ||
+ | == Study break Week (Mar 02) - Study break== | ||
+ | == Week 8 (Mar 09) - Working on Issues== | ||
+ | '''Resources to help you with your projects:''' | ||
+ | * [http://api.openoffice.org/ The OpenOffice.org API (application programming interface) Project] | ||
+ | * [http://wiki.services.openoffice.org/wiki/API/Tutorials API Tutorials] | ||
+ | * [http://api.openoffice.org/docs/common/ref/index-files/index-1.html API Global Index] | ||
+ | * [http://api.openoffice.org/docs/cpp/ref/names/index.html Global Namespace in C++] | ||
+ | * [http://kohei.us/files/class_diagram.odg OpenOffice Class Diagram (.odg file)] | ||
+ | * [http://wiki.services.openoffice.org/wiki/Source_code_directories Source Code Directories] | ||
+ | * [http://docs.go-oo.org/ '''OpenOffice Documentation and all what you need from classes(Amazing!!!)'''] | ||
+ | * [http://udk.openoffice.org/cpp/man/tutorial/unointro.html C++ UNO tutorial] | ||
+ | |||
+ | == Week 9 (Mar 16) - Presenting Issues == | ||
+ | * Tue: filling spots | ||
+ | * Thu: | ||
+ | ** Andrew Braini, [http://wiki.services.openoffice.org/wiki/Education_Project/Effort/PyUNOupgrade Upgrade Python to 2.6], [http://www.openoffice.org/issues/show_bug.cgi?id=92413 Issue 92413] | ||
+ | ** Daeseon Moon, Improve impress style, Issue Link. | ||
+ | |||
+ | == Week 10 (Mar 23) - Presenting Issues == | ||
+ | * Tue: | ||
+ | ** No Presentation | ||
+ | * Thu: | ||
+ | ** [[User:Tiago|Tiago Moreira]], Building OpenOffice on OpenSolaris | ||
+ | ** Ladan Zahir, Fix MouseWheel jump in Calc, [http://www.openoffice.org/issues/show_bug.cgi?id=81907 Issue 81907]. | ||
+ | ** Bartosz Barcicki, [http://wiki.services.openoffice.org/wiki/Education_Project/Effort/Improve_Impress/Impress_Master_Copyable Make Impress Master Pages Copyable], [https://bugzilla.novell.com/show_bug.cgi?id=380039 Issue 380039]. | ||
+ | |||
+ | == Week 11 (Mar 30) - Presenting Issues == | ||
+ | * Tue: | ||
+ | ** Jerry Pau, [http://wiki.services.openoffice.org/wiki/Education_Project/Effort/Improve_Impress/Additional_3D_Transitions Implement additional 3D slideshow transitions], No Issue Link. | ||
+ | ** (Fred Wang, [http://wiki.services.openoffice.org/wiki/Education_Project/Effort/Improve_Impress/Document_Impress_Code 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, [http://wiki.services.openoffice.org/wiki/Education_Project/Effort/PyUNOupgrade Upgrade Python to 2.6], [http://www.openoffice.org/issues/show_bug.cgi?id=92413 Issue 92413] | ||
+ | ** Ladan Zahir, Fix MouseWheel jump in Calc, [http://www.openoffice.org/issues/show_bug.cgi?id=81907 Issue 81907]. | ||
+ | *Thu <b>ON #OSD600</b>: | ||
+ | ** [[User:Tiago|Tiago Moreira]], Building OpenOffice on OpenSolaris | ||
+ | ** Fred Wang, [http://wiki.services.openoffice.org/wiki/Education_Project/Effort/Improve_Impress/Document_Impress_Code Understand the Impress application (6)] | ||
+ | ** Bartosz Barcicki, [http://wiki.services.openoffice.org/wiki/Education_Project/Effort/Improve_Impress/Impress_Master_Copyable Make Impress Master Pages Copyable], [https://bugzilla.novell.com/show_bug.cgi?id=380039 Issue 380039]. | ||
+ | ** Jerry Pau, [http://wiki.services.openoffice.org/wiki/Education_Project/Effort/Improve_Impress/Additional_3D_Transitions Implement additional 3D slideshow transitions], No Issue Link. | ||
+ | |||
+ | |||
+ | '''Resources to help you with your projects:''' | ||
+ | * [http://docs.go-oo.org/ OOo Source Code Documentation (fragmentary)] | ||
+ | * [http://wiki.services.openoffice.org/wiki/Category:Impress Pages and documentation related to Impress] | ||
+ | * [http://wiki.services.openoffice.org/wiki/Source_code_directories Nice page to find out what's what] | ||
+ | |||
+ | [[Category:OpenOffice.org]] |
Latest revision as of 18:43, 11 May 2009
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.
Most pages related to OpenOffice.org hosted here can be found through here: Category:OpenOffice.org.
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)
- Tinderbox Links
- 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 Moreira, 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 Moreira, 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.
Resources to help you with your projects: