Date Archives

January 2017

Migration from ADempiere 3.7 to iDempiere

A Story About Migration

We as a company were using Adempiere 3.7 and we were waiting for the release of 3.8 , we were waiting for the release from 5 years but Adempiere still had Adempiere 3.8 candidate version , which you can consider can not use in production version. Even the community was not active , there were differences between core members of Adempiere so there was a separate fork created. You can read the details here about how & why iDempiere was introduced. Result of this even community for Adempiere started drying up with less responses to the question in the forum. We decided we need to move ahead with the time and with the fast growth of iDempiere 1 to iDempiere 3.1 we were serious migrating from Adempiere 3.7 to iDempiere.

But here was the problem , iDempiere differenced themselves from Adempiere 3.6. So in the simple words iDempiere only provide migration scripts from Adempiere 3.6 to iDempiere. Adempiere 3.7 migration to iDempiere was technically no where provided & biggest problem was we were in oracle and wanted to install iDempiere with postgres ( Go open source ).

We had two options

    • In the first option
        • we can migrate Adempiere 3.7 oracle to Adempiere 3.7 postgres
        • Then Adempiere 3.7 postgres to Adempiere 3.6 ( any how ).
        • Now use the iDempiere migration scripts to migrate

      Surely not the best of the option , very time consuming and repetitive steps.

    • Second option was to directly take data from Adempiere 3.7 oracle and migrate to iDempiere .

I used the second option , We are now live with iDempiere 3.1 migrated from Adempiere 3.7.

Continuous automated migrations

I used Talend for the migration. I created automated jobs with the job flow. This process was/is completely automated.

I ran these migration on different dates for creating different UAT systems.

Things needs to be migrated

  • Customisations ( Window tab and fields )
  • Data ( All the transactional , master , log data )
  • Functionality
  • Reports

If you have any additional questions please free to contact me, drop a comment in the comment box.

Manufacturing

Manufacturing within iDempiere/ADempiere

I have integrated libero manufacturing with iDempiere & ADempiere. I have implemented manufacturing in multiple organisations. While implementing i found out there are some automation in the libero plugin in iDempiere which is not required. Some of them are like

  1. Creating manufacturing order for all the standard order sales orders.
  2. Exploding BOM when components which are manufactured not in stock.
  3. Including the exploded components in the same manufacturing order.
  4. Creating purchase orders for the components which are purchased.

I have forked original version and created my own version. I have kept all above behaviour as it is but gave an implementor option to enable them using system configurator.

iDempiere has two manufacturing options.

  1. Production (Single Product)
  2. Libero Manufacturing –  Which is full fledged manufacturing.
    1. BOM (Bill Of Material)
    2. MRP (Material Resource Planning)
    3. Manufacturing workflows,Activities
    4. Cost Collectors

For any queries you can contact me.

 

Installing iDempiere within eclipse (Development setup)

This post will help you to install iDempiere development environment.

I have tested this installation for

  1. iDempiere 3.1 using this with java 7 update 80 and Eclipse version  Luna Service Release 2 (4.4.2)
  2. iDempiere 4.1 using java 8 update 112 and Eclipse Version: Neon.2 Release (4.6.2) on my MacBook.

Following are the instruction needs to be followed step by step. If java and Postgres is already installed then skip first two steps.

Install JDK


Database

Install PostgreSQL

Mercurial

For managing versions and source code control we need to install Mercurial . It is an open source application. Find the more info & simple useful tutorial. To download the mercurial use following link. It provides a graphical installer.

Clone iDempiere

Download iDempiere source tree

hg clone https://bitbucket.org/idempiere/idempiere idempiere

Eclipse

Download eclipse (I am using luna) . There are new versions of eclipse available to download. I have not tested with them.


  • https://eclipse.org/luna/
  • Eclipse workspace setup - Select the iDempiere cloned directory as the workspace.

  • Install the eclipse buckminster
    • You need the Buckminster Plugin to assemble the iDempiere project. For this go to  (Menu in Eclipse: Help > Install New Software > Add)
      • Add name as buckminster
      • location – http://download.eclipse.org/tools/buckminster/updates-4.4
    • Now it will load all the available packages for the installation select only
      • Buckminster – Core
      • Buckminster – Maven support
      • Buckminster – PDE support
  • Install mercurial plugin

 

This is one part of development setup where we finished .

Now to get the iDempiere project into the eclipse.

  • Create a targetPlatform – Go to Eclipse –> Preferences –>Plug in Development—>targetPlatform
    • Click on add
    • Nothing: Start with an empty target definition press next
    • give target name I prefer giving iDempiere
    • add —> Directory —> Location —> click on variable select workspace_loc
    • then type targetPlatfrom so the location will look like ${workspace_loc}/targetPlatform .
    • set this as default
  • Click on File  —-> Import —-> Buckminster —-> Materialize from Buckminster MSPEC, CQUERY or BOM
  • Click on next and select mpsec from clone idempiere directory “org.adempiere.sdk-feature” folder
  • make sure that you have active internet connection through out this process.
  • now the magic will happen based on the machine

Click on Run Configurations

  • Select eclipse application
  • install.console.app click on run and install the application on console instructions are given here. This will create configuration file for server.
  • then run server.product.

I hope this tutorial will help you to install iDempiere development environment.

How to install iDempiere on Mac

How to install iDempiere on MacOS

Install JDK

Install PostgreSQL

Installing iDempiere now

  • Download iDempiere setup from http://www.idempiere.org/downloads ( based on the version you require )
  • Download iDempiere setup from http://www.idempiere.org/downloads ( based on the version you require )
  • Extract the setup zip
  • open terminal
  • Go to the setup folder on the terminal (cd $IDEMPIERE_HOME)
  • Give read write execute permission ( chmod 755 *). There is very nice article to understand the permissions http://www.macinstruct.com/node/415
  • then run ./console-setup.sh , then enter the information as prompt.
  • iDempiere Home: This is the iDempiere installation folder
    • Download iDempiere setup from http://www.idempiere.org/downloads ( based on the version you require )
    • Download iDempiere setup from http://www.idempiere.org/downloads ( based on the version you require )
    • Extract the setup zip
    • open terminal
    • Go to the setup folder on the terminal (cd $IDEMPIERE_HOME)
    • Give read write execute permission ( chmod 755 *). There is very nice article to understand the permissions http://www.macinstruct.com/node/415
    • then run ./console-setup.sh , then enter the information as prompt.
    • iDempiere Home: This is the iDempiere installation folder
  • After build is successful.

Import the default iDempiere database

This is the default way to import the database postgresql 9.1 or higher: After setting up the server (is a prerequisite) you can run:

  • cd $IDEMPIERE_HOME
  • cd utils
  • sh RUN_ImportIdempiere.sh

Start iDempiere server

  • cd $IDEMPIERE_HOME
  • Run iDempiere server run following command
  • ./idempiere-server.sh
  • to access idempiere if you entered localhost as the application server and port as default 80 then
  • http:// (hostname you chose as a application server)/webui
  • Default username/password for super user is SuperUser/System

 

Known issues while installing/FAQ

 

  • Instead of console setup if you GUI setup which is by running sh setup.sh, it does not allow you to edit the data. Its read only. That is why i prefer console setup.
  • Java version issue , if you are using 64 bit machine and installed 32 bit java and try to run the setup it will give you issue of jni shared library . That surely means you have wrong java version installed.
  • To install on linux you can use following excellent script and info from Mr. Chuck.

Why iDempiere

 

iDempiere is best suitable ERP for small and medium businesses.

Following are the features why I think iDempiere is best.

  1. Active community support https://groups.google.com/forum/#!forum/idempiere
  2. Technical upgrades are very frequent
  3. Plugin architecture , we can plugins for our needs install and play instead of playing and changing or deploying the whole application. The second feature of iDempiere are the plug-ins to modify or extend the ERP, CRM and SCM functionality.
  4. Available plugin library http://wiki.idempiere.org/en/Category:Available_Plugins
  5. CHUCK: it make it easy to do my job… I do not find myself fighting the software

Functional

Most of the customers I work with are between $X and $Y in yearly turnover and operate in distribution and manufacturing industries. iDempiere has the feature set to support this size organization well.

  1. iDempiere is an open source Enterprise Resource Planning (ERP) software. It has also customer relationship management (CRM) and supply chain management (SCM) functions. It is in contrast to proprietary or most other open source ERP solutions driven only by a community of supporters.
  2. Manufacturing – Plugin available manufacturing plugin , Plugin is available here
  3. Use friendly web UI.
  4. iDempiere supports:
    1. Multiple tenants
    2. Multiple organizations (branches, plants, etc.)
    3. Multiple languages (29 localizations; mixed access in a single installation is possible)
    4. Multiple currencies
    5. Multiple accounting schemas

Cost

As an integrator, I do not like dealing with selling software. I know of no customers that like ‘paying’ for software. Because iDempiere is free and open source, I get to specialize in what I do best – help customize iDempiere for specific needs.