Hi Lars, Lars Kneschke schrieb: > "Ralf Becker" <[EMAIL PROTECTED]> schrieb: >> I want to show with a view technical points, how ZendFW and extjs could >> be used in eGroupWare and Tine, and at the same time allowing Tine as a >> user interface draft to run in parallel to the existing web GUI. >> >> A motivation for this approach would be: >> - joint development with the current trunk >> - ability to include it as an optional interface in the next release
It's sad, that you cant see any motivation in that :-( >> I'm not aiming to be complete, just emphasizing a view key points: >> >> a) Extjs is best suited to talk to it's backend via JASON. If the jason >> interface would be implemented on top of the existing business object, >> like eg. the xmlrcp, SyncML or GroupDAV interfaces, it could be uses in >> parallel with the existing WebGUI on every trunk installation. It would >> cost a few percents of performance, but would allow a close >> collaboration in the development of eGroupWare and Tine. On a long run, >> when the existing webgui would not be used anymore, the business objects >> could get more optimized towards the needs of the jason interface. > > We tried it. Really. It would have been the easiest way. Cornelius tried to > write an ExtJS based addressbook application which should use the existing > XML/RPC interface. But it wasn't doable because it would have required to > rewrite to much of the current XML/RPC interface. It would have been to much > wasted time, as JSON is the preferred communication protocol. I never said you should try xmlrpc, I said base the jason interface on the business objects, as eg. the xmlrpc interface is. > On the other side eGroupWare 1.4 is simply to slow for such kind of > interfaces. A JSON interface to the current codebase of eGroupWare 1.4 would > very likely not get accepted by the users. A JSON interface requires quick > server responses. And that's something which is not possible with the > current codebase. It's hard to believe, as the business objects of the applications are just php around some database queries. I also made a statement about the API, which you choose to ignore. > http://www.tine20.org/wiki/index.php/What_was_wrong_with_eGroupWare_1.x%3F > http://www.tine20.org/wiki/index.php/Doing_a_performance_analysis_of_a_PHP_application > > >> b) Parts of our API are pretty old (based on phplib) and would benefit a >> lot, from using the ZendFW as it's underlying layer. The key point would >> be to still provide the exiting interface via an egw object instantiated >> at $GLOBALS['egw']. I know one points was to save api round trip time in >> jason or more general api requests, by not instantiating every >> sub-class, as it's done at the moment. This could easily archived with >> php5.1, by making the class var (in which the sub-objects get >> instantiated) private and provide a getter method, to instantiate it, if >> it's not already done, and then return the private var. >> >> c) The existing egw_db class could use php's new pdo system or the >> equivalent ZendFW class, instead of ADOdb. That might even provide >> better performance for the existing code and at the same time allow new >> code to use the ZendFW or PDO class directly. If the rest of the API is >> not using the egw_db class (instantiated in $GLOBALS['egw']->db) and >> some key components like the so_sql class get's ported to use ZendFW/PDO >> direct, the above mechanism (see b) would avoid to instantiate it at >> all. If some other code would assume it's simply there, the getter would >> kick in and provide it for them. >> >> As I said before, I'm not aiming to be complete, I just want to show >> that there is a technical way how Tine could work within eGroupWare. > > As you can see it would be very easy to add layers of backward compatibility > to our proof of concept code any time very easily. We just need to know, > which kind of backward compatibility we need. Thought you lost me, with "As you can see it would be very easy to add layers of backward compatibility", I cant see that anywhere in the Tine code. About the required interfaces for backward compatibility, it's called eGroupWare API ;-) > But the main problem for the future of eGroupWare are not point a,b or c. > They could all be solved easily by us. But we can't solve the problems of > eTemplate. That you cant solve it, does not necessarily mean: - it can not be solved - you can have no backward compatibility on API level - you are forced to drop all existing code > I wish you a happy 3rd advent too. ;-) To you and Conny and your families too :-) Ralf -- Ralf Becker eGroupWare Training & Support ==> http://www.egroupware-support.de Outdoor Unlimited Training GmbH [www.outdoor-training.de] Handelsregister HRB Kaiserslautern 3587 Geschäftsführer Birgit und Ralf Becker Leibnizstr. 17, 67663 Kaiserslautern, Germany Telefon +49 (0)631 31657-0 ------------------------------------------------------------------------- SF.Net email is sponsored by: Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace _______________________________________________ eGroupWare-core mailing list eGroupWare-core@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/egroupware-core