Software Developer's Guide

From iDempiere en
Jump to navigation Jump to search

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

Login window

Themes

These themes can be installed as plug-ins. Use them as a base for developing your own custom theme.

Dashboard configuration

WorkFlows

Custom fields

iDempiere can be configured with new database fields to provide added business functionality. These fields are marked 'User maintained' so they will be preserved through any database upgrade process.

Report Writer

Localization

Language Packs

Change field labels

Localize reports

Integration

SOAP Web Services

Extension

Externally developed plug-ins

Plug-in collections

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.

Deploying plug-ins

Plug-ins can be deployed and managed dynamically, using the Apache Felix Web Console:

Customised plug-ins

Development environment

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

Developing custom plug-ins

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

Install and run iDempiere

Pre-built installers

Build a customised instance of iDempiere

Modification

Modification involves making changes to the iDempiere source code and schema, so don't do it. You will not be able to upgrade. Create a plug-in instead.

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