IDempiere/FullMeeting20140326

From WikiQSS
Revision as of 13:56, 26 March 2014 by CarlosRuiz (talk | contribs) (drop JIRA notifications from log)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Table of Contents | Full Meeting Minutes | Full Meeting 2014-03-26

CarlosRuiz: Good Morning
a42niem: hi Carlos
nmicoud: Bonjour
tbayen: Daarestiet!
JanThielemann: hi
CarlosRuiz: reviewing queue as usual
JanThielemann: gl & hg :D
nmicoud: About https://groups.google.com/forum/?fromgroups#!topic/idempiere/B-cxbOvofQ8 (Limit number of concurrent session per client) : what would be the better place to develop it : core or plugin ?
nmicoud: personaly, i would prefer doing it in core (easier to maintain), but i could manage it in plugin and publish it, no problem
JanThielemann: i would like to see it in the core :)
JanThielemann: as well as some others
nmicoud: CarlosRuiz : is it ok for you to include it in trunk ?
CarlosRuiz: on that thread there are mentions about limit system wide - tenant and user
CarlosRuiz: and some exceptions
nmicoud: yes, i think exceptions will be based on users, roles, orgs
JanThielemann: as mentioned yesterday, i think a limit on client, org and role should be definable with exceptions (don't count me) on org, role and user
CarlosRuiz: I see a lot of flexibility can be needed
CarlosRuiz: others will need to configure exceptions depending on the day of month, day of week, hour of the day
CarlosRuiz: do you want to get out of sessions on a month-closing day?
nmicoud: i see what you mean
CarlosRuiz: also - I think ad_session is not 100% guaranteed to be in sync with reality
CarlosRuiz: in adempiere was not trustable at all - in iDempiere I think is more trustable, but not 100%
nmicoud: that could allow to improve it :)
CarlosRuiz: i.e. if a swing user kill the app - or turn-off the PC the session is left as open - but is not
tbayen: I see not any reason for this feature but to restrict users from doing what they want. From a users point of view this is a mis-feature. Why should we do thast in trunk? Or did I miss something?!?
CarlosRuiz: on zk that's more controlled - but I also see cases in zk where you close the tab and the session is not finished (most of the times is, but in some rare cases is not)
nmicoud: tbayen : it could be useful in SaaS environment ; if a tenant can have 5 concurrent access, you will block the 6th
CarlosRuiz: we implemented a similar restriction some time ago - and the IT guy was forced to keep clearing the AD_Session table
nmicoud: so, you mean, it could be dangerous to put in in the trunk
CarlosRuiz: in the end it was extra work for the IT guy and he had no real control when somebody asked him to clear his session count
nmicoud: in other hand, it could force user to clear their session properly
CarlosRuiz: a power outage on a swing session?
CarlosRuiz: is out of control of user
JanThielemann: i believe that if you want to provice idempiere aaS you don't allow swing
CarlosRuiz: and in our case if the IT guy was not available - then the user was forced to wait - or ask a coworker for his credentials to work as another guy
nmicoud: yes, swing is only used by me :)
tbayen: nope
tbayen: :)
CarlosRuiz: yep - zk closing sessions is also not 100% safe
nmicoud: tbayen : ... by me, in the Saas environnment
CarlosRuiz: I guess a power outage on a zk session will have similar effect
JanThielemann: ah nicolas, i guess doing it with model validation and a plugin would do the job for you and you could contribute it for me :)
nmicoud: lol
tbayen: nmicoud, ok - we could define swing as the secret tool to circumvent the misfeature. :-)
nmicoud: :D
JanThielemann: :-*
nmicoud: so, it will be developed as a plugin, ok for everybody ?
JanThielemann: +1
tbayen: yes +1
nmicoud: ok will do it this way
CarlosRuiz: disclaimer: I'm not being lazy here :-) I don't mind reviewing and integrating - just that I feel this is one of those options that you put in trunk and people start asking for changes and in the end "extending" to cope with their own needs
CarlosRuiz: easier to do that if is done as a plugin
nmicoud: i understand Carlos, no problem
JanThielemann: CarlosRuiz, you did some changes to get my asterisk plugin working. did you pushed your changes to my repository?
JanThielemann: or are the changes you sent me all i have to change? then i'll do it by myself
JanThielemann: (2 patches)
aguerra: Hello everybody
CarlosRuiz: mostly was setting java 6 and 2pack changes
CarlosRuiz: Hi Alejandro
CarlosRuiz: Jan, ok by me if you want to integrate
JanThielemann: sure
JanThielemann: this plugin is meant to be open source :)
JanThielemann: if you can push, do it
hieplq_: for other user know this plug-in. I think it should fock to idempiere
CarlosRuiz: Hi hieplq_ - which plugin do you mean?
hieplq_: of nmicoud. or some good plug-in
hieplq_: just for newbie easy see it.
JanThielemann: so that you can see it at https://bitbucket.org/idempiere ?
CarlosRuiz: ah ok - do you think it should??
JanThielemann: maybe i would like to rename it to org.evenos.asterisk if that is ok :)
JanThielemann: just for the marketing purposes :P
hieplq_: yes. i think so.
CarlosRuiz: that's the intention of this page http://wiki.idempiere.org/en/Category:AvailablePlugins
tbayen: It would be better to lead people to find easy our plugin market.
JanThielemann: yes, link it on the main page
hieplq_: no. for newbie easy see full feature of idempiere
tbayen: If the market grows further we can do a list of "featured" plugins.
tbayen: What is "full feature"? *All* plugins? That is the market!
CarlosRuiz: expectation is also that later people will create distros -> core + some tested and distro-supported plugins
CarlosRuiz: Jan - ok to rename the plugin - that's good
JanThielemann: thanks, can you push the changes? i'll rename it afterwards
CarlosRuiz: Jan - > remote: You're not allowed to write to this repository.
CarlosRuiz: but better that way - your repo doesn't need to be public to be open source
JanThielemann: are you using CarlosRuiz_globalqss as bitbucket user?
CarlosRuiz: yep
JanThielemann: you should have write access now
CarlosRuiz: committing
CarlosRuiz: let me do several commits to ease peer review ....
CarlosRuiz: ready JanThielemann - finished my commits
JanThielemann: thanks
JanThielemann: i'll create a wiki page by myself later or tomorrow
norbertbede: hello for everyone from slovakia
CarlosRuiz: Hi norbertbede
JanThielemann: hi
norbertbede: FYI: we had lot of work in last 2-3 months. we upgrade succesfully our WMS client from adempiere to idempiere. looks stable
norbertbede: i'm so happy noq
norbertbede: w
Deepak: Hello Jan, Can you tell me where I can check for asterisk plugin. I would like to have look on it
JanThielemann: bitbucket.org/jthielemann/
JanThielemann: you need two plugins
Deepak: Jan Thanks
JanThielemann: one for funktionality and one for the images
hengsin: great job, norbert.
JanThielemann: question: i have a zk Div. in this Div, i create other Divs. In these Divs, i create As (links) to which i add event listeners. In a refresh method, i remove all Divs from the main div. do i have to remove the eventlisteners too?
norbertbede: thanks to idempiere core team two ;) looks serioud difference to adempiere now
JanThielemann: and how can i find out if i have memory leaks?
Deepak: Jan, when you remove parent Div, all child Div are removed
hengsin: Jan, if the event listener is not reference elsewhere, that shouldn't create a memory leak.
Deepak: Not sure about memory leak
hengsin: however, if your event listener remains visible, for e.g as instance variable, you should do the clean up.
hengsin: Jan, to trace memory leak, you would need to use tools to analyse the memory profile capture
CarlosRuiz: norbertbede, that's good news - are sources available?
norbertbede: yes. we can share it
norbertbede: we will try to make up it to red1 plugins
norbertbede: and more..
norbertbede: i can image it in next monthä
norbertbede: if possible to nominate topic, then i suggest to discuss this one:
norbertbede: https://idempiere.atlassian.net/browse/IDEMPIERE-1850
norbertbede: Allocation Date Issue
norbertbede:
norbertbede:
CarlosRuiz: norbertbede, Michal patch seems good for me - maybe driven by sysconfig variables
CarlosRuiz: does that patch solve your problem?
norbertbede: yes. because in adempiere we use it. but i prefer stabilise base issues in core. So if Michal give patch then i agree
norbertbede: maybe @https://idempiere.atlassian.net/secure/ViewProfile.jspa?name=nmicoud should comment it
norbertbede: Nicolas ?
norbertbede: are you here
nmicoud: yep
nmicoud: the patch seems correct ; but i haven't tested yet
souhail: Hello every body
norbertbede: ii suggest to commit
norbertbede: we will test it
norbertbede: what i'm spoke today with michal is similar issue. in adempiere. maybe solbed in ID
norbertbede: it is when invoice or payment was voided in another period
norbertbede: that cause the same issue - unbalanved accounts
souhail: i have a problem with installing withholding tax, some one can help me?
norbertbede: but at this moment i found improvement between void, reverse behaviour related to period
norbertbede: could this happen now
norbertbede: ?
hengsin: IDEMPIERE-1839, +1 for Michal patch
hengsin: sorrys I means IDEMPIERE-1850
CarlosRuiz: hengsin, do you think we need sysconfig for 1850? or just put the restriction - IMHO it makes sense that you cannot allocate before the doc exists
hengsin: carlos, don't think we need a sysconfig for 1850.
CarlosRuiz: good - will test it
Deepak: For 1850, it is good to have logic to get max DateAct from allocated documents and set same for allocation header
JanThielemann: hengsin do you know which class is used for the send mail popup?
Deepak: Jan I think that is WEMailDialog
Deepak: Are you asking one that is initiated from Report window?
JanThielemann: thanks
JanThielemann: yes
JanThielemann: i just wanted to know how the textbox was created
CarlosRuiz: Deepak, I lost track of IDEMPIERE-1572 - is the patch updated with latest comments?
Deepak: Carlos IDEMPIERE-1572 did not get chance to work since we discuss last time
CarlosRuiz: ok - I'll clear the peer review status in the meantime
Deepak: May this week or next week has some progress there
Deepak: Carlos, we are not much confident on swingUI
Deepak: Better someone correct on swingUI once we do in zk
Deepak: Low, hope it is good to change case of ad_org_id into default exclude list for 2pack
Deepak: Currently everywhere AD_Org_ID is getting exported. Can you think any places where there will be issue at time of import after removing AD_Org_ID?
Deepak: Hengsin, one more question is generate UUID is iterate through each record and generates UUID for each record. Can we change it to be single update statement?
CarlosRuiz: I use the UUID generator for official migration scripts - needing single statements in that case
CarlosRuiz: but you can do an alternate generator for that case
Deepak: ohk
Deepak: Carlos, Issue with tables which do not have single primary key. I mean TableName_ID
Deepak: UUID is not getting generated for such table
Deepak: Is it good if we add additional checkbox say use single update statement?
JanThielemann: if i have a div containing one div and another element. the other element has a fixed hight and is placed below the div. what do i have to do that the div fills the rest of its parent? if i use height = 100%, it gets the same hight as it's parent and the fixed sized element autoflows out of the parent div
JanThielemann: (i'm a noob at css and this stuff :( )
CarlosRuiz: UUID not generated for non-key tables is different issue - is it related to single statement?
CarlosRuiz: hengsin, norbertbede, nmicoud - testing Michal's patch here
CarlosRuiz: IDEMPIERE-1850
hengsin: Jan, try vflex="1" for the div
CarlosRuiz: I think is fine - but a consequence is that you cannot do a payment with a date before the invoice date (which is the purpose of the ticket)
CarlosRuiz: just that before it was allowed
CarlosRuiz: now the user must enter the payment without invoice - and then allocate it with the form
CarlosRuiz: but I guess that's precisely a wrong case - the payment can not happen before the invoice
hengsin: if it is not zk, one approach is to have the div height = 100%, set box-sizing: border-box, padding-bottom to the height of the element below and set the element below to position: absolute ( the parent div position: relative ) and bottom:0px;
nmicoud: must not happen, but i could ; sometimes you can pay 2 invoices with a single payment - (invoice 1 has same date as payment and invoice 2 will have its date > as payment date)
nmicoud: but that will be handled with the Allocation form or from the C_PaymentAllocate form
CarlosRuiz: yep
norbertbede: discussing with Michal now
hengsin: carlos, also, I think it is debatable for such case whether the allocation date should be the invoice date instead.
CarlosRuiz: allocation date can be a date after payment and invoice
CarlosRuiz: is possible that invoice and payment periods are both closed - in such case your allocation must be now
norbertbede: there are two basic cases
norbertbede: 1. allocation creating automatically as consequence of bank line, create payment relate to invoice
norbertbede: 2. existing document could be allocated in various cases - maybe we dont know all or some of them unlogical or we cant simulate them. but users make sumetimes miracles
norbertbede: 3. voiding - is one more case type (as i wrote above, not tested in ID)
CarlosRuiz: tested case 1 - worked - not allowed to create a payment from a bank line if the date is before the invoice
CarlosRuiz: case 2 can be managed via allocation window - with correct dates
CarlosRuiz: case 3 - we could have issues voiding a wrong document that was created before this patch
norbertbede: sysconfig should help or patches in db….once
norbertbede: to case 3. what abour reverse and Reverse Accrual
norbertbede: if i understand well. we had problems too with reversed invoices and related allocations.
CarlosRuiz: yep - reverse accrual must do the trick as it uses the current date
norbertbede: eg. custom reverse invoice, allocation reversed automatically in period A. but payment credited the account - so difference appear
norbertbede: means reverse accrual solve this issues
norbertbede: but what if user will reverse with original reverse preoces
norbertbede: i suggest a WARNING - "allocation period conflict" or something similar...
norbertbede: can be happened this case in idempiere ? so use normal reverse
CarlosRuiz: ah - tested case 3 - it works fine
norbertbede: or denied and say - PLEASE RESET ALLOCATION FIRST - then reverse invoice
CarlosRuiz: the allocation is indeed deleted
norbertbede: ah
CarlosRuiz: not deleted - allocation is marked as reversed - harmless
norbertbede: in another sw. we are supported 10 years there was a logic backward steps
norbertbede: means if you want void/reverse invoice, then first process related docs
norbertbede: no automated voiding reversing other docs
norbertbede: i believe i not complicate the case
norbertbede: just share experience
CarlosRuiz: good - I think is safe to commit with the tests passed
norbertbede: ok.
CarlosRuiz: please conduct more thorough tests and report any issue
norbertbede: ok
norbertbede: thnks
CarlosRuiz: thanks to you and Michal
CarlosRuiz: I integrated exactly the patch from Michal, but on prepareIt instead of completeIt
JanThielemann: CarlosRuiz/hengins: what will happen if i broadcast 10 messages to a user with type acknowledge? do they popup at the same time or one by one after closing each one?
CarlosRuiz: one window with an arrow to navigagte
JanThielemann: may i introduce to you: my new broadcasting dashboard panel https://bitbucket.org/evenos-consulting/org.evenos.broadcaster
JanThielemann: you get an overview of your users and if they are online (using the unreliable sessions :P)
JanThielemann: you can group them by client/org/role/location
nmicoud: JanThielemann : :D !!! it is one of the item of my TODO list !!! you're reading in my mind
JanThielemann: you can send a boradcast message with frequency acknowlege and type immediate or immediate + login
proSENSE2: wow... respect! :) cool
JanThielemann: and you can send it to client/role/user AND org/country/region
JanThielemann: it took only 10 hours (omg i am at work for 10 hours now...) to develop and is the first beta i guess
CarlosRuiz: I think AD_Session is 99% reliable - and on server restart is cleared
CarlosRuiz: testing ... thanks a lot JanThielemann :-)
JanThielemann: where about 5 hours were wasted for layouting the css and so on
JanThielemann: there is a lot space for improvement ;)
nmicoud: Jan, you earned a glass of wine if you come here :)
JanThielemann: for now it is intendet for sysadmins
JanThielemann: because you could send messages to system from within garden admin
JanThielemann: and you can see all the users and their login status
JanThielemann: there is no role access stuff in it yet
JanThielemann: but for the first beta, it works quiet well i guess :)
JanThielemann: also i would like to implement a tree in it so that you can collapse clients/orgs/roles/countries/regions
JanThielemann: not multilingual yet but we/i will improve it :D
CarlosRuiz: how do I start it?
JanThielemann: it's a normal zk.ui fragment
JanThielemann: if you installed it in a running server you have to refresh zul bundle
CarlosRuiz: ah - I didn't apply the migration script :-) looked for a 2Pack :-)
CarlosRuiz: do I need to add an entry in dashboard content with the new zul?
CarlosRuiz: got it! working - excellent :-)
CarlosRuiz: on postgresql an error with the order by on DPBroadcaster.java:559
JanThielemann: the migration script is not necessary since i wasn't able to use the WTableDirEditor with reference in my dashboard panels
JanThielemann: it was empty and had no dropdown
JanThielemann: same editor for e.g. bpartner works in another panel :/
JanThielemann: psql error?
JanThielemann: i use postgres and i got no error
CarlosRuiz: ah - maybe my version 8.4
CarlosRuiz: >>org.postgresql.util.PSQLException: ERROR: la columna «usr.name» debe aparecer en la cláusula GROUP BY o ser usada en una función de agregación
CarlosRuiz: in spanish
JanThielemann: postgres 8.4 cannot group? or do i have to use GROUP BY ad_user.name?
CarlosRuiz: it seems it cannot order by a column is not grouped
CarlosRuiz: or aggregated
JanThielemann: hmm mysterious
JanThielemann: can you execute the sql on your database?
CarlosRuiz: found an error on MBroadcastMessage
CarlosRuiz: this is the failing query
CarlosRuiz: SELECT AD_User_ID
CarlosRuiz: FROM AD_User usr
CarlosRuiz: LEFT JOIN AD_Session ses on usr.AD_User_ID = ses.createdBy
CarlosRuiz: WHERE usr.isfullbpaccess = 'Y' AND usr.AD_User_ID <> 0 GROUP BY usr.AD_User_ID
CarlosRuiz: ORDER BY usr.Name
CarlosRuiz:
CarlosRuiz: and yes - is because 8.4 - run fine on 9.2
JanThielemann: what about this one?
hengsin: carlos, 9.4 is almost out now :)
JanThielemann: SELECT usr.AD_User_ID, usr.name
JanThielemann: FROM AD_User usr
JanThielemann: LEFT JOIN AD_Session ses on usr.AD_User_ID = ses.createdBy
JanThielemann: WHERE usr.isfullbpaccess = 'Y' AND usr.AD_User_ID <> 0
JanThielemann: GROUP BY usr.AD_User_ID
JanThielemann: ORDER BY usr.Name
JanThielemann: CarlosRuiz, nmicoud i gave you write access to the repository. feel free to contribute :)
CarlosRuiz: JanThielemann, I found errors on MBroadcastMessage using the dashboard
CarlosRuiz: will open a JIRA ticket
CarlosRuiz: ah no JanThielemann - maybe something is wrong with your dashboard
nmicoud: CarloRuiz, if you have time, could you integrate https://idempiere.atlassian.net/browse/IDEMPIERE-1216 ; this way we could use Jan' plugin in a multi-lingual ?
nmicoud: CarlosRuiz (missed the s on last comment)
CarlosRuiz: but in such case the dashboard would need to allow redacting the message in all tenant languages
CarlosRuiz: I'll integrate it :-) just it seems tricky to use the dashboard in multilingual mode
nmicoud: it will be a challenge :)
nmicoud: thanks
CarlosRuiz: nmicoud, the four patches are valid?
nmicoud: if i remember well, ...V3 is the migration script and ...JAva is for java modification ; you only need them
nmicoud: others are here for record purpose
CarlosRuiz: brb
CarlosRuiz: c u later guys - thanks for the meeting
nmicoud: bye