<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://globalqss.com/wiki/index.php?action=history&amp;feed=atom&amp;title=IDempiere%2FFullMeeting20120201</id>
	<title>IDempiere/FullMeeting20120201 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://globalqss.com/wiki/index.php?action=history&amp;feed=atom&amp;title=IDempiere%2FFullMeeting20120201"/>
	<link rel="alternate" type="text/html" href="https://globalqss.com/wiki/index.php?title=IDempiere/FullMeeting20120201&amp;action=history"/>
	<updated>2026-04-05T19:17:01Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.1</generator>
	<entry>
		<id>https://globalqss.com/wiki/index.php?title=IDempiere/FullMeeting20120201&amp;diff=88&amp;oldid=prev</id>
		<title>CarlosRuiz: full meeting</title>
		<link rel="alternate" type="text/html" href="https://globalqss.com/wiki/index.php?title=IDempiere/FullMeeting20120201&amp;diff=88&amp;oldid=prev"/>
		<updated>2012-02-01T21:29:35Z</updated>

		<summary type="html">&lt;p&gt;full meeting&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;!-- breadcrumb --&amp;gt;&lt;br /&gt;
&amp;lt;font size=-2&amp;gt;&lt;br /&gt;
&amp;amp;lArr;&lt;br /&gt;
[[IDempiere|Table of Contents]] |&lt;br /&gt;
[[IDempiere/Full Meeting Minutes|Full Meeting Minutes]] |&lt;br /&gt;
Full Meeting 2012-02-01&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''Suman_''''': Hi All, This is Suman, Joining for the first time in Idempiere conference&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': Morning all - welcome Suman&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Thanks Carlos&amp;lt;br&amp;gt;&lt;br /&gt;
'''''red1''''': Hi Suman where are u from?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''red1''''': I am still suffering from slight stomach ache.. otherwise fully recovered from food poisioning here in Quito, Ecuador&amp;lt;br&amp;gt;&lt;br /&gt;
'''''red1''''': will be back later as i move from the hotel to the office shortly. CarlosRuiz can u give me the link to your last transcript?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''red1''''': i will link in the forum about this chat meetings&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': already posted below your forum message&amp;lt;br&amp;gt;&lt;br /&gt;
'''''red1''''': OK then gracias&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': I am from India&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Works for Walkingtree&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': ah - I've followed your latests blog entries - they're very helpful - well redacted&amp;lt;br&amp;gt;&lt;br /&gt;
'''''red1''''': as usual to introduce this meeting i quote from Carlos previous apperance: CarlosRuiz: I have no specific agenda for today's meeting - so if you have any issue (technical or functional) you want to discuss - is open - otherwise I'll start working on my pendings&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Thanks, we will continue to add more add blogs&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': and I see also that you have a very active forum&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': :-)  exactly red1&amp;lt;br&amp;gt;&lt;br /&gt;
'''''red1''''': Suman, feel free to cross link your work to my forum too - under perhaps 'Building ADempiere'&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Sure I will do that, But I was bit doubtful as it may become promotional thing&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': but as you mentioned I will start cross linking things&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': I have started reading about OSGI , it is promising&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': If no one has any question, I have one question&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': of course - go ahead&amp;lt;br&amp;gt;&lt;br /&gt;
'''''red1''''': Suman.. promotional is allowed if it promotes knowledge and not overselling&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Does Idempiere reduces Customization time, compared to adempiere?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Red1.., I agree&amp;lt;br&amp;gt;&lt;br /&gt;
*	CarlosRuiz thinking on Suman_ question ....&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': How it reduces time, If we have an example scenario for this, that will be nice&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': well - I think that's not the main goal - IMHO the customization time on iDempiere/Adempiere is little&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': but yes - in some way it can reduce the time&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': as in some cases you don't need to add entries to the dictionary - but just declare the extension point in the bundle&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': but as I said the goal is not to shorten the times I find already short - the goal is better modularization - avoid class collisions, etc&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': but - I would like to counterask&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': how do you think the customization times can be reduced &amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Thanks Carlos&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': if you have ideas on that direction we can review them&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': I don't have ideas right now, i am just trying understand the things as it is now, may I understand more i may have&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': As I understand more, I may have&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': sure - my question is because we're too used to the interface - so I find the customization times short - but for others is not the same&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': and I like to work on that direction&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': for example when I added the &amp;quot;Create Columns From Similar Table&amp;quot; button&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': that speed up the creation of tables a lot&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': and it was very simple solution&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': yes that was good value addition&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Suppose, If I have very small customer, all he wants is configure product and raise purchase orders from them no Inventory and no accoutning and no costing&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Right now with current adempiere, I have to deploy everything and hide windows for the end user&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': can we solve this idempiere?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': in&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': that's a long term goal - but yes, we're thinking on that direction&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': to have a kernel and modules to be installed on top of the kernel&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': that will be an achievement&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Then irrespective of scale of customer's business, Idempiere is an option&amp;lt;br&amp;gt;&lt;br /&gt;
'''''red1''''': bbl&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': well - at this moment it is - just that is not modularized - so you need to do the role configuration to hide the non-used things&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Yes&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Does Eclipse use any database?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': I don't know - I suppose for the workspace data must use some sort of database&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': I was just co relating, I will login to adempiere and select some window, in window I will give link for site which has payrol fully installed&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': then it will install that features in my current adempiere installation&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': the we way do in eclipse :)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': I am thinking it as one end goal for Idempiere&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Correct me If I am wrong&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': yes - that's the idea - don't know if the mechanism will be an update site - or a marketplace&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': but for sure the idea is to make installation of modules very easy&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': just like deploying the bundle on the OSGi container&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': then it must auto-install the dictionary part on database - probably using 3pack&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': When I visualize, database looked like little tricky thing to me&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': that's why I asked whether eclipse uses database&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': that is basically done - what we don't have a mechanism to uninstall from dictionary&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': We may need to have that as well as we move forward :)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': yes - is tricky&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': install is done with 3pack (I use to call this the new version of 2pack)   :-)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': but uninstall is still very tricky&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': yes it is tricky, we may need to some thing at the time create 3 pack to uninstall&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': I'm reviewing JIRA trackers as there are no questions - so - if anybody have a candidate for review, just let me know&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Hi Carlos, can I start helping by fixing some issues?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': of course - you're welcome &amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': I have good understanding in existing adempiere code base, so I think I can help to some extent in IDempiere&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': I guess you can clone the bitbucket repository - and look for one of the JIRA tickets open that you would like to collaborate&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': try to solve it and if ok - then you can send a pull request&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Ok&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': I will try&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': and of course you can ask us when you got stuck somewhere&amp;lt;br&amp;gt;&lt;br /&gt;
'''''red1''''': About what Suman_ said about small customer with only purchasing… it is a good idea.. if we have a 2Pack that hides all of that.. maybe i can work towards that&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Red1.., Moving away from the topic, i am still working on automatic record of test scripts in selenium&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': as I make  progresss i will update in forums&amp;lt;br&amp;gt;&lt;br /&gt;
'''''red1''''': that will be great&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': May be carlos can add his thoughts here,&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': What I have done is&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Sorry, is this right forum to discuss selenium stuff?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''red1''''': I am quite contented with the present contribution done by Carlos and Hengsin to test the ZK via Selenium...&amp;lt;br&amp;gt;&lt;br /&gt;
'''''red1''''': as long as no one objects :D&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': did you read the rules of this IRC?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': :-D   just joking&amp;lt;br&amp;gt;&lt;br /&gt;
'''''red1''''': RULES?!!&amp;lt;br&amp;gt;&lt;br /&gt;
'''''red1''''': :D&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': :)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': :)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': It seems no objections, May be carlos can help here&amp;lt;br&amp;gt;&lt;br /&gt;
'''''red1''''': actually we have a simple convention… if u think someone else is shit, say so.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': Suman_, this space is to open - and selenium QA for iDempiere is of big interest&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': We have added on our own attribute for each widget that i.e. WEditor.java&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': that can bring uniqueness for each widget and will not change for each deployment&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Now we need to make selenium start identying that attribute automatically when user clicks on or enters data in partilcuar Widget or field&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': yes - we need uniqueness - and I have suggested also repeatability to be able to record&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': with repeatability I mean - generating the same unique key for each session&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': For that I In selenium I have added my own &amp;quot;Own Locator Builder&amp;quot; In selenium IDE and put that locator builder on tio&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': top&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': so every time selenium starts recording, it should that for that attribute,if selenium can find that atrribute, our goal is achieved&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': but some how, our custom attribute is not being recognized by selenium&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': it is not even appearing when I try to find it with firebug&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': I need some suggestions from you&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': &amp;quot;should that for that attribute&amp;quot; means &amp;quot;Should look for our custom attribute&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': why don't you use the nextComponentUuid approach?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': question -&amp;gt; the attribute you added is unique for each component and repeatable - is the same generated on every session (of course if the steps are made in the same order)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Do we set nextComponentUuid in ID attribute of each field?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': I mean each instance of WEditor?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': have you checked the iDempiere code for that ?   or globalqss361 ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': I think you arrived to the same approach we implemented&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': I have taken base from Red1's Demo&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': that means your approach&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': my goal was to reduce the the effort of test recording&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': our functional testers should be able to record the test cases&amp;lt;br&amp;gt;&lt;br /&gt;
'''''red1''''': and if he proves to you that what you said is shit, then you admit it (sorry was distracted by the boss here in the office who insisted that i know about TOC)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': they do not know C_BPartner_ID or M_PriceList_ID&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': the approach on idempiere/globalqss361 is this&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': https://bitbucket.org/idempiere/idempiere/src/005aec45b17c/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/AdempiereIdGenerator.java&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': I will verify that once, It seems I am missing some thing&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': the nextComponentUuid is called from the zk core to generate the ID of each UI component (buttons, textboxes, etc)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Thanks For the Pointer&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': so - we save a prefix before (i.e. on WEditor and in other classes too) to be used by nextComponentUuid&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': look for example line 107 here&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': https://bitbucket.org/idempiere/idempiere/src/005aec45b17c/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WEditor.java&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': what I don't like from that is that is adding a &amp;quot;random&amp;quot; number at the end&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': I suggested to add a combination of WindowNo + AD_Field_ID to make it unique and repeatable&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': yes that should bring uniqueness&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': that's similar to what you did?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': But selenium was not identifying this automatically&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': I may be missing some thing&amp;lt;br&amp;gt;&lt;br /&gt;
'''''red1''''': (logging off for next big event in Quito - will check the transcript later)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': bye red1 - good luck&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Problem I face right now is that selenium is not automatically deteting this id&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': I will do some more work and post question in Red1's forum in name of 'dravuri'&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': which version are you using?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': 360&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': adempiere 360 LTS&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': I'll check again on globalqss361/iDempiere to work with selenium the way described&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': trying to get the unique ID&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': we have this JIRA ticket also to discuss about&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': http://jira.idempiere.com/browse/IDEMPIERE-92&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Thanks&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': I will use this Jira tracker&amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': Thanks Carlos for your time and Patience&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': you're welcome - thanks to you for coming here &amp;lt;br&amp;gt;&lt;br /&gt;
'''''Suman_''''': I am leaving this session, Bye&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': bye&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>CarlosRuiz</name></author>
		
	</entry>
</feed>