IDempiere/FullMeeting20140326

From WikiQSS
Revision as of 13:56, 26 March 2014 by CarlosRuiz (talk | contribs) (full meeting)
(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
Not-001: [IDEMPIERE] hengsin updated IDEMPIERE-1839
Not-001: [IDEMPIERE] Hi Anthony, I would prefer to make IReportEngineFactory an interface and OSGi service instead. We will then have a DefaultReportEngineFactory service that will return the current ReportEngine implementation. Regards, Low
Not-001: [IDEMPIERE] http://idempiere.atlassian.net/browse/IDEMPIERE-1839
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
Not-001: [IDEMPIERE] carlosruiz_globalqss updated IDEMPIERE-1572 status set to "Open"
Deepak: May this week or next week has some progress there
Not-001: [IDEMPIERE] http://idempiere.atlassian.net/browse/IDEMPIERE-1572
Not-001: [IDEMPIERE] carlosruiz_globalqss updated IDEMPIERE-1572 labels set to "SwingUI webui"
Not-001: [IDEMPIERE] http://idempiere.atlassian.net/browse/IDEMPIERE-1572
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
Not-001: [iDempiere] CarlosRuiz_globalqss pushed 1 commit to release-2.0 [+0/-0/±1] https://bitbucket.org/idempiere/idempiere/commits/
Not-001: [iDempiere] globalqss cfe56f4 - IDEMPIERE-1850 CRITICAL / Allocation Date Issue / integrate patch suggested by Michal Zilincar
CarlosRuiz: I integrated exactly the patch from Michal, but on prepareIt instead of completeIt
Not-001: [IDEMPIERE] carlosruiz_globalqss updated IDEMPIERE-1850 status set to "Resolved" -assignee set to "Carlos Antonio Ruiz Gomez" -resolution set to "Fixed"
Not-001: [IDEMPIERE] http://idempiere.atlassian.net/browse/IDEMPIERE-1850
Not-001: [iDempiere] CarlosRuiz_globalqss pushed 3 commits to release-2.0 [+0/-0/±3] https://bitbucket.org/idempiere/idempiere/commits/
Not-001: [iDempiere] hengsin 16b05ec - 1003875 From server log - Fixed bad exception handling in ProcessModalDialog.
Not-001: [iDempiere] hengsin 6f553cb - 1003875 From server log - Fixed NPE in AbstractDesktop.
Not-001: [iDempiere] hengsin df26e4c - IDEMPIERE-1135 Report wizard not clearing order items. Revert 9442:c5593c3165ff as it is not consistent with how the printformat sorttab work and break packin of printformatitem ( Ticket #1003444 ).
Not-001: [IDEMPIERE] carlosruiz_globalqss updated IDEMPIERE-1135
Not-001: [IDEMPIERE] In order to fix this is suggested to modify the report wizard to be consistent with the print format window, this is, showing all items on sort tab, the grouping tab is probably affected too
Not-001: [IDEMPIERE] http://idempiere.atlassian.net/browse/IDEMPIERE-1135
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
Not-001: [iDempiere] CarlosRuiz_globalqss pushed 1 commit to release-2.0 [+3/-0/±2] https://bitbucket.org/idempiere/idempiere/commits/
Not-001: [iDempiere] globalqss 8e643e6 - IDEMPIERE-1784 SQL injection via ModelADService is possible / committing this patch until a better approach is implemented as suggested in meetings
JanThielemann: may i introduce to you: my new broadcasting dashboard panel https://bitbucket.org/evenos-consulting/org.evenos.broadcaster
Not-001: [IDEMPIERE] carlosruiz_globalqss updated IDEMPIERE-1784 status set to "Resolved" -assignee set to "Carlos Antonio Ruiz Gomez" -resolution set to "Fixed"
JanThielemann: you get an overview of your users and if they are online (using the unreliable sessions :P)
Not-001: [IDEMPIERE] It was suggested on meetings to implement an util class to validate read-only sql syntax on these cases
Not-001: [IDEMPIERE] http://idempiere.atlassian.net/browse/IDEMPIERE-1784
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
Not-001: [iDempiere] CarlosRuiz_globalqss pushed 1 commit to release-2.0 [+0/-0/±1] https://bitbucket.org/idempiere/idempiere/commits/
Not-001: [iDempiere] globalqss 6d85a1e - IDEMPIERE-294 Maintenance / minor patch required for plugin org.evenos.broadcaster
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