<?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%2FFullMeeting20130710</id>
	<title>IDempiere/FullMeeting20130710 - 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%2FFullMeeting20130710"/>
	<link rel="alternate" type="text/html" href="https://globalqss.com/wiki/index.php?title=IDempiere/FullMeeting20130710&amp;action=history"/>
	<updated>2026-04-05T21:16:40Z</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/FullMeeting20130710&amp;diff=282&amp;oldid=prev</id>
		<title>CarlosRuiz: full meeting</title>
		<link rel="alternate" type="text/html" href="https://globalqss.com/wiki/index.php?title=IDempiere/FullMeeting20130710&amp;diff=282&amp;oldid=prev"/>
		<updated>2013-07-10T16:04:07Z</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 2013-07-10&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;
'''''nmicoud''''': Bonjour&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': Hi Carlos&amp;lt;br&amp;gt;&lt;br /&gt;
'''''xolali''''': Halooo&amp;lt;br&amp;gt;&lt;br /&gt;
'''''nmicoud''''': any news on https://idempiere.atlassian.net/browse/IDEMPIERE-959 ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''xolali''''': concerning wednesday meetimgs, is it usually adhoc or based on agenda&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': no agenda usually - if you want to discuss something just bring it up  :-)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''xolali''''': ok&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': hi Carlos, hi all&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': Hi Dirk&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': if hengsin is ok with IDEMPIERE-959 - is fine for me&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': but I think ProcessInfo patch must be different&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': you better preserve the old method for backward compatibility&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': and call the new method with the UUID at the end&amp;lt;br&amp;gt;&lt;br /&gt;
'''''nmicoud''''': ok i'll have a look&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': yeah, should preserved the existing processinfo constructor&amp;lt;br&amp;gt;&lt;br /&gt;
'''''nmicoud''''': then i will update the patch&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': and it should eliminate unnecessary changes like the following - ProcessInfo pi = new ProcessInfo(&amp;quot;&amp;quot;, 0, MProject.Table_ID, project_id, &amp;quot;&amp;quot;);&amp;lt;br&amp;gt;&lt;br /&gt;
'''''nmicoud''''': also, i guess we will have to add methods based on UU on MRefList (eg org.compiere.model.MRefList.getList(Properties, int, boolean) =&amp;gt; MRefList.getList(Properties, UUID, boolean)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': hmm ... actually if you have ad_process_id, you can get ad_process_uu from database. returning ad_process_id &amp;gt; 0 and ad_process_uu = &amp;quot;&amp;quot; from processInfo is rather misleading.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': working on IDEMPIERE-1120 (Field SeqNo customization) i noticed that IDEMPIERE-163 (isupdateable) had some &amp;quot;side effect&amp;quot; on the callout for WindowCustomization&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': currently the suer gets only minimal informatzion about the current status of the field&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': also, should use MProcess get (Properties ctx, int AD_Process_ID) instead of new MProcess so cache is used&amp;lt;br&amp;gt;&lt;br /&gt;
'''''ocurieles_dcs''''': Hi&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': Hi Orlando&amp;lt;br&amp;gt;&lt;br /&gt;
'''''ocurieles_dcs''''': Hi Carlos&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': the seqno is empty besides other fields which makes it hard to customize&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': Carlos, for average costing, do you know of any example usage of other cost elements ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': i like to put filling this field (and maybe others) back into the callout - WDYT?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': hengsin, on the UUID - then maybe is better to have separated constructors?  one for the ID (as it was) and one with UUID (without ID as parameter)?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': I guess the uuid parameter could be unnecessary since ProcessInfo can get it from database. with MProcess.get cache, the overhead should be minimal as well.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': but I think maybe the idea is for extensions to be able to get the process using UUID &amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': like WPaySelect is calling process using ID - on extension you need to figure out the ID using the process name or value&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': which makes the extension dependent on that updatable field - if somebody changes it the extension is broken&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': ah - but that's not what the ticket is solving&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': I see - and in such case you can get the ID using the UUID and call the processinfo anyways&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': for that we need MProcess.get(String uuid)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': but just convenient api, as you mention above, it is trivial to get id from a fixed uuid value.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': agree - so, 959 seems adding to much code for something that can be done in a different way without too much work&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': I think MProcess.get(String uuid) with cache should be useful for extension.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''ocurieles_dcs''''': the libero MFG is cutted completely of idempiere ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': a42niem, the idea of IDEMPIERE-163 I think it was that we tried to ensure that all fields on window customization can be nullable - and if they are null then we use the configured on field/column&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': I believe we 've disable most if not all libero MFG related stuff&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': ok, understood - this just makes it hard for the user to know how to change certain column values because the current value is not clear&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': I think is ok if you want to add it to callout - just be sure that it keeps nullable&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': also - was thinking how to do this but didn't find a straight way - I think BY DEFAULT window customization must not be assigned to GardenAdmin user&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': sorry - GardenAdmin role&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': but added manually&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': why?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': but that maybe would mean adding a flag to window/process/form etc -&amp;gt; like IsSecure&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': security issue&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': window customization is unsafe in hands of a user - I mean an end user - not the implementor or the IT guy&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': but people tend to assign initially the admin role to everybody - until they configure the roles&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': sure...&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': so you have to qualify somehow first before being allowed to use it - pass an exam, get some credit points, ...&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': :-D&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': hm&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': be trustable&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': assume responsibility&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': don't be an internal hacker  :-D&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': yesyes&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': I mean window customization is exposing dictionary management to tenant&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': if you set the default for c_order.description like @SQL=SELECT password FROM .... &amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': you know what happens&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': hmmmmmm&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': but it is sooo usefull&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': of course - like pack in - just that you must ensure is in proper hands&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': hengsin, on the cost question&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': the usual sample must be freight and customs as different cost elements&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': but - in a heavy customization environment we did &amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': we eliminated cost element at all  :-(&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': as you said: we could attach a flag to it and only unlock such functionality using a hardly documented system configurator entry&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': and the landing cost is going straight against the cost&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': ah - good idea! maybe unlock such functionality just to people marked as admin&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': so that only a die hard admin is able to use it&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': a DisplayLogic for the dangerous fields&amp;lt;br&amp;gt;&lt;br /&gt;
'''''a42niem''''': sort of&amp;lt;br&amp;gt;&lt;br /&gt;
'''''ocurieles_dcs''''': somebody  used google graph ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''nmicoud__''''': for 959, just be sure of modification needed to be done : restore old constructor and add a new one MProcess.get(uuid) - which uses cache. and then remove unneeded modification ?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': nmicoud__, seems like you got disconnected on the middle of the discussion  &amp;lt;br&amp;gt;&lt;br /&gt;
'''''nmicoud__''''': that's possible&amp;lt;br&amp;gt;&lt;br /&gt;
'''''nmicoud__''''': 2 or 3 times&amp;lt;br&amp;gt;&lt;br /&gt;
'''''nmicoud__''''': if everything was explained, i'll read the minutes&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': ok - I'll publish it as soon as we finish&amp;lt;br&amp;gt;&lt;br /&gt;
'''''nmicoud__''''': no need to hurry ; i won't do it until tomorrow&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': ocurieles_dcs, google charts?&amp;lt;br&amp;gt;&lt;br /&gt;
'''''ocurieles_dcs''''': https://developers.google.com/chart/&amp;lt;br&amp;gt;&lt;br /&gt;
'''''ocurieles_dcs''''': integration would be interesting&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': looks good for a dashboard&amp;lt;br&amp;gt;&lt;br /&gt;
'''''ocurieles_dcs''''': https://developers.google.com/chart/interactive/docs/gallery&amp;lt;br&amp;gt;&lt;br /&gt;
'''''ocurieles_dcs''''': :-D very nice&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': I smell an extension?   :-D&amp;lt;br&amp;gt;&lt;br /&gt;
'''''xolali''''': Lol&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': https://code.google.com/p/zk-sample-code/source/browse/trunk/WebContent/samples/sam/chart/googleChart.zul&amp;lt;br&amp;gt;&lt;br /&gt;
'''''ocurieles_dcs''''': yes..&amp;lt;br&amp;gt;&lt;br /&gt;
'''''ocurieles_dcs''''': cooming soon&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': the only problem is then you are at google's mercy&amp;lt;br&amp;gt;&lt;br /&gt;
'''''ocurieles_dcs''''': Thanks to @hengsin for the recommendations, we are working in the changes&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': carlos, yeah, I guess the easiest is to just add the landed cost to the product average cost. the problem with landed cost element is you must make sure their currentqty exactly match with the average cost's current qty&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': considering whether I should just take the easy route to fix the current landed cost allocation :)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': I don't know why the landed cost was done that way - is assigned to an element and increasing the COGS on each posting - but doesn't have qty control&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': ocurieles_dcs, feel free to let me know if any of my comments doesn't work well or completely insane.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': and trying to control qty of landed cost is messy - you can have a landed cost qty &amp;lt;&amp;gt; than inventory qty - so you need to control when the landed cost is exhausted&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': even you can have the qtys negative in some cases&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': Carlos, basically, you just have to make the two exactly the same. it wouldn't work otherwise&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': what I found better was to set the landed cost directly to cost - that implied a lot of changes&amp;lt;br&amp;gt;&lt;br /&gt;
'''''xolali''''': ocurieles_dcs: whilst you are at it, u can also check http://www.highcharts.com/&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': Carlos, I don't see that need lots of changes.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': and there is a problem when you receive a landed cost but don't have inventory - you need to manage that different - I mean - or postpone the landed cost until you have inventory - or send it to expenses&amp;lt;br&amp;gt;&lt;br /&gt;
'''''ocurieles_dcs''''': ok xiali, i will check&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': you can captured that as average cost variance or it can goes straight to cogs&amp;lt;br&amp;gt;&lt;br /&gt;
'''''xolali''''': its integrated into ZK, i just saw   http://zhighcharts.appspot.com/&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': that's the common treatment - have done some research on that today :)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': you're right - not lot of changes - but small changes on different locations&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': the key implication is now you don't the m_cost record for landed cost element.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': whatever that means :)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''CarlosRuiz''''': yes - thinking if we need an historic for that - or it is already on accounting&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': highchart is not free but that would be a good candidate for extension.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': http://www.chartjs.org/ - opensource&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': https://github.com/nnnick/Chart.js - any volunteer for this :)&amp;lt;br&amp;gt;&lt;br /&gt;
'''''ocurieles_dcs''''': let´s my try&amp;lt;br&amp;gt;&lt;br /&gt;
'''''xolali''''': i'll lend a hand too&amp;lt;br&amp;gt;&lt;br /&gt;
'''''ocurieles_dcs''''': ok, this is our repo in bitbucket https://bitbucket.org/dcs_bitbucket&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': another opensource js library - http://www.jqplot.com/&amp;lt;br&amp;gt;&lt;br /&gt;
'''''ocurieles_dcs''''': create a project there&amp;lt;br&amp;gt;&lt;br /&gt;
'''''xolali''''': hengsin my thinking is that we dont adopt a purely html5 library for compatibility with older browsers&amp;lt;br&amp;gt;&lt;br /&gt;
'''''xolali''''': WDYT??&amp;lt;br&amp;gt;&lt;br /&gt;
'''''nmicoud__''''': gtg ; bye bye&amp;lt;br&amp;gt;&lt;br /&gt;
'''''hengsin''''': xolali, I don't think idempiere's zk client is highly compatible with older browser either.&amp;lt;br&amp;gt;&lt;br /&gt;
'''''xolali''''': ok. so html5 it is.&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>CarlosRuiz</name></author>
		
	</entry>
</feed>