28
Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Embed Size (px)

Citation preview

Page 1: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Spanish Professional Localization Pack

Extension Module Webinar

November 26th, 2009

Page 2: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 2Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

Agenda

Functionality and Demo 15 min.

Process and Tools 10 min.

Development Technique 10 min.

Q & A 25 min.

Page 3: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 3Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

Agenda

Functionality and Demo

Process and Tools

Development Technique

Q & A

Page 4: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 4Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

The Spanish Professional Localization Pack is a “commercial” pack

Content:

Invoice Register Books 347 Third parties transactions annual tax statement 349 Summary statement of Intra-community transactions

Spanish Community Localization Pack Spanish translation Charts of Accounts Tax ID validation Domestic bank account validation Accounting Alerts Spanish tax rates

Dependent modules -> Tax Report launcher

Content & InstallationSpanish Professional Localization Pack

Page 5: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 5Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

Functional Concept:

Tax Report => List of transactions subject to taxes (VAT by example)

but NOT only that…

Key thing => Ability to setup different types of “Tax parameters”:

Input

Constant

Output -> “Tax rates”

Goal: To show you how the Tax Report Launcher allows us to generate and launch

tax reports

To show you how Spanish Tax Reports are launched

Functional HighlightsSpanish Professional Localization Pack (SPLP)

Page 6: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 6Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

Functional HighlightsSpanish Professional Localization Pack (SPLP)

Openbravo Transactions

End user

Tax

Rates

Input dataTax Report

Tax Report Group

Tax Report parameters

Input

Constant

Output

TAX

REPORT

LAUNCHER

Tax Report as a “valid” file

Page 7: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 7Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

DEMO

Tax Report Launcher & 347, 349 tax reports

Functional HighlightsSpanish Professional Localization Pack – Tax Report Launcher

Page 8: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 8Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

FUNCTIONALITY AND DEMO : RECAP

Spanish Professional Localization Pack content

Spanish tax reports built by using the Tax Report Launcher framework (community framework)

Tax Report parameters as the key way to get tax report data

Tax report parameters linked to Tax Rates

Page 9: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 9Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

Agenda

Functionality and Demo

Process and Tools

Development Technique

Q & A

Page 10: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 10Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

Spanish Professional Localization PackPack as a container of modules. Managing module's dependencies, releasing new module's versions.

Module version structure:

XXX.YYY.ZZZ

New major version required when:

• Dependencies modification• Added or removed dependencies• Modified first version of a dependency

• API change

Major version Minor version

Page 11: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 11Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

Spanish Professional Localization PackPack as a container of modules. Managing module's dependencies, releasing new module's versions.

Depends

on

347

Tax Rep.Launcher

• A module can depend on another module.

• 3 attributes in a dependency:

• Dependant module

• First version

• Last version (not mandatory)

• Always a dependency on core

347

core

Page 12: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 12Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

Spanish Professional Localization PackPack as a container of modules. Managing module's dependencies, releasing new module's versions.

• A pack includes modules and/or other packs• 2 attributes in an inclussion:

• Included module• Version

• In one only .obx file, all modules are included

SLP

CoA

esES

alerts valid.

CoA

valid.

tax

347

349

IRB

SPLP

Page 13: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 13Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

• 4 possible cases while installing packs / modules from file system/central repository

• Installing a pack from file system may install different versions of it’s contained module than installing from central repository

Spanish Professional Localization PackPack as a container of modules. Managing module's dependencies, releasing new module's versions.

MODULE PACK

CENTRAL REPOSITORY CASE 1 CASE 2 Always most recent minor version published in CR

FILE SYSTEM CASE 3 CASE 4 Version included in the file

Page 14: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 14Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

Spanish Professional Localization PackPack as a container of modules. Managing module's dependencies, releasing new module's versions.

RECAPITULATION

• Modules have got versions

• A pack is a set of modules

• Dependencies mechanism prevents from bad installations of modules

Page 15: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 15Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

Functionality and Demo

Process and Tools

Development Technique

Q & A

Agenda

Page 16: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 16Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

Implementing Java interfaces for modular developmentSpanish Professional Localization Pack

TAX REPORT LAUNCHERTAX REPORT LAUNCHER

AEAT347 Report

AEAT349 Report

Sample Report

FutureReports

JAVAINTERFACE

JAVAJAVAIMPLEMENTATIONIMPLEMENTATION

Openbravo ERPOpenbravo ERP

Page 17: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 17Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

Implementing Java interfaces for modular development

• Abstract type which defines a list of: - Method signatures - Constant declarations (static and final)

• The reserved word interface is used

• It can't be directly instantiated. Another class must implement the interface, i.e., it must implement all the methods

JAVA INTERFACE

public interface OBTL_TaxReport_I { public HashMap<String, Object> generateElectronicFile(String strOrgId,

String strReportId, String strAcctSchemaId, String strYearId, String strPeriodId, Map<String, String> inputParams)

throws OBException, Exception;}

Spanish Professional Localization Pack

Page 18: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 18Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

Implementing Java interfaces for modular development

package org.openbravo.module.taxreportlauncher.helloworldreport;// Imports are hidden

public class HelloWorldReport implements OBTL_TaxReport_I { public HashMap<String, Object> generateElectronicFile(String strOrgId, String strReportId, String strAcctSchemaId, String strYearId, String strPeriodId, Map<String, String> inputParams) throws OBException, Exception {

HashMap<String, Object> myMap = new HashMap<String, Object>();

// Use StringBuffer because it is safe in multi-thread StringBuffer sb = new StringBuffer(); sb.append("Hello World!");

// File content. Mandatory myMap.put("file", sb); // File name. Input Parameter with Search Key "fileName“. Not mandatory myMap.put("fileName", inputParams.get("fileName"));

return myMap; }}

HELLO WORLD IMPLEMENTATION

Spanish Professional Localization Pack

Page 19: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 19Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

Implementing Java interfaces for modular development

package org.openbravo.module.taxreportlauncher.helloworldreport;// Imports are hidden

public class HelloWorldReport implements OBTL_TaxReport_I { public HashMap<String, Object> generateElectronicFile(String strOrgId, String strReportId, String strAcctSchemaId, String strYearId, String strPeriodId, Map<String, String> inputParams) throws OBException, Exception {

HashMap<String, Object> myMap = new HashMap<String, Object>();

// Use StringBuffer because it is safe in multi-thread StringBuffer sb = new StringBuffer(); sb.append("Hello World!");

// File content. Mandatory myMap.put("file", sb); // File name. Input Parameter with Search Key "fileName“. Not mandatory myMap.put("fileName", inputParams.get("fileName"));

return myMap; }}

HELLO WORLD IMPLEMENTATION

Spanish Professional Localization Pack

Page 20: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 20Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

Implementing Java interfaces for modular development

package org.openbravo.module.taxreportlauncher.helloworldreport;// Imports are hidden

public class HelloWorldReport implements OBTL_TaxReport_I {

public HashMap<String, Object> generateElectronicFile(String strOrgId, String strReportId, String strAcctSchemaId, String strYearId, String strPeriodId, Map<String, String> inputParams) throws OBException, Exception {

HashMap<String, Object> myMap = new HashMap<String, Object>();

// Use StringBuffer because it is safe in multi-thread StringBuffer sb = new StringBuffer(); sb.append("Hello World!");

// File content. Mandatory myMap.put("file", sb); // File name. Input Parameter with Search Key "fileName“. Not mandatory myMap.put("fileName", inputParams.get("fileName"));

return myMap; }}

HELLO WORLD IMPLEMENTATION

Spanish Professional Localization Pack

Page 21: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 21Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

Implementing Java interfaces for modular development

package org.openbravo.module.taxreportlauncher.helloworldreport;// Imports are hidden

public class HelloWorldReport implements OBTL_TaxReport_I { public HashMap<String, Object> generateElectronicFile(String strOrgId, String strReportId, String strAcctSchemaId, String strYearId, String strPeriodId, Map<String, String> inputParams) throws OBException, Exception {

HashMap<String, Object> myMap = new HashMap<String, Object>();

// Use StringBuffer because it is safe in multi-thread

StringBuffer sb = new StringBuffer(); sb.append("Hello World!");

// File content. Mandatory myMap.put("file", sb); // File name. Input Parameter with Search Key "fileName“. Not mandatory myMap.put("fileName", inputParams.get("fileName"));

return myMap; }}

HELLO WORLD IMPLEMENTATION

Spanish Professional Localization Pack

Page 22: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 22Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

Implementing Java interfaces for modular development

package org.openbravo.module.taxreportlauncher.helloworldreport;// Imports are hidden

public class HelloWorldReport implements OBTL_TaxReport_I { public HashMap<String, Object> generateElectronicFile(String strOrgId, String strReportId, String strAcctSchemaId, String strYearId, String strPeriodId, Map<String, String> inputParams) throws OBException, Exception {

HashMap<String, Object> myMap = new HashMap<String, Object>();

// Use StringBuffer because it is safe in multi-thread StringBuffer sb = new StringBuffer(); sb.append("Hello World!");

// File content. Mandatory

myMap.put("file", sb); // File name. Input Parameter with Search Key "fileName“. Not mandatory

myMap.put("fileName", inputParams.get("fileName"));

return myMap; }}

HELLO WORLD IMPLEMENTATION

Spanish Professional Localization Pack

Page 23: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 23Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

DEMO HELLO WORLD Report

Implementing Java interfaces for modular developmentSpanish Professional Localization Pack – Tax Report Launcher

Page 24: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 24Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

Implementing Java interfaces for modular development

package

org.openbravo.module.taxreportlauncher.helloworldreport;// Imports are hidden

public class HelloWorldReport implements OBTL_TaxReport_I { public HashMap<String, Object> generateElectronicFile(String strOrgId, String strReportId, String strAcctSchemaId, String strYearId, String strPeriodId, Map<String, String> inputParams) throws OBException, Exception {

HashMap<String, Object> myMap = new HashMap<String, Object>();

// Use StringBuffer because it is safe in multi-thread StringBuffer sb = new StringBuffer(); sb.append("Hello World!");

// File content. Mandatory myMap.put("file", sb); // File name. Input Parameter with Search Key "fileName“. Not mandatory myMap.put("fileName", inputParams.get("fileName"));

return myMap; }}

HELLO WORLD IMPLEMENTATION

Spanish Professional Localization Pack

Page 25: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 25Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

Implementing Java interfaces for modular development

package org.openbravo.module.taxreportlauncher.helloworldreport;// Imports are hidden

public class HelloWorldReport implements OBTL_TaxReport_I { public HashMap<String, Object> generateElectronicFile(String strOrgId, String strReportId, String strAcctSchemaId, String strYearId, String strPeriodId, Map<String, String> inputParams) throws OBException, Exception {

HashMap<String, Object> myMap = new HashMap<String, Object>();

// Use StringBuffer because it is safe in multi-thread StringBuffer sb = new StringBuffer(); sb.append("Hello World!");

// File content. Mandatory myMap.put("file", sb); // File name. Input Parameter with Search Key "fileName“. Not mandatory

myMap.put("fileName", inputParams.get("fileName"));

return myMap; }}

HELLO WORLD IMPLEMENTATION

Spanish Professional Localization Pack

Page 26: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 26Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

Wrap-Up

SPLP introduction. Functionality and Demo of the Tax Report Launcher:

- SPLP content

- Tax reports built from the Tax Report Launcher

- Tax Report Launcher as a community module

Modules, Packs, Dependencies and versions:

- Differences between modules and packages

- Dependencies management

- Versions management

Implementing Java Interfaces for a modular development:

- Tax Report Launcher public Java Interface

- Hello World report Java implementation

- Hello World report setup for the Tax Report Launcher and execution

Page 27: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 27Spanish Professional Localization Pack Webinar - Openbravo, Localization Team

Q & A

Next Webinar:Quick Start

December 10th 4-5 PM (CET)

Interesting Links: http://forge.openbravo.com/projects/spainprofessionallocpack

http://forge.openbravo.com/projects/localizationpackspain

david.alsasuavictor.martinez

patricia.sanjuan

Spanish Professional Localization Pack

@[email protected]@openbravo.com

Page 28: Spanish Professional Localization Pack Extension Module Webinar November 26th, 2009

Page 28Spanish Professional Localization Pack Webinar - Openbravo, Localization Team