User:Trifonnt

From ADempiere
Revision as of 05:37, 29 July 2007 by Trifonnt (Talk) (OpenXava Q & A)

Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.
Name This user real name is : Trifon Nikolaev Trifonov
Sourceforge logo.png This user has a Sourceforge account.
Wikipedia logo.png This user has a Wikipedia account.

Contents

About Me

I started my own comapny last year providing Adempiere and Compiere consultancy and development. I like developing business systems. This makes me headache from tme to time, but also makes me very happy when i see system wokring.

As a member of ADempiere Council i like to review patches and SVN commits in order to be sure that code remains stable and system functional. I hope that you have found that i like to help in forums and provide guidance to ADempiere developers how to solve problems they find in their day by day work.

Trifon's Paid Services

  • Need urgent advice for your Adempiere implementation or need to talk with experienced Adempiere developer - call now to get friendly help. Ask for Trifon.
  • Price is 0.80 euro per minute

Use Skype Prime service to call now. More info about Skype Prime

On site Adempiere training and development

  • 1500 EURO / week + ticket + hotel

  • If you need training or support for EDI in Adempiere, please do not hesitate to contact me.
  • Prices start from 30 Euro per hour.

OpenXava Development

  • Suitable for:
    • Small applications which need to be developed from scratch
    • Development of applications which must be part of a Web Portal.
    • Applications based on OpenXava can run on any DB which is supported by Hibernate.
    • Licensed under LGPL. You can develop comercial application using OpenXava.
    • Applications based on OpenXava can run on any application server (Tomcat, JBoss, WebSphere, etc).
    • Applications based on Openxava have easy integration of reports made with JasperReports.
  • My contributions to OpenXava:
  • Please contact me for quotation.

Java Development

  • Development of java applications.
  • Please contact me for quotation.

Adempiere trackers

Submited by Trifon and Assigned to Trifon

Assigned to Trifon

Adempiere contributions

Functionality Contributions

EDI @ Adempiere - Sponsored Development: EDI Import/Export

Replication @ Adempiere - Sponsored Development: Replication

  • Restrict form "Generate Invoices (manual)" to show only public records (hide locked records) BUG - 1713337
  • Restrict form "Generate Shipments (manual)" to show only public records (hide locked records) BUG - 1713317

Planned Contributions and Tasks


Interesting bugs/patches

My favourite readings

Interesting

Open Source articles

OSS Etiquette & Culture

Books

Articles and posts from Martin Fowler

Financial based

Read and respond to this message at: https://sourceforge.net/forum/message.php?msg_id=4366156 By: drhayderaziz

I think that Adempiere would get a lot of kudos if Adempiere went the XBRL route www.xbrl.org for financial reporting. For listed companies (and even for unlisted) XBRL will be the way to go especially for any international company that has to consolidate accounts from multiple legal entities in multiple countries in a standardised manner. This would be an essential component of an ERP system in the 2008-2009 time frame. If Adempiere would have its COA structured the XBRL way and have XBRL compliant financial statements at company/consolidated level it would be an AMAZING value proposition to so many organisations.

Comparison of Open Source ERP Systems

Non IT Technology


Social networks

ERP articles

Interesting


Adempiere

Adempiere Brazil Localisation effort Peope that are cooperating with Adempiere LBR (LBR = Localization Brazil). Those are their names, followed by their sourceforge username.

Eduardo Montenegro (emontenegro) Alvaro Montenegro (amontenegro) Mario Grigioni (mgrigioni)

Adempiere commit schema

Mentor/Commiter approach approved with 11/11 votes, according to this thread: https://sourceforge.net/forum/forum.php?thread_id=1765233&forum_id=611167

Initial team is:

Mentors:

  • Heng Sin
  • Teo
  • Trifon - (Phib, Ashley )
  • Victor
  • Karsten
  • Carlos

Mentored(Commiters):

  • Redhuan
  • Bahman
  • Johannes
  • Phib
  • Ashley
  • Fer_luck
  • Tim (for 2pack)
  • Robert Klein

VERY IMPORTANT

Incoming evenets

Time: 15:00 GMT Day: Tuesday June 26 Venue: IRC channel #adempiere-team (on irc.freenode.net)

1 - Centralized Application Dictionary Management

2 - The second issue is that developer community is growing and commit committee can't cope with the review of all commits.

Postal Code Web Service

Developer hints

  • class dbPort/org.compiere.process.DocActionTemplate shows a template for DocAction, i think that it must be updated.
Subversion Access

Adempiere project's SourceForge.net Subversion repository can be checked out through SVN with the following instruction set: svn co https://adempiere.svn.sourceforge.net/svnroot/adempiere adempiere

Migration with SQL statements - AD_Element
INSERT INTO AD_Element
(AD_Element_ID, AD_Client_ID, AD_Org_ID, IsActive,
Created, CreatedBy,
Cpdated, UpdatedBy,
ColumnName, EntityType, Name,
PrintName
)
VALUES (500XX, 0, 0, 'Y',
TO_DATE ('02/26/2007 12:30:00', 'MM/DD/YYYY HH24:MI:SS'), 100,
TO_DATE ('02/26/2007 12:30:00', 'MM/DD/YYYY HH24:MI:SS'), 100,
'[ColumnNameHere]', 'D', '[NameHere]',
'[PrintNameHere]'
);
COMMIT;
UPDATE AD_Sequence
SET CurrentNextSys = (SELECT MAX (AD_Element_ID) + 1
FROM AD_Element
WHERE AD_Element_ID < 1000000)
WHERE NAME = 'AD_Element';
Migration with SQL statements - AD_Column
INSERT INTO AD_Column
(AD_Column_ID, AD_Client_ID, AD_Org_ID, IsActive,
Created,
Updated, CreatedBy,
UpdatedBy, Name, Description, VERSION,
EntityType, ColumnName, AD_Table_ID, AD_Reference_ID, 
FieldLength, IsKey, IsParent, IsMandatory, IsUpdateable,
IsIdentifier, SeqNo, IsTranslated, IsEncrypted,
isselectioncolumn, ad_element_id, callout, issyncdatabase,
isalwaysupdateable
)
VALUES (502XX, 0, 0, 'Y',
TO_DATE ('02/26/2007 12:30:00', 'MM/DD/YYYY HH24:MI:SS'),
TO_DATE ('02/26/2007 12:30:00', 'MM/DD/YYYY HH24:MI:SS'), 100,
100, '[NameHere]', '[DescriptionHere]', 1,
'D', '[ColumnNameHere]', AD_Table_IDHERE, AD_Reference_IDHere,
1, 'N', 'N', 'Y', 'Y',
'N', 0, 'N', 'N',
'N', 50071, '[CalloutHere]', 'N',
'N'
);
COMMIT;
UPDATE AD_Sequence
SET CurrentNextSys = (SELECT MAX (ad_column_id) + 1
FROM AD_Column
WHERE AD_Column_ID < 1000000)
WHERE NAME = 'AD_Column';
Migration with SQL statements - AD_Field
INSERT INTO AD_Field
(ad_field_ID, AD_Client_ID, AD_Org_ID, IsActive,
Created, CreatedBy,
Updated, UpdatedBy,
Name, Description, IsCentrallyMaintained, SeqNo, AD_Tab_ID,
AD_Column_ID, IsDisplayed, DisplayLength, IsReadonly,
IsSameLine, IsHeading, IsFieldOnly, IsEncrypted, EntityType
)
VALUES (50184, 0, 0, 'Y',
TO_DATE ('02/26/2007 12:30:00', 'MM/DD/YYYY HH24:MI:SS'), 100,
TO_DATE ('02/26/2007 12:30:00', 'MM/DD/YYYY HH24:MI:SS'), 100,
'Store Archive On File System', 'Store Archive On File System', 'Y', 250, 145,
50214, 'Y', 1, 'N',
'N', 'N', 'N', 'N', 'D'
);
COMMIT;
UPDATE AD_Sequence
SET currentnextsys = (SELECT MAX (ad_field_id) + 1
FROM AD_Field
WHERE AD_Field_ID < 1000000)
WHERE Name = 'AD_Field';
Migration with SQL statements - AD_Message
INSERT INTO AD_Message
(AD_Message_ID, AD_Client_ID, AD_Org_ID, IsActive,
Created, CreatedBy,
Updated, UpdatedBy,
Value, MsgText, MsgType
)
VALUES (500XX, 0, 0, 'Y',
TO_DATE ('02/26/2007 12:30:00', 'MM/DD/YYYY HH24:MI:SS'), 100,
TO_DATE ('02/26/2007 12:30:00', 'MM/DD/YYYY HH24:MI:SS'), 100,
'[VaueHere]','[MSG Text Here]','I'
);
COMMIT;
UPDATE AD_Sequence
SET CurrentNextSys = (SELECT MAX (AD_Message_ID) + 1
FROM AD_Message
WHERE AD_message_ID < 1000000)
WHERE NAME = 'AD_Message';
Migration with SQL statements - AD_Process_Para
INSERT INTO AD_Process_Para
(AD_Process_Para_ID, AD_Client_ID, AD_Org_ID, IsActive, Created,
CreatedBy, Updated, UpdatedBy, Name,
Description,
Help,
AD_Process_ID, SeqNo, AD_Reference_ID, AD_Reference_Value_ID,
AD_Val_Rule_ID, ColumnName, IsCentrallyMaintained, FieldLength,
IsMandatory, IsRange, AD_Element_ID, EntityType
)
VALUES (50019, 0, 0, 'Y', TO_DATE ('2007-03-03', 'YYYY-MM-DD'),
100, TO_DATE ('2007-03-03', 'YYYY-MM-DD'), 100, 'Shipment Date',
'Date printed on shipment',
'The Shipment Date indicates the date printed on the shipment.',
118, 15, 15, NULL,
NULL, 'MovementDate', 'N', 0,
'Y', 'N', 1037, 'D'
);
COMMIT;
UPDATE AD_SEQUENCE
SET currentnextsys = (SELECT MAX (ad_process_para_id) + 1
FROM AD_Process_Para
WHERE AD_Process_Para_ID < 1000000)
WHERE NAME = 'AD_Process_Para';

License to use for new classes

/**********************************************************************
* This file is part of Adempiere ERP Bazaar                           *
* http://www.adempiere.org                                            *
*                                                                     *
* Copyright (C) Trifon Trifonov.                                      *
* Copyright (C) Contributors                                          *
*                                                                     *
* This program is free software; you can redistribute it and/or       *
* modify it under the terms of the GNU General Public License         *
* as published by the Free Software Foundation; either version 2      *
* of the License, or (at your option) any later version.              *
*                                                                     *
* This program is distributed in the hope that it will be useful,     *
* but WITHOUT ANY WARRANTY; without even the implied warranty of      *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the        *
* GNU General Public License for more details.                        *
*                                                                     *
* You should have received a copy of the GNU General Public License   *
* along with this program; if not, write to the Free Software         *
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,          *
* MA 02110-1301, USA.                                                 *
*                                                                     *
* Contributors:                                                       *
* - Trifon Trifonov (trifonnt@users.sourceforge.net)                  *
*                                                                     *
* Sponsors:                                                           *
* - Company (http://www.site.com)                                     *
***********************************************************************/
...
...
/**
 *	@author Trifon Trifonov
 *	@version $Id$
 */

Adempiere Export/Import Tools

2Pack can manage in the XML file the following items:

2PackADCK
menumenu
windowwindow
tabtab
fieldfield
processprocess
processparaprocesspara
tabletable
columncolumn
impformatAD_ImpFormat
impformatrowAD_ImpFormat_Row
printformatAD_PrintFormat
printformatitemAD_PrintFormatItem
reference[[ADCK |]]
referencelist[[ADCK |]]
referencetable[[ADCK |]]
reportview[[ADCK |]]
reportviewcol[[ADCK |]]
task[[ADCK |]]
form[[ADCK |]]
workbench[[ADCK |]]
preference[[ADCK |]]
roleAD_Role
???AD_User
userrole[[ADCK |]]
orgrole[[ADCK |]]
windowaccess[[ADCK |]]
processaccess[[ADCK |]]
formaccess[[ADCK |]]
workflowaccess[[ADCK |]]
taskaccess[[ADCK |]]
???AD_Language
???AD_Message
???AD_PrintTableFormat
???AD_Scheduler
???C_BP_Group
???TEMPLATE

CRM systems

Comparison of CRM systems

Localized in Bulgarian

Interesting news/Forum post regarding CRM systems

Tina POS

Compiere

My opinion is that this is very outdated information, but who knows...

HTML/CSS


Java related

Java and IM

Autocompletion

Portal, JCR, ECM, Groupware

Eclipse IDE and Application build on Eclipse

Script Languages

Java FTP Libraries and Articles

Commercial which support FTPS (FTP Over SSL)

OpenXava Q & A

Created an entity ticketClass with a method GenerateTickets. Implemented the calculator using an IModelCalculator class.

Want to create a button/link when ticketClass is displayed so that user click on it the method gets executed.

Q1. How do I set this up?
  • A1. Have to create an action and include it in the controller of your module.

In this action, you can obtain the object and call to you method, something like this:

public void execute() throws Exception {
  ...
  TicketClass ticketClass = (TicketClass) MapFacade.findEntity(getModelName(), getView().getKeyValues());
  ticketClass.generateTickets();
  getView().findObject(); // This refresh the view (Q2)
  ...
}
Q2. How can I get the view of the entity refreshed after the method is executed.
  • A2. See the above code
Q3. How can i reload other modules to reflect the changes made by an action that was performed in one module?

An action in one module (module A) that changes the value of the data contained in another module (module B), when i execute an action button (in module A), it executes successfully and updates the data in the other entity (entity B) in the database, but when i view module B, the module list view (of module B) is still showing the old data!

  • A3. In a Liferay 2.1.3 with OX2.2 it works fine, that is, I modify data in a portlet, I move to another and the data

is refreshed without touch filter nor any other action. Look at your web/WEB-INF/portlet.xml, have you <expiration-cache>0</expiration-cache> for your portlets? Since OX2.1 expiration-cache is 0 in the portlet.xml generated by OpenXava. Hence, if you are using OX2.1 or better you only need to execute the ant target 'redeployPortlets' in order to fix your portlet.xml file.


Q4. How to avoid warnings that messages are not translated
  • A4.

This messages warn you about the labels that you need to put in your i18n/YourProyectName-labels_en.properties. Developer can avoid this messages putting the next line:

i18nWarnings=false

in the file properties/xava.properties of your project.