#idempiere IRC log for Monday, 2015-06-15

*** hieplq has joined #idempiere03:16
*** norbertbede has joined #idempiere04:23
*** hieplq has quit IRC04:51
*** norbertbede has quit IRC05:35
*** a42niem has joined #idempiere05:37
*** norbertbede has joined #idempiere05:55
*** tbayen_ has joined #idempiere06:08
*** is-mw has joined #idempiere06:28
*** nmicoud has joined #idempiere06:45
*** norbertbede has quit IRC07:26
*** norbertbede has joined #idempiere07:32
*** norbertbede has joined #idempiere07:32
*** norbertbede has quit IRC07:37
*** norbertbede has joined #idempiere07:37
*** norbertbede has quit IRC08:16
*** norbertbede has joined #idempiere08:21
*** norbertbede has quit IRC08:28
*** norbertbede has joined #idempiere08:32
*** norbertbede has quit IRC08:36
*** norbertbede has joined #idempiere09:04
*** norbertbede has quit IRC09:23
*** norbertbede has joined #idempiere09:34
*** norbertbede has quit IRC09:41
*** norbertbede has joined #idempiere09:53
*** norbertbede has quit IRC09:55
*** KermitTheFragger has joined #idempiere10:11
*** norbertbede has joined #idempiere10:12
*** druiz has joined #idempiere12:23
*** mhernandezve has joined #idempiere13:55
*** norbertbede has quit IRC14:12
*** CarlosRuiz has joined #idempiere14:54
*** ChanServ sets mode: +o CarlosRuiz14:54
*** druiz has quit IRC15:08
*** KermitTheFragger has quit IRC15:14
*** is-mw has quit IRC15:25
*** tbayen has joined #idempiere15:25
*** Not-604a has joined #idempiere15:35
Not-604a[IDEMPIERE] arthurmelo updated IDEMPIERE-2674 status set to "Peer Review Queue"15:35
Not-604a[IDEMPIERE] http://idempiere.atlassian.net/browse/IDEMPIERE-267415:35
*** nmicoud has quit IRC15:40
tbayenCarlosRuiz, did diego talk with you about our jasperreports plugin issue?16:24
CarlosRuiznope16:24
tbayenI want to replace the Jasperreports plugin with a better one. But that is not as easy as it should be.16:25
tbayenWe found different ways to do it and I want to ask your advice what is the best.16:25
tbayenThe problem is that the class ZkJRViewerProvider uses the JRViewerProvider interface (from org.adempiere.report.jasper plugin) and the JasperPrint class (from the jasperreports library that is included as a jar file in the org.adempiere.report.jasper.library plugin)16:27
tbayenThe result of that is that you can not use the Viewer in zk without using these both original plugins.16:28
tbayenSolution 1) is that my new plugin uses the classes in the old (trunk) plugins. That means that we always have to have installed both. You can call that a waste of memory.16:29
CarlosRuizZkJRViewerProvider is located as a service16:30
tbayenSolution 2) is that we create a new trunk plugin that consists only of one class (the interface JRViewerProvider) and a dependency to a jasperreports osgi plugin from the MavenCentral repository.. That allows to share that "interface plugin" with all the different plugins.16:31
CarlosRuizso, if your plugin implement the service and give more priority must be found first?16:31
tbayenSolution 3) is to implement the JRViewerProvider in org.adempiere.base. That means that the base plugin is dependent on the jasperreports osgi plugin (the one from MavenCentral).16:32
tbayenThe problem is that the service has to implement the JRViewerProvider. And this is implemented in org.adempiere.report.jasper. My new plugin has to be dependent on the old one to make that work.16:33
tbayenOur goal is that our new plugin is better or equal than the old one in everything. When we do it right there is (near to) no reason to use the old one any more.16:34
tbayenBut as I expect us not to be perfect from day one I want to give the user the choice. (That is what OSGI is about)16:35
CarlosRuizAs I understand your plugin is a replacement for org.adempiere.report.jasper16:39
tbayenyes16:39
CarlosRuizseems easy if you just use a different starter class16:40
CarlosRuizbut you would need to register that classname in the process definition16:41
tbayenIn principle it can also be used together. You can choose a different JasperStarter class in the AD_Process record to choose it. But I hope there will be no reason to use the old plugin any more.16:41
CarlosRuizJASPER_STARTER_CLASS is hardcoded16:42
CarlosRuizmaybe we can make it a sysconfig16:42
tbayenAt the end of my plugin it has a JasperPrint object. And it needs to call a viewer to view that. The viewer is a service of the zk (or swing) plugin. And it implements JRViewerProvider. My question is: In which plugin is JRViewerProvider defined?16:43
tbayen1) in org.adempiere.report.jasper 2) in a very new plugin like org.adempiere.report.viewerinterface or 3) in org.adempiere.base or 4) ???16:44
CarlosRuizmaking JASPER_STARTER_CLASS sysconfigurable could solve the issue to use a different class without touching AD_Process during the transition?16:44
tbayenYes, that could solve the transition.16:45
tbayenBut not my problem of the Viewer Interface.16:49
CarlosRuizI think that solves it too16:50
CarlosRuizcos the JASPER_STARTER_CLASS is calling the viewer16:50
CarlosRuizis self-contained there - no?16:50
tbayenIt calls the viewer through the interface. That means that the interface is needed. As it is defined in org.adempiere.report.jasper you need that plugin intalled to use it.16:57
tbayenIn the last year in my old version I solved it by creating the very same interface in my own plugin. That worked. But a) someone introduced new dependencies in the trunk that forbid to deinstall it and b) Diego wanted to try to use both plugins at the same time and two plugins with the same (but not the same) interface does not work and gives funny classloader exceptions.17:00
Not-604a[IDEMPIERE] carlosruiz_globalqss updated IDEMPIERE-2674 status set to "Open"17:00
Not-604a[IDEMPIERE] http://idempiere.atlassian.net/browse/IDEMPIERE-267417:00
tbayenI think it makes sense to be able to install both at the same time. That makes the transition easier.17:00
CarlosRuiztbayen, I mean - if you change the starter - you can call whatever viewer you prefer too17:13
*** aguerra has joined #idempiere17:13
CarlosRuizI don't see the need to uninstall the core plugin - you just add a new one17:13
tbayenThat what we have working now. It is impossible to deinstall the old one. If that is waht you think we will keep that state and reopen the discussion in two years - when noone uses the old pligun any more. Hahaha!17:16
CarlosRuizyes - suppose is the same with 2pack - 2pack is pluggable17:29
CarlosRuizso you write a 6pack plugin17:30
CarlosRuizyou can install it - no need to deinstall the 2pack - you just install one better and use it if needed17:30
CarlosRuizwhat I would expect if your plugin is backward compatible - can replace the core plugin17:30
CarlosRuizif is not - then we need to check what breaks and ask community17:31
*** CarlosRuiz has quit IRC18:20
*** aguerra has quit IRC19:21
*** a42niem has quit IRC22:08
*** mhernandezve has quit IRC23:14

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!