Difference between revisions of "Education ClassRoom/Previous Logs/Introduction"

From Apache OpenOffice Wiki
Jump to: navigation, search
Line 1: Line 1:
{|
+
[11:03] ericb2 The principle is : I expose the points, without people talk  
|- id="t11:03"
+
| colspan="2" | ericb2The principle is : I expose the points, without people talk  
+
|| [[#t11:03|11:03]]
+
|- id="t11:03"
+
| colspan="2" | ericb2to avoid spare time
+
|| [[#t11:03|11:03]]
+
|- id="t11:03"
+
| colspan="2" | ericb2once the first part is finished, questions are welcome
+
|| [[#t11:03|11:03]]
+
|- id="t11:04"
+
| colspan="2" | ericb2in the middle of several points, I'll propose to practice by yourself
+
|| [[#t11:04|11:04]]
+
|- id="t11:04"
+
| colspan="2" | *sandeep (n=sandeep@59.180.40.219) has joined #education.openoffice.org
+
|| [[#t11:04|11:04]]
+
|- id="t11:04"
+
| colspan="2" | ericb2and the channel is the right place to discuss *afterwards* about those exercices
+
|| [[#t11:04|11:04]]
+
|- id="t11:04"
+
| colspan="2" | ericb2Let's go :)
+
|| [[#t11:04|11:04]]
+
|- id="t11:04"
+
| colspan="2" | ericb2For any newcomer, interested to contribute, the number of questions, the right order to ask them is different, and there is no
+
|| [[#t11:04|11:04]]
+
|-
+
| colspan="3" | magic method nor solution, to teach that.
+
|- id="t11:05"
+
| colspan="2" | ericb2Worst, a lot of time is needed before the autonomy arrives. Don't give up, and be patient.
+
|| [[#t11:05|11:05]]
+
|- id="t11:05"
+
| colspan="2" | ericb2What we propose is a mix of both courses and -sort of- personal support.
+
|| [[#t11:05|11:05]]
+
|- id="t11:05"
+
| colspan="2" | ericb2Of course, things are not perfect, and there is certainly a better way to do that. But let's try first, and then improve with you !
+
|| [[#t11:05|11:05]]
+
|- id="t11:05"
+
| colspan="2" | ericb2The Rule is: wait for the end of the  "course ", before to ask questions. thanks :-) ... but *ask* (a lot of) questions, when that's the
+
|| [[#t11:05|11:05]]
+
|-
+
| colspan="3" | moment  ( yes please do !! )
+
|- id="t11:06"
+
| colspan="2" | ericb2Important: if ever we don't have the answer (can occur), we'll notice the question, and provide you what we found later.
+
|| [[#t11:06|11:06]]
+
|- id="t11:06"
+
| colspan="2" | ericb2This course alone does not make sense: attendees must practice, and search by themselves (I tried to prepare some exercices for
+
|| [[#t11:06|11:06]]
+
|-
+
| colspan="3" | the courageous one ).
+
|- id="t11:06"
+
| colspan="2" | ericb2If ever people who searched don't find the answer to their problems, then they must ask on (e.g.) #education.openoffice.org IRC
+
|| [[#t11:06|11:06]]
+
|-
+
| colspan="3" | channel. We'll help them with pleasure !
+
|- id="t11:06"
+
| colspan="2" | ericb2Disclaimer: only vanilla OpenOffice.org source code will be described here
+
|| [[#t11:06|11:06]]
+
|- id="t11:07"
+
| colspan="2" | ericb2About the Community "behaviour"
+
|| [[#t11:07|11:07]]
+
|- id="t11:07"
+
| colspan="2" | ericb2This course aims to share the knowledge, and create a community of people helping together. Now, if you think you can propose
+
|| [[#t11:07|11:07]]
+
|-
+
| colspan="3" | a ClassRoom, because you have some skill, please do !! ( contact me). I'll be glad if ever I can share everything I have learned since I contribute to
+
|-
+
| colspan="3" | the project.
+
|- id="t11:07"
+
| colspan="2" | ericb2Don't forget that be regular and serious is a key for success
+
|| [[#t11:07|11:07]]
+
|- id="t11:07"
+
| colspan="2" | ericb2Last but not least, we need contributors and people involved, because there is always a lot to do.
+
|| [[#t11:07|11:07]]
+
|- id="t11:08"
+
| colspan="2" | ericb2A) Short description of the  OpenOffice.org Project
+
|| [[#t11:08|11:08]]
+
|- id="t11:08"
+
| colspan="2" | ericb2Shortly: the name OpenOffice.org means both the software and the organisation.
+
|| [[#t11:08|11:08]]
+
|- id="t11:08"
+
| colspan="2" | *valeuf_ (n=valeuf@mer90-1-88-166-249-32.fbx.proxad.net) has joined #education.openoffice.org
+
|| [[#t11:08|11:08]]
+
|- id="t11:08"
+
| colspan="2" | ericb2For the history, please read the website, or wikipedia, everything is written ten times already :)
+
|| [[#t11:08|11:08]]
+
|- id="t11:08"
+
| colspan="2" | ericb2For us, everything is project in OpenOffice.org, and everything is a framework.
+
|| [[#t11:08|11:08]]
+
|- id="t11:08"
+
| colspan="2" | ericb2About Projects, there are :
+
|| [[#t11:08|11:08]]
+
|- id="t11:08"
+
| colspan="2" | ericb2- Accepted projects
+
|| [[#t11:08|11:08]]
+
|- id="t11:09"
+
| colspan="2" | ericb2http://projects.openoffice.org/accepted.html
+
|| [[#t11:09|11:09]]
+
|- id="t11:09"
+
| colspan="2" | ericb2- Native Lang Community Projects :
+
|| [[#t11:09|11:09]]
+
|- id="t11:09"
+
| colspan="2" | ericb2http://projects.openoffice.org/native-lang.html
+
|| [[#t11:09|11:09]]
+
|- id="t11:09"
+
| colspan="2" | ericb2- Incubator Projects : i.e. Education Project.  ( US !! )
+
|| [[#t11:09|11:09]]
+
|- id="t11:09"
+
| colspan="2" | ericb2Fortunaly, everything can be summarized in two links :
+
|| [[#t11:09|11:09]]
+
|- id="t11:10"
+
| colspan="2" | ericb2- http://www.openoffice.org
+
|| [[#t11:10|11:10]]
+
|- id="t11:10"
+
| colspan="2" | *Remaille (n=remi@ip-211.net-89-3-210.rev.numericable.fr) has joined #education.openoffice.org
+
|| [[#t11:10|11:10]]
+
|- id="t11:10"
+
| colspan="2" | *ChanServ gives channel operator status to Remaille
+
|| [[#t11:10|11:10]]
+
|- id="t11:10"
+
| colspan="2" | ericb2- http://wiki.services.openoffice.org/wiki/Main_Page
+
|| [[#t11:10|11:10]]
+
|- id="t11:10"
+
| colspan="2" | Remaillehi
+
|| [[#t11:10|11:10]]
+
|- id="t11:11"
+
| colspan="2" | ericb2Nobody else than you can do it for you : visit these links, be curious and discover
+
|| [[#t11:11|11:11]]
+
|-
+
| style="background-color: #407a40" | div align="left" style="color:green; font-size:14px"
+
| style="color: #407a40" colspan="2" | ''' [11:11] ericb2Find more information / Practice by yourself  in 8 questions ''' </div>
+
|-
+
| style="background-color: #407a40" | div align="left" style="color:green; font-size:14px"
+
| style="color: #407a40" colspan="2" | '''""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'''</div>
+
|-
+
| style="background-color: #407a40" | div align="left" style="color:green; font-size:14px"
+
| style="color: #407a40" colspan="2" | 1) Create your login on the OpenOffice.org wiki</div>
+
|-
+
| colspan="3" | <div align="left" style="color:green; font-size:14px">2) Find the web page for your own locale in OpenOffice.org project ( e.g. nl.openoffice.org )</div>
+
|-
+
| colspan="3" | <div align="left" style="color:green; font-size:14px">3) find the OpenOffice.org Coding Guidelines on the Wiki ( and read it ... )</div>
+
|-
+
| style="background-color: #407a40" | div align="left" style="color:green; font-size:14px"
+
| style="color: #407a40" colspan="2" | 4)  find the page about cws ( Child Workspace )</div>
+
|-
+
| colspan="3" | <div align="left" style="color:green; font-size:14px">5) become member of Education Project, using the Education Project wiki page :
+
|-
+
| colspan="3" | http://wiki.services.openoffice.org/wiki/Education_Project</div>
+
|-
+
| style="background-color: #407a40" | div align="left" style="color:green; font-size:14px"
+
| style="color: #407a40" colspan="2" | 6) find dev@gsl.openoffice.org mailing list archive</div>
+
|-
+
| colspan="3" | <div align="left" style="color:green; font-size:14px">7) subscribe to dev@education.openoffice.org mailing list if you didn't yet</div>
+
|-
+
| colspan="3" | <div align="left" style="color:green; font-size:14px">8) extract mails 10 to 14  from any mailing list</div>
+
|-
+
| colspan="3" | <div align="left" style="color:green; font-size:14px">Note: everything has to be done outside of the ClassRoom</div>
+
|-
+
| style="background-color: #407a40" | div align="left" style="color:green; font-size:14px"
+
| style="color: #407a40" colspan="2" | not now :) </div>
+
|-
+
| style="background-color: #407a40" | div align="left" style="color:green; font-size:14px"
+
| style="color: #407a40" colspan="2" | '''""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'''</div>
+
|- id="t11:12"
+
| colspan="2" | ericb2Open Question : what about create a FAQ on the wiki, somewhere in Education Project ? 
+
|| [[#t11:12|11:12]]
+
|- id="t11:12"
+
| colspan="2" | ericb21) Discover the OpenOffice.org Developer World
+
|| [[#t11:12|11:12]]
+
|- id="t11:12"
+
| colspan="2" | ericb2Composed of tools, methods and resources
+
|| [[#t11:12|11:12]]
+
|- id="t11:12"
+
| colspan="2" | ericb2The tools are : IssueZilla, EIS, cvs , LXR, vi, emacs , Xcode , ..etc 
+
|| [[#t11:12|11:12]]
+
|- id="t11:13"
+
| colspan="2" | ericb2Resources are mostly IssueZilla , mailing lists archives, coding guidelines .. and the source code !
+
|| [[#t11:13|11:13]]
+
|- id="t11:14"
+
| colspan="2" | ericb2Methods are e.g. QA related ( out o scope today)
+
|| [[#t11:14|11:14]]
+
|- id="t11:14"
+
| colspan="2" | ericb2the tools first :
+
|| [[#t11:14|11:14]]
+
|- id="t11:14"
+
| colspan="2" | ericb21.1) Check the code:  cvs  ( there is work in progress for another tool )
+
|| [[#t11:14|11:14]]
+
|- id="t11:14"
+
| colspan="2" | ericb2with it, you can modify the code, create your patches, commit:  cvs , diff and patch
+
|| [[#t11:14|11:14]]
+
|- id="t11:15"
+
| colspan="2" | ericb2to check for changes in the code:  bonsai is a powerfull tool
+
|| [[#t11:15|11:15]]
+
|-
+
| style="background-color: #42427e" | div align="left" style="color:blue; font-size:14px"
+
| style="color: #42427e" colspan="2" |  [11:15] ericb2'''Practice bonsai by yourself :''' </div>
+
|-
+
| style="background-color: #42427e" | div align="left" style="color:blue; font-size:14px"
+
| style="color: #42427e" colspan="2" | '''""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'''</div>
+
|-
+
| style="background-color: #42427e" | div align="left" style="color:blue; font-size:14px"
+
| style="color: #42427e" colspan="2" | [11:15] ericb21) Go to http://bonsai.go-oo.org/cvsqueryform.cgi    </div>
+
|-
+
| style="background-color: #42427e" | div align="left" style="color:blue; font-size:14px"
+
| style="color: #42427e" colspan="2" |  [11:16] ericb2We'll try to do a request :)  </div>
+
|-
+
| style="background-color: #42427e" | div align="left" style="color:blue; font-size:14px"
+
| style="color: #42427e" colspan="2" |  [11:16] ericb22) Don't modify Module (must be All files in the repository )    Remark : note the name "repository "  </div>
+
|-
+
| style="background-color: #42427e" | div align="left" style="color:blue; font-size:14px"
+
| style="color: #42427e" colspan="2" |  [11:16] ericb23) In the Field "Branch"  replace HEAD with  cws_dev300_aquavcl07  </div>
+
|-
+
| style="background-color: #42427e" | div align="left" style="color:blue; font-size:14px"
+
| style="color: #42427e" colspan="2" |  [11:16] ericb24) in the field "Date" check "Since the beginning of time "  </div>
+
|-
+
| style="background-color: #42427e" | div align="left" style="color:blue; font-size:14px"
+
| style="color: #42427e" colspan="2" |  [11:16] ericb25) do not modify the other fields  </div>
+
|-
+
| style="background-color: #42427e" | div align="left" style="color:blue; font-size:14px"
+
| style="color: #42427e" colspan="2" |  [11:16] ericb26)  Click "Run Query" </div>
+
|-
+
| style="background-color: #42427e" | div align="left" style="color:blue; font-size:14px"
+
| style="color: #42427e" colspan="2" |  [11:17] ericb2=> all the changes in the code, based on DEV300_m9 ( we'll explain later) are on the page !!  </div>
+
|-
+
| style="background-color: #42427e" | div align="left" style="color:blue; font-size:14px"
+
| style="color: #42427e" colspan="2" |  [11:17] ericb27) To see the diff for any commit, click in the Rev. columns.  Back to retrieve the current page.  </div>
+
|-
+
| style="background-color: #42427e" | div align="left" style="color:blue; font-size:14px"
+
| style="color: #42427e" colspan="2" |  [11:17] ericb2Strongly adviced : 8) Look carefully at other changes, what information you can obtain here.  </div>
+
|-
+
| style="background-color: #42427e" | div align="left" style="color:blue; font-size:14px"
+
| style="color: #42427e" colspan="2" |  [11:17] ericb2Remark: Bonsai helps when you are searching for changes in the code, author date .. precise information about CODE  </div>
+
|-
+
| style="background-color: #42427e" | div align="left" style="color:blue; font-size:14px"
+
| style="color: #42427e" colspan="2" | '''""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'''</div>
+
|- id="t11:18"
+
| colspan="2" | ericb2Vincent Vikram wrote several questions, and I'll try to provide tracks ..
+
|| [[#t11:18|11:18]]
+
|- id="t11:18"
+
| colspan="2" | ericb22) Where is the code ?
+
|| [[#t11:18|11:18]]
+
|- id="t11:19"
+
| colspan="2" | ericb2Answer : hosted by machines, we'll call " cvs repository" No need to know more about the machines
+
|| [[#t11:19|11:19]]
+
|- id="t11:19"
+
| colspan="2" | ericb22.1) cvs
+
|| [[#t11:19|11:19]]
+
|- id="t11:19"
+
| colspan="2" | ericb2cvs uses a "repository". OpenOffice.org has an anonymous ( means read only ) repository.
+
|| [[#t11:19|11:19]]
+
|- id="t11:19"
+
| colspan="2" | ericb2You can checkout any code you want very easely.
+
|| [[#t11:19|11:19]]
+
|- id="t11:20"
+
| colspan="2" | ericb2The principle is:
+
|| [[#t11:20|11:20]]
+
|- id="t11:20"
+
| colspan="2" | ericb2you duplicate/copy on your machine the same code the repository has. Means, for a given milestone, the code will always remain
+
|| [[#t11:20|11:20]]
+
|-
+
| colspan="3" | the same. Exactly 0 difference.
+
|- id="t11:20"
+
| colspan="2" | ericb2As OpenOffice.org repositories we have anoncvs.services.openoffice.org (for all) and tunnel  (for domain developers, using ssh
+
|| [[#t11:20|11:20]]
+
|-
+
| colspan="3" | connexion for commits )
+
|- id="t11:21"
+
| colspan="2" | ericb2Summary:
+
|| [[#t11:21|11:21]]
+
|- id="t11:21"
+
| colspan="2" | ericb2- The repository does contain all versions.
+
|| [[#t11:21|11:21]]
+
|- id="t11:21"
+
| colspan="2" | ericb2- you copy one on your machine, for building OpenOffice.org, add new code.. whatever.
+
|| [[#t11:21|11:21]]
+
|- id="t11:21"
+
| colspan="2" | ericb2- At any time, you can analyse the difference , for a given milestone, between your copy, and the one on the repository ( gussing
+
|| [[#t11:21|11:21]]
+
|-
+
| colspan="3" | your internet connexion is not broken)
+
|- id="t11:22"
+
| colspan="2" | ericb2- Tools are : cvs + diff . theywill help you to create the delta, and the last tool is patch, to apply / reverse the patch you created
+
|| [[#t11:22|11:22]]
+
|- id="t11:22"
+
| colspan="2" | ericb22.2) Some Vocable :
+
|| [[#t11:22|11:22]]
+
|- id="t11:22"
+
| colspan="2" | ericb2Master Work space:  gives a version of OpenOffice.org.
+
|| [[#t11:22|11:22]]
+
|- id="t11:22"
+
| colspan="2" | ericb2e.g. :  SRC680  == OpenOffice.org 2.x source code , DEV300 == OpenOffice.org 3.x source code
+
|| [[#t11:22|11:22]]
+
|- id="t11:23"
+
| colspan="2" | ericb2-> Between two different consecutive Master workspaces, we accumulate  Milestones.
+
|| [[#t11:23|11:23]]
+
|- id="t11:23"
+
| colspan="2" | ericb2For example:  Master workspace  DEV300_m0 is based on SRC680_m248  (end of life for 2.x )
+
|| [[#t11:23|11:23]]
+
|- id="t11:23"
+
| colspan="2" | ericb2A Milestone itself contains several child workspaces.
+
|| [[#t11:23|11:23]]
+
|- id="t11:23"
+
| colspan="2" | ericb2a Child Workspace is a change in the code, dedicated to a new feature or a bugfix, and synchronized with a given milestone
+
|| [[#t11:23|11:23]]
+
|- id="t11:24"
+
| colspan="2" | ericb2a Child Workspace can involve several modules
+
|| [[#t11:24|11:24]]
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:24] ericb2'''2.3) Practice by yourself :'''</div>
+
|-
+
| style="background-color: #818144" | div align="left" style="color:red; font-size:14px"
+
| style="color: #818144" colspan="2" | '''""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'''</div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:24] ericb2Preliminary: </div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:24] ericb2- we suppose you have some bash knowledge, and some programming skills</div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:24] ericb2- your .cvsrc file is ok (else ask on #education.openoffice.org )</div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:24] ericb2Now, open a terminal, use bash, and do :</div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:24] ericb20 ) create the environment </div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:25] ericb2what follows are command lines </div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:25] ericb2export CVSROOT=":pserver:anoncvs@anoncvs.services.openoffice.org:/cvs"</div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:25] ericb2create TMP dir  (command:  mkdir TMP )</div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:25] ericb2cd TMP</div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:25] ericb21) checkout vcl module from DEV300_m11 </div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:25] ericb2cvs co -r DEV300_m11  dtrans</div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:25] ericb2Question: what happens </div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:26] ericb22) Modify one file, do "cvs up" , and comment on the result </div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:26] ericb23) using grep , retrieve the name of the milestone in the sources</div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:26] ericb24) checkout vcl from a cws under development</div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:26] ericb2cvs -z4 co -r cws_dev300_aquavcl07 vcl</div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:26] ericb25) retrieve the cwsname in the sources</div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:26] ericb26) analyse the list of the subdirectories vcl contains</div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:26] ericb27) modify the code in vcl/source/gdi/sallayout.cxx </div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:27] ericb2(write whatever you want, respecting C++ syntax prefered ;) </div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:27] ericb28) create a diff with the OpenOffice.org repository</div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:27] ericb2change  directory outside of vcl</div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:27] ericb2in the current dir ( TMP ) , do :</div>
+
|-
+
| style="background-color: #854685" | div align="left" style="color:red; font-size:14px">[11:27] ericb2cvs diff -u vcl
+
| style="color: #854685" colspan="2" | my_pretty_patch.diff </div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:27] ericb29) What does contain the patch ? </div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:27] ericb210) How reverse your changes ?</div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:28] ericb211) Be sure you have enough place on your hard disk ( count 2GB ) </div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:28] ericb2Download all OpenOffice.org tree :</div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:28] ericb2mkdir DEV300_m11</div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:28] ericb2cd DEV300_m11</div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:28] ericb2cvs -4 co -r DEV300_m11 OpenOffice3  swext tomcat apache-commons</div>
+
|-
+
| colspan="3" | <div align="left" style="color:red; font-size:14px">[11:28] ericb2( -z4 is optional )</div>
+
|-
+
| style="background-color: #488888" | div align="left" style="color:red; font-size:14px">[11:28] ericb2-
+
| style="color: #488888" colspan="2" | once done ( can be very long), and if no error occurs, you got all OpenOffice.org source code from DEV300_m11 Milestone !! </div>
+
|-
+
| style="background-color: #818144" | div align="left" style="color:red; font-size:14px"
+
| style="color: #818144" colspan="2" | '''""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'''</div>
+
|- id="t11:29"
+
| colspan="2" | ericb23) I got the code... now where do I start in the code?
+
|| [[#t11:29|11:29]]
+
|- id="t11:29"
+
| colspan="2" | ericb2OpenOffice.org is a framework, means everything, including tools is included in the tree.
+
|| [[#t11:29|11:29]]
+
|- id="t11:29"
+
| colspan="2" | ericb2More information:  http://wiki.services.openoffice.org/wiki/Source_code_directories
+
|| [[#t11:29|11:29]]
+
|- id="t11:29"
+
| colspan="2" | ericb2Approximativaly 160 modules ( means subdir) do constitute your tree.
+
|| [[#t11:29|11:29]]
+
|- id="t11:29"
+
| colspan="2" | ericb2-> everything has it's role, and an outdated description is given at the URL :
+
|| [[#t11:29|11:29]]
+
|-
+
| colspan="3" | http://wiki.services.openoffice.org/wiki/Source_code_directories
+
|- id="t11:29"
+
| colspan="2" | ericb2As you can see, there is an associated project for every module. Means, when you have questions about this or another module,
+
|| [[#t11:29|11:29]]
+
|-
+
| colspan="3" | you'll have to send a mail to the correspondig mailing list.
+
|- id="t11:29"
+
| colspan="2" | ericb2Or at least, read the archives first cannot be bad :)
+
|| [[#t11:29|11:29]]
+
|- id="t11:30"
+
| colspan="2" | ericb2Important modules are: 
+
|| [[#t11:30|11:30]]
+
|- id="t11:30"
+
| colspan="2" | ericb2- config_office contains everything for configure command line. -> the Makefile corresponding to your tree is created from
+
|| [[#t11:30|11:30]]
+
|-
+
| colspan="3" | config_office.
+
|- id="t11:30"
+
| colspan="2" | ericb2- solenv does contain a lot of environment variables, means for the build process
+
|| [[#t11:30|11:30]]
+
|- id="t11:30"
+
| colspan="2" | ericb2- dmake is the make-like tool used for the build
+
|| [[#t11:30|11:30]]
+
|- id="t11:30"
+
| colspan="2" | ericb2- in every module, an output directory is created during the build (binaries, incudes, .jar .. whatever )
+
|| [[#t11:30|11:30]]
+
|- id="t11:30"
+
| colspan="2" | ericb2- for every module, the content of the output directory is send in the solver, following rules
+
|| [[#t11:30|11:30]]
+
|- id="t11:31"
+
| colspan="2" | ericb2One link to be added in your list : http://tools.openoffice.org
+
|| [[#t11:31|11:31]]
+
|- id="t11:31"
+
| colspan="2" | ericb24) The build process, first part
+
|| [[#t11:31|11:31]]
+
|- id="t11:31"
+
| colspan="2" | ericb24.1) build.lst and d.lst
+
|| [[#t11:31|11:31]]
+
|- id="t11:32"
+
| colspan="2" | ericb2In every module, you'll find a " prj " direectory containing build.lst and d.lst files . The first line of build.lst gives the
+
|| [[#t11:32|11:32]]
+
|-
+
| colspan="3" | prerequisites: the current module can be built if and only if the one listed in build.lst ( first line) are built.
+
|- id="t11:32"
+
| colspan="2" | ericb2For d.lst: at the end of the build for every module, the files listed are copied from the output tree ( the one in the current 
+
|| [[#t11:32|11:32]]
+
|-
+
| colspan="3" | module) into the solver, sort of collection of all products built at the end of the process.
+
|- id="t11:32"
+
| colspan="2" | ericb24.2) Dependencies
+
|| [[#t11:32|11:32]]
+
|- id="t11:32"
+
| colspan="2" | ericb2Because of the dependencies mentionned in build.lst, everything cannot be built in same time: first tools are built ( e.g. dmake,
+
|| [[#t11:32|11:32]]
+
|-
+
| colspan="3" | doing ./bootstrap )
+
|- id="t11:33"
+
| colspan="2" | ericb2The common order (solution is not uniq ! ) is:
+
|| [[#t11:33|11:33]]
+
|- id="t11:33"
+
| colspan="2" | ericb2- low level modules are built first
+
|| [[#t11:33|11:33]]
+
|- id="t11:33"
+
| colspan="2" | ericb2- then the second level one ( depending on the first listed above)
+
|| [[#t11:33|11:33]]
+
|- id="t11:33"
+
| colspan="2" | ericb2- .. until the most on top , like the final sw, sc, sd .libs depending on everything
+
|| [[#t11:33|11:33]]
+
|- id="t11:33"
+
| colspan="2" | ericb2- at the end, all the products delivered by every module in the solver , are used to create the final package in instsetoo_native
+
|| [[#t11:33|11:33]]
+
|- id="t11:33"
+
| colspan="2" | *lgodard has quit ("Leaving.")
+
|| [[#t11:33|11:33]]
+
|- id="t11:33"
+
| colspan="2" | ericb2Summary:
+
|| [[#t11:33|11:33]]
+
|- id="t11:33"
+
| colspan="2" | ericb2- checkout all the sources
+
|| [[#t11:33|11:33]]
+
|- id="t11:33"
+
| colspan="2" | ericb2- run configure with the right options
+
|| [[#t11:33|11:33]]
+
|- id="t11:34"
+
| colspan="2" | ericb2- do ./bootstrap from the root dir, to create dmake
+
|| [[#t11:34|11:34]]
+
|- id="t11:34"
+
| colspan="2" | ericb2- build everything (to be explained later)  following the right order.
+
|| [[#t11:34|11:34]]
+
|- id="t11:34"
+
| colspan="2" | ericb2
+
|| [[#t11:34|11:34]]
+
|-
+
| colspan="3" | <div align="left" style="color:blue; font-size:14px">[11:34] ericb2'''Practice by yourself'''</div>
+
|-
+
| style="background-color: #42427e" | div align="left" style="color:blue; font-size:14px"
+
| style="color: #42427e" colspan="2" | '''""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'''</div>
+
|-
+
| colspan="3" | <div align="left" style="color:blue; font-size:14px">[11:34] ericb21) try to create a txt file ( using bash e.g.) containing all the information to create your own dependency diagram </div>
+
|-
+
| colspan="3" | <div align="left" style="color:blue; font-size:14px">[11:34] ericb2Tip: extract the first line of prj/build.lst for every module using bash , grep ..whatever </div>
+
|-
+
| colspan="3" | <div align="left" style="color:blue; font-size:14px">[11:34] *valeuf_ has quit (Read error: 110 (Connection timed out))</div>
+
|-
+
| colspan="3" | <div align="left" style="color:blue; font-size:14px">[11:34] ericb22) try to describe the content of a "common" module ( what do we alwayd fin in all ? )</div>
+
|-
+
| colspan="3" | <div align="left" style="color:blue; font-size:14px">[11:34] ericb23) look at the Makefile.mk syntax, and compare with make syntax (if you know it already) </div>
+
|-
+
| colspan="3" | <div align="left" style="color:blue; font-size:14px">[11:34] ericb24)  look at dmake man page (inside the dmake module), and study the dmake options</div>
+
|-
+
| colspan="3" | <div align="left" style="color:blue; font-size:14px">[11:35] ericb25) study build.pl perl script located in solenv/bin/</div>
+
|-
+
| style="background-color: #42427e" | div align="left" style="color:blue; font-size:14px"
+
| style="color: #42427e" colspan="2" | '''""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'''</div>
+
|- id="t11:35"
+
| colspan="2" | ericb2Sorry for being so long. Yes ~15 lines and questions will start
+
|| [[#t11:35|11:35]]
+
|- id="t11:35"
+
| colspan="2" | ericb25) What d I need to know in advance
+
|| [[#t11:35|11:35]]
+
|- id="t11:35"
+
| colspan="2" | ericb2OpenOffice.org is written in 90% C++ ,  <5% of C, objectiveC / C++  and  Java .. bash , python
+
|| [[#t11:35|11:35]]
+
|- id="t11:35"
+
| colspan="2" | ericb2-> C++ and bash skills is a good prerequisite
+
|| [[#t11:35|11:35]]
+
|- id="t11:35"
+
| colspan="2" | ericb2The C++ used in OpenOffice.org is academic C++ :  e.g. for portability reasons, in vcl, there is a core lib, sort of collection of
+
|| [[#t11:35|11:35]]
+
|-
+
| colspan="3" | empty boxes, containing the real implementation, built only for the current building system.
+
|- id="t11:36"
+
| colspan="2" | ericb2stl and templates are used, gcc , and g++ skill cannot be bad either.
+
|| [[#t11:36|11:36]]
+
|- id="t11:36"
+
| colspan="2" | ericb2Know well OpenOffice.org coding Guidelines
+
|| [[#t11:36|11:36]]
+
|- id="t11:36"
+
| colspan="2" | ericb2That's all for the first time. Next time (when possible) : configure, and build OpenOffice.org, rebuild one module only , and
+
|| [[#t11:36|11:36]]
+
|-
+
| colspan="3" | debug it
+
|- id="t11:36"
+
| colspan="2" | ericb2Questions ?  :-)
+
|| [[#t11:36|11:36]]
+
|- id="t11:38"
+
| colspan="2" | ericb2nobody has questions ?
+
|| [[#t11:38|11:38]]
+
|- id="t11:38"
+
| colspan="2" | ericb2chacha_chaudhry: ?
+
|| [[#t11:38|11:38]]
+
|- id="t11:38"
+
| colspan="2" | chacha_chaudhryyes
+
|| [[#t11:38|11:38]]
+
|- id="t11:38"
+
| colspan="2" | chacha_chaudhry ChanServ ChaoticGood
+
|| [[#t11:38|11:38]]
+
|- id="t11:38"
+
| colspan="2" | ericb2chacha_chaudhry: go ahead :)
+
|| [[#t11:38|11:38]]
+
|- id="t11:39"
+
| colspan="2" | >Remaille<bonjour :)
+
|| [[#t11:39|11:39]]
+
|- id="t11:39"
+
| colspan="2" | chacha_chaudhryDevelopers guide is also important, I suppose
+
|| [[#t11:39|11:39]]
+
|- id="t11:39"
+
| colspan="2" | chacha_chaudhry ChanServ ChaoticGood
+
|| [[#t11:39|11:39]]
+
|- id="t11:39"
+
| colspan="2" | ericb2chacha_chaudhry: yes, sure
+
|| [[#t11:39|11:39]]
+
|- id="t11:40"
+
| colspan="2" | ericb2chacha_chaudhry: everything I mentionned is my experience, since 4 years contributing for the OpenOffice.org Project
+
|| [[#t11:40|11:40]]
+
|- id="t11:40"
+
| colspan="2" | ericb25 years soon ..
+
|| [[#t11:40|11:40]]
+
|- id="t11:40"
+
| colspan="2" | chacha_chaudhryericb2: :)
+
|| [[#t11:40|11:40]]
+
|- id="t11:41"
+
| colspan="2" | ericb2chacha_chaudhry: did you already all the exercices I proposed ? Will you try them ?
+
|| [[#t11:41|11:41]]
+
|- id="t11:41"
+
| colspan="2" | chacha_chaudhryericb2: cehcking out code
+
|| [[#t11:41|11:41]]
+
|- id="t11:41"
+
| colspan="2" | chacha_chaudhryericb2: I have a slow connection -- doing it now
+
|| [[#t11:41|11:41]]
+
|- id="t11:41"
+
| colspan="2" | sandeepwhere can i find help on bash?
+
|| [[#t11:41|11:41]]
+
|- id="t11:42"
+
| colspan="2" | ericb2sandeep: here
+
|| [[#t11:42|11:42]]
+
|- id="t11:42"
+
| colspan="2" | ericb2sandeep: what is your problem ?
+
|| [[#t11:42|11:42]]
+
|- id="t11:42"
+
| colspan="2" | chacha_chaudhrysandeep: what kind of help?
+
|| [[#t11:42|11:42]]
+
|- id="t11:43"
+
| colspan="2" | sandeepi am a layman in programming and wish to learn  about developing and debuging. where should i start from?
+
|| [[#t11:43|11:43]]
+
|- id="t11:43"
+
| colspan="2" | *stx12 (n=st@nat/sun/x-c96e4329c2e8c890) has joined #education.openoffice.org
+
|| [[#t11:43|11:43]]
+
|- id="t11:44"
+
| colspan="2" | ericb2sandeep: I think the good first exercice to do is to build OpenOffice.org
+
|| [[#t11:44|11:44]]
+
|- id="t11:44"
+
| colspan="2" | ericb2sandeep: and once done, discover some modules
+
|| [[#t11:44|11:44]]
+
|- id="t11:44"
+
| colspan="2" | chacha_chaudhryericb2: I don't undestand the relation between milestones and Child Workspaces ..
+
|| [[#t11:44|11:44]]
+
|- id="t11:44"
+
| colspan="2" | ericb2chacha_chaudhry: let me retrive a link
+
|| [[#t11:44|11:44]]
+
|- id="t11:44"
+
| colspan="2" | chacha_chaudhryericb2: sure
+
|| [[#t11:44|11:44]]
+
|- id="t11:45"
+
| colspan="2" | ericb2chacha_chaudhry: can you connect to : http://eis.services.openoffice.org/
+
|| [[#t11:45|11:45]]
+
|- id="t11:45"
+
| colspan="2" | chacha_chaudhryericb2: yes
+
|| [[#t11:45|11:45]]
+
|- id="t11:45"
+
| colspan="2" | ericb2chacha_chaudhry: use the link automatic guest
+
|| [[#t11:45|11:45]]
+
|- id="t11:45"
+
| colspan="2" | ericb2https://tools.services.openoffice.org/EIS2/GuestLogon
+
|| [[#t11:45|11:45]]
+
|- id="t11:46"
+
| colspan="2" | ericb2then click on child workspaces
+
|| [[#t11:46|11:46]]
+
|- id="t11:47"
+
| colspan="2" | ericb2chacha_chaudhry: if everything is fine, you'll have list on left -> click on " Browse "
+
|| [[#t11:47|11:47]]
+
|- id="t11:47"
+
| colspan="2" | ericb2chacha_chaudhry: then " per Milestone "
+
|| [[#t11:47|11:47]]
+
|- id="t11:47"
+
| colspan="2" | chacha_chaudhryyes ....doing ..
+
|| [[#t11:47|11:47]]
+
|- id="t11:48"
+
| colspan="2" | ericb2chacha_chaudhry: once you clicked on "per Milestone ", tell me what you see
+
|| [[#t11:48|11:48]]
+
|- id="t11:49"
+
| colspan="2" | chacha_chaudhryI get some folders these must be Master Workspaces , or I am wrong ?
+
|| [[#t11:49|11:49]]
+
|- id="t11:49"
+
| colspan="2" | ericb2chacha_chaudhry: exact ! Then click on the DEV300 triangle
+
|| [[#t11:49|11:49]]
+
|- id="t11:50"
+
| colspan="2" | chacha_chaudhryericb2: yes m1 .... m12
+
|| [[#t11:50|11:50]]
+
|- id="t11:50"
+
| colspan="2" | ericb2chacha_chaudhry: you see all milestones
+
|| [[#t11:50|11:50]]
+
|- id="t11:50"
+
| colspan="2" | chacha_chaudhryericb2: yes
+
|| [[#t11:50|11:50]]
+
|- id="t11:50"
+
| colspan="2" | ericb2chacha_chaudhry: now, click on say, m11
+
|| [[#t11:50|11:50]]
+
|- id="t11:50"
+
| colspan="2" | ericb2(the triangle)
+
|| [[#t11:50|11:50]]
+
|- id="t11:51"
+
| colspan="2" | chacha_chaudhryyes done So these are child workspaces
+
|| [[#t11:51|11:51]]
+
|- id="t11:51"
+
| colspan="2" | ericb2chacha_chaudhry: yes. And you can even do more : click on  one of them
+
|| [[#t11:51|11:51]]
+
|- id="t11:51"
+
| colspan="2" | ericb2chacha_chaudhry: say the first one : ab49
+
|| [[#t11:51|11:51]]
+
|- id="t11:51"
+
| colspan="2" | chacha_chaudhrydone
+
|| [[#t11:51|11:51]]
+
|- id="t11:51"
+
| colspan="2" | ericb2chacha_chaudhry: what happens ?
+
|| [[#t11:51|11:51]]
+
|- id="t11:52"
+
| colspan="2" | chacha_chaudhryericb2: displays --> Data for child workspace DEV300/ab49 in box
+
|| [[#t11:52|11:52]]
+
|- id="t11:52"
+
| colspan="2" | ericb2chacha_chaudhry: exact, and this information is extremely helpfull for developers
+
|| [[#t11:52|11:52]]
+
|- id="t11:52"
+
| colspan="2" | chacha_chaudhryericb2: :)
+
|| [[#t11:52|11:52]]
+
|- id="t11:53"
+
| colspan="2" | ericb2chacha_chaudhry: as you probably understood, EIS is for the source code scheduling,
+
|| [[#t11:53|11:53]]
+
|- id="t11:53"
+
| colspan="2" | ericb2and between two milestones, we add child workspaces
+
|| [[#t11:53|11:53]]
+
|- id="t11:53"
+
| colspan="2" | sandeepi still can't figure it out, how does this info helps?
+
|| [[#t11:53|11:53]]
+
|- id="t11:53"
+
| colspan="2" | chacha_chaudhryericb2: yes
+
|| [[#t11:53|11:53]]
+
|- id="t11:54"
+
| colspan="2" | ericb2sandeep: when you write code, you need to create changes based on a well defined reference -> a milestone
+
|| [[#t11:54|11:54]]
+
|- id="t11:54"
+
| colspan="2" | sandeepericb2: i still can't figure it out, how does this info helps?
+
|| [[#t11:54|11:54]]
+
|- id="t11:54"
+
| colspan="2" | sandeepok
+
|| [[#t11:54|11:54]]
+
|- id="t11:54"
+
| colspan="2" | sandeepthen?
+
|| [[#t11:54|11:54]]
+
|- id="t11:54"
+
| colspan="2" | ericb2sandeep: OpenOffice.org source code is a continuous
+
|| [[#t11:54|11:54]]
+
|- id="t11:55"
+
| colspan="2" | ericb2sandeep: you need time to write your code, and integrate it in the source
+
|| [[#t11:55|11:55]]
+
|- id="t11:55"
+
| colspan="2" | ericb2sandeep: this is a process
+
|| [[#t11:55|11:55]]
+
|- id="t11:55"
+
| colspan="2" | ericb2sandeep: you cannot ignore what other devs do when you write code
+
|| [[#t11:55|11:55]]
+
|- id="t11:55"
+
| colspan="2" | sandeepok
+
|| [[#t11:55|11:55]]
+
|- id="t11:55"
+
| colspan="2" | sandeep:)
+
|| [[#t11:55|11:55]]
+
|- id="t11:56"
+
| colspan="2" | ericb2sandeep: of course, we can isolate a milestone, work on the code, and resynchronize later
+
|| [[#t11:56|11:56]]
+
|- id="t11:56"
+
| colspan="2" | sandeep sm|CPU stx12
+
|| [[#t11:56|11:56]]
+
|- id="t11:56"
+
| colspan="2" | ericb2sandeep: but maybe one dev will have modified the same file as the one you modified
+
|| [[#t11:56|11:56]]
+
|- id="t11:56"
+
| colspan="2" | ericb2sandeep: don't forget, a lot o people are writing code together
+
|| [[#t11:56|11:56]]
+
|- id="t11:57"
+
| colspan="2" | ericb2sandeep: for the beginning, you can ignore the scheduling, yes
+
|| [[#t11:57|11:57]]
+
|- id="t11:57"
+
| colspan="2" | sandeepeicb2: yes
+
|| [[#t11:57|11:57]]
+
|- id="t11:57"
+
| colspan="2" | ericb2sandeep: I just tried to explain chacha_chaudhry what a milestone was
+
|| [[#t11:57|11:57]]
+
|- id="t11:57"
+
| colspan="2" | ericb2sandeep: what is yur programming language ?
+
|| [[#t11:57|11:57]]
+
|- id="t11:57"
+
| colspan="2" | sandeep sm|CPU stx12
+
|| [[#t11:57|11:57]]
+
|- id="t11:57"
+
| colspan="2" | sandeep sm|CPU stx12
+
|| [[#t11:57|11:57]]
+
|- id="t11:57"
+
| colspan="2" | sandeepericb2:  C, C++
+
|| [[#t11:57|11:57]]
+
|- id="t11:58"
+
| colspan="2" | ericb2sandeep: ok. and you OS ?
+
|| [[#t11:58|11:58]]
+
|- id="t11:58"
+
| colspan="2" | ericb2s/you/your/
+
|| [[#t11:58|11:58]]
+
|- id="t11:58"
+
| colspan="2" | ericb2sandeep: Linux ?
+
|| [[#t11:58|11:58]]
+
|- id="t11:58"
+
| colspan="2" | sandeep sm|CPU stx12
+
|| [[#t11:58|11:58]]
+
|- id="t11:58"
+
| colspan="2" | sandeepericb2:  ubuntu
+
|| [[#t11:58|11:58]]
+
|- id="t11:58"
+
| colspan="2" | sandeepyes
+
|| [[#t11:58|11:58]]
+
|- id="t11:58"
+
| colspan="2" | ericb2sandeep: ok, then the first step for you is to build OpenOffice.org.
+
|| [[#t11:58|11:58]]
+
|- id="t11:58"
+
| colspan="2" | sandeep sm|CPU stx12
+
|| [[#t11:58|11:58]]
+
|- id="t11:58"
+
| colspan="2" | sandeepericb2: yes
+
|| [[#t11:58|11:58]]
+
|- id="t11:59"
+
| colspan="2" | ericb2sandeep: once done, you can start with the modules: what is done where
+
|| [[#t11:59|11:59]]
+
|- id="t11:59"
+
| colspan="2" | sandeep sm|CPU stx12
+
|| [[#t11:59|11:59]]
+
|- id="t11:59"
+
| colspan="2" | ericb2sandeep: and, for example, study sal, or whatever module, depending on the questions you have, and what you want to do
+
|| [[#t11:59|11:59]]
+
|- id="t11:59"
+
| colspan="2" | ericb2sandeep: for tracing, this is easy : gdb works fine
+
|| [[#t11:59|11:59]]
+
|- id="t12:00"
+
| colspan="2" | ericb2sandeep: excepted in some cases, but for what you want to do, that's really enough
+
|| [[#t12:00|12:00]]
+
|- id="t12:00"
+
| colspan="2" | ericb2sandeep: e.g you can try as starting point 1) to build a Linux version 2) understand what happens when you launch
+
|| [[#t12:00|12:00]]
+
|-
+
| colspan="3" | OpenOffice.org 3) trace it to verify
+
|- id="t12:01"
+
| colspan="2" | ericb2sandeep: if you will only concentrate on C++ , help us for starmath baseline implementation is great
+
|| [[#t12:01|12:01]]
+
|- id="t12:01"
+
| colspan="2" | ericb2sandeep: and you'll be welcome
+
|| [[#t12:01|12:01]]
+
|- id="t12:02"
+
| colspan="2" | sandeepericb2:  what is starmath baseline implementation?
+
|| [[#t12:02|12:02]]
+
|- id="t12:02"
+
| colspan="2" | ericb2sandeep: issue 972
+
|| [[#t12:02|12:02]]
+
|- id="t12:02"
+
| colspan="2" | IZBotFormula editor ENHANCEMENT STARTED P3 Alignment of baselines of formula and text in writer
+
|| [[#t12:02|12:02]]
+
|-
+
| colspan="3" | http://qa.openoffice.org/issues/show_bug.cgi?id=972
+
|- id="t12:02"
+
| colspan="2" | ericb2sandeep: IZBot is great ;-)
+
|| [[#t12:02|12:02]]
+
|- id="t12:03"
+
| colspan="2" | chacha_chaudhry:)
+
|| [[#t12:03|12:03]]
+
|- id="t12:03"
+
| colspan="2" | sandeepericb2: k, i'll try it out after the discussion. :)
+
|| [[#t12:03|12:03]]
+
|- id="t12:03"
+
| colspan="2" | ericb2sandeep: and read : http://wiki.services.openoffice.org/wiki/Education_Project#Education_Project_Effort
+
|| [[#t12:03|12:03]]
+
|- id="t12:03"
+
| colspan="2" | ericb2sandeep: exactly
+
|| [[#t12:03|12:03]]
+
|-
+
| colspan="3" | http://wiki.services.openoffice.org/wiki/Education_Project/Effort#Implement_Math_Baseline_Alignement_.28click_me.29
+
|- id="t12:04"
+
| colspan="2" | ericb2sandeep: other applications are proposed, and volunteers are warmly welcome
+
|| [[#t12:04|12:04]]
+
|- id="t12:05"
+
| colspan="2" | sandeepericb2: i'm just learning java, and have basic programming knowledge about c/C++. don't know whether i'll be of much help or
+
|| [[#t12:05|12:05]]
+
|-
+
| colspan="3" | not
+
|- id="t12:05"
+
| colspan="2" | sandeepbut i'll try :)
+
|| [[#t12:05|12:05]]
+
|- id="t12:05"
+
| colspan="2" | ericb2sandeep: maybe yo can contact cbosdonnat
+
|| [[#t12:05|12:05]]
+
|- id="t12:05"
+
| colspan="2" | ericb2sandeep: he proposed something more Java oriented. Don't fear to ask him
+
|| [[#t12:05|12:05]]
+
|- id="t12:06"
+
| colspan="2" | ericb2sandeep: http://wiki.services.openoffice.org/wiki/Education_Project/Effort#Make_the_uno-
+
|| [[#t12:06|12:06]]
+
|-
+
| colspan="3" | skeletonmaker_tool_templatable_.28click_me.29
+
|- id="t12:06"
+
| colspan="2" | sandeepericb2: where wud he be, on irc?
+
|| [[#t12:06|12:06]]
+
|- id="t12:06"
+
| colspan="2" | ericb2sandeep: do you see the list of people on the channel ?
+
|| [[#t12:06|12:06]]
+
|- id="t12:07"
+
| colspan="2" | sandeepyes , i c him.
+
|| [[#t12:07|12:07]]
+
|- id="t12:07"
+
| colspan="2" | ericb2sandeep: else cedricbosdo @openoffice.org should work if you want further information
+
|| [[#t12:07|12:07]]
+
|- id="t12:07"
+
| colspan="2" | cbosdonnatsandeep: Hi
+
|| [[#t12:07|12:07]]
+
|- id="t12:08"
+
| colspan="2" | *chacha_chaudhry still waiting for checkout to complete :P
+
|| [[#t12:08|12:08]]
+
|- id="t12:08"
+
| colspan="2" | ericb2sandeep:  what I suggest you: join education project (as member) and join dev@education.openoffice.org mailing list
+
|| [[#t12:08|12:08]]
+
|- id="t12:08"
+
| colspan="2" | sandeepcbosdonnat: hi i'm learning java. n e thing dat u cud sugest
+
|| [[#t12:08|12:08]]
+
|- id="t12:08"
+
| colspan="2" | cbosdonnatericb2: what I proposed on the uno-skeletonmaker is mainly C++ coding
+
|| [[#t12:08|12:08]]
+
|- id="t12:08"
+
| colspan="2" | ericb2sandeep: then, don't fear to ask questions
+
|| [[#t12:08|12:08]]
+
|- id="t12:09"
+
| colspan="2" | ericb2cbosdonnat: ah, sorry
+
|| [[#t12:09|12:09]]
+
|- id="t12:09"
+
| colspan="2" | ericb2sandeep: then ask Juergen Schmitdt
+
|| [[#t12:09|12:09]]
+
|- id="t12:09"
+
| colspan="2" | sandeepcbosdonnat: i have sum basic knowledge bout c++.
+
|| [[#t12:09|12:09]]
+
|- id="t12:09"
+
| colspan="2" | ericb2sandeep: sorry, I'm not Java skilled  ;-)
+
|| [[#t12:09|12:09]]
+
|- id="t12:10"
+
| colspan="2" | cbosdonnatsandeep: Where would you like to help ?
+
|| [[#t12:10|12:10]]
+
|- id="t12:11"
+
| colspan="2" | sandeepcbosdonnat: not sure. i hv nvr done nething like this b4. always hv been doin the dummy programs at school n colege?
+
|| [[#t12:11|12:11]]
+
|- id="t12:11"
+
| colspan="2" | cbosdonnatsandeep: If you don't fear handling OOo Java extensions build, I could propose you to continue the work I've started on a
+
|| [[#t12:11|12:11]]
+
|-
+
| colspan="3" | Maven plugin
+
|- id="t12:11"
+
| colspan="2" | sandeepcbosdonnat: where can i get info on dat?
+
|| [[#t12:11|12:11]]
+
|- id="t12:12"
+
| colspan="2" | ericb2@all :this is lunch time here, and  if you have questions, I'll be back in ~1 hour 15
+
|| [[#t12:12|12:12]]
+
|- id="t12:12"
+
| colspan="2" | sandeepcbosdonnat: wat wud b d purpose of dis pluggin?
+
|| [[#t12:12|12:12]]
+
|- id="t12:12"
+
| colspan="2" | ericb2thanks a lot, and see you later
+
|| [[#t12:12|12:12]]
+
|- id="t12:12"
+
| colspan="2" | sandeepericb2:  thnx a lot :)
+
|| [[#t12:12|12:12]]
+
|}
+
  
Generated by irclog2html.py 2.6 by [mailto:marius@pov.lt Marius Gedminas] - find it at [http://mg.pov.lt/irclog2html mg.pov.lt]!
+
[11:03] ericb2 to avoid spare time
 +
 
 +
[11:03] ericb2 once the first part is finished, questions are welcome
 +
 
 +
[11:04] ericb2 in the middle of several points, I'll propose to practice by yourself
 +
 
 +
[11:04] * sandeep (n=sandeep@59.180.40.219) has joined #education.openoffice.org
 +
 
 +
[11:04] ericb2 and the channel is the right place to discuss *afterwards* about those exercices
 +
 
 +
[11:04] ericb2 Let's go :)
 +
 
 +
[11:04] ericb2 For any newcomer, interested to contribute, the number of questions, the right order to ask them is different, and there is no
 +
magic method nor solution, to teach that.
 +
 
 +
[11:05] ericb2 Worst, a lot of time is needed before the autonomy arrives. Don't give up, and be patient.
 +
 
 +
[11:05] ericb2 What we propose is a mix of both courses and -sort of- personal support.
 +
 
 +
[11:05] ericb2 Of course, things are not perfect, and there is certainly a better way to do that. But let's try first, and then improve with you !
 +
 
 +
[11:05] ericb2 The Rule is: wait for the end of the  "course ", before to ask questions. thanks :-) ... but *ask* (a lot of) questions, when that's the
 +
moment  ( yes please do !! )
 +
 
 +
[11:06] ericb2 Important: if ever we don't have the answer (can occur), we'll notice the question, and provide you what we found later.
 +
 
 +
[11:06] ericb2 This course alone does not make sense: attendees must practice, and search by themselves (I tried to prepare some exercices for
 +
the courageous one ).
 +
 
 +
[11:06] ericb2 If ever people who searched don't find the answer to their problems, then they must ask on (e.g.) #education.openoffice.org IRC
 +
channel. We'll help them with pleasure !
 +
 
 +
[11:06] ericb2 Disclaimer: only vanilla OpenOffice.org source code will be described here
 +
 
 +
[11:07] ericb2 About the Community "behaviour"
 +
 
 +
[11:07] ericb2 This course aims to share the knowledge, and create a community of people helping together. Now, if you think you can propose
 +
a ClassRoom, because you have some skill, please do !! ( contact me). I'll be glad if ever I can share everything I have learned since I contribute to
 +
the project.
 +
 
 +
[11:07] ericb2 Don't forget that be regular and serious is a key for success
 +
 
 +
[11:07] ericb2 Last but not least, we need contributors and people involved, because there is always a lot to do.
 +
 
 +
[11:08] ericb2 A) Short description of the  OpenOffice.org Project
 +
 
 +
[11:08] ericb2 Shortly: the name OpenOffice.org means both the software and the organisation.
 +
 
 +
[11:08] * valeuf_ (n=valeuf@mer90-1-88-166-249-32.fbx.proxad.net) has joined #education.openoffice.org
 +
 
 +
[11:08] ericb2 For the history, please read the website, or wikipedia, everything is written ten times already :)
 +
 
 +
[11:08] ericb2 For us, everything is project in OpenOffice.org, and everything is a framework.
 +
 
 +
[11:08] ericb2 About Projects, there are :
 +
 
 +
[11:08] ericb2 - Accepted projects
 +
 
 +
[11:09] ericb2 http://projects.openoffice.org/accepted.html
 +
 
 +
[11:09] ericb2 - Native Lang Community Projects :
 +
 
 +
[11:09] ericb2 http://projects.openoffice.org/native-lang.html
 +
 
 +
[11:09] ericb2 - Incubator Projects : i.e. Education Project.  ( US !! )
 +
 
 +
[11:09] ericb2 Fortunaly, everything can be summarized in two links :
 +
 
 +
[11:10] ericb2 - http://www.openoffice.org
 +
 
 +
[11:10] * Remaille (n=remi@ip-211.net-89-3-210.rev.numericable.fr) has joined #education.openoffice.org
 +
 
 +
[11:10] * ChanServ gives channel operator status to Remaille
 +
 
 +
[11:10] ericb2 - http://wiki.services.openoffice.org/wiki/Main_Page
 +
 
 +
[11:10] Remaille hi
 +
 
 +
[11:11] ericb2 Nobody else than you can do it for you : visit these links, be curious and discover
 +
 
 +
<div align="left" style="color:green; font-size:14px"> ''' [11:11] ericb2 Find more information / Practice by yourself  in 8 questions ''' </div>
 +
 
 +
<div align="left" style="color:green; font-size:14px"> '''""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'''</div>
 +
 
 +
<div align="left" style="color:green; font-size:14px"> 1) Create your login on the OpenOffice.org wiki</div>
 +
 
 +
<div align="left" style="color:green; font-size:14px">2) Find the web page for your own locale in OpenOffice.org project ( e.g. nl.openoffice.org )</div>
 +
 
 +
<div align="left" style="color:green; font-size:14px">3) find the OpenOffice.org Coding Guidelines on the Wiki ( and read it ... )</div>
 +
 
 +
<div align="left" style="color:green; font-size:14px"> 4)  find the page about cws ( Child Workspace )</div>
 +
 
 +
<div align="left" style="color:green; font-size:14px">5) become member of Education Project, using the Education Project wiki page :
 +
http://wiki.services.openoffice.org/wiki/Education_Project</div>
 +
 
 +
<div align="left" style="color:green; font-size:14px"> 6) find dev@gsl.openoffice.org mailing list archive</div>
 +
 
 +
<div align="left" style="color:green; font-size:14px">7) subscribe to dev@education.openoffice.org mailing list if you didn't yet</div>
 +
 
 +
<div align="left" style="color:green; font-size:14px">8) extract mails 10 to 14  from any mailing list</div>
 +
 
 +
<div align="left" style="color:green; font-size:14px">Note: everything has to be done outside of the ClassRoom</div>
 +
 
 +
<div align="left" style="color:green; font-size:14px"> not now :) </div>
 +
 
 +
<div align="left" style="color:green; font-size:14px"> '''""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'''</div>
 +
 
 +
[11:12] ericb2 Open Question : what about create a FAQ on the wiki, somewhere in Education Project ? 
 +
 
 +
[11:12] ericb2 1) Discover the OpenOffice.org Developer World
 +
 
 +
[11:12] ericb2 Composed of tools, methods and resources
 +
 
 +
[11:12] ericb2 The tools are : IssueZilla, EIS, cvs , LXR, vi, emacs , Xcode , ..etc 
 +
 
 +
[11:13] ericb2 Resources are mostly IssueZilla , mailing lists archives, coding guidelines .. and the source code !
 +
 
 +
[11:14] ericb2 Methods are e.g. QA related ( out o scope today)
 +
 
 +
[11:14] ericb2 the tools first :
 +
 
 +
[11:14] ericb2 1.1) Check the code:  cvs  ( there is work in progress for another tool )
 +
 
 +
[11:14] ericb2 with it, you can modify the code, create your patches, commit:  cvs , diff and patch
 +
 
 +
[11:15] ericb2 to check for changes in the code:  bonsai is a powerfull tool
 +
 
 +
 
 +
 
 +
<div align="left" style="color:blue; font-size:14px">  [11:15] ericb2 '''Practice bonsai by yourself :''' </div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px"> '''""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'''</div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px"> [11:15] ericb2 1) Go to http://bonsai.go-oo.org/cvsqueryform.cgi    </div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px">  [11:16] ericb2 We'll try to do a request :)  </div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px">  [11:16] ericb2 2) Don't modify Module (must be All files in the repository )    Remark : note the name "repository "  </div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px">  [11:16] ericb2 3) In the Field "Branch"  replace HEAD with  cws_dev300_aquavcl07  </div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px">  [11:16] ericb2 4) in the field "Date" check "Since the beginning of time "  </div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px">  [11:16] ericb2 5) do not modify the other fields  </div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px">  [11:16] ericb2 6)  Click "Run Query" </div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px">  [11:17] ericb2 => all the changes in the code, based on DEV300_m9 ( we'll explain later) are on the page !!  </div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px">  [11:17] ericb2 7) To see the diff for any commit, click in the Rev. columns.  Back to retrieve the current page.  </div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px">  [11:17] ericb2 Strongly adviced : 8) Look carefully at other changes, what information you can obtain here.  </div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px">  [11:17] ericb2 Remark: Bonsai helps when you are searching for changes in the code, author date .. precise information about CODE  </div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px"> '''""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'''</div>
 +
 
 +
 
 +
[11:18] ericb2 Vincent Vikram wrote several questions, and I'll try to provide tracks ..
 +
 
 +
[11:18] ericb2 2) Where is the code ?
 +
 
 +
[11:19] ericb2 Answer : hosted by machines, we'll call " cvs repository" No need to know more about the machines
 +
 
 +
[11:19] ericb2 2.1) cvs
 +
 
 +
[11:19] ericb2 cvs uses a "repository". OpenOffice.org has an anonymous ( means read only ) repository.
 +
 
 +
[11:19] ericb2 You can checkout any code you want very easely.
 +
 
 +
[11:20] ericb2 The principle is:
 +
 
 +
[11:20] ericb2 you duplicate/copy on your machine the same code the repository has. Means, for a given milestone, the code will always remain
 +
the same. Exactly 0 difference.
 +
 
 +
[11:20] ericb2 As OpenOffice.org repositories we have anoncvs.services.openoffice.org (for all) and tunnel  (for domain developers, using ssh
 +
connexion for commits )
 +
 
 +
[11:21] ericb2 Summary:
 +
 
 +
[11:21] ericb2 - The repository does contain all versions.
 +
 
 +
[11:21] ericb2 - you copy one on your machine, for building OpenOffice.org, add new code.. whatever.
 +
 
 +
[11:21] ericb2 - At any time, you can analyse the difference , for a given milestone, between your copy, and the one on the repository ( gussing
 +
your internet connexion is not broken)
 +
 
 +
[11:22] ericb2 - Tools are : cvs + diff . theywill help you to create the delta, and the last tool is patch, to apply / reverse the patch you created
 +
 
 +
[11:22] ericb2 2.2) Some Vocable :
 +
 
 +
[11:22] ericb2 Master Work space:  gives a version of OpenOffice.org.
 +
 
 +
[11:22] ericb2 e.g. :  SRC680  == OpenOffice.org 2.x source code , DEV300 == OpenOffice.org 3.x source code
 +
 
 +
[11:23] ericb2 -> Between two different consecutive Master workspaces, we accumulate  Milestones.
 +
 
 +
[11:23] ericb2 For example:  Master workspace  DEV300_m0 is based on SRC680_m248  (end of life for 2.x )
 +
 
 +
[11:23] ericb2 A Milestone itself contains several child workspaces.
 +
 
 +
[11:23] ericb2 a Child Workspace is a change in the code, dedicated to a new feature or a bugfix, and synchronized with a given milestone
 +
 
 +
[11:24] ericb2 a Child Workspace can involve several modules
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:24] ericb2 '''2.3) Practice by yourself :'''</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px"> '''""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'''</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:24] ericb2 Preliminary: </div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:24] ericb2 - we suppose you have some bash knowledge, and some programming skills</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:24] ericb2 - your .cvsrc file is ok (else ask on #education.openoffice.org )</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:24] ericb2 Now, open a terminal, use bash, and do :</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:24] ericb2 0 ) create the environment </div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:25] ericb2 what follows are command lines </div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:25] ericb2 export CVSROOT=":pserver:anoncvs@anoncvs.services.openoffice.org:/cvs"</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:25] ericb2 create TMP dir  (command:  mkdir TMP )</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:25] ericb2 cd TMP</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:25] ericb2 1) checkout vcl module from DEV300_m11 </div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:25] ericb2 cvs co -r DEV300_m11  dtrans</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:25] ericb2 Question: what happens </div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:26] ericb2 2) Modify one file, do "cvs up" , and comment on the result </div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:26] ericb2 3) using grep , retrieve the name of the milestone in the sources</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:26] ericb2 4) checkout vcl from a cws under development</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:26] ericb2 cvs -z4 co -r cws_dev300_aquavcl07 vcl</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:26] ericb2 5) retrieve the cwsname in the sources</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:26] ericb2 6) analyse the list of the subdirectories vcl contains</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:26] ericb2 7) modify the code in vcl/source/gdi/sallayout.cxx </div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:27] ericb2 (write whatever you want, respecting C++ syntax prefered ;) </div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:27] ericb2 8) create a diff with the OpenOffice.org repository</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:27] ericb2 change  directory outside of vcl</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:27] ericb2 in the current dir ( TMP ) , do :</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:27] ericb2 cvs diff -u vcl > my_pretty_patch.diff </div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:27] ericb2 9) What does contain the patch ? </div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:27] ericb2 10) How reverse your changes ?</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:28] ericb2 11) Be sure you have enough place on your hard disk ( count 2GB ) </div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:28] ericb2 Download all OpenOffice.org tree :</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:28] ericb2 mkdir DEV300_m11</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:28] ericb2 cd DEV300_m11</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:28] ericb2 cvs -4 co -r DEV300_m11 OpenOffice3  swext tomcat apache-commons</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:28] ericb2 ( -z4 is optional )</div>
 +
 
 +
<div align="left" style="color:red; font-size:14px">[11:28] ericb2 -> once done ( can be very long), and if no error occurs, you got all OpenOffice.org source code from DEV300_m11 Milestone !! </div>
 +
 
 +
<div align="left" style="color:red; font-size:14px"> '''""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'''</div>
 +
 
 +
[11:29] ericb2 3) I got the code... now where do I start in the code?
 +
 
 +
[11:29] ericb2 OpenOffice.org is a framework, means everything, including tools is included in the tree.
 +
 
 +
[11:29] ericb2 More information:  http://wiki.services.openoffice.org/wiki/Source_code_directories
 +
 
 +
[11:29] ericb2 Approximativaly 160 modules ( means subdir) do constitute your tree.
 +
 
 +
[11:29] ericb2 -> everything has it's role, and an outdated description is given at the URL :
 +
http://wiki.services.openoffice.org/wiki/Source_code_directories
 +
 
 +
[11:29] ericb2 As you can see, there is an associated project for every module. Means, when you have questions about this or another module,
 +
 
 +
you'll have to send a mail to the correspondig mailing list.
 +
 
 +
[11:29] ericb2 Or at least, read the archives first cannot be bad :)
 +
 
 +
[11:30] ericb2 Important modules are: 
 +
 
 +
[11:30] ericb2 - config_office contains everything for configure command line. -> the Makefile corresponding to your tree is created from
 +
config_office.
 +
 
 +
[11:30] ericb2 - solenv does contain a lot of environment variables, means for the build process
 +
 
 +
[11:30] ericb2 - dmake is the make-like tool used for the build
 +
 
 +
[11:30] ericb2 - in every module, an output directory is created during the build (binaries, incudes, .jar .. whatever )
 +
 
 +
[11:30] ericb2 - for every module, the content of the output directory is send in the solver, following rules
 +
 
 +
[11:31] ericb2 One link to be added in your list : http://tools.openoffice.org
 +
 
 +
[11:31] ericb2 4) The build process, first part
 +
 
 +
[11:31] ericb2 4.1) build.lst and d.lst
 +
 
 +
[11:32] ericb2 In every module, you'll find a " prj " direectory containing build.lst and d.lst files . The first line of build.lst gives the
 +
prerequisites: the current module can be built if and only if the one listed in build.lst ( first line) are built.
 +
 
 +
[11:32] ericb2 For d.lst: at the end of the build for every module, the files listed are copied from the output tree ( the one in the current 
 +
module) into the solver, sort of collection of all products built at the end of the process.
 +
 
 +
[11:32] ericb2 4.2) Dependencies
 +
 
 +
[11:32] ericb2 Because of the dependencies mentionned in build.lst, everything cannot be built in same time: first tools are built ( e.g. dmake,
 +
doing ./bootstrap )
 +
 
 +
[11:33] ericb2 The common order (solution is not uniq ! ) is:
 +
 
 +
[11:33] ericb2 - low level modules are built first
 +
 
 +
[11:33] ericb2 - then the second level one ( depending on the first listed above)
 +
 
 +
[11:33] ericb2 - .. until the most on top , like the final sw, sc, sd .libs depending on everything
 +
 
 +
[11:33] ericb2 - at the end, all the products delivered by every module in the solver , are used to create the final package in instsetoo_native
 +
 
 +
[11:33] * lgodard has quit ("Leaving.")
 +
 
 +
[11:33] ericb2 Summary:
 +
 
 +
[11:33] ericb2 - checkout all the sources
 +
 
 +
[11:33] ericb2 - run configure with the right options
 +
 
 +
[11:34] ericb2 - do ./bootstrap from the root dir, to create dmake
 +
 
 +
[11:34] ericb2 - build everything (to be explained later)  following the right order.
 +
 
 +
[11:34] ericb2
 +
 
 +
<div align="left" style="color:blue; font-size:14px">[11:34] ericb2 '''Practice by yourself'''</div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px"> '''""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'''</div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px">[11:34] ericb2 1) try to create a txt file ( using bash e.g.) containing all the information to create your own dependency diagram </div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px">[11:34] ericb2 Tip: extract the first line of prj/build.lst for every module using bash , grep ..whatever </div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px">[11:34] * valeuf_ has quit (Read error: 110 (Connection timed out))</div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px">[11:34] ericb2 2) try to describe the content of a "common" module ( what do we alwayd fin in all ? )</div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px">[11:34] ericb2 3) look at the Makefile.mk syntax, and compare with make syntax (if you know it already) </div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px">[11:34] ericb2 4)  look at dmake man page (inside the dmake module), and study the dmake options</div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px">[11:35] ericb2 5) study build.pl perl script located in solenv/bin/</div>
 +
 
 +
<div align="left" style="color:blue; font-size:14px"> '''""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""'''</div>
 +
 
 +
[11:35] ericb2 Sorry for being so long. Yes ~15 lines and questions will start
 +
 
 +
[11:35] ericb2 5) What d I need to know in advance
 +
 
 +
[11:35] ericb2 OpenOffice.org is written in 90% C++ ,  <5% of C, objectiveC / C++  and  Java .. bash , python
 +
 
 +
[11:35] ericb2 -> C++ and bash skills is a good prerequisite
 +
 
 +
[11:35] ericb2 The C++ used in OpenOffice.org is academic C++ :  e.g. for portability reasons, in vcl, there is a core lib, sort of collection of
 +
empty boxes, containing the real implementation, built only for the current building system.
 +
 
 +
[11:36] ericb2 stl and templates are used, gcc , and g++ skill cannot be bad either.
 +
 
 +
[11:36] ericb2 Know well OpenOffice.org coding Guidelines
 +
 
 +
[11:36] ericb2 That's all for the first time. Next time (when possible) : configure, and build OpenOffice.org, rebuild one module only , and
 +
debug it
 +
 
 +
[11:36] ericb2 Questions ?  :-)
 +
 
 +
[11:38] ericb2 nobody has questions ?
 +
 
 +
[11:38] ericb2 chacha_chaudhry: ?
 +
 
 +
[11:38] chacha_chaudhry yes
 +
 
 +
[11:38] chacha_chaudhry ChanServ ChaoticGood
 +
 
 +
[11:38] ericb2 chacha_chaudhry: go ahead :)
 +
 
 +
[11:39] >Remaille< bonjour :)
 +
 
 +
[11:39] chacha_chaudhry Developers guide is also important, I suppose
 +
 
 +
[11:39] chacha_chaudhry ChanServ ChaoticGood
 +
 
 +
[11:39] ericb2 chacha_chaudhry: yes, sure
 +
 
 +
[11:40] ericb2 chacha_chaudhry: everything I mentionned is my experience, since 4 years contributing for the OpenOffice.org Project
 +
 
 +
[11:40] ericb2 5 years soon ..
 +
 
 +
[11:40] chacha_chaudhry ericb2: :)
 +
 
 +
[11:41] ericb2 chacha_chaudhry: did you already all the exercices I proposed ? Will you try them ?
 +
 
 +
[11:41] chacha_chaudhry ericb2: cehcking out code
 +
 
 +
[11:41] chacha_chaudhry ericb2: I have a slow connection -- doing it now
 +
 
 +
[11:41] sandeep where can i find help on bash?
 +
 
 +
[11:42] ericb2 sandeep: here
 +
 
 +
[11:42] ericb2 sandeep: what is your problem ?
 +
 
 +
[11:42] chacha_chaudhry sandeep: what kind of help?
 +
 
 +
[11:43] sandeep i am a layman in programming and wish to learn  about developing and debuging. where should i start from?
 +
 
 +
[11:43] * stx12 (n=st@nat/sun/x-c96e4329c2e8c890) has joined #education.openoffice.org
 +
 
 +
[11:44] ericb2 sandeep: I think the good first exercice to do is to build OpenOffice.org
 +
 
 +
[11:44] ericb2 sandeep: and once done, discover some modules
 +
 
 +
[11:44] chacha_chaudhry ericb2: I don't undestand the relation between milestones and Child Workspaces ..
 +
 
 +
[11:44] ericb2 chacha_chaudhry: let me retrive a link
 +
 
 +
[11:44] chacha_chaudhry ericb2: sure
 +
 
 +
[11:45] ericb2 chacha_chaudhry: can you connect to : http://eis.services.openoffice.org/
 +
 
 +
[11:45] chacha_chaudhry ericb2: yes
 +
 
 +
[11:45] ericb2 chacha_chaudhry: use the link automatic guest
 +
 
 +
[11:45] ericb2 https://tools.services.openoffice.org/EIS2/GuestLogon
 +
 
 +
[11:46] ericb2 then click on child workspaces
 +
 
 +
[11:47] ericb2 chacha_chaudhry: if everything is fine, you'll have list on left -> click on " Browse "
 +
 
 +
[11:47] ericb2 chacha_chaudhry: then " per Milestone "
 +
 
 +
[11:47] chacha_chaudhry yes ....doing ..
 +
 
 +
[11:48] ericb2 chacha_chaudhry: once you clicked on "per Milestone ", tell me what you see
 +
 
 +
[11:49] chacha_chaudhry I get some folders these must be Master Workspaces , or I am wrong ?
 +
 
 +
[11:49] ericb2 chacha_chaudhry: exact ! Then click on the DEV300 triangle
 +
 
 +
[11:50] chacha_chaudhry ericb2: yes m1 .... m12
 +
 
 +
[11:50] ericb2 chacha_chaudhry: you see all milestones
 +
 
 +
[11:50] chacha_chaudhry ericb2: yes
 +
 
 +
[11:50] ericb2 chacha_chaudhry: now, click on say, m11
 +
 
 +
[11:50] ericb2 (the triangle)
 +
 
 +
[11:51] chacha_chaudhry yes done So these are child workspaces
 +
 
 +
[11:51] ericb2 chacha_chaudhry: yes. And you can even do more : click on  one of them
 +
 
 +
[11:51] ericb2 chacha_chaudhry: say the first one : ab49
 +
 
 +
[11:51] chacha_chaudhry done
 +
 
 +
[11:51] ericb2 chacha_chaudhry: what happens ?
 +
 
 +
[11:52] chacha_chaudhry ericb2: displays --> Data for child workspace DEV300/ab49 in box
 +
 
 +
[11:52] ericb2 chacha_chaudhry: exact, and this information is extremely helpfull for developers
 +
 
 +
[11:52] chacha_chaudhry ericb2: :)
 +
 
 +
[11:53] ericb2 chacha_chaudhry: as you probably understood, EIS is for the source code scheduling,
 +
 
 +
[11:53] ericb2 and between two milestones, we add child workspaces
 +
 
 +
[11:53] sandeep i still can't figure it out, how does this info helps?
 +
 
 +
[11:53] chacha_chaudhry ericb2: yes
 +
 
 +
[11:54] ericb2 sandeep: when you write code, you need to create changes based on a well defined reference -> a milestone
 +
 
 +
[11:54] sandeep ericb2: i still can't figure it out, how does this info helps?
 +
 
 +
[11:54] sandeep ok
 +
 
 +
[11:54] sandeep then?
 +
 
 +
[11:54] ericb2 sandeep: OpenOffice.org source code is a continuous
 +
 
 +
[11:55] ericb2 sandeep: you need time to write your code, and integrate it in the source
 +
 
 +
[11:55] ericb2 sandeep: this is a process
 +
 
 +
[11:55] ericb2 sandeep: you cannot ignore what other devs do when you write code
 +
 
 +
[11:55] sandeep ok
 +
 
 +
[11:55] sandeep :)
 +
 
 +
[11:56] ericb2 sandeep: of course, we can isolate a milestone, work on the code, and resynchronize later
 +
 
 +
[11:56] sandeep sm|CPU stx12
 +
 
 +
[11:56] ericb2 sandeep: but maybe one dev will have modified the same file as the one you modified
 +
 
 +
[11:56] ericb2 sandeep: don't forget, a lot o people are writing code together
 +
 
 +
[11:57] ericb2 sandeep: for the beginning, you can ignore the scheduling, yes
 +
 
 +
[11:57] sandeep eicb2: yes
 +
 
 +
[11:57] ericb2 sandeep: I just tried to explain chacha_chaudhry what a milestone was
 +
 
 +
[11:57] ericb2 sandeep: what is yur programming language ?
 +
 
 +
[11:57] sandeep sm|CPU stx12
 +
 
 +
[11:57] sandeep sm|CPU stx12
 +
 
 +
[11:57] sandeep ericb2:  C, C++
 +
 
 +
[11:58] ericb2 sandeep: ok. and you OS ?
 +
 
 +
[11:58] ericb2 s/you/your/
 +
 
 +
[11:58] ericb2 sandeep: Linux ?
 +
 
 +
[11:58] sandeep sm|CPU stx12
 +
 
 +
[11:58] sandeep ericb2:  ubuntu
 +
 
 +
[11:58] sandeep yes
 +
 
 +
[11:58] ericb2 sandeep: ok, then the first step for you is to build OpenOffice.org.
 +
 
 +
[11:58] sandeep sm|CPU stx12
 +
 
 +
[11:58] sandeep ericb2: yes
 +
 
 +
[11:59] ericb2 sandeep: once done, you can start with the modules: what is done where
 +
 
 +
[11:59] sandeep sm|CPU stx12
 +
 
 +
[11:59] ericb2 sandeep: and, for example, study sal, or whatever module, depending on the questions you have, and what you want to do
 +
 
 +
[11:59] ericb2 sandeep: for tracing, this is easy : gdb works fine
 +
 
 +
[12:00] ericb2 sandeep: excepted in some cases, but for what you want to do, that's really enough
 +
 
 +
[12:00] ericb2 sandeep: e.g you can try as starting point 1) to build a Linux version 2) understand what happens when you launch
 +
OpenOffice.org 3) trace it to verify
 +
 
 +
[12:01] ericb2 sandeep: if you will only concentrate on C++ , help us for starmath baseline implementation is great
 +
 
 +
[12:01] ericb2 sandeep: and you'll be welcome
 +
 
 +
 
 +
 
 +
[12:02] sandeep ericb2:  what is starmath baseline implementation?
 +
 
 +
[12:02] ericb2 sandeep: issue 972
 +
 
 +
[12:02] IZBot Formula editor ENHANCEMENT STARTED P3 Alignment of baselines of formula and text in writer
 +
http://qa.openoffice.org/issues/show_bug.cgi?id=972
 +
 
 +
[12:02] ericb2 sandeep: IZBot is great ;-)
 +
 
 +
[12:03] chacha_chaudhry :)
 +
 
 +
[12:03] sandeep ericb2: k, i'll try it out after the discussion. :)
 +
 
 +
[12:03] ericb2 sandeep: and read : http://wiki.services.openoffice.org/wiki/Education_Project#Education_Project_Effort
 +
 
 +
[12:03] ericb2 sandeep: exactly
 +
http://wiki.services.openoffice.org/wiki/Education_Project/Effort#Implement_Math_Baseline_Alignement_.28click_me.29
 +
 
 +
[12:04] ericb2 sandeep: other applications are proposed, and volunteers are warmly welcome
 +
 
 +
[12:05] sandeep ericb2: i'm just learning java, and have basic programming knowledge about c/C++. don't know whether i'll be of much help or
 +
not
 +
 
 +
[12:05] sandeep but i'll try :)
 +
 
 +
[12:05] ericb2 sandeep: maybe yo can contact cbosdonnat
 +
 
 +
[12:05] ericb2 sandeep: he proposed something more Java oriented. Don't fear to ask him
 +
 
 +
[12:06] ericb2 sandeep: http://wiki.services.openoffice.org/wiki/Education_Project/Effort#Make_the_uno-
 +
skeletonmaker_tool_templatable_.28click_me.29
 +
 
 +
[12:06] sandeep ericb2: where wud he be, on irc?
 +
 
 +
[12:06] ericb2 sandeep: do you see the list of people on the channel ?
 +
 
 +
[12:07] sandeep yes , i c him.
 +
 
 +
[12:07] ericb2 sandeep: else cedricbosdo @openoffice.org should work if you want further information
 +
 
 +
[12:07] cbosdonnat sandeep: Hi
 +
 
 +
[12:08] * chacha_chaudhry still waiting for checkout to complete :P
 +
 
 +
[12:08] ericb2 sandeep:  what I suggest you: join education project (as member) and join dev@education.openoffice.org mailing list
 +
 
 +
[12:08] sandeep cbosdonnat: hi i'm learning java. n e thing dat u cud sugest
 +
 
 +
[12:08] cbosdonnat ericb2: what I proposed on the uno-skeletonmaker is mainly C++ coding
 +
 
 +
[12:08] ericb2 sandeep: then, don't fear to ask questions
 +
 
 +
[12:09] ericb2 cbosdonnat: ah, sorry
 +
 
 +
[12:09] ericb2 sandeep: then ask Juergen Schmitdt
 +
 
 +
[12:09] sandeep cbosdonnat: i have sum basic knowledge bout c++.
 +
 
 +
[12:09] ericb2 sandeep: sorry, I'm not Java skilled  ;-)
 +
 
 +
[12:10] cbosdonnat sandeep: Where would you like to help ?
 +
 
 +
[12:11] sandeep cbosdonnat: not sure. i hv nvr done nething like this b4. always hv been doin the dummy programs at school n colege?
 +
 
 +
[12:11] cbosdonnat sandeep: If you don't fear handling OOo Java extensions build, I could propose you to continue the work I've started on a
 +
Maven plugin
 +
 
 +
[12:11] sandeep cbosdonnat: where can i get info on dat?
 +
 
 +
[12:12] ericb2 @all :this is lunch time here, and  if you have questions, I'll be back in ~1 hour 15
 +
 
 +
[12:12] sandeep cbosdonnat: wat wud b d purpose of dis pluggin?
 +
 
 +
[12:12] ericb2 thanks a lot, and see you later
 +
 
 +
[12:12] sandeep ericb2:  thnx a lot :)

Revision as of 18:27, 28 July 2008

[11:03] ericb2 The principle is : I expose the points, without people talk

[11:03] ericb2 to avoid spare time

[11:03] ericb2 once the first part is finished, questions are welcome

[11:04] ericb2 in the middle of several points, I'll propose to practice by yourself

[11:04] * sandeep (n=sandeep@59.180.40.219) has joined #education.openoffice.org

[11:04] ericb2 and the channel is the right place to discuss *afterwards* about those exercices

[11:04] ericb2 Let's go :)

[11:04] ericb2 For any newcomer, interested to contribute, the number of questions, the right order to ask them is different, and there is no magic method nor solution, to teach that.

[11:05] ericb2 Worst, a lot of time is needed before the autonomy arrives. Don't give up, and be patient.

[11:05] ericb2 What we propose is a mix of both courses and -sort of- personal support.

[11:05] ericb2 Of course, things are not perfect, and there is certainly a better way to do that. But let's try first, and then improve with you !

[11:05] ericb2 The Rule is: wait for the end of the "course ", before to ask questions. thanks :-) ... but *ask* (a lot of) questions, when that's the moment ( yes please do !! )

[11:06] ericb2 Important: if ever we don't have the answer (can occur), we'll notice the question, and provide you what we found later.

[11:06] ericb2 This course alone does not make sense: attendees must practice, and search by themselves (I tried to prepare some exercices for the courageous one ).

[11:06] ericb2 If ever people who searched don't find the answer to their problems, then they must ask on (e.g.) #education.openoffice.org IRC channel. We'll help them with pleasure !

[11:06] ericb2 Disclaimer: only vanilla OpenOffice.org source code will be described here

[11:07] ericb2 About the Community "behaviour"

[11:07] ericb2 This course aims to share the knowledge, and create a community of people helping together. Now, if you think you can propose a ClassRoom, because you have some skill, please do !! ( contact me). I'll be glad if ever I can share everything I have learned since I contribute to the project.

[11:07] ericb2 Don't forget that be regular and serious is a key for success

[11:07] ericb2 Last but not least, we need contributors and people involved, because there is always a lot to do.

[11:08] ericb2 A) Short description of the OpenOffice.org Project

[11:08] ericb2 Shortly: the name OpenOffice.org means both the software and the organisation.

[11:08] * valeuf_ (n=valeuf@mer90-1-88-166-249-32.fbx.proxad.net) has joined #education.openoffice.org

[11:08] ericb2 For the history, please read the website, or wikipedia, everything is written ten times already :)

[11:08] ericb2 For us, everything is project in OpenOffice.org, and everything is a framework.

[11:08] ericb2 About Projects, there are :

[11:08] ericb2 - Accepted projects

[11:09] ericb2 http://projects.openoffice.org/accepted.html

[11:09] ericb2 - Native Lang Community Projects :

[11:09] ericb2 http://projects.openoffice.org/native-lang.html

[11:09] ericb2 - Incubator Projects : i.e. Education Project. ( US !! )

[11:09] ericb2 Fortunaly, everything can be summarized in two links :

[11:10] ericb2 - http://www.openoffice.org

[11:10] * Remaille (n=remi@ip-211.net-89-3-210.rev.numericable.fr) has joined #education.openoffice.org

[11:10] * ChanServ gives channel operator status to Remaille

[11:10] ericb2 - http://wiki.services.openoffice.org/wiki/Main_Page

[11:10] Remaille hi

[11:11] ericb2 Nobody else than you can do it for you : visit these links, be curious and discover

[11:11] ericb2 Find more information / Practice by yourself in 8 questions
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
1) Create your login on the OpenOffice.org wiki
2) Find the web page for your own locale in OpenOffice.org project ( e.g. nl.openoffice.org )
3) find the OpenOffice.org Coding Guidelines on the Wiki ( and read it ... )
4) find the page about cws ( Child Workspace )
5) become member of Education Project, using the Education Project wiki page : http://wiki.services.openoffice.org/wiki/Education_Project
6) find dev@gsl.openoffice.org mailing list archive
7) subscribe to dev@education.openoffice.org mailing list if you didn't yet
8) extract mails 10 to 14 from any mailing list
Note: everything has to be done outside of the ClassRoom
not now :)
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

[11:12] ericb2 Open Question : what about create a FAQ on the wiki, somewhere in Education Project ?

[11:12] ericb2 1) Discover the OpenOffice.org Developer World

[11:12] ericb2 Composed of tools, methods and resources

[11:12] ericb2 The tools are : IssueZilla, EIS, cvs , LXR, vi, emacs , Xcode , ..etc

[11:13] ericb2 Resources are mostly IssueZilla , mailing lists archives, coding guidelines .. and the source code !

[11:14] ericb2 Methods are e.g. QA related ( out o scope today)

[11:14] ericb2 the tools first :

[11:14] ericb2 1.1) Check the code: cvs ( there is work in progress for another tool )

[11:14] ericb2 with it, you can modify the code, create your patches, commit: cvs , diff and patch

[11:15] ericb2 to check for changes in the code: bonsai is a powerfull tool


[11:15] ericb2 Practice bonsai by yourself :
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[11:16] ericb2 We'll try to do a request :)
[11:16] ericb2 2) Don't modify Module (must be All files in the repository ) Remark : note the name "repository "
[11:16] ericb2 3) In the Field "Branch" replace HEAD with cws_dev300_aquavcl07
[11:16] ericb2 4) in the field "Date" check "Since the beginning of time "
[11:16] ericb2 5) do not modify the other fields
[11:16] ericb2 6) Click "Run Query"
[11:17] ericb2 => all the changes in the code, based on DEV300_m9 ( we'll explain later) are on the page !!
[11:17] ericb2 7) To see the diff for any commit, click in the Rev. columns. Back to retrieve the current page.
[11:17] ericb2 Strongly adviced : 8) Look carefully at other changes, what information you can obtain here.
[11:17] ericb2 Remark: Bonsai helps when you are searching for changes in the code, author date .. precise information about CODE
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""


[11:18] ericb2 Vincent Vikram wrote several questions, and I'll try to provide tracks ..

[11:18] ericb2 2) Where is the code ?

[11:19] ericb2 Answer : hosted by machines, we'll call " cvs repository" No need to know more about the machines

[11:19] ericb2 2.1) cvs

[11:19] ericb2 cvs uses a "repository". OpenOffice.org has an anonymous ( means read only ) repository.

[11:19] ericb2 You can checkout any code you want very easely.

[11:20] ericb2 The principle is:

[11:20] ericb2 you duplicate/copy on your machine the same code the repository has. Means, for a given milestone, the code will always remain the same. Exactly 0 difference.

[11:20] ericb2 As OpenOffice.org repositories we have anoncvs.services.openoffice.org (for all) and tunnel (for domain developers, using ssh connexion for commits )

[11:21] ericb2 Summary:

[11:21] ericb2 - The repository does contain all versions.

[11:21] ericb2 - you copy one on your machine, for building OpenOffice.org, add new code.. whatever.

[11:21] ericb2 - At any time, you can analyse the difference , for a given milestone, between your copy, and the one on the repository ( gussing your internet connexion is not broken)

[11:22] ericb2 - Tools are : cvs + diff . theywill help you to create the delta, and the last tool is patch, to apply / reverse the patch you created

[11:22] ericb2 2.2) Some Vocable :

[11:22] ericb2 Master Work space: gives a version of OpenOffice.org.

[11:22] ericb2 e.g. : SRC680 == OpenOffice.org 2.x source code , DEV300 == OpenOffice.org 3.x source code

[11:23] ericb2 -> Between two different consecutive Master workspaces, we accumulate Milestones.

[11:23] ericb2 For example: Master workspace DEV300_m0 is based on SRC680_m248 (end of life for 2.x )

[11:23] ericb2 A Milestone itself contains several child workspaces.

[11:23] ericb2 a Child Workspace is a change in the code, dedicated to a new feature or a bugfix, and synchronized with a given milestone

[11:24] ericb2 a Child Workspace can involve several modules

[11:24] ericb2 2.3) Practice by yourself :
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[11:24] ericb2 Preliminary:
[11:24] ericb2 - we suppose you have some bash knowledge, and some programming skills
[11:24] ericb2 - your .cvsrc file is ok (else ask on #education.openoffice.org )
[11:24] ericb2 Now, open a terminal, use bash, and do :
[11:24] ericb2 0 ) create the environment
[11:25] ericb2 what follows are command lines
[11:25] ericb2 export CVSROOT=":pserver:anoncvs@anoncvs.services.openoffice.org:/cvs"
[11:25] ericb2 create TMP dir (command: mkdir TMP )
[11:25] ericb2 cd TMP
[11:25] ericb2 1) checkout vcl module from DEV300_m11
[11:25] ericb2 cvs co -r DEV300_m11 dtrans
[11:25] ericb2 Question: what happens
[11:26] ericb2 2) Modify one file, do "cvs up" , and comment on the result
[11:26] ericb2 3) using grep , retrieve the name of the milestone in the sources
[11:26] ericb2 4) checkout vcl from a cws under development
[11:26] ericb2 cvs -z4 co -r cws_dev300_aquavcl07 vcl
[11:26] ericb2 5) retrieve the cwsname in the sources
[11:26] ericb2 6) analyse the list of the subdirectories vcl contains
[11:26] ericb2 7) modify the code in vcl/source/gdi/sallayout.cxx
[11:27] ericb2 (write whatever you want, respecting C++ syntax prefered ;)
[11:27] ericb2 8) create a diff with the OpenOffice.org repository
[11:27] ericb2 change directory outside of vcl
[11:27] ericb2 in the current dir ( TMP ) , do :
[11:27] ericb2 cvs diff -u vcl > my_pretty_patch.diff
[11:27] ericb2 9) What does contain the patch ?
[11:27] ericb2 10) How reverse your changes ?
[11:28] ericb2 11) Be sure you have enough place on your hard disk ( count 2GB )
[11:28] ericb2 Download all OpenOffice.org tree :
[11:28] ericb2 mkdir DEV300_m11
[11:28] ericb2 cd DEV300_m11
[11:28] ericb2 cvs -4 co -r DEV300_m11 OpenOffice3 swext tomcat apache-commons
[11:28] ericb2 ( -z4 is optional )
[11:28] ericb2 -> once done ( can be very long), and if no error occurs, you got all OpenOffice.org source code from DEV300_m11 Milestone !!
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

[11:29] ericb2 3) I got the code... now where do I start in the code?

[11:29] ericb2 OpenOffice.org is a framework, means everything, including tools is included in the tree.

[11:29] ericb2 More information: http://wiki.services.openoffice.org/wiki/Source_code_directories

[11:29] ericb2 Approximativaly 160 modules ( means subdir) do constitute your tree.

[11:29] ericb2 -> everything has it's role, and an outdated description is given at the URL : http://wiki.services.openoffice.org/wiki/Source_code_directories

[11:29] ericb2 As you can see, there is an associated project for every module. Means, when you have questions about this or another module,

you'll have to send a mail to the correspondig mailing list.

[11:29] ericb2 Or at least, read the archives first cannot be bad :)

[11:30] ericb2 Important modules are:

[11:30] ericb2 - config_office contains everything for configure command line. -> the Makefile corresponding to your tree is created from config_office.

[11:30] ericb2 - solenv does contain a lot of environment variables, means for the build process

[11:30] ericb2 - dmake is the make-like tool used for the build

[11:30] ericb2 - in every module, an output directory is created during the build (binaries, incudes, .jar .. whatever )

[11:30] ericb2 - for every module, the content of the output directory is send in the solver, following rules

[11:31] ericb2 One link to be added in your list : http://tools.openoffice.org

[11:31] ericb2 4) The build process, first part

[11:31] ericb2 4.1) build.lst and d.lst

[11:32] ericb2 In every module, you'll find a " prj " direectory containing build.lst and d.lst files . The first line of build.lst gives the prerequisites: the current module can be built if and only if the one listed in build.lst ( first line) are built.

[11:32] ericb2 For d.lst: at the end of the build for every module, the files listed are copied from the output tree ( the one in the current module) into the solver, sort of collection of all products built at the end of the process.

[11:32] ericb2 4.2) Dependencies

[11:32] ericb2 Because of the dependencies mentionned in build.lst, everything cannot be built in same time: first tools are built ( e.g. dmake, doing ./bootstrap )

[11:33] ericb2 The common order (solution is not uniq ! ) is:

[11:33] ericb2 - low level modules are built first

[11:33] ericb2 - then the second level one ( depending on the first listed above)

[11:33] ericb2 - .. until the most on top , like the final sw, sc, sd .libs depending on everything

[11:33] ericb2 - at the end, all the products delivered by every module in the solver , are used to create the final package in instsetoo_native

[11:33] * lgodard has quit ("Leaving.")

[11:33] ericb2 Summary:

[11:33] ericb2 - checkout all the sources

[11:33] ericb2 - run configure with the right options

[11:34] ericb2 - do ./bootstrap from the root dir, to create dmake

[11:34] ericb2 - build everything (to be explained later) following the right order.

[11:34] ericb2

[11:34] ericb2 Practice by yourself
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
[11:34] ericb2 1) try to create a txt file ( using bash e.g.) containing all the information to create your own dependency diagram
[11:34] ericb2 Tip: extract the first line of prj/build.lst for every module using bash , grep ..whatever
[11:34] * valeuf_ has quit (Read error: 110 (Connection timed out))
[11:34] ericb2 2) try to describe the content of a "common" module ( what do we alwayd fin in all ? )
[11:34] ericb2 3) look at the Makefile.mk syntax, and compare with make syntax (if you know it already)
[11:34] ericb2 4) look at dmake man page (inside the dmake module), and study the dmake options
[11:35] ericb2 5) study build.pl perl script located in solenv/bin/
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

[11:35] ericb2 Sorry for being so long. Yes ~15 lines and questions will start

[11:35] ericb2 5) What d I need to know in advance

[11:35] ericb2 OpenOffice.org is written in 90% C++ , <5% of C, objectiveC / C++ and Java .. bash , python

[11:35] ericb2 -> C++ and bash skills is a good prerequisite

[11:35] ericb2 The C++ used in OpenOffice.org is academic C++ : e.g. for portability reasons, in vcl, there is a core lib, sort of collection of empty boxes, containing the real implementation, built only for the current building system.

[11:36] ericb2 stl and templates are used, gcc , and g++ skill cannot be bad either.

[11:36] ericb2 Know well OpenOffice.org coding Guidelines

[11:36] ericb2 That's all for the first time. Next time (when possible) : configure, and build OpenOffice.org, rebuild one module only , and debug it

[11:36] ericb2 Questions ?  :-)

[11:38] ericb2 nobody has questions ?

[11:38] ericb2 chacha_chaudhry: ?

[11:38] chacha_chaudhry yes

[11:38] chacha_chaudhry ChanServ ChaoticGood

[11:38] ericb2 chacha_chaudhry: go ahead :)

[11:39] >Remaille< bonjour :)

[11:39] chacha_chaudhry Developers guide is also important, I suppose

[11:39] chacha_chaudhry ChanServ ChaoticGood

[11:39] ericb2 chacha_chaudhry: yes, sure

[11:40] ericb2 chacha_chaudhry: everything I mentionned is my experience, since 4 years contributing for the OpenOffice.org Project

[11:40] ericb2 5 years soon ..

[11:40] chacha_chaudhry ericb2: :)

[11:41] ericb2 chacha_chaudhry: did you already all the exercices I proposed ? Will you try them ?

[11:41] chacha_chaudhry ericb2: cehcking out code

[11:41] chacha_chaudhry ericb2: I have a slow connection -- doing it now

[11:41] sandeep where can i find help on bash?

[11:42] ericb2 sandeep: here

[11:42] ericb2 sandeep: what is your problem ?

[11:42] chacha_chaudhry sandeep: what kind of help?

[11:43] sandeep i am a layman in programming and wish to learn about developing and debuging. where should i start from?

[11:43] * stx12 (n=st@nat/sun/x-c96e4329c2e8c890) has joined #education.openoffice.org

[11:44] ericb2 sandeep: I think the good first exercice to do is to build OpenOffice.org

[11:44] ericb2 sandeep: and once done, discover some modules

[11:44] chacha_chaudhry ericb2: I don't undestand the relation between milestones and Child Workspaces ..

[11:44] ericb2 chacha_chaudhry: let me retrive a link

[11:44] chacha_chaudhry ericb2: sure

[11:45] ericb2 chacha_chaudhry: can you connect to : http://eis.services.openoffice.org/

[11:45] chacha_chaudhry ericb2: yes

[11:45] ericb2 chacha_chaudhry: use the link automatic guest

[11:45] ericb2 https://tools.services.openoffice.org/EIS2/GuestLogon

[11:46] ericb2 then click on child workspaces

[11:47] ericb2 chacha_chaudhry: if everything is fine, you'll have list on left -> click on " Browse "

[11:47] ericb2 chacha_chaudhry: then " per Milestone "

[11:47] chacha_chaudhry yes ....doing ..

[11:48] ericb2 chacha_chaudhry: once you clicked on "per Milestone ", tell me what you see

[11:49] chacha_chaudhry I get some folders these must be Master Workspaces , or I am wrong ?

[11:49] ericb2 chacha_chaudhry: exact ! Then click on the DEV300 triangle

[11:50] chacha_chaudhry ericb2: yes m1 .... m12

[11:50] ericb2 chacha_chaudhry: you see all milestones

[11:50] chacha_chaudhry ericb2: yes

[11:50] ericb2 chacha_chaudhry: now, click on say, m11

[11:50] ericb2 (the triangle)

[11:51] chacha_chaudhry yes done So these are child workspaces

[11:51] ericb2 chacha_chaudhry: yes. And you can even do more : click on one of them

[11:51] ericb2 chacha_chaudhry: say the first one : ab49

[11:51] chacha_chaudhry done

[11:51] ericb2 chacha_chaudhry: what happens ?

[11:52] chacha_chaudhry ericb2: displays --> Data for child workspace DEV300/ab49 in box

[11:52] ericb2 chacha_chaudhry: exact, and this information is extremely helpfull for developers

[11:52] chacha_chaudhry ericb2: :)

[11:53] ericb2 chacha_chaudhry: as you probably understood, EIS is for the source code scheduling,

[11:53] ericb2 and between two milestones, we add child workspaces

[11:53] sandeep i still can't figure it out, how does this info helps?

[11:53] chacha_chaudhry ericb2: yes

[11:54] ericb2 sandeep: when you write code, you need to create changes based on a well defined reference -> a milestone

[11:54] sandeep ericb2: i still can't figure it out, how does this info helps?

[11:54] sandeep ok

[11:54] sandeep then?

[11:54] ericb2 sandeep: OpenOffice.org source code is a continuous

[11:55] ericb2 sandeep: you need time to write your code, and integrate it in the source

[11:55] ericb2 sandeep: this is a process

[11:55] ericb2 sandeep: you cannot ignore what other devs do when you write code

[11:55] sandeep ok

[11:55] sandeep :)

[11:56] ericb2 sandeep: of course, we can isolate a milestone, work on the code, and resynchronize later

[11:56] sandeep sm|CPU stx12

[11:56] ericb2 sandeep: but maybe one dev will have modified the same file as the one you modified

[11:56] ericb2 sandeep: don't forget, a lot o people are writing code together

[11:57] ericb2 sandeep: for the beginning, you can ignore the scheduling, yes

[11:57] sandeep eicb2: yes

[11:57] ericb2 sandeep: I just tried to explain chacha_chaudhry what a milestone was

[11:57] ericb2 sandeep: what is yur programming language ?

[11:57] sandeep sm|CPU stx12

[11:57] sandeep sm|CPU stx12

[11:57] sandeep ericb2: C, C++

[11:58] ericb2 sandeep: ok. and you OS ?

[11:58] ericb2 s/you/your/

[11:58] ericb2 sandeep: Linux ?

[11:58] sandeep sm|CPU stx12

[11:58] sandeep ericb2: ubuntu

[11:58] sandeep yes

[11:58] ericb2 sandeep: ok, then the first step for you is to build OpenOffice.org.

[11:58] sandeep sm|CPU stx12

[11:58] sandeep ericb2: yes

[11:59] ericb2 sandeep: once done, you can start with the modules: what is done where

[11:59] sandeep sm|CPU stx12

[11:59] ericb2 sandeep: and, for example, study sal, or whatever module, depending on the questions you have, and what you want to do

[11:59] ericb2 sandeep: for tracing, this is easy : gdb works fine

[12:00] ericb2 sandeep: excepted in some cases, but for what you want to do, that's really enough

[12:00] ericb2 sandeep: e.g you can try as starting point 1) to build a Linux version 2) understand what happens when you launch OpenOffice.org 3) trace it to verify

[12:01] ericb2 sandeep: if you will only concentrate on C++ , help us for starmath baseline implementation is great

[12:01] ericb2 sandeep: and you'll be welcome


[12:02] sandeep ericb2: what is starmath baseline implementation?

[12:02] ericb2 sandeep: issue 972

[12:02] IZBot Formula editor ENHANCEMENT STARTED P3 Alignment of baselines of formula and text in writer http://qa.openoffice.org/issues/show_bug.cgi?id=972

[12:02] ericb2 sandeep: IZBot is great ;-)

[12:03] chacha_chaudhry :)

[12:03] sandeep ericb2: k, i'll try it out after the discussion. :)

[12:03] ericb2 sandeep: and read : http://wiki.services.openoffice.org/wiki/Education_Project#Education_Project_Effort

[12:03] ericb2 sandeep: exactly http://wiki.services.openoffice.org/wiki/Education_Project/Effort#Implement_Math_Baseline_Alignement_.28click_me.29

[12:04] ericb2 sandeep: other applications are proposed, and volunteers are warmly welcome

[12:05] sandeep ericb2: i'm just learning java, and have basic programming knowledge about c/C++. don't know whether i'll be of much help or not

[12:05] sandeep but i'll try :)

[12:05] ericb2 sandeep: maybe yo can contact cbosdonnat

[12:05] ericb2 sandeep: he proposed something more Java oriented. Don't fear to ask him

[12:06] ericb2 sandeep: http://wiki.services.openoffice.org/wiki/Education_Project/Effort#Make_the_uno- skeletonmaker_tool_templatable_.28click_me.29

[12:06] sandeep ericb2: where wud he be, on irc?

[12:06] ericb2 sandeep: do you see the list of people on the channel ?

[12:07] sandeep yes , i c him.

[12:07] ericb2 sandeep: else cedricbosdo @openoffice.org should work if you want further information

[12:07] cbosdonnat sandeep: Hi

[12:08] * chacha_chaudhry still waiting for checkout to complete :P

[12:08] ericb2 sandeep: what I suggest you: join education project (as member) and join dev@education.openoffice.org mailing list

[12:08] sandeep cbosdonnat: hi i'm learning java. n e thing dat u cud sugest

[12:08] cbosdonnat ericb2: what I proposed on the uno-skeletonmaker is mainly C++ coding

[12:08] ericb2 sandeep: then, don't fear to ask questions

[12:09] ericb2 cbosdonnat: ah, sorry

[12:09] ericb2 sandeep: then ask Juergen Schmitdt

[12:09] sandeep cbosdonnat: i have sum basic knowledge bout c++.

[12:09] ericb2 sandeep: sorry, I'm not Java skilled  ;-)

[12:10] cbosdonnat sandeep: Where would you like to help ?

[12:11] sandeep cbosdonnat: not sure. i hv nvr done nething like this b4. always hv been doin the dummy programs at school n colege?

[12:11] cbosdonnat sandeep: If you don't fear handling OOo Java extensions build, I could propose you to continue the work I've started on a Maven plugin

[12:11] sandeep cbosdonnat: where can i get info on dat?

[12:12] ericb2 @all :this is lunch time here, and if you have questions, I'll be back in ~1 hour 15

[12:12] sandeep cbosdonnat: wat wud b d purpose of dis pluggin?

[12:12] ericb2 thanks a lot, and see you later

[12:12] sandeep ericb2: thnx a lot :)

Personal tools