Difference between revisions of "Development"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (Education project)
(11 intermediate revisions by 7 users not shown)
Line 1: Line 1:
== Getting started with OOo development ==
+
__TOC__
<div style="float:right; background-color:lightyellow; border: 1px solid black; margin:0 1em 0 0.5em; padding:0 0.5em 0 0.5em; ">
+
== Getting started with Apache OpenOffice development ==
<b>Get Started from Scratch</b><br />
+
You will find how to:
+
* get the source
+
* and build OpenOffice.org
+
step by step in the [[Documentation/Building Guide|Building Guide]].
+
</div>
+
  
You are at the start of a long, but very exciting journey! There are many ways to get started, but the easiest one is to:
+
You are at the start of a long, but very exciting journey! Apache OpenOffice is a large and inclusive project. No matter what your interests are, there is always a place for you here. There are many ways to get started, but the easiest one is to:
  
* Get the source code and build you own OpenOffice.org so that you are able to modify things
+
=== Get the source code and start building ===
{{Template:Documentation/Tip| The [[Documentation/Building_Guide|Building Guide]] will walk you through this.<ref name="Foot1">An alternative is using [[ooo-build]]. which was originally started to work around some problems the vanilla build system had in earlier releases.</ref>}}
+
Build you own OpenOffice so that you are able to modify things
* Pick up your favorite bug/annoyance, and try to fix that
+
{{Tip| The [[Documentation/Building_Guide_AOO|Building Guide]] will walk you through this.}}
* When you see that hacking OOo pleases you, it's time to look for bigger tasks, get in contact on [[IRC]] or on the mailing list: mailto:dev@openoffice.org
+
  
If you want to extend OpenOffice.org with extensions and UNO components take a look at the [[Documentation/DevGuide|Development Guide]]. The easiest way to get started is by using the plugins for [[OpenOffice_NetBeans_Integration|Netbeans]] and for [[OpenOffice_Eclipse_Integration|Eclipse]].
+
=== Fix a bug or an annoyance ===
 +
Pick up your favorite bug/annoyance, and try to fix that. Read how to [[Contributing_Patches|Contribute a patch]] via Issue Tracker.
 +
{{Tip| Browse [[http://qa.openoffice.org/issues/buglist.cgi?issue_type=DEFECT&issue_type=ENHANCEMENT&issue_type=FEATURE&issue_status=UNCONFIRMED&issue_status=NEW&issue_status=STARTED&issue_status=REOPENED&field0-0-0=votes&type0-0-0=greaterthan&value0-0-0=50&order=issues.votes%20desc,%20issues.priority,%20issues.issue_type Top voted issues]]  or review our [[To-Dos]] list that presents the key issues of interest to the core components}}
 +
 
 +
=== Contribute more ===
 +
When you see that hacking AOO pleases you, it's time to look for bigger tasks, get in contact on [[IRC]] or on the [http://openoffice.apache.org/mailing-lists.html development mailing list]. The list is friendly and supportive; the people want to help.
 +
 
 +
== Create an extension ==
 +
Extensions are easy to write and fun to see in action. You can add features that millions of others will use by using Java, Python, StarBasic, or JavaScript. Find more on [[Extensions_development|Extension development]] wiki page. The OpenOffice.org UNO component model is quite extensive and can be daunting at first. To help you, there is a comprehensive [[Documentation/DevGuide|Development Guide]]. The easiest way to get started is by using the plugins for [[OpenOffice_NetBeans_Integration|Netbeans]] and for [[OpenOffice_Eclipse_Integration|Eclipse]]. Plus, you can get help from the [[http://openoffice.apache.org/mailing-lists.html#api-mailing-list-public API mailing list]].
  
 
== Development resources ==
 
== Development resources ==
 +
* [[Documentation/Building Guide AOO|Building Guide]]
 
* [[Documentation/DevGuide|Development Guide]]
 
* [[Documentation/DevGuide|Development Guide]]
* [http://svn.services.openoffice.org/opengrok/ Opengrok] - source browser
+
* [http://opengrok.adfinis-sygroup.org/source/ Opengrok] - source browser
* [http://hg.services.openoffice.org/hg/ Mercurial-Webinterface]
+
 
* [http://api.openoffice.org OpenOffice.org API]
 
* [http://api.openoffice.org OpenOffice.org API]
* [http://eis.services.openoffice.org/ Environment Information System also called EIS], more infos can be found [[EIS|here]].
+
* [https://issues.apache.org/ooo/ Bugtracker]
* [http://qa.openoffice.org/issues/ Bugtracker]
+
 
* [[Environment Variables]] - a description of handy environment variables used at runtime  
 
* [[Environment Variables]] - a description of handy environment variables used at runtime  
 
* [[Source code directories| A description of the source directories]]
 
* [[Source code directories| A description of the source directories]]
 +
* [[Localization for developers]]
 +
* [[Build Bootstrapping]]
 +
 
== Further reading ==
 
== Further reading ==
 
* [[IRC Communication|Meet the team on IRC]]
 
* [[IRC Communication|Meet the team on IRC]]
Line 32: Line 35:
 
* [[Hacking]]
 
* [[Hacking]]
 
* [[Debugging]] - for when it all goes wrong  
 
* [[Debugging]] - for when it all goes wrong  
* [[Mercurial]] and [[OOo and Subversion]] - How to use the SCMs that OOo uses
 
 
* [[Contributing Patches]] - for when you have something to fold back
 
* [[Contributing Patches]] - for when you have something to fold back
 
* [[Commit Rights]] - An overview of how to attain commit rights, and what to do with them once you get them  
 
* [[Commit Rights]] - An overview of how to attain commit rights, and what to do with them once you get them  
Line 38: Line 40:
 
* [[Compiler versions used by port maintainers and release engineers]]  
 
* [[Compiler versions used by port maintainers and release engineers]]  
 
* [[Writing warning-free code|Warning-free Code]] and [[Writing correct Cplusplus|Correct C++]]  
 
* [[Writing warning-free code|Warning-free Code]] and [[Writing correct Cplusplus|Correct C++]]  
* [[Tinderbox]] - test new child workspaces and show your build logfile to others
 
  
 
== Education project ==
 
== Education project ==
{{Template:Documentation/Tip|If you don't find the instructions in the Wiki good enough to guide you or if you are interested in some aspect that is not covered, feel free to subscribe and ask on the [mailto:dev_at_openoffice.org dev@openoffice.org] mailing list. See [[Communication]] for more infromation on how get in touch with the OpenOffice.org project.}}
+
{{Tip|If you don't find the instructions in the Wiki good enough to guide you or if you are interested in some aspect that is not covered, feel free to subscribe and ask on the [mailto:dev_at_openoffice.org dev@openoffice.org] mailing list. See [[Communication]] for more infromation on how get in touch with the OpenOffice.org project.}}
  
{{Template:Documentation/Tip|Another solution is to contact the [[Education Project]], which aims to find future OpenOffice.org developers, mainly students, who are discovering OpenOffice.org Project. The dedicated Education Project channel is: [irc://irc.freenode.net/education.openoffice.org #education.openoffice.org on freenode]}}
+
{{Tip|Another solution is to contact the [[Education Project]], which aims to find future OpenOffice.org developers, mainly students, who are discovering OpenOffice.org Project. The dedicated Education Project channel is: [irc://irc.freenode.net/education.openoffice.org #education.openoffice.org on freenode]}}
  
{{Template:Documentation/Tip|On the [[Education_ClassRoom|ClassRoom]] page, you will find more information about the essentials. For example [[Education_ClassRoom/Practice|Practice]], or [[Education_ClassRoom/Previous_Logs|IRC Meetings Logs]] we did as "ClassRooms".}}
+
{{Tip|On the [[Education_ClassRoom|ClassRoom]] page, you will find more information about the essentials. For example [[Education_ClassRoom/Practice|Practice]], or [[Education_ClassRoom/Previous_Logs|IRC Meetings Logs]] we did as "ClassRooms".}}
  
 
----
 
----
 
<references/>
 
<references/>
 
[[Category:Development]][[Category:Build System]][[Category:SCM]]
 
[[Category:Development]][[Category:Build System]][[Category:SCM]]

Revision as of 16:47, 14 July 2018

Getting started with Apache OpenOffice development

You are at the start of a long, but very exciting journey! Apache OpenOffice is a large and inclusive project. No matter what your interests are, there is always a place for you here. There are many ways to get started, but the easiest one is to:

Get the source code and start building

Build you own OpenOffice so that you are able to modify things

Tip.png The Building Guide will walk you through this.


Fix a bug or an annoyance

Pick up your favorite bug/annoyance, and try to fix that. Read how to Contribute a patch via Issue Tracker.

Tip.png Browse [Top voted issues] or review our To-Dos list that presents the key issues of interest to the core components


Contribute more

When you see that hacking AOO pleases you, it's time to look for bigger tasks, get in contact on IRC or on the development mailing list. The list is friendly and supportive; the people want to help.

Create an extension

Extensions are easy to write and fun to see in action. You can add features that millions of others will use by using Java, Python, StarBasic, or JavaScript. Find more on Extension development wiki page. The OpenOffice.org UNO component model is quite extensive and can be daunting at first. To help you, there is a comprehensive Development Guide. The easiest way to get started is by using the plugins for Netbeans and for Eclipse. Plus, you can get help from the [API mailing list].

Development resources

Further reading

Education project

Tip.png If you don't find the instructions in the Wiki good enough to guide you or if you are interested in some aspect that is not covered, feel free to subscribe and ask on the dev@openoffice.org mailing list. See Communication for more infromation on how get in touch with the OpenOffice.org project.


Tip.png Another solution is to contact the Education Project, which aims to find future OpenOffice.org developers, mainly students, who are discovering OpenOffice.org Project. The dedicated Education Project channel is: #education.openoffice.org on freenode


Tip.png On the ClassRoom page, you will find more information about the essentials. For example Practice, or IRC Meetings Logs we did as "ClassRooms".



Personal tools