Difference between revisions of "Software Developer's Guide"

From iDempiere en
(More plug-in examples)
(Restructuring and updates)
Line 40: Line 40:
 
* [https://sourceforge.net/projects/red1/files/ Set of plug-ins from Red1]: useful set of plug-ins from one of the founder members of iDempiere
 
* [https://sourceforge.net/projects/red1/files/ Set of plug-ins from Red1]: useful set of plug-ins from one of the founder members of iDempiere
  
−
=== Set up the development environment ===
+
=== Developing custom plug-ins ===
 +
You will need to set up the Eclipse  development environment in order to develop plug-ins, as follows:
 
* [[Install Development Prerequisites|Prerequisites for the development environment]]
 
* [[Install Development Prerequisites|Prerequisites for the development environment]]
 
* [[Download the Code|Download the iDempiere source code]]: includes some [[Download Tips]] here if you have a slow line
 
* [[Download the Code|Download the iDempiere source code]]: includes some [[Download Tips]] here if you have a slow line
Line 47: Line 48:
 
* [[Running iDempiere within Eclipse]]
 
* [[Running iDempiere within Eclipse]]
  
−
=== Develop plugins ===
+
Once the development environment has been set up, you can follow these guides to develop various types of plug-ins:
 
* [[Developing_plug-ins_without_affecting_the_trunk|How to create a plug-in]]: a basic overview of creating a plug-in
 
* [[Developing_plug-ins_without_affecting_the_trunk|How to create a plug-in]]: a basic overview of creating a plug-in
 
* [[Developing Plug-Ins - WebUI Themes|Develop a plug-in to change the look-and-feel]]: includes a video
 
* [[Developing Plug-Ins - WebUI Themes|Develop a plug-in to change the look-and-feel]]: includes a video
Line 55: Line 56:
 
* [[Create a custom document class]]: these documents are useful because they have a status and can be controlled in a workflow
 
* [[Create a custom document class]]: these documents are useful because they have a status and can be controlled in a workflow
 
* [[Developing Plug-Ins - Create a Feature-Project to export Plug-Ins and Fragments|Group plug-ins and fragments into a feature]]: for deploying pieces of custom functionality in a single group  
 
* [[Developing Plug-Ins - Create a Feature-Project to export Plug-Ins and Fragments|Group plug-ins and fragments into a feature]]: for deploying pieces of custom functionality in a single group  
 +
 +
=== Deploying plug-ins ===
 
* [[Developing Plug-Ins - Get your Plug-In running|Load your new plug-in into a running instance of iDempiere]]: including deployment using Apache Felix
 
* [[Developing Plug-Ins - Get your Plug-In running|Load your new plug-in into a running instance of iDempiere]]: including deployment using Apache Felix
 
* [[Developing Plug-Ins - Get your Plug-In running.Explanations|Here]] is an explanation about OSGi plug-ins
 
* [[Developing Plug-Ins - Get your Plug-In running.Explanations|Here]] is an explanation about OSGi plug-ins

Revision as of 21:00, 15 August 2017

This guide explains to Software Developers and System Administrators how to configure and customise iDempiere. Solid technical experience is required.

Status: This is Work in Progress, but it may be useful as it is.

Introduction

The core iDempiere system supplies a range business functionality straight out of the box, such as role-based access, organisational structure, accounting, procurement, warehousing, and so on, but it is also flexible enough to be adapted to meet new requirements as they arise, using these mechanisms:

  • Configuration: changing the system using built-in facilities such as modifying field labels, setting parameters, modifying workflows, and using report-writers;
  • Localization: adapting the system for a specific country, region or language by adding locale-specific components and translating the terminology;
  • Integration: linking disparate software applications and platforms using predefined interfaces so that the subsystems function together as one system to support the enterprise objectives;
  • Extension: creating new functionality by adding database attributes and plugins which do not affect the core system;
  • Modification: you have access to the source code so you can turn your system into a tar pit, or big ball of mud, so don't modify the code or database schema by hand unless you intend to push the code into the trunk.

This guide explains how iDempiere can be adapted to meet new business requirements, without changing the codebase.

Configuration

Theme

WorkFlow

Report Writer

Localization

Integration

Extension

Deploying externally developed plug-ins

The iDempiere community has developed a large collection of plug-ins and and made them available for download and deployment. These can deployed directly into the running application using the Apache Felix interface. The Eclipse development environment is not needed.

Developing custom plug-ins

You will need to set up the Eclipse development environment in order to develop plug-ins, as follows:

Once the development environment has been set up, you can follow these guides to develop various types of plug-ins:

Deploying plug-ins

Build a customised instance of iDempiere

Install and run iDempiere

Structure of iDempiere

  • Equinox OSGi framework: describes OSGi and the technology stack that was used to build iDempiere so you can see how the system hangs together
  • Eclipse Buckminster Component Assembly: looks at the use of Buckminster in the iDempiere project so that you can get a better understanding of the build process, and how Buckminster manages the components

References

Cookies help us deliver our services. By using our services, you agree to our use of cookies.