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

From Apache OpenOffice Wiki
Jump to: navigation, search
m (remove useless list of names (due to completion when answering ))
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]]
 +
|}
  
[11:03] ericb2 to avoid spare time
+
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 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:23, 28 July 2008

ericb2The principle is : I expose the points, without people talk 11:03
ericb2to avoid spare time 11:03
ericb2once the first part is finished, questions are welcome 11:03
ericb2in 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
ericb2and the channel is the right place to discuss *afterwards* about those exercices 11:04
ericb2Let's go :) 11:04
ericb2For any newcomer, interested to contribute, the number of questions, the right order to ask them is different, and there is no 11:04
magic method nor solution, to teach that.
ericb2Worst, a lot of time is needed before the autonomy arrives. Don't give up, and be patient. 11:05
ericb2What we propose is a mix of both courses and -sort of- personal support. 11:05
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 ! 11:05
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 11:05
moment ( yes please do !! )
ericb2Important: if ever we don't have the answer (can occur), we'll notice the question, and provide you what we found later. 11:06
ericb2This course alone does not make sense: attendees must practice, and search by themselves (I tried to prepare some exercices for 11:06
the courageous one ).
ericb2If ever people who searched don't find the answer to their problems, then they must ask on (e.g.) #education.openoffice.org IRC 11:06
channel. We'll help them with pleasure !
ericb2Disclaimer: only vanilla OpenOffice.org source code will be described here 11:06
ericb2About the Community "behaviour" 11:07
ericb2This course aims to share the knowledge, and create a community of people helping together. Now, if you think you can propose 11:07
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.
ericb2Don't forget that be regular and serious is a key for success 11:07
ericb2Last but not least, we need contributors and people involved, because there is always a lot to do. 11:07
ericb2A) Short description of the OpenOffice.org Project 11:08
ericb2Shortly: 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
ericb2For the history, please read the website, or wikipedia, everything is written ten times already :) 11:08
ericb2For us, everything is project in OpenOffice.org, and everything is a framework. 11:08
ericb2About Projects, there are : 11:08
ericb2- Accepted projects 11:08
ericb2http://projects.openoffice.org/accepted.html 11:09
ericb2- Native Lang Community Projects : 11:09
ericb2http://projects.openoffice.org/native-lang.html 11:09
ericb2- Incubator Projects : i.e. Education Project. ( US !! ) 11:09
ericb2Fortunaly, everything can be summarized in two links : 11:09
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
Remaillehi 11:10
ericb2Nobody else than you can do it for you : visit these links, be curious and discover 11:11
div align="left" style="color:green; font-size:14px" [11:11] ericb2Find 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>
ericb2Open Question : what about create a FAQ on the wiki, somewhere in Education Project ? 11:12
ericb21) Discover the OpenOffice.org Developer World 11:12
ericb2Composed of tools, methods and resources 11:12
ericb2The tools are : IssueZilla, EIS, cvs , LXR, vi, emacs , Xcode , ..etc 11:12
ericb2Resources are mostly IssueZilla , mailing lists archives, coding guidelines .. and the source code ! 11:13
ericb2Methods are e.g. QA related ( out o scope today) 11:14
ericb2the tools first : 11:14
ericb21.1) Check the code: cvs ( there is work in progress for another tool ) 11:14
ericb2with it, you can modify the code, create your patches, commit: cvs , diff and patch 11:14
ericb2to check for changes in the code: bonsai is a powerfull tool 11:15
div align="left" style="color:blue; font-size:14px" [11:15] ericb2Practice 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] ericb21) Go to http://bonsai.go-oo.org/cvsqueryform.cgi </div>
div align="left" style="color:blue; font-size:14px" [11:16] ericb2We'll try to do a request :) </div>
div align="left" style="color:blue; font-size:14px" [11:16] ericb22) 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] ericb23) In the Field "Branch" replace HEAD with cws_dev300_aquavcl07 </div>
div align="left" style="color:blue; font-size:14px" [11:16] ericb24) in the field "Date" check "Since the beginning of time " </div>
div align="left" style="color:blue; font-size:14px" [11:16] ericb25) do not modify the other fields </div>
div align="left" style="color:blue; font-size:14px" [11:16] ericb26) 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] ericb27) 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] ericb2Strongly 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] ericb2Remark: 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>
ericb2Vincent Vikram wrote several questions, and I'll try to provide tracks .. 11:18
ericb22) Where is the code ? 11:18
ericb2Answer : hosted by machines, we'll call " cvs repository" No need to know more about the machines 11:19
ericb22.1) cvs 11:19
ericb2cvs uses a "repository". OpenOffice.org has an anonymous ( means read only ) repository. 11:19
ericb2You can checkout any code you want very easely. 11:19
ericb2The principle is: 11:20
ericb2you duplicate/copy on your machine the same code the repository has. Means, for a given milestone, the code will always remain 11:20
the same. Exactly 0 difference.
ericb2As OpenOffice.org repositories we have anoncvs.services.openoffice.org (for all) and tunnel (for domain developers, using ssh 11:20
connexion for commits )
ericb2Summary: 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 11:21
your internet connexion is not broken)
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
ericb22.2) Some Vocable : 11:22
ericb2Master Work space: gives a version of OpenOffice.org. 11:22
ericb2e.g. : SRC680 == OpenOffice.org 2.x source code , DEV300 == OpenOffice.org 3.x source code 11:22
ericb2-> Between two different consecutive Master workspaces, we accumulate Milestones. 11:23
ericb2For example: Master workspace DEV300_m0 is based on SRC680_m248 (end of life for 2.x ) 11:23
ericb2A Milestone itself contains several child workspaces. 11:23
ericb2a Child Workspace is a change in the code, dedicated to a new feature or a bugfix, and synchronized with a given milestone 11:23
ericb2a Child Workspace can involve several modules 11:24
<div align="left" style="color:red; font-size:14px">[11:24] ericb22.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] ericb2Preliminary: </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] ericb2Now, open a terminal, use bash, and do :</div>
<div align="left" style="color:red; font-size:14px">[11:24] ericb20 ) create the environment </div>
<div align="left" style="color:red; font-size:14px">[11:25] ericb2what follows are command lines </div>
<div align="left" style="color:red; font-size:14px">[11:25] ericb2export CVSROOT=":pserver:anoncvs@anoncvs.services.openoffice.org:/cvs"</div>
<div align="left" style="color:red; font-size:14px">[11:25] ericb2create TMP dir (command: mkdir TMP )</div>
<div align="left" style="color:red; font-size:14px">[11:25] ericb2cd TMP</div>
<div align="left" style="color:red; font-size:14px">[11:25] ericb21) checkout vcl module from DEV300_m11 </div>
<div align="left" style="color:red; font-size:14px">[11:25] ericb2cvs co -r DEV300_m11 dtrans</div>
<div align="left" style="color:red; font-size:14px">[11:25] ericb2Question: what happens </div>
<div align="left" style="color:red; font-size:14px">[11:26] ericb22) Modify one file, do "cvs up" , and comment on the result </div>
<div align="left" style="color:red; font-size:14px">[11:26] ericb23) using grep , retrieve the name of the milestone in the sources</div>
<div align="left" style="color:red; font-size:14px">[11:26] ericb24) checkout vcl from a cws under development</div>
<div align="left" style="color:red; font-size:14px">[11:26] ericb2cvs -z4 co -r cws_dev300_aquavcl07 vcl</div>
<div align="left" style="color:red; font-size:14px">[11:26] ericb25) retrieve the cwsname in the sources</div>
<div align="left" style="color:red; font-size:14px">[11:26] ericb26) analyse the list of the subdirectories vcl contains</div>
<div align="left" style="color:red; font-size:14px">[11:26] ericb27) 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] ericb28) create a diff with the OpenOffice.org repository</div>
<div align="left" style="color:red; font-size:14px">[11:27] ericb2change directory outside of vcl</div>
<div align="left" style="color:red; font-size:14px">[11:27] ericb2in the current dir ( TMP ) , do :</div>
div align="left" style="color:red; font-size:14px">[11:27] ericb2cvs diff -u vcl my_pretty_patch.diff </div>
<div align="left" style="color:red; font-size:14px">[11:27] ericb29) What does contain the patch ? </div>
<div align="left" style="color:red; font-size:14px">[11:27] ericb210) How reverse your changes ?</div>
<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>
<div align="left" style="color:red; font-size:14px">[11:28] ericb2Download all OpenOffice.org tree :</div>
<div align="left" style="color:red; font-size:14px">[11:28] ericb2mkdir DEV300_m11</div>
<div align="left" style="color:red; font-size:14px">[11:28] ericb2cd DEV300_m11</div>
<div align="left" style="color:red; font-size:14px">[11:28] ericb2cvs -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>
ericb23) I got the code... now where do I start in the code? 11:29
ericb2OpenOffice.org is a framework, means everything, including tools is included in the tree. 11:29
ericb2More information: http://wiki.services.openoffice.org/wiki/Source_code_directories 11:29
ericb2Approximativaly 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 : 11:29
http://wiki.services.openoffice.org/wiki/Source_code_directories
ericb2As you can see, there is an associated project for every module. Means, when you have questions about this or another module, 11:29
you'll have to send a mail to the correspondig mailing list.
ericb2Or at least, read the archives first cannot be bad :) 11:29
ericb2Important modules are: 11:30
ericb2- config_office contains everything for configure command line. -> the Makefile corresponding to your tree is created from 11:30
config_office.
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:30
ericb2One link to be added in your list : http://tools.openoffice.org 11:31
ericb24) The build process, first part 11:31
ericb24.1) build.lst and d.lst 11:31
ericb2In every module, you'll find a " prj " direectory containing build.lst and d.lst files . The first line of build.lst gives the 11:32
prerequisites: the current module can be built if and only if the one listed in build.lst ( first line) are built.
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 11:32
module) into the solver, sort of collection of all products built at the end of the process.
ericb24.2) Dependencies 11:32
ericb2Because of the dependencies mentionned in build.lst, everything cannot be built in same time: first tools are built ( e.g. dmake, 11:32
doing ./bootstrap )
ericb2The 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
ericb2Summary: 11:33
ericb2- checkout all the sources 11:33
ericb2- run configure with the right options 11:33
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
<div align="left" style="color:blue; font-size:14px">[11:34] ericb2Practice by yourself</div>
div align="left" style="color:blue; font-size:14px" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""</div>
<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>
<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>
<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] ericb22) 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] ericb23) 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] ericb24) 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] ericb25) study build.pl perl script located in solenv/bin/</div>
div align="left" style="color:blue; font-size:14px" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""</div>
ericb2Sorry for being so long. Yes ~15 lines and questions will start 11:35
ericb25) What d I need to know in advance 11:35
ericb2OpenOffice.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
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 11:35
empty boxes, containing the real implementation, built only for the current building system.
ericb2stl and templates are used, gcc , and g++ skill cannot be bad either. 11:36
ericb2Know well OpenOffice.org coding Guidelines 11:36
ericb2That's all for the first time. Next time (when possible) : configure, and build OpenOffice.org, rebuild one module only , and 11:36
debug it
ericb2Questions ?  :-) 11:36
ericb2nobody has questions ? 11:38
ericb2chacha_chaudhry: ? 11:38
chacha_chaudhryyes 11:38
chacha_chaudhry ChanServ ChaoticGood 11:38
ericb2chacha_chaudhry: go ahead :) 11:38
>Remaille<bonjour :) 11:39
chacha_chaudhryDevelopers guide is also important, I suppose 11:39
chacha_chaudhry ChanServ ChaoticGood 11:39
ericb2chacha_chaudhry: yes, sure 11:39
ericb2chacha_chaudhry: everything I mentionned is my experience, since 4 years contributing for the OpenOffice.org Project 11:40
ericb25 years soon .. 11:40
chacha_chaudhryericb2: :) 11:40
ericb2chacha_chaudhry: did you already all the exercices I proposed ? Will you try them ? 11:41
chacha_chaudhryericb2: cehcking out code 11:41
chacha_chaudhryericb2: I have a slow connection -- doing it now 11:41
sandeepwhere can i find help on bash? 11:41
ericb2sandeep: here 11:42
ericb2sandeep: what is your problem ? 11:42
chacha_chaudhrysandeep: what kind of help? 11:42
sandeepi 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:43
ericb2sandeep: I think the good first exercice to do is to build OpenOffice.org 11:44
ericb2sandeep: and once done, discover some modules 11:44
chacha_chaudhryericb2: I don't undestand the relation between milestones and Child Workspaces .. 11:44
ericb2chacha_chaudhry: let me retrive a link 11:44
chacha_chaudhryericb2: sure 11:44
ericb2chacha_chaudhry: can you connect to : http://eis.services.openoffice.org/ 11:45
chacha_chaudhryericb2: yes 11:45
ericb2chacha_chaudhry: use the link automatic guest 11:45
ericb2https://tools.services.openoffice.org/EIS2/GuestLogon 11:45
ericb2then click on child workspaces 11:46
ericb2chacha_chaudhry: if everything is fine, you'll have list on left -> click on " Browse " 11:47
ericb2chacha_chaudhry: then " per Milestone " 11:47
chacha_chaudhryyes ....doing .. 11:47
ericb2chacha_chaudhry: once you clicked on "per Milestone ", tell me what you see 11:48
chacha_chaudhryI get some folders these must be Master Workspaces , or I am wrong ? 11:49
ericb2chacha_chaudhry: exact ! Then click on the DEV300 triangle 11:49
chacha_chaudhryericb2: yes m1 .... m12 11:50
ericb2chacha_chaudhry: you see all milestones 11:50
chacha_chaudhryericb2: yes 11:50
ericb2chacha_chaudhry: now, click on say, m11 11:50
ericb2(the triangle) 11:50
chacha_chaudhryyes done So these are child workspaces 11:51
ericb2chacha_chaudhry: yes. And you can even do more : click on one of them 11:51
ericb2chacha_chaudhry: say the first one : ab49 11:51
chacha_chaudhrydone 11:51
ericb2chacha_chaudhry: what happens ? 11:51
chacha_chaudhryericb2: displays --> Data for child workspace DEV300/ab49 in box 11:52
ericb2chacha_chaudhry: exact, and this information is extremely helpfull for developers 11:52
chacha_chaudhryericb2: :) 11:52
ericb2chacha_chaudhry: as you probably understood, EIS is for the source code scheduling, 11:53
ericb2and between two milestones, we add child workspaces 11:53
sandeepi still can't figure it out, how does this info helps? 11:53
chacha_chaudhryericb2: yes 11:53
ericb2sandeep: when you write code, you need to create changes based on a well defined reference -> a milestone 11:54
sandeepericb2: i still can't figure it out, how does this info helps? 11:54
sandeepok 11:54
sandeepthen? 11:54
ericb2sandeep: OpenOffice.org source code is a continuous 11:54
ericb2sandeep: you need time to write your code, and integrate it in the source 11:55
ericb2sandeep: this is a process 11:55
ericb2sandeep: you cannot ignore what other devs do when you write code 11:55
sandeepok 11:55
sandeep:) 11:55
ericb2sandeep: of course, we can isolate a milestone, work on the code, and resynchronize later 11:56
sandeep sm|CPU stx12 11:56
ericb2sandeep: but maybe one dev will have modified the same file as the one you modified 11:56
ericb2sandeep: don't forget, a lot o people are writing code together 11:56
ericb2sandeep: for the beginning, you can ignore the scheduling, yes 11:57
sandeepeicb2: yes 11:57
ericb2sandeep: I just tried to explain chacha_chaudhry what a milestone was 11:57
ericb2sandeep: what is yur programming language ? 11:57
sandeep sm|CPU stx12 11:57
sandeep sm|CPU stx12 11:57
sandeepericb2: C, C++ 11:57
ericb2sandeep: ok. and you OS ? 11:58
ericb2s/you/your/ 11:58
ericb2sandeep: Linux ? 11:58
sandeep sm|CPU stx12 11:58
sandeepericb2: ubuntu 11:58
sandeepyes 11:58
ericb2sandeep: ok, then the first step for you is to build OpenOffice.org. 11:58
sandeep sm|CPU stx12 11:58
sandeepericb2: yes 11:58
ericb2sandeep: once done, you can start with the modules: what is done where 11:59
sandeep sm|CPU stx12 11:59
ericb2sandeep: and, for example, study sal, or whatever module, depending on the questions you have, and what you want to do 11:59
ericb2sandeep: for tracing, this is easy : gdb works fine 11:59
ericb2sandeep: excepted in some cases, but for what you want to do, that's really enough 12:00
ericb2sandeep: e.g you can try as starting point 1) to build a Linux version 2) understand what happens when you launch 12:00
OpenOffice.org 3) trace it to verify
ericb2sandeep: if you will only concentrate on C++ , help us for starmath baseline implementation is great 12:01
ericb2sandeep: and you'll be welcome 12:01
sandeepericb2: what is starmath baseline implementation? 12:02
ericb2sandeep: issue 972 12:02
IZBotFormula editor ENHANCEMENT STARTED P3 Alignment of baselines of formula and text in writer 12:02
http://qa.openoffice.org/issues/show_bug.cgi?id=972
ericb2sandeep: IZBot is great ;-) 12:02
chacha_chaudhry:) 12:03
sandeepericb2: k, i'll try it out after the discussion. :) 12:03
ericb2sandeep: and read : http://wiki.services.openoffice.org/wiki/Education_Project#Education_Project_Effort 12:03
ericb2sandeep: exactly 12:03
http://wiki.services.openoffice.org/wiki/Education_Project/Effort#Implement_Math_Baseline_Alignement_.28click_me.29
ericb2sandeep: other applications are proposed, and volunteers are warmly welcome 12:04
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 12:05
not
sandeepbut i'll try :) 12:05
ericb2sandeep: maybe yo can contact cbosdonnat 12:05
ericb2sandeep: he proposed something more Java oriented. Don't fear to ask him 12:05
ericb2sandeep: http://wiki.services.openoffice.org/wiki/Education_Project/Effort#Make_the_uno- 12:06
skeletonmaker_tool_templatable_.28click_me.29
sandeepericb2: where wud he be, on irc? 12:06
ericb2sandeep: do you see the list of people on the channel ? 12:06
sandeepyes , i c him. 12:07
ericb2sandeep: else cedricbosdo @openoffice.org should work if you want further information 12:07
cbosdonnatsandeep: Hi 12:07
*chacha_chaudhry still waiting for checkout to complete :P 12:08
ericb2sandeep: what I suggest you: join education project (as member) and join dev@education.openoffice.org mailing list 12:08
sandeepcbosdonnat: hi i'm learning java. n e thing dat u cud sugest 12:08
cbosdonnatericb2: what I proposed on the uno-skeletonmaker is mainly C++ coding 12:08
ericb2sandeep: then, don't fear to ask questions 12:08
ericb2cbosdonnat: ah, sorry 12:09
ericb2sandeep: then ask Juergen Schmitdt 12:09
sandeepcbosdonnat: i have sum basic knowledge bout c++. 12:09
ericb2sandeep: sorry, I'm not Java skilled  ;-) 12:09
cbosdonnatsandeep: Where would you like to help ? 12:10
sandeepcbosdonnat: not sure. i hv nvr done nething like this b4. always hv been doin the dummy programs at school n colege? 12:11
cbosdonnatsandeep: If you don't fear handling OOo Java extensions build, I could propose you to continue the work I've started on a 12:11
Maven plugin
sandeepcbosdonnat: where can i get info on dat? 12:11
ericb2@all :this is lunch time here, and if you have questions, I'll be back in ~1 hour 15 12:12
sandeepcbosdonnat: wat wud b d purpose of dis pluggin? 12:12
ericb2thanks a lot, and see you later 12:12
sandeepericb2: thnx a lot :) 12:12

Generated by irclog2html.py 2.6 by Marius Gedminas - find it at mg.pov.lt!

Personal tools