<?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%2FFullMeeting20120307</id>
	<title>IDempiere/FullMeeting20120307 - 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%2FFullMeeting20120307"/>
	<link rel="alternate" type="text/html" href="https://globalqss.com/wiki/index.php?title=IDempiere/FullMeeting20120307&amp;action=history"/>
	<updated>2026-04-05T19:16:45Z</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/FullMeeting20120307&amp;diff=103&amp;oldid=prev</id>
		<title>CarlosRuiz: full meeting</title>
		<link rel="alternate" type="text/html" href="https://globalqss.com/wiki/index.php?title=IDempiere/FullMeeting20120307&amp;diff=103&amp;oldid=prev"/>
		<updated>2012-03-07T15:22:03Z</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-03-07&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''''CarlosRuiz''''': Good morning&amp;lt;br&amp;gt;&lt;br /&gt;
'''''tbayen''''': Hi!&amp;lt;br&amp;gt;&lt;br /&gt;
'''''mindbender1''''': Hi CarlosRuiz&amp;lt;br&amp;gt;&lt;br /&gt;
'''''HarisHashim''''': Good morning&amp;lt;br&amp;gt;&lt;br /&gt;
'''''HarisHashim''''': .. err evening&amp;lt;br&amp;gt;&lt;br /&gt;
'''''mindbender1''''': Hi Everyone&amp;lt;br&amp;gt;&lt;br /&gt;
'''''emmie''''': Hi all!&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': as usual - no agenda for the meeting&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': just open chat for technical or functional discussions&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': and I'll be checking pending JIRA issues in the meantime if there is no theme to chat  :-)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''emmie''''': well, I would like to talk about &amp;quot;patchs&amp;quot; and how to manage this issue&amp;lt;br&amp;gt;&lt;br /&gt;
'''''tbayen''''': I looked into the code for the JasperReports integration. Was this done by one person or is it code that grew over many steps? It seems to be worth to reorganize some things.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': hi all&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': sure emmie - we can discuss &amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': tbayen - it was started somewhere for Compiere - we integrated it into Adempiere - and the it has grown with contributions from many&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': emmie - how is your advance using getlistmodsrc.sh  ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': CarlosRuis, what's the topic ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''emmie''''': I downloaded the repo that you share me, I modified getlistmodsrc.sh&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': hengsin, no fixed agenda - emmie wants to discuss about patches (for transition version) - and tbayen wrote it's worthy to reorganize some things on jasper integration&amp;lt;br&amp;gt;&lt;br /&gt;
'''''tbayen''''': The Jasper code has many special solutions.(for example URLs with https:, file:, resource: attachment:). I wonder if we need all these different codepaths that make it difficult to have a clean solution for loading of other files (subreports, images). Much of this code is nowwhere documented (but seems to work) But I know your opinion about backward compatibility.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': different codepath is not the issue, the issue is it is all mixed together.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''emmie''''': but, when execute it, I have see a lots of &amp;quot;new files&amp;quot; in patches repo&amp;lt;br&amp;gt;&lt;br /&gt;
'''''tbayen''''': The other problem ist that it would take much time for me to test changes with URL types I do not use myself.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': we need to clean up the interface and separate the code path into different protocol implementation module&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': well, that's part of the burden of an opensource world, you do have to test for things you don't actually use :) I've to do it all the times!&amp;lt;br&amp;gt;&lt;br /&gt;
'''''tbayen''''': hengsin, Yes, I would like to think about this. But we need the old code as &amp;quot;default&amp;quot; because I have no time (and see no sense) to implement and test old solutions I do not know of whether one person in the world is using it.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''tbayen''''': If I reimplement ReportStarter.java and make some module to implement one kind of URL shall I do these things in the same package?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': tbayen, I think all of them are in use by different people - in my case the only one that I have never used is &amp;quot;resource:&amp;quot;   (funny that I was who contributed that)  :-)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': tbayen, that's not a requirement, if you want to refactor it, you are free to propose a new package structure.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': CarlosRuiz, do you think #2 of http://jira.idempiere.com/browse/IDEMPIERE-118 is a good idea ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''tbayen''''': I use only &amp;quot;resource&amp;quot; and can not see a reason to use the others. You are right - it's funny. Perhaps I can try to create a new &amp;quot;resource:&amp;quot; module and If I am finished we could together think how it can be transfered to the other ones. PErhaps You can help testing with real world examples.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': tbayen, we only use attachment: here, I think mostly contributed by me.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': tbayen, each one has its purpose - file is very useful when doing initial development, attachment is the easiest to send as deliverable for installation from a third party - lately I'm using http for reports shared in several servers&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': hengsin, about &amp;quot;Average Costing: Negative inventory&amp;quot; - big issue&amp;lt;br&amp;gt;&lt;br /&gt;
'''''tbayen''''': Yes, I wanted to say I can not see a reason for me(!)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': will comment in jira ticket &amp;lt;br&amp;gt;&lt;br /&gt;
'''''tbayen''''': Thanks, I think my question is answered for the moment. I will think about it and tell you if I have some code that's worth looking into.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': sure tbayen - refactoring to clarify code is always a good thing - with the additional hassle of needing to test things being touched&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': emmie - if you &amp;quot;pull -u&amp;quot; your repository - then the getlistmodsrc.sh must bring nothing - as I have executed and committed that very frequently&amp;lt;br&amp;gt;&lt;br /&gt;
'''''tbayen''''': In the first step I will try to touch only thinks I use myself.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''tbayen''''': things&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': yes tbayen  -  another option is you publish the patch and state which parts are not tested - and others can help with testing those parts&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': CarlosRuiz, working on http://jira.idempiere.com/browse/IDEMPIERE-117 now, as usual, all comments are welcome.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''emmie''''': no, I no pull in that way&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': hengsin, I used M_CostDetail as the history table&amp;lt;br&amp;gt;&lt;br /&gt;
'''''emmie''''': I just clone your repo, I modified getlistmodsrc.sh to adapt it to my environment&amp;lt;br&amp;gt;&lt;br /&gt;
'''''emmie''''': and execute it...&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': yep - you can execute &amp;quot;hg -v pull -u&amp;quot; in that repo periodically&amp;lt;br&amp;gt;&lt;br /&gt;
'''''emmie''''': when I have to do this &amp;quot;pull -u&amp;quot;?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': is to refresh your cloned repository with my changes&amp;lt;br&amp;gt;&lt;br /&gt;
'''''emmie''''': ah, ok&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': hengsin, I used M_CostDetail for cost history in a custom implementation of average costing (very customized so it ended useless for contributing back to product)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': I needed to add some transactions to cost detail that were not being added&amp;lt;br&amp;gt;&lt;br /&gt;
'''''emmie''''': but, I suppose that this is not my problem...&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': and I made a view from cost detail to show the &amp;quot;average costing kardex&amp;quot; &amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': you make any changes to m_costdetail ? it doesn't seems to have sufficient details to act as a history table.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': yes - I needed to add some trx that were missing&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': and were needed for a kardex purpose&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': emmie, it's right - executing getlistmodsrc.sh will create new files when they have not been patched before - and modify those that were already patched&amp;lt;br&amp;gt;&lt;br /&gt;
'''''emmie''''': well&amp;lt;br&amp;gt;&lt;br /&gt;
'''''emmie''''': so, after execute getlistmodsrc.sh&amp;lt;br&amp;gt;&lt;br /&gt;
'''''emmie''''': I try to generate jar&amp;lt;br&amp;gt;&lt;br /&gt;
'''''emmie''''': but I see that this jar file contains java source files too, is that correct?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': nope - not needed&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': harmless, but not needed&amp;lt;br&amp;gt;&lt;br /&gt;
'''''emmie''''': I generate this jar with generaJar.jardesc&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': CarlosRuiz, how do you sort m_costdetail to get a sequential movement view ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''emmie''''': ok, I will try to do that &amp;quot;as usual I do&amp;quot; (without .jardesc)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': strange - the jardesc states exportJavaFiles=&amp;quot;false&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': hengsin -&amp;gt; order by m_costdetail_id did the trick&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': CarlosRuiz - hmm, that also means the requirement to make sure all m_costdetail record is always process sequentially, I guess some additional changes need for that too ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': yes - enabling cost immediate on client is required&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': hengsin, about &amp;quot;Average Costing: Negative inventory&amp;quot; - I wrote the code to post negatives on the new account M_Product_Acct.P_AverageCostVariance&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': but as I said it ended useless to contribute&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': if you want I can pass that code to you for your analysis&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': we also needed to cope with many other problems&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': I implemented the &amp;quot;disallow negative inventory&amp;quot; (borrowed from Compiere) for warehouses&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': but still you can have negative inventory in costing (even if you don't have it on warehouses)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': when the good are received and then delivered before matched&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': in the end - I think the only way to manage that is posting the receipt with the price of the PO - and making it mandatory (you cannot receive goods without a previous PO)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': and then some consistency checks are needed - i.e. you cannot allow to change prices on PO (reopened) if the goods were already received&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': when the good are received and then delivered before matched - my ideas is the accounting processor not to post the shipment when it detected that posting it will cause m_cost.currentqty to become negative&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': but then you can have a problem for discontinued products - if they are never received again&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': hmm ... shouldn't a negative stock situation should be corrected eventually ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': discontinued doesn't means your stock level should be -ve&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': yes - combined with the &amp;quot;disallow -ve inventory&amp;quot; it cannot happen&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': negative in costing means not matched&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': if we agree to post on receipt with PO price (and recalc cost there) - then matchinv is not needed and we would solve the problem&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': yeah, not matched temporary but shouldn't that be resolved too later ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': yes - hopefully the match will happen later - problem we found with that is that match could happen on next month&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': WDYT about compelling some processes when using Average - i.e. if using average a receipt requires a PO - and PO price cannot be changed if the goods are already received&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': IMHO that would solve the problem combined with the &amp;quot;disallow -ve inv&amp;quot; flag on warehouse&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': do you means the situation where matchinv is needed for 2 way matching, i.e just recceiving and invoice, no po ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': at this moment we accept receipts without a PO&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': my proposal is to forbid that when using avg costing&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': because we post receipts with PO price&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': ok, no PO does make avg costing really difficult&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': yeah, that sounds like a necessary constraint.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': match inv could still happen in case the invoice has a different price than PO - and in such case the posting will go to the P_AverageCostVariance account&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': that one is simple, it is just a posting issue&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': the problem then is to implement a mechanism to let the accountant move that variance to expenses (simple, a GL Journal can do that) - or to inventory (not simple, we need a doc to recalc costing)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': that should be a cost adjustment doc ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': yes - could be &amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': I'm scheduled to add that&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': i added the suggested cost history table structure to http://jira.idempiere.com/browse/IDEMPIERE-117 , overkill ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': still don't get the difference with cost detail&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': CarlosRuiz, some discussion on http://jira.idempiere.com/browse/IDEMPIERE-177 ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': CarlosRuiz, it is just a simple table to capture the before and after value of m_cost. it make producing a cost movement view trivial at the expense of storage.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': i guess it is not needed if we can realiably produce that from m_costdetail&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': well - we achieved to produce it from MCostDetail (with some changes as described)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': it was very difficult to let accountant understand why the order by cannot be dateacct  :-)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': but finally we made it&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': Hi Dirk, what if we use empty language as &amp;quot;all languages&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': note that with history table, it is also trivial to do a movement report for a date range&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': Carlos, yes, makes sense&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': CarlosRuiz, ok, can you share the your movement view somewhere so I can review it ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': hengsin, that was tricky again - date range must be issued with the ProcessedOn date&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': very tricky - if you change the order, then the calcs of the avgcost don't match&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': CarlosRuiz, I'm just talking about reporting, not a recalc of cost :)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': yep &amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': I mean&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': to let the report be consistent with the calculated cost&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': you need to order by m_costdetail_id - and date ranges can break that&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': I'm pointing out one of the motivation for the history table is the ease to produce cost movement report for a date range&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': I'm fine with the history table - is harmless&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': I don't see it useful for avg because m_costdetail is very similar&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': but &amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': in standard costing&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': can be very useful&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': we don't have a mechanism to save changes on standard cost&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': hmm .. isn't the date range reporting a useful thing to have ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': yes - but I'm worried that date range can break the order by and make the numbers inconsistent&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': it happened to us when developing the kardex&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': hengsin, what do you think about IDEMPIERE-177 - Complete Window Customization functionality - contributed from Dirk - I tested and seems to be working fine - and backward compatible (if not filled nothing happens)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': alright, just to make it clear - the history record is save when the system process a m_costdetail record (MCostDetail.process), the old* value is captured at the start of the method and new* captured at the end of the method.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': I've not review iDempiere-177&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': dumb question: how do i make a field read only ONLY after the record has been saved (like e.g. Client and Org behave in a window)?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': hengsin, what if we add the old* columns to M_CostDetail - it would have the same effect?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': a42niem, try the &amp;quot;updateable&amp;quot; flag&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': silly me, thanks&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': CarlosRuiz, just thinking separating reporting table from trx table might be a better for performance ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': ok, so iDempiere-177 is to implement user customization using the existing ad_userdef* tables ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': yes&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': what would be the UI changes ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': you can customize the behavior of a window/tab/field for a user or role or organization or company&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': Dirk implemented it in java code, overwriting what is read from window/trl - tab/trl and ad_field_v/t&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': and he implemented a precedence mechanism&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': in case you have several customization records defined &amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': it goes from the most detailed (user) to the more general (client)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': so it is by editing directly records in the ad_userdef* table ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''banym1''''': hi all&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': yes - adding records in window &amp;quot;Window Customization&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': Hi Dominik&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': ic, so it is useful for implementor but not exactly a user facing tools then&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': no, I see it useful for the client admin to change names or settings without needing the implementor&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': yes - I think the idea is to allow changes of UI specific for tenant, org, role or user&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': definitely not for end users - for client admin as Dirk stated - be implementor or IT people&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': yes&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': ok, that sounds good, +1 to integrate&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': great&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': now if some one will complete the ad_infowindow implementation will be great :)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': a42niem, do you want to work on the &amp;quot;optional lang&amp;quot; there?  or want help on that?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': i think then it should go to the selection mechanism as well, WDYT?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': yep&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': do you think caching is useful here? the repetition of  the mechanism puts some burdon on window creation&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': definitely&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': I think you were caching it in the getAll method&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': I thought&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': ah no, not cached - yes definitely a good idea to save the array on the getAll&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': how can i find out if cache reset has been used recently?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': otherwise the caching woul be valid until next logout i guess&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': hmm - I don't have clear which caching is which&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': the webui clear cache clear some tables - but some other requires a server clear cache&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': it would be a good thing to document that&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': process CacheReset calls Env.reset&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': in this case it would be desirable to reset it with the webui clear cache&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': so, you don't need to relogin&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': so it could work using org.compiere.util.CacheMgt, i will look into that&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': ok - I think is not necessary to upload the patches to JIRA if you have them on the pull request&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': it confused me to know if they were equivalent   :-)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': ok, it was just to give others the possibility to test&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': sure - you can put a link to the pull-request&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': https://bitbucket.org/CarlosRuiz_globalqss/adempiere361/pull-request/3/idempiere-177&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': and is easy to extract the raw patches from there&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': https://bitbucket.org/a42niem/adempiere361/changeset/d1a24c2e452c/raw/&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': then i will use that in the future&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': but I'm fine for whatever you prefer - just advising &amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': I've found the mechanism of pull request very useful&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': yes, that makes it very easy to handle updates&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': ok guys - I think we can declare this meeting ended - need to move out&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': thanks a lot - it was a very good meeting touching many themes&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': c u then - bye&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': ah a42niem - one last thing before going&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': if we make the language optional - then I think the Name columns must be optional too&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>