Difference between revisions of "OSGI HengSin"

From ADempiere
Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.
(Issues)
m (adempiere-server)
Line 69: Line 69:
  
 
===adempiere-server===
 
===adempiere-server===
*You should have the following shell or batch executables in your ''adempiere-server'' (this is now your ADempiere_Home but server side). This is another good refactoring by HengSin.
+
*You should have the following shell or batch executables in your ''adempiere-server'' (this is now your ADempiere_Home but server side).  
 
**setup.sh (previously RUN_setup.sh)
 
**setup.sh (previously RUN_setup.sh)
 
**setup-alt.sh (this works better in my case)
 
**setup-alt.sh (this works better in my case)

Revision as of 17:35, 19 November 2010

Project Space

  • Heng Sin implementation of OSGI is done in another project space under Kenai.
  • His version is based on 3.6.0LTS
  • It is considered alpha stage as certain issues such as Java Client Webstart and refactoring is pending testing.
  • It is due for better use in 2011.

Improvements

WorkflowUI.gif
  • One of the improvements there is the Workflow Editor where boxes look more UML-like.

Backyard Info

  • There is something newbie setup experience documented here.

OSGI Roadmap - November 2010

  • Hengsin is doing more refactoring to the source in his Kenai repository.
    • Callout package is now a separate bundle but Hengsin wants to rewrite it when he can find time later.
    • Buckminster, a Maven-like plugin in Eclipse is used to manage the import of plugins and builds.
    • The source is launchable from Eclipse for ZKAjax UI and SwingClient.
    • Hengsin is trying to release a beta candidate in a month or so.
    • Meanwhile Redhuan D. Oon is writing up his own guide and experience as led by Hengsin in his new OSGI update.
    • More feedback on tests will be organised and reported in the Kenai project forum.

Note to MacBook users

  • Apple Mac OSX has an issue with launching X on 2nd thread and this is solved by removing the -ws ${target.ws} argument in the launch script. (Hengsin)
  • When debugging from Eclipse, you may need to hack the Tomcat.server.xml to point to your port 8088, and https to 4443

Preparing Your Eclipse IDE

  • You should use the latest Helios version with Equinox and Buckminster plugins udpated.

Getting the Kenai Project into your Eclipse

  • Firstly you should have got a HG Clone into your PC from the Mercurial repository.
  • In a fresh workspace of Eclipse, you create a new empty EquinoxTarget.platform (via Preferences>Plugin)
  • Then Import Projects > Select an import source from Buckminster > Materialize from Buckminster.
    • Browse for the URL under the plugin org.adempiere.sdk.feature selecting the adempiere.cquery.
    • Eclipse will import from the web all the needed plugins into the new target platform folder you created.

Launching from Eclipse

  • Under the Run As Configurations you will see some launch items.
  • Select install.app (CLI) or install.console.app (GUI) to set the properties file. This is similar to RUN_setup in ADempiere speak.
  • Launch server.product (RUN_Server2.sh in ADempiere speak) to get the Web UI working.
    • You now need to access the Web UI using, http://<localhost>:<port>/ without the /admin suffix.
  • Launch swingclient.product to get the JavaClient up and running.

Build and deploying binary

There are two binaries or 'products' created from this OSGI project. One is adempiere-server for launching the server-side Web UI service and adempiere-client for launching the Java Client.

Server Side

  • Go to the plugin (at your Eclipse Package Explorer) right click at org.adempiere.server-feature
  • Select Buckminster > Invoke Action
  • Select create.product
  • In the Properties file line, select workspace again the same i.e. org.adempiere.server-feature drill down to buckminster.properties (or any other depending on your OS) and you should end up with something like: /Users/red1/Documents/workspace/hengsin~development/org.adempiere.server-feature/buckminster.properties in the field. Give it an OK.
  • Press OK to the Buckminster action dialog box and this will take some minutes to compile
  • Find under your desktop a buckminster.output folder
    • Look for a particular folder that contains adempiere-server folder. (hint: org.adempiere.server_1.0.0-eclipse.feature).
    • Put that to your Applications-Home (server-side) location and continue in ADempiere speak.

Client Side

  • Go to the plugin (at your Eclipse Package Explorer) right click at org.adempiere.ui.swing-feature
  • Select Buckminster > Invoke Action
  • Select create.product
  • In the Properties file line, select workspace again the same i.e. org.adempiere.ui.swing-feature drill down to buckminster.properties (or any other depending on your OS) and you should end up with something like: /Users/red1/Documents/workspace/hengsin~development/org.adempiere.server-feature/buckminster.properties in the field. Give it an OK.
  • Press OK to the Buckminster action dialog box and this will take some minutes to compile
  • Find under your desktop a buckminster.output folder
    • Look for a particular folder that contains adempiere-client folder. (hint: org.adempiere.ui.swing_1.0.0-eclipse.feature).
    • Put that to your Applications-Home (client-side) location and continue in ADempiere speak.


Launching from Binary

adempiere-server

  • You should have the following shell or batch executables in your adempiere-server (this is now your ADempiere_Home but server side).
    • setup.sh (previously RUN_setup.sh)
    • setup-alt.sh (this works better in my case)
    • adempiere-server.sh (RUN_server2.sh)
    • adempiere-client.sh (RUN_Adempiere.sh)
    • console-setup.sh
  • You may need to give chmod 777 to your HOME directory first
  • When you ./adempiere-server.sh you will get to run the Web UI as http://<localhost>:<port>/
  • If it does not run you can within the CLI Terminal window look for OSGI bundle status by keying in 'ss'.
    • Look for the bundle number of the org.adempiere.ui or ..zk bundles.
    • Key in start <bundle no.> and try the Web UI again.

adempiere-client

  • You should have the adempiere.client.sh or .bat in your <ADempiere_Home/client side>
  • You just run this shell accordingly similar to the advice for server side.

Issues

  • As of today when launching adempiere-client binary i have all the adempiere bundles not resolved and when started will give such The bundle "org.adempiere.ui_1.0.0.v20101116-0531 [58]" could not be resolved. Reason: Missing Constraint: Bundle-RequiredExecutionEnvironment: JavaSE-1.6
    • There is documentation on this from the web and i will spend some time reading first. - Redhuan D. Oon 13:56, 17 November 2010 (UTC)
      • This is solved (for MacBook users) by going to your System Preferences > Java > and putting the 1.6 as top of list. So this is solved - Redhuan D. Oon 00:34, 20 November 2010 (UTC)