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 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. 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. ------------------------------------------------------------------------ Before someone now gets the idea "Ralf is finally showing some reason", I have to destroy this illusion: - the above is not a new idea - I stated it several times on the lists, thought most people seems to ignore it - it was part of that talk in Kirchheimbolanden, Lars always mentions before saying "Ralf&Nigel disagreed with every single point we made" Again as I said before, the conflict is NOT about a technical solution, it's about a dogmatic approach in what's now called Tine. On a deeper psychological level it is probably also about ownership and being part of something, which leads to the conclusion: we can not use or support existing code or interfaces. I hope I could show there's lots of room for compromise and a fruitful close work together with the people behind Tine. After reading all the mails my only doubt is, there's no will ... Ralf PS: that's a personal statement from developer Ralf and not an statement of the eGroupWare admins -- 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