Difference between revisions of "DPS909 and OSD600 Winter 2009 OpenOffice.org Weekly Schedule"

From CDOT Wiki
Jump to: navigation, search
(Week 4 (Feb 5))
m (updated User link)
 
(131 intermediate revisions by 10 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 introduction ==
+
== Week 1 (Jan 12) - Course Introduction ==
  
 
* Course introduction
 
* Course introduction
Line 22: Line 24:
 
** Create an '''account''' on this wiki for yourself
 
** Create an '''account''' on this wiki for yourself
 
** Create a '''personal wiki page''' on this wiki
 
** 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
 
** Add a link for yourself to the [[People]] page and the [[Winter 2009 Open Source Students]] page
 
** Create a '''blog''' ([http://wordpress.com/ WordPress] or [https://www.blogger.com/ Blogger] or whatever) and create a feed category or tag called "open source"
 
** Create a '''blog''' ([http://wordpress.com/ WordPress] or [https://www.blogger.com/ Blogger] or whatever) and create a feed category or tag called "open source"
Line 37: 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 Wikis for collaborative writing
+
* 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 Editing tasks, History, Reverting changes
+
*** 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 58: 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/ DistCC]
+
** [http://distcc.samba.org/ distcc]
  
  
Line 70: Line 74:
 
** [[Distcc Setup|Setup distcc on assigned computers]]
 
** [[Distcc Setup|Setup distcc on assigned computers]]
  
== Week 3 (Jan 26) - Complete [[Distcc Setup|distcc installation]], Managing and Building large source trees ==
+
== 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 76: Line 80:
 
** Common concepts and tasks
 
** Common concepts and tasks
 
*** Repository
 
*** Repository
*** Local Working Copy
+
*** Local working copy
*** Typical read-only activities: Checkout, Update
+
*** Typical read-only activities: ''checkout, update''
* Using Make to build software
+
* Using ''make'' to build software
** Intro to [http://en.wikipedia.org/wiki/Make_(software) Make]
+
** Intro to [http://en.wikipedia.org/wiki/Make_(software) ''make'']
* Building Large Open Source Projects from Source
+
* Building large open source projects from source
  
  
 
* '''Readings/Resources (to be completed)'''
 
* '''Readings/Resources (to be completed)'''
** [http://svnbook.red-bean.com/ Version Control With Subversion (Online Book)]
+
** [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 93: Line 97:
  
 
* '''TODO (to be completed)'''
 
* '''TODO (to be completed)'''
** Install disstcc to work with all linux boxes at CDOT
+
** 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 complie localy and other using distcc.
+
** 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]]
Line 101: Line 105:
 
*** [[OOo Windows Build]]
 
*** [[OOo Windows Build]]
  
 
+
== Week 4 (Feb 2) - Building Open Office (Continued), Issues ==  
== Week 4 (Feb 5) ==
+
* Build
 
+
** Complete your build and update relative build wiki pages
 +
** If completed move to next platform (at least two)
 +
* [http://qa.openoffice.org/issue_handling/project_issues.html Issues]
 +
** Filing or submitting [http://qa.openoffice.org/issue_handling/basic_rules.html 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
 +
** [http://qa.openoffice.org/issue_handling/ Handling] and [http://qa.openoffice.org/issue_handling/workflowcharts/defect_triaging.pdf "Life Cycle"]
 +
** [http://qa.openoffice.org/issues/query.cgi "Issue Tracker"] (a modified version of [https://bugzilla.mozilla.org/ Bugzilla])
 
*Useful Links for Quality Assurance Testing (QAT/Reporting a Bug)
 
*Useful Links for Quality Assurance Testing (QAT/Reporting a Bug)
** [http://www.openoffice.org/issues/query.cgi Where to Query an Issue]
 
 
** [http://www.openoffice.org/scdocs/ddIssues_EnterModify.html#priority Priority Levels]
 
** [http://www.openoffice.org/scdocs/ddIssues_EnterModify.html#priority Priority Levels]
 
** [http://qa.openoffice.org/issue_handling/bug_writing_guidelines.html Bug Writing Guidelines]
 
** [http://qa.openoffice.org/issue_handling/bug_writing_guidelines.html Bug Writing Guidelines]
 
** [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]
 +
*Tinderbox Links
 +
**[http://tinderbox.go-oo.org/ Tinderbox]
 +
**[http://muenchen-surf.de/lohmaier/misc/All_about_Tinderbox.odp About TinderBox]
 +
* '''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.
 +
 +
== Week 5 (Feb 9) - Navigating The Source Code ==
 +
* 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
 +
** [http://api.openoffice.org/docs/DevelopersGuide/DevelopersGuide.pdf Developers guide]
 +
** [http://wiki.services.openoffice.org/wiki/Source_code_directories OOo directory structure]
 +
* Searching for code
 +
** [http://svn.services.openoffice.org/opengrok/ {OpenGrok]
 +
* How to make changes
 +
** [http://wiki.services.openoffice.org/wiki/Building Building]
 +
** [[Installing Multiple OOo Builds]]
 +
** [http://wiki.services.openoffice.org/wiki/Hacking Hacking]
 +
** [http://wiki.services.openoffice.org/wiki/Tutorials Hackers tutorials]
 +
* [[Hacking procedure on Fedora]]
 +
 +
 +
* '''Resources'''
 +
** [http://kohei.us/ooo/ "Roundtrip to Shanghai via Tokyo!!!"]
 +
* '''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 [http://education.openoffice.org/ Education Project]
 +
** Patches
 +
** Build
 +
** [http://www.gnu.org/software/gdb/ GDB]
 +
* '''Resources'''
 +
** [[Debugging OOo]] Lectures by Eric Bachard
 +
** [http://linux.about.com/od/commands/l/blcmdl1_patch.htm 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) ==
 +
* '''[http://education.openoffice.org Education project]'''
 +
** Become a member: [http://education.openoffice.org/servlets/ProjectMemberList Membership]
 +
** 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]
 +
* '''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

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

  • TODO
    • Create an account on this wiki for yourself
    • Create a personal wiki page on this wiki


Week 2 (Jan 19) - Collaborative and Community Development Practices



  • 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)
    • Introduction to RCS
    • cvs, svn, hg
    • Common concepts and tasks
      • Repository
      • Local working copy
      • Typical read-only activities: checkout, update
  • Using make to build software
  • Building large open source projects from source



Week 4 (Feb 2) - Building Open Office (Continued), Issues

Week 5 (Feb 9) - Navigating The Source Code


Week 6 (Feb 16) - Patches, Build, GDB

  • Guest lecturer Eric Bachard, lead of OOo Education Project
    • Patches
    • Build
    • GDB
  • Resources
  • 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)

Study break Week (Mar 02) - Study break

Week 8 (Mar 09) - Working on Issues

Resources to help you with your projects:

Week 9 (Mar 16) - Presenting Issues

Week 10 (Mar 23) - Presenting Issues

Week 11 (Mar 30) - Presenting Issues

  • Thu:
    • IRC: #OSD600

Week 12 (Apr 05) - Presenting Issues

  • Tue:
    • On IRC #OSD600
  • Thu:
    • On IRC #OSD600

Week 13 (Apr 12) - Presenting Issues


Resources to help you with your projects: