Education ClassRoom/Practice

From Apache OpenOffice Wiki
< Education ClassRoom
Revision as of 13:12, 28 September 2008 by Ericb (Talk | contribs)

Jump to: navigation, search

Draft

Objective : create exercices, to practice OpenOffice.org tools used for development

TODO : define a list of items

Join the Project

Login and accounts

Find a page or a document

  • Find the web page for your own locale in OpenOffice.org project ( e.g. nl.openoffice.org )
  • Find the OpenOffice.org Coding Guidelines on the Wiki ( and read it ... )
  • Find the page about cws ( Child Workspace )
  • Find dev@gsl.openoffice.org mailing list archive
  • Subscribe to dev@education.openoffice.org mailing list if you didn't yet
  • Extract mails 10 to 14 from any mailing list


Bonsai use

  • Discover Bonsai
  • Visualize changes in a cws

1) Go to http://bonsai.go-oo.org/cvsqueryform.cgi

We'll try to do a request :)

2) Don't modify Module (must be All files in the repository ) Remark : note the name "repository "

3) In the Field "Branch" replace HEAD with cws_dev300_aquavcl07

4) in the field "Date" check "Since the beginning of time "

5) do not modify the other fields

6) Click "Run Query"

=> all the changes in the code, based on DEV300_m9 ( we'll explain later) are on the page !!

7) To see the diff for any commit, click in the Rev. columns. Back to retrieve the current page.

Strongly advised : 8) Look carefully at other changes, what information you can obtain here.

Remark: Bonsai helps when you are searching for changes in the code, author date .. precise information about CODE

LXR use

[Complete me]

Checkout the code

Preliminary:

- we suppose you have some bash knowledge, and some programming skills

- your .cvsrc file is ok (else ask on #education.openoffice.org )

Now, open a terminal, use bash, and do :

0 ) create the environment


If you don't have a proxy, do :
  • what follows is a command line

export CVSROOT=":pserver:anoncvs@anoncvs.services.openoffice.org:/cvs"


There is a proxy, and nothing works using the line above, do:

Let the proxy be 100.101.102.103 ( name proxy.machine.education.org ) , and the open port 1234, then just do :

  • what follows is a command line

export CVSROOT=":pserver;proxy=100.101.102.103;proxyport=1234:anoncvs@anoncvs.services.openoffice.org:/cvs"


And if you ignore the IP address of the gateway, but you know its name, do
  • what follows is a command line

export CVSROOT=":pserver;proxy=proxy.machine.education.org;proxyport=1234:anoncvs@anoncvs.services.openoffice.org:/cvs"

IMPORTANT : proxy.machine.education.org is just a fake name, as example. Please replace it with the one in your network :)


... it should work now (else, contact your sys admin).

For the next step, create TMP dir (command: mkdir TMP )

cd TMP

1) checkout vcl module from DEV300_m31

cvs co -r DEV300_m31 dtrans

Question: what happens ?


Download all OpenOffice.org tree :

mkdir DEV300_m31

cd DEV300_m31

cvs -4 co -r DEV300_m31 OpenOffice2

( -z4 is optional )

-> once done ( can be very long), and if no error occurs, you got all OpenOffice.org source code from DEV300_m31 Milestone !!

Create a patch

2) Modify one file, do "cvs up" , and comment on the result

3) using grep , retrieve the name of the milestone in the sources

4) checkout vcl from a cws under development

cvs -z4 co -r cws_dev300_aquavcl07 vcl

5) retrieve the cwsname in the sources

6) analyse the list of the subdirectories vcl contains

7) modify the code in vcl/source/gdi/sallayout.cxx

(write whatever you want, respecting C++ syntax prefered ;)

8) create a diff with the OpenOffice.org repository

change directory outside of vcl

in the current dir ( TMP ) , do :

cvs diff -u vcl > my_pretty_patch.diff

9) What does contain the patch ?

Apply and Reverse a patch

  • Simulate a patch application
  • Apply it for true


10) How reverse your changes ?

11) Be sure you have enough place on your hard disk ( count 2GB )

Fix a build breaker (most common breakages )

A) Building OpenOffice.org

Note: add your own experience here !

Missing modules

e.g. missing alias in DEV300_m13 : hyphen module is not checked, causing missing headers, never delivered and then, a breakage in lingucomponent because of undefined functions/methods and so on

Solution: check out hyphen

export CVSROOT=":pserver:anoncvs@anoncvs.services.openoffice.org:/cvs"

Note: there is another solution for experimented devs, using tunnel

cvs co -r DEV300_m13 hyphen

Missing Files
Warnings
Missing headers
(deprecated) gcc parser issues

B) Hacking OpenOffice.org

Syntax Errors
Missing headers
Multi inclusions
Linking issues
Visibility
Personal tools