Difference between revisions of "Development"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Getting started with OOo development)
m (Education project)
 
(24 intermediate revisions by 10 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>
+
  
[[Development/OpenOffice.org Building Guide|Building]] and [[hacking]] on OpenOffice.org (OOo) entails climbing a fairly lengthy and steep incline. Hopefully, this wiki will make the learning curve less steep and less abrupt, and will give you a walking stick to help you out.
+
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:
  
Much of our documentation assumes that you'll be using a reasonably current Linux system, as this the most easy environment to start. On Linux all prerequisites are available as [http://www.gnu.org Free software]. There is also some information on developing on [[Windows]].
+
=== Get the source code and start building ===
 +
Build your own OpenOffice so that you are able to modify things
 +
{{Tip| The [[Documentation/Building_Guide_AOO|Building Guide]] will walk you through this.}}
  
It should also be noted that you can build either the plain 'up-stream' OOo or use an [[ooo-build]] release which adds some patches & fixes. The ooo-build process is destined to being gradually phased out as the various up-stream issues it solves go away.
+
=== 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 [[https://bz.apache.org/ooo/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}}
  
In the same way, learning UNO components development is not an easy task. To help you there is an Eclipse plugin and a tutorial to use it. You can install the Eclipse plugin by using the following update site: http://cedric.bosdonnat.free.fr/ooeclipseintegration. The tutorial on how to create a UNO component in Java is available in the [http://api.openoffice.org/files/documents/22/3216/JavaComponentTuto.odt api project docs & files sections]. The document will even be wikified on this page: [[JavaEclipseTuto | Java Tutorial using Eclipse]]
+
=== 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 [https://openoffice.apache.org/mailing-lists.html development mailing list]. The list is friendly and supportive; the people want to help.
  
== Going Further ==
+
== 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 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 [https://openoffice.apache.org/mailing-lists.html#development-mailing-list-public DEV mailing list].
  
* [[IRC Communication|Meet the team on IRC]]
+
== Development resources ==
* [[Hacking]] - how to get started
+
* [[Documentation/Building Guide AOO|Building Guide]]
* [[Tutorials]] - hacker tutorials to get the hang of the code
+
* [[Documentation/DevGuide|Development Guide]]
* [[Debugging]] - for when it all goes wrong
+
* [http://opengrok.adfinis-sygroup.org/source/ Opengrok] - source browser
* [[Tinderbox]] - test new child workspaces and show your build logfile to others
+
* [http://api.openoffice.org OpenOffice.org API]
* [[Environment Variables]] - a description of handy environment variables used at runtime
+
* [https://issues.apache.org/ooo/ Bugtracker]
 +
* [[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]]
* [[Contributing Patches]] - for when you have something to fold back
+
* [[Localization for developers]]
* [[Commit Rights]] - An overview of how to attain commit rights, and what to do with them once you get them
+
* [[Build Bootstrapping]]
* [[Tips]] - misc. hints &amp; tips.
+
 
* [[FAQ]] - some infrequently asked questions
+
== Further reading ==
 +
* [[IRC Communication|Meet the team on IRC]]
 
* [[Using_Cpp_with_the_OOo_SDK|Using C++ with OOo SDK]]
 
* [[Using_Cpp_with_the_OOo_SDK|Using C++ with OOo SDK]]
 +
* [[Tutorials]] - hacker tutorials to get the hang of the code
 +
* [[Hacking]]
 +
* [[Debugging]] - for when it all goes wrong
 +
* [[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
 +
* [[Tips]] - misc. hints &amp; tips.
 +
* [[Compiler versions used by port maintainers and release engineers]]
 +
* [[Writing warning-free code|Warning-free Code]] and [[Writing correct Cplusplus|Correct C++]]
 +
 +
== Education 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@openoffice.apache.org dev@openoffice.apache.org] mailing list. See [[Communication]] for more information on how to get in touch with the {{AOo}} project.}}
 +
 +
{{Tip|Another solution is to contact the [[Education Project]], which aims to find future OpenOffice developers, mainly students, who are discovering OpenOffice Project. Get in touch on IRC: [ircs://irc.libera.chat/openoffice #openoffice on Libera.Chat]}}
  
 +
{{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".}}
  
[[Category:Development]]
+
----
 +
<references/>
 +
[[Category:Development]][[Category:Build System]][[Category:SCM]]

Latest revision as of 14:04, 27 August 2021

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 your 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 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 DEV 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.apache.org mailing list. See Communication for more information on how to get in touch with the Apache OpenOffice project.


Tip.png Another solution is to contact the Education Project, which aims to find future OpenOffice developers, mainly students, who are discovering OpenOffice Project. Get in touch on IRC: #openoffice on Libera.Chat


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