Difference between revisions of "IDempiere/FullMeeting20140122"

From WikiQSS
(full meeting)
 
(drop JIRA notifications from log)
 
Line 205: Line 205:
 
'''''xolali''''': @red1, i also did some work on InfoWindow  https://idempiere.atlassian.net/browse/IDEMPIERE-1045<br>
 
'''''xolali''''': @red1, i also did some work on InfoWindow  https://idempiere.atlassian.net/browse/IDEMPIERE-1045<br>
 
'''''tbayen''''': CarlosRuiz, yes this is how it should work.<br>
 
'''''tbayen''''': CarlosRuiz, yes this is how it should work.<br>
'''''Not-003''''': [IDEMPIERE] carlosruiz_globalqss updated IDEMPIERE-1045 labels set to "+Patch"<br>
 
'''''Not-003''''': [IDEMPIERE] http://idempiere.atlassian.net/browse/IDEMPIERE-1045<br>
 
 
'''''xolali''''': What do you think about the proposed improvements, perhaps we can include the process function to make it complete<br>
 
'''''xolali''''': What do you think about the proposed improvements, perhaps we can include the process function to make it complete<br>
 
'''''red1''''': ok xolali i am reading it..<br>
 
'''''red1''''': ok xolali i am reading it..<br>

Latest revision as of 10:15, 23 January 2014

Table of Contents | Full Meeting Minutes | Full Meeting 2014-01-22

JanThielemann: if i start a process from within a window, why don't i get the result message as a popup?
nmicoud: hi ; if you want to have a popup, you could (juste before the return) add addLog("your msg")
JanThielemann: i'll try it
nmicoud: otherwise, you only have a message in the upper left of the window afair
JanThielemann: thanks nmicoud, works like a charm
nmicoud: :)
CarlosRuiz: Good Morning
nmicoud: Bonjour
tbayen: Daarestiet!
nmicoud: I discovered https://idempiere.atlassian.net/browse/IDEMPIERE-1707 this morning ; is not critical, just annoying. Any idea for fixing it ?
CarlosRuiz: sounds like changing from static to dynamic
nmicoud: means that this should be done when every user logs in ?
CarlosRuiz: yep - because is a tenant parameter - must be chosen per session
nmicoud: So, in MCountry : private static MCountry s_default = null; become private MCountry s_default = null; ?
CarlosRuiz: necessary but not sufficient
nmicoud: i n Login, we need to call loadAllCountries instead of loadAllCountriesIfNeeded ?
CarlosRuiz: we could make s_default a hashed object -> tenant+country
nmicoud: note that a tenant can have orgs on several countries
CarlosRuiz: the getDefault tries to obtain the default country per tenant - if is not found then get it from tenant language
CarlosRuiz: yep - but just one country defined by tenant language
aguerrave: Buenos dias!
nmicoud: you can also log in italian on an org located in spain. and the default country should be spain ?
CarlosRuiz: as is now - yes
CarlosRuiz: what you found on 1707 is a bug
CarlosRuiz: changing default country to be org based is an improvement
nmicoud: correct
nmicoud: can't done both in a single fix ?
CarlosRuiz: nope
CarlosRuiz: the bug must be fixed on r1+r2 too
CarlosRuiz: the improvement probably will go to r3
nmicoud: yep
CarlosRuiz: Hi aguerrave
nmicoud: so for 1707 => s_default a hashed object -> tenant+country and then create another ticket for improvement, right ?
CarlosRuiz: yep - I think that's better
nmicoud: ok, will do that
CarlosRuiz: what would be the default country if user logs in org * ?
nmicoud: the one defined in the tenant, no .
nmicoud: ?
CarlosRuiz: good catch! :-) I have that scenario and didn't notice
nmicoud: where could i find an example of hashed object ?
CarlosRuiz: maybe we can add C_DefaultCountry_ID to ad_clientinfo and ad_orginfo
nmicoud: for org info, no need as we have the location
nmicoud: but for the tenant, perhaps yes (at least it will be used when login with *)
CarlosRuiz: getting the default country from language has always been confusing
nmicoud: yep, not a good idea IMHO
CarlosRuiz: but wondering what if you want an org to default to a different country to where is located?
nmicoud: does it make sense ?
CarlosRuiz: somebody can have address on Colombia but deals mostly with Germany
nmicoud: yep
nmicoud: it costs nothing to add it also on ad_orginfo
CarlosRuiz: the default country is just used as default on locations and country fields - is not used for anything else AFAIR
nmicoud: i think also
CarlosRuiz: whispering: that example was a subliminal message for tbayen :-DDD
nmicoud: he has not the bug as he uses swing ;)
CarlosRuiz: ah
CarlosRuiz: wrong target :-)
tbayen: This must be an example of a coffee trading company.
red1: Hi all, got some good news after discussing with Hengsin earlier today, about the InfoWindow
nmicoud: is there an example of hashed object somewhere in the code ?
nmicoud: hi red1
CarlosRuiz: red1, I saw a fb post about you implementing process on InfoWindow
tbayen: Hi red1 :-)
CarlosRuiz: nmicoud, could be CCache? that way can be cleared by cache reset
nmicoud: same as s_countries ?
CarlosRuiz: yep - but the key can be AD_Client_ID
CarlosRuiz: you can make the key string to cope later with ad_client+ad_org multikey
nmicoud: ok, will try to produce a patch
nmicoud: good idea
red1: Yes i got it working except for something inside the core of WProcessCtl. After exhausting that i skyped with HengSin and he confirmed it is
red1: Now it is working, we can have a good InfoWindow that has intelligent Process control
red1: I will submitting a big JIRA tracker to present it tomorrow.
CarlosRuiz: excellent news red1 - congrats!
nmicoud: could you give a use case ?
tbayen: red1, if you are in this code... The InforWindow is not working the same on Swing, isn't it?
red1: Hengsin made me realised that Lookup from a field launch InfoWindow
red1: didnt know we had such a cool feature
red1: HS was warning me to make Process icon hidden if isLookup is true
red1: i thought HS was missing something until he kept repeating it then i realised what he really meant.. it was a big AHA
red1: tbayen: would you like to sponsor that?
tbayen: Perhaps. How much effort would it be?
red1: i be wrapping up this in 2 days and then do an Inbound sample based on InfoWindow before moving on
red1: I not sure, i have to look at the code ^.^
red1: Do i sound like a guru by now? :D
aguerrave: hi red1
red1: But i may have good news for you..
red1: remember i owe you a visit to Asia.
red1: Hi aguerrave
red1: I feel the itch to perfect my knowhow and extend and embrace the Swing UI
red1: but HS may not like me after this.
red1: but it is an itch.. i will scratch it
tbayen: :-)
red1: I will be seeing HS on Friday for lunch to present my work.
tbayen: Why do you owe me a visit?
red1: i touched core of InfoWindow, InfoPanel and WProcessCtl so he can coach me better
red1: tbayen: i always owe people visits
red1: its good karma to repay what you get from people
red1: Why don't you use ZK UI?
red1: Its more secure and scalable
tbayen: red1, Please see how long it could take to swingify the whole new InfoWindow and ask me again. I might sponsor it.
red1: Lets go to the World Cup Football in Brazil
red1: Ghana will pay the trip, you pay the stadium tickets
tbayen: How do I explain without injure someones feeling and/or begin a flame war? Swing feels much faster in a lan environment.
CarlosRuiz: that must be the question most answered by tbayen :-)
red1: I have to ask blessings from HS first
red1: Its not the money that counts.
red1: Its peace of mind that my guru is not upset
tbayen: Be aware that the InfoWindow has changed some time ago to be better configurable. That is what I am talking about - not only your contribution.
red1: OK, i joke too much.. ja, ja.. i will certainly do it
ocurieles_DCS: Good Morning :D Team....
CarlosRuiz: Hi Orlando
red1: Hola father of Samuel
ocurieles_DCS: Hi Red1
aguerrave: hola orlando!
red1: I have to upgrade the Windows Installer to iDempiere 2.0 and incorporate the auto migration sript of Carlos
red1: a backward itch
ocurieles_DCS: Windows.... :(
tbayen: @all: I love jasper but I hate some of the implementation details. I want to exchange it but it is not so easy to do. I want to change some of the strange behaviours but it may be that people hacked around the strangeness and I could break their reports. I like a way to use both implementations. I wrote IDEMPIERE-1698. WDYT?
CarlosRuiz: ah yes - I was going to comment on your ticket - if necessary I would think sysconfig is the easiest and straight
CarlosRuiz: but - if the improvements are worthy maybe better find a way to include them on the core class
CarlosRuiz: I'm almost sure they must be worthy if you're proposing - so, we can check if they can be added
CarlosRuiz: and if breaking backward compatibility is an issue we can try to make it configurable - or if unavoidable make a migration note
tbayen: While going through the code I see that it is changed very often. Many very simple and small extensions because the code was tested in very many different environments. This code is very matured but like spaghetti. I like to do it from scratch because I think is can be better structured.
red1: just read it, tbayen your third / last option, is it dynamic?
tbayen: red1, you just give the name of an alternative starter class. I use it in my prototype and it works well.
tbayen: Does anybody use the possibility to start a process before starting a report (does anybody know about that)???
CarlosRuiz: tbayen, the option preferred by (the last) is the least preferred by me :-(
nmicoud: tbayen : i'm doing this (launch a process which insert records in a T_ table and then show then in a jasper or a standard report
tbayen: Personally I can live well with the others. But this does not allow to mix both approaches in one installation.
tbayen: nmicoud gave me the deadly signal. :-) Number three is no more on my list.
nmicoud: :D
tbayen: And that means I can not contribute before I feel my class is as stable as the original.

red1: nmicoud: do u use PInstance in T_

and then get it back?
nmicoud: yes
red1: does it use WProcessCtl?
nmicoud: no idea
CarlosRuiz: is like Aging and other processes
nmicoud: for standard report, i do nothing special ; for jasper, the sql is like "select * from t_... where ad_pinstance_id = $P{AD_PINSTANCE_ID}"
red1: InfoWindow in my case i have to modify WProcessCtl to pass the same PInstance
tbayen: Do you delete the T_* somehow later?
CarlosRuiz: housekeeping
red1: That can be resolved
red1: It was not done by Victor Perez :D
nmicoud: it depends, sometimes the first thing i do in the process is delete from t_... where ad_pinstance < getAD_Prinstance_ID()
nmicoud: and sometimes i forgot to do it and it is done by the cleanDB functions
tbayen: OK. I will create a patch using a sysconfig key to choose the ReportStarter and eventually contribute my plugin when It looks a bit stable.
CarlosRuiz: nmicoud, dangerous - you could delete a report being ran by other user
nmicoud: i also add a created < sysdate -1
CarlosRuiz: maybe ad_pinstance < getAD_Prinstance_ID() and created < sysdate-1
CarlosRuiz: ah :-)
nmicoud: or -2
nmicoud: do not remember exactly
nmicoud: lol
nmicoud: about the info window, any news for ticket that allow to reset criteria or create new records ?
CarlosRuiz: I have those next in the nmicoud's peer review queue
nmicoud: haha :) i got a personalized peer review queue
nmicoud: i saw that hieplq create a ticket for resetting criteria on monday i think
nmicoud: we all share same needs
hieplq: no. i reset in find panel of window
nmicoud: ah sorry, i misread then. nevertheless, it's also a good improvement :)
red1: nmicoud: InfoWindow reset criteria?
nmicoud: it add a button in the toolbar that reset all the criteria fields
nmicoud: as if you open the info window
red1: reset the contents?
nmicoud: yes
nmicoud: of the criteria, not the grid
red1: u mean after filling them up?
tbayen: The issue is similar to IDEMPIERE-1572 (clean/save parameters of processes).
red1: similar to set preferences?
nmicoud: no, you open the business partner info. you write something in the Name criteria field. Then if you click on the 'new' Reset criteria button, it will empty the content of the Name criteria
red1: is it OK, if i submit the metadata changes in 2Pack?
tbayen: I mean: There are some cases where a user gives some input parameters and may want to clean them, save them, reload them, reuse them. This is in InfoWindow, in Search Window and in Process Parameters.
red1: nmicoud: that is what i thought. Reseting to clear the fields.
ocurieles_DCS: We are Working in 3 migrations from ADempiere 361... all is Ok :D Thanks to development of the exporters and importers of CSV :D
nmicoud: we don't talk about same thing. 'Saved query' could be implemanted on info window (but afaik, there is not (still) jira ticket for this)
red1: Hola Anthony xolali i was talking about you
tbayen: Hi Anthony
red1: About going to Brazil for the World Cup
xolali: Hola my good friends
red1: tbayen: i think there is a default value setting in InfoWindow criteria?
CarlosRuiz: Hi xolali - how are things going?
red1: perhaps that is what you asking about?
xolali: Carlos, Very well...
red1: Yes xolali is Ghana well lighted up at night thanks to your company?
CarlosRuiz: red1, better if you can contribute a migration script with just the dictionary entries touched - dictionary 2pack tends to move more things than needed
xolali: @red1, we're getting better by the day
tbayen: red1, I like it how the patch at IDEMPIERE-1572 gives you not the default value but the _last_ value. This is a nice idea. (The problem with the patch is that you can not choose between these both but this is another story)
red1: Is anybody here ready to test the new InfoWindow i am doing?
CarlosRuiz: tbayen, what do you mean you cannot choose between?
red1: i can submit an early release tomorrow
tbayen: With the patch in IDEMPIERE-1572 I can not choose between getting the default values or getting the last values. Both is useful in different use cases.
CarlosRuiz: red1, I can help you with peer review and tests - in your patch you can also submit a configured info window with process to ease the tests - that will get more eyes
CarlosRuiz: so - it dropped the default and always get the last?
red1: Yes CarlosRuiz thaks for the ID password, its same as before :D
red1: i will submit based on the SalesOrder for Picking list infoWindow as i used that to test and have documented it well
tbayen: CarlosRuiz, yes, this is how the patch behaves.
CarlosRuiz: ah - I think proper behavior must be to use defaults when opened - and let the user choose "Last" or a previously saved if he wants
xolali: @red1, i also did some work on InfoWindow https://idempiere.atlassian.net/browse/IDEMPIERE-1045
tbayen: CarlosRuiz, yes this is how it should work.
xolali: What do you think about the proposed improvements, perhaps we can include the process function to make it complete
red1: ok xolali i am reading it..
CarlosRuiz: it makes the InfoWindow so powerful!
red1: hmm.. looks cool
CarlosRuiz: sorry xolali we didn't notice the patch as it was not marked
red1: i will take a look tomorrow before i meet Hengsin on Friday
CarlosRuiz: probably is outdated actually and it will need some extra work to integrate with current
red1: i can do it better since i been memorizing the code these weeks
red1: i am also thinking nmicoud that we evolve /mobile to be separate from core
red1: that means within a plugin that will have new MobileConfig table
xolali: Carlos i can export i new patch since my environment is up to date. But i need some code review and a little tidying up
red1: to handle role access until Menu structure
red1: as a choice
CarlosRuiz: good xolali - that sounds good
CarlosRuiz: are you already migrated prod? or is your dev env?
xolali: not our production env, just the dev on another project. But we have plans to migrate this year
CarlosRuiz: gr8 - I can go there to help you :-)
CarlosRuiz: hahaha :-) better we plan the migration in Brazil
CarlosRuiz: we can go to see Ghana - Germany and Colombia games
red1: really cool xolali .. now our InfoWindow is like a highly customizable modern panel
red1: perhaps the only thing left is color theme
xolali: Brazil, Brazil, Brazil ... ;-) ;-)
red1: I am willing to support Ghana
red1: Brazil and Germany needs no support
xolali: Yes red1, thats the idea.. to have the InfoWindow behave like a regular custom form but configurable
tbayen: And later we integrate a flash player for the rest...
red1: it be good if we can have pop up data entry
CarlosRuiz: popup data entry?
red1: like a real modern GUI
red1: u select a row of data and you edit it in a pop up or in it
red1: even in our normal window it does not pop up
red1: we have to wait for it to appear in the top editor
red1: yes it can edit right at the grid
red1: i mean pop up impress the UI
red1: as it overlay without changing the underlying record structure
red1: display i mean
xolali: My experience is that people get used to the UI once they start using it. The old vertical tabs was more pain but iDempiere makes it better