OFBiz
  1. OFBiz
  2. OFBIZ-1348

add the BIRT as the ofbiz component

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Incomplete
    • Affects Version/s: SVN trunk
    • Fix Version/s: SVN trunk
    • Component/s: framework
    • Labels:
      None

      Description

      put the BIRT run environment to the ofbiz, make the BIRT as the ofbiz component, and let the user can develop the BI more easily and efficiently

      1. testBirt.jsp
        0.6 kB
        WeizhanGuo
      2. screenshot.bmp
        982 kB
        WeizhanGuo
      3. quickStart.doc
        298 kB
        WeizhanGuo
      4. OfbizScripted.rptdesign
        12 kB
        WeizhanGuo
      5. CreateDataSource.java
        4 kB
        WeizhanGuo
      6. BirtViewHelper.java
        0.2 kB
        WeizhanGuo
      7. BirtViewHandler.java
        3 kB
        WeizhanGuo
      8. AuthenticateHelper.java
        1.0 kB
        WeizhanGuo

        Activity

        Hide
        Walter Vaughan added a comment -

        AFAIK, BIRT uses EPL (the Eclipse Public Licence) http://www.eclipse.org/org/documents/epl-v10.php and I thought we needed to have everything under Apache License. I doubt we can get everyone in the BIRT project to agree to relicense under ASF terms.

        I'm guessing this will be closed in a matter of minutes...

        Which is sad, because it would be nice to have a hundreds of quickly edited reports in the system.

        Show
        Walter Vaughan added a comment - AFAIK, BIRT uses EPL (the Eclipse Public Licence) http://www.eclipse.org/org/documents/epl-v10.php and I thought we needed to have everything under Apache License. I doubt we can get everyone in the BIRT project to agree to relicense under ASF terms. I'm guessing this will be closed in a matter of minutes... Which is sad, because it would be nice to have a hundreds of quickly edited reports in the system.
        Hide
        WeizhanGuo added a comment -

        Hi All,

        I need some report function for a project, so I try to integrate ofbiz with
        the birt, here is some ideas and want to share with you, and if there is any
        problems, please let me know.

        1. BIRT is the open source project and the license is the Eclipse Public
        License that is compatible with Apache;
        2. It's a report designer based on Eclipse, and a runtime component that you
        can add to your app server. BIRT also offers a charting engine that lets you
        add charts to your own application, that's what I need.
        3. I want to Ofbiz deal the *.rptdesign as convenient as the jsp;
        4.. I want to use the birt servlet to display the rptdesign file as it have
        provider full display function, and I can update this code with the birt
        easily.

        So I create the rpt view handler, this handler doesn't really display the
        rpt file but get the display info from the control.xml and pass the
        parameters to the birt servlet, and I take the "info" parameter in view-map
        as the permission, here is the example:
        <handler name="birt" type="view" class="
        org.ofbiz.webapp.view.BirtViewHandler" />

        <request-map uri="birt">
        <security https="false" auth="false"/>
        <response name="success" type="view" value="testbirt"/>
        </request-map>

        <view-map name="testbirt" type="birt" page="/new_report.rptdesign"
        info="FACILITY_ADMIN"/>

        here is the render code:
        ///////////////////BirtViewHandler //////////////////////////////////////

        public class BirtViewHandler implements ViewHandler {

        public static final String module = BirtViewHandler.class.getName();

        protected ServletContext context;

        public void init(ServletContext context) throws ViewHandlerException

        { this.context = context; // context.. }

        public void render(String name, String page, String info, String
        contentType, String encoding, HttpServletRequest request,
        HttpServletResponse response) throws ViewHandlerException {
        // some containers call filters on EVERY request, even forwarded
        ones,
        // so let it know that it came from the control servlet
        if (request == null)

        { throw new ViewHandlerException("Null HttpServletRequest object"); }

        if (page == null || page.length() == 0)

        { throw new ViewHandlerException("Null or empty source"); }

        String baseURL = request.getScheme( ) + "://"
        + request.getServerName( ) + ":"
        + request.getServerPort( );
        String path=context.getRealPath(page);
        BirtViewHelper.PATH = path;
        BirtViewHelper.PERMISSION = info;
        try

        { response.sendRedirect (baseURL+"/birt/control/frameset?"+LoginWorker.EXTERNAL_LOGIN_KEY_ATTR+"="+request.getSession().getAttribute( LoginWorker.EXTERNAL_LOGIN_KEY_ATTR)); }

        catch( Exception e){}

        }
        }

        ///////////////////END BirtViewHandler
        //////////////////////////////////////

        ///////////////////BirtViewHelper//////////////////////////////////////

        package org.ofbiz.webapp.view;

        public class BirtViewHelper

        { public static String PATH = new String(); public static String PERMISSION = new String(); }

        ///////////////////END BirtViewHelper//////////////////////////////////////

        here is the permission check in birt servlet :

        ///////////////////AuthenticateHelper //////////////////////////////////////

        package org.eclipse.birt.report.servlet;

        import javax.servlet.http.HttpServletRequest;
        import javax.servlet.http.HttpServletResponse;
        import javax.servlet.ServletContext;

        import org.ofbiz.security.Security;
        import org.ofbiz.entity.GenericValue;
        import org.ofbiz.webapp.control.LoginWorker;
        import org.ofbiz.webapp.view.BirtViewHelper;

        public class AuthenticateHelper {
        public static boolean hasPemission(HttpServletRequest request,
        HttpServletResponse response, ServletContext context)
        {
        LoginWorker.checkExternalLoginKey(request, response) ;
        GenericValue userLogin =
        (GenericValue)request.getSession().getAttribute("userLogin");
        Security security = (Security)request.getAttribute("security");
        if (security == null)

        { security = (Security) context.getAttribute("security"); }

        return security.hasPermission(BirtViewHelper.PERMISSION, userLogin);
        }
        }

        ///////////////////END AuthenticateHelper
        //////////////////////////////////////

        you can download the BIRT code , place
        those code in the framework folder add add this module to the
        ofbiz-component.xml, and add the BirtViewHandler.java ,BirtViewHelper.java in
        the ofbiz\framework\webapp\src\org\ofbiz\webapp\view.

        Birt has a bug when export as word document, it will be fixed later.

        Show
        WeizhanGuo added a comment - Hi All, I need some report function for a project, so I try to integrate ofbiz with the birt, here is some ideas and want to share with you, and if there is any problems, please let me know. 1. BIRT is the open source project and the license is the Eclipse Public License that is compatible with Apache; 2. It's a report designer based on Eclipse, and a runtime component that you can add to your app server. BIRT also offers a charting engine that lets you add charts to your own application, that's what I need. 3. I want to Ofbiz deal the *.rptdesign as convenient as the jsp; 4.. I want to use the birt servlet to display the rptdesign file as it have provider full display function, and I can update this code with the birt easily. So I create the rpt view handler, this handler doesn't really display the rpt file but get the display info from the control.xml and pass the parameters to the birt servlet, and I take the "info" parameter in view-map as the permission, here is the example: <handler name="birt" type="view" class=" org.ofbiz.webapp.view.BirtViewHandler" /> <request-map uri="birt"> <security https="false" auth="false"/> <response name="success" type="view" value="testbirt"/> </request-map> <view-map name="testbirt" type="birt" page="/new_report.rptdesign" info="FACILITY_ADMIN"/> here is the render code: ///////////////////BirtViewHandler ////////////////////////////////////// public class BirtViewHandler implements ViewHandler { public static final String module = BirtViewHandler.class.getName(); protected ServletContext context; public void init(ServletContext context) throws ViewHandlerException { this.context = context; // context.. } public void render(String name, String page, String info, String contentType, String encoding, HttpServletRequest request, HttpServletResponse response) throws ViewHandlerException { // some containers call filters on EVERY request, even forwarded ones, // so let it know that it came from the control servlet if (request == null) { throw new ViewHandlerException("Null HttpServletRequest object"); } if (page == null || page.length() == 0) { throw new ViewHandlerException("Null or empty source"); } String baseURL = request.getScheme( ) + "://" + request.getServerName( ) + ":" + request.getServerPort( ); String path=context.getRealPath(page); BirtViewHelper.PATH = path; BirtViewHelper.PERMISSION = info; try { response.sendRedirect (baseURL+"/birt/control/frameset?"+LoginWorker.EXTERNAL_LOGIN_KEY_ATTR+"="+request.getSession().getAttribute( LoginWorker.EXTERNAL_LOGIN_KEY_ATTR)); } catch( Exception e){} } } ///////////////////END BirtViewHandler ////////////////////////////////////// ///////////////////BirtViewHelper////////////////////////////////////// package org.ofbiz.webapp.view; public class BirtViewHelper { public static String PATH = new String(); public static String PERMISSION = new String(); } ///////////////////END BirtViewHelper////////////////////////////////////// here is the permission check in birt servlet : ///////////////////AuthenticateHelper ////////////////////////////////////// package org.eclipse.birt.report.servlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.ServletContext; import org.ofbiz.security.Security; import org.ofbiz.entity.GenericValue; import org.ofbiz.webapp.control.LoginWorker; import org.ofbiz.webapp.view.BirtViewHelper; public class AuthenticateHelper { public static boolean hasPemission(HttpServletRequest request, HttpServletResponse response, ServletContext context) { LoginWorker.checkExternalLoginKey(request, response) ; GenericValue userLogin = (GenericValue)request.getSession().getAttribute("userLogin"); Security security = (Security)request.getAttribute("security"); if (security == null) { security = (Security) context.getAttribute("security"); } return security.hasPermission(BirtViewHelper.PERMISSION, userLogin); } } ///////////////////END AuthenticateHelper ////////////////////////////////////// you can download the BIRT code , place those code in the framework folder add add this module to the ofbiz-component.xml, and add the BirtViewHandler.java ,BirtViewHelper.java in the ofbiz\framework\webapp\src\org\ofbiz\webapp\view. Birt has a bug when export as word document, it will be fixed later.
        Hide
        Jacopo Cappellato added a comment -

        Jack,

        thanks for your work. Could you please send the source code as a patch or (the complete java file if it is new), instead of a Jira comment?

        Thanks!!!

        Show
        Jacopo Cappellato added a comment - Jack, thanks for your work. Could you please send the source code as a patch or (the complete java file if it is new), instead of a Jira comment? Thanks!!!
        Hide
        Jacques Le Roux added a comment -

        About EPL licence,please have a look at http://people.apache.org/~rubys/3party.html#category-b. Seems fine with some light constraints

        Show
        Jacques Le Roux added a comment - About EPL licence,please have a look at http://people.apache.org/~rubys/3party.html#category-b . Seems fine with some light constraints
        Hide
        Jacques Le Roux added a comment -

        I just checked http://docs.ofbiz.org/display/OFBADMIN/Libraries+Included+in+OFBiz there are currently no use of EPL licences. Be sure to check the link above about the constraints before any huge work for OFBiz integration.

        Show
        Jacques Le Roux added a comment - I just checked http://docs.ofbiz.org/display/OFBADMIN/Libraries+Included+in+OFBiz there are currently no use of EPL licences. Be sure to check the link above about the constraints before any huge work for OFBiz integration.
        Hide
        WeizhanGuo added a comment -

        unzip birt.zip to the "framework" folder and upzip plugins1.zip, plugins2.zip and plugins3.zip to the "ofbiz\framework\birt\webapp\birt\WEB-INF\platform\plugins" folder. place the BirtViewHandler.java and BirtViewHelper.java in the "ofbiz\framework\webapp\src\org\ofbiz\webapp\view" folder. rebuild the component, then you can run the BIRT with ofbiz!

        this is just the first step to integret BIRT with ofbiz, more work need to be done to make more perfect, please let me know if there is any problem or advise.

        Show
        WeizhanGuo added a comment - unzip birt.zip to the "framework" folder and upzip plugins1.zip, plugins2.zip and plugins3.zip to the "ofbiz\framework\birt\webapp\birt\WEB-INF\platform\plugins" folder. place the BirtViewHandler.java and BirtViewHelper.java in the "ofbiz\framework\webapp\src\org\ofbiz\webapp\view" folder. rebuild the component, then you can run the BIRT with ofbiz! this is just the first step to integret BIRT with ofbiz, more work need to be done to make more perfect, please let me know if there is any problem or advise.
        Hide
        Jacopo Cappellato added a comment -

        This is an interesting first step.
        My main concern is: do we really need +20MB plugins to run the reports?
        If the answer is yes, then we could think of including in the trunk the 3 source files and leave out the birt component (and just provide a link to download it): I've noticed that your new classes don't require any external jar to compile (and this is good).

        Jack, would you be brave enough to provide an example of a report based on the following view definition:

        SalesInvoiceItemStarSchema

        ?
        I'd love to see how the birt reports integrate with the existing ofbiz applications, and your example could be compared with the existing simple 'report' over the same view entity (in the Business Intelligence component).

        Thanks

        Show
        Jacopo Cappellato added a comment - This is an interesting first step. My main concern is: do we really need +20MB plugins to run the reports? If the answer is yes, then we could think of including in the trunk the 3 source files and leave out the birt component (and just provide a link to download it): I've noticed that your new classes don't require any external jar to compile (and this is good). Jack, would you be brave enough to provide an example of a report based on the following view definition: SalesInvoiceItemStarSchema ? I'd love to see how the birt reports integrate with the existing ofbiz applications, and your example could be compared with the existing simple 'report' over the same view entity (in the Business Intelligence component). Thanks
        Hide
        WeizhanGuo added a comment -

        As the first step, the BIRT cann't work with the Ofbiz view definition, it just the let the BIRT web viewer run with the OFBIZ, and can use the BIRT designer to design the report, the data sources come from the db maintenancing by BIRT . here is the data sources configuration code:
        <data-sources>
        <oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc" name="Data Source" id="7">
        <text-property name="displayName"></text-property>
        <property name="odaDriverClass">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
        <property name="odaURL">jdbc:sqlserver://localhost
        SQLEXPRESS:1433;DatabaseName=jins</property>
        <property name="odaUser">sa</property>
        <encrypted-property name="odaPassword">MTIzNCFAIyRxd2Vy</encrypted-property>
        </oda-data-source>
        </data-sources>
        of course it's no the good way as the BI component to ofbiz. I also want to let the BIRT can work with the Ofbiz view/entity

        So, the next step what I need to do is:
        1. Make the BIRT web viewer can work with Ofbiz view/Entity .(high PRI)
        2. Fix the bug and improve the permission mechanism..(mid PRI)
        3. Make the BIRT designer can work with Ofbiz view/entity (low PRI)

        Show
        WeizhanGuo added a comment - As the first step, the BIRT cann't work with the Ofbiz view definition, it just the let the BIRT web viewer run with the OFBIZ, and can use the BIRT designer to design the report, the data sources come from the db maintenancing by BIRT . here is the data sources configuration code: <data-sources> <oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc" name="Data Source" id="7"> <text-property name="displayName"></text-property> <property name="odaDriverClass">com.microsoft.sqlserver.jdbc.SQLServerDriver</property> <property name="odaURL">jdbc:sqlserver://localhost SQLEXPRESS:1433;DatabaseName=jins</property> <property name="odaUser">sa</property> <encrypted-property name="odaPassword">MTIzNCFAIyRxd2Vy</encrypted-property> </oda-data-source> </data-sources> of course it's no the good way as the BI component to ofbiz. I also want to let the BIRT can work with the Ofbiz view/entity So, the next step what I need to do is: 1. Make the BIRT web viewer can work with Ofbiz view/Entity .(high PRI) 2. Fix the bug and improve the permission mechanism..(mid PRI) 3. Make the BIRT designer can work with Ofbiz view/entity (low PRI)
        Hide
        WeizhanGuo added a comment -

        this is class get the data from the Ofbiz and return the list, placed it in the framework\birt\src\org\ofbiz\birt

        Show
        WeizhanGuo added a comment - this is class get the data from the Ofbiz and return the list, placed it in the framework\birt\src\org\ofbiz\birt
        Hide
        WeizhanGuo added a comment -

        update AuthenticateHelper.java

        Show
        WeizhanGuo added a comment - update AuthenticateHelper.java
        Hide
        WeizhanGuo added a comment -

        take the OrderItemPriceInfo entity for example

        Show
        WeizhanGuo added a comment - take the OrderItemPriceInfo entity for example
        Hide
        WeizhanGuo added a comment -

        how to design BIRT with Ofbiz

        Show
        WeizhanGuo added a comment - how to design BIRT with Ofbiz
        Hide
        WeizhanGuo added a comment -

        Hhi Jacopo,

        There is not any data in SalesInvoiceItemStarSchema in my evironment, so I take the OrderItemPriceInfo as the example, it can work with the Ofbiz entity now by BIRT scripted data source, BIRT can support many kind of data sources, http://wiki.eclipse.org/BIRT/FAQ/Data_Access#Q:_How_do_I_get_data_from_a_POJO_.28Plain_Old_Java_Object.29.3F

        With the BIRT designer, it's easy to design the report now.

        please let me know if there is any problems, thanks.

        Show
        WeizhanGuo added a comment - Hhi Jacopo, There is not any data in SalesInvoiceItemStarSchema in my evironment, so I take the OrderItemPriceInfo as the example, it can work with the Ofbiz entity now by BIRT scripted data source, BIRT can support many kind of data sources, http://wiki.eclipse.org/BIRT/FAQ/Data_Access#Q:_How_do_I_get_data_from_a_POJO_.28Plain_Old_Java_Object.29.3F With the BIRT designer, it's easy to design the report now. please let me know if there is any problems, thanks.
        Hide
        polawat phetra added a comment -

        Hi Jack.

        To successfully run the example report that have a link in webapp/birt/index.jsp. I have to make a comment on line number 1644-1647 in org.eclipse.birt.report.utility.ParameterAccessor.

        So, Is These line come from the origin code? or It 's customized by you.

        Thanks.

        Show
        polawat phetra added a comment - Hi Jack. To successfully run the example report that have a link in webapp/birt/index.jsp. I have to make a comment on line number 1644-1647 in org.eclipse.birt.report.utility.ParameterAccessor. So, Is These line come from the origin code? or It 's customized by you. Thanks.
        Hide
        WeizhanGuo added a comment -

        That exmaple is the origin code, the OfbizScripted.rptdesign is customized , you can try run this according the quickStart.doc

        Show
        WeizhanGuo added a comment - That exmaple is the origin code, the OfbizScripted.rptdesign is customized , you can try run this according the quickStart.doc
        Hide
        polawat phetra added a comment -

        Hi Jack.

        I think there is a problem with your BirtHelper.java and BirtViewHandler design.
        You should not use a static field to held a (temporary) session data because it will cause a problem when concurrent thread request a report at the same time.

        Here the problem code which i had make the comment down below.

        public class BirtViewHandler implements ViewHandler {

        public void render(String name, String page, String info, String contentType, String encoding, HttpServletRequest request, HttpServletResponse response) throws ViewHandlerException {

        ...

        String baseURL = request.getScheme( ) + "://"
        + request.getServerName( ) + ":"
        + request.getServerPort( );
        String path=context.getRealPath(page);

        //===== THESE TWO LINE WILL CAUSE A PROBLEM WHEN ACCESS FROM CONCURRENT THREAD ===//
        BirtViewHelper.PATH = path;
        BirtViewHelper.PERMISSION = info;

        try

        { response.sendRedirect(baseURL+"/birt/control/frameset?"+LoginWorker.EXTERNAL_LOGIN_KEY_ATTR+"="+request.getSession().getAttribute(LoginWorker.EXTERNAL_LOGIN_KEY_ATTR)); }

        catch( Exception e){}

        }

        }

        Show
        polawat phetra added a comment - Hi Jack. I think there is a problem with your BirtHelper.java and BirtViewHandler design. You should not use a static field to held a (temporary) session data because it will cause a problem when concurrent thread request a report at the same time. Here the problem code which i had make the comment down below. public class BirtViewHandler implements ViewHandler { public void render(String name, String page, String info, String contentType, String encoding, HttpServletRequest request, HttpServletResponse response) throws ViewHandlerException { ... String baseURL = request.getScheme( ) + "://" + request.getServerName( ) + ":" + request.getServerPort( ); String path=context.getRealPath(page); //===== THESE TWO LINE WILL CAUSE A PROBLEM WHEN ACCESS FROM CONCURRENT THREAD ===// BirtViewHelper.PATH = path; BirtViewHelper.PERMISSION = info; try { response.sendRedirect(baseURL+"/birt/control/frameset?"+LoginWorker.EXTERNAL_LOGIN_KEY_ATTR+"="+request.getSession().getAttribute(LoginWorker.EXTERNAL_LOGIN_KEY_ATTR)); } catch( Exception e){} } }
        Hide
        WeizhanGuo added a comment -

        Yes, you are right, there is need to be improved, I will try to fix this . any idea are welcome... Thanks

        Show
        WeizhanGuo added a comment - Yes, you are right, there is need to be improved, I will try to fix this . any idea are welcome... Thanks
        Hide
        WeizhanGuo added a comment -

        I have fixed the thread problem, but I don't want to upload the last code until I have finished the document and some other function/problem we need, if you want this code ,please let me know, and I will send it to you.

        Show
        WeizhanGuo added a comment - I have fixed the thread problem, but I don't want to upload the last code until I have finished the document and some other function/problem we need, if you want this code ,please let me know, and I will send it to you.
        Hide
        WeizhanGuo added a comment -

        Work with BIRT2.3.1 Note, it fixed some error..
        1. Download birt-runtime-2_3_1;
        2. Extract the file and copy the sub files in the WebViewerExample folder to the webapp folder of the ofbiz component;
        3. Merge the web.xml, remember ofbiz using the web-app_2_3.xsd and BIRT needs web-app_2_4.xsd, update to 2.4 and change some order of the elements in web.xml.
        After those you can use the BIRT now.
        And more:
        4. If you want to use the pojo datasource just download CreateDataSource.java, it can work as the pojo datasource;
        I think using the birt viewer tag is the best well to work with the Ofbiz, you can see how it work in OfbizScripted.rptdesign and testBirt.jsp

        Show
        WeizhanGuo added a comment - Work with BIRT2.3.1 Note, it fixed some error.. 1. Download birt-runtime-2_3_1; 2. Extract the file and copy the sub files in the WebViewerExample folder to the webapp folder of the ofbiz component; 3. Merge the web.xml, remember ofbiz using the web-app_2_3.xsd and BIRT needs web-app_2_4.xsd, update to 2.4 and change some order of the elements in web.xml. After those you can use the BIRT now. And more: 4. If you want to use the pojo datasource just download CreateDataSource.java, it can work as the pojo datasource; I think using the birt viewer tag is the best well to work with the Ofbiz, you can see how it work in OfbizScripted.rptdesign and testBirt.jsp
        Hide
        Jacques Le Roux added a comment -

        When I will get a chance, I will make a FAQ for that (I have to test it before though...)

        Show
        Jacques Le Roux added a comment - When I will get a chance, I will make a FAQ for that (I have to test it before though...)
        Hide
        Jacques Le Roux added a comment -

        OK, I had already done that FAQ for Birt, I will not do more...

        Thanks for your work Jack !

        Show
        Jacques Le Roux added a comment - OK, I had already done that FAQ for Birt , I will not do more... Thanks for your work Jack !
        Hide
        ashish tiwari added a comment - - edited

        Hi i have been trying to integrate BIRT with Ofbiz i have followed the initial steps but i have not found birt.zip file mentioned here.

        Show
        ashish tiwari added a comment - - edited Hi i have been trying to integrate BIRT with Ofbiz i have followed the initial steps but i have not found birt.zip file mentioned here.
        Hide
        ashish tiwari added a comment - - edited

        hi i have downloaded the BIRT RCP designer and have used it to generate the report...............

        but once i make the database connection with my ofbiz database and when i fire query it does not displays all the tables of my databse it is just showing some particular no of tables.

        i m using mysql as database............and there are around 700-800 tables but in BIRT after making the database connection it is only showing 100 tables.................

        And also when i m trying to display my .rptdesign file through ofbiz................i m getting an exception...........cannot get instance of handler.............

        Show
        ashish tiwari added a comment - - edited hi i have downloaded the BIRT RCP designer and have used it to generate the report............... but once i make the database connection with my ofbiz database and when i fire query it does not displays all the tables of my databse it is just showing some particular no of tables. i m using mysql as database............and there are around 700-800 tables but in BIRT after making the database connection it is only showing 100 tables................. And also when i m trying to display my .rptdesign file through ofbiz................i m getting an exception...........cannot get instance of handler.............
        Hide
        Hans Bakker added a comment -

        current in the branch: http://svn.apache.org/repos/asf/ofbiz/branches/addbirt

        and sometimes perhaps in the trunk......

        This implementation is not supported anymore.

        Show
        Hans Bakker added a comment - current in the branch: http://svn.apache.org/repos/asf/ofbiz/branches/addbirt and sometimes perhaps in the trunk...... This implementation is not supported anymore.

          People

          • Assignee:
            Jacques Le Roux
            Reporter:
            WeizhanGuo
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development