=============== Talk submission =============== Information ----------- Title: Kupu -- Developing fatter CMS clients Track: Zope Time: 45 minutes (???) Speakers: Guido Wesdorp, Rotterdam (NL), Infrae Philipp von Weitershausen, Dresden (D) Abstract -------- For years, writing decent client-side applications was almost impossible due to the lack of feature support and browser incompatibilies. However, thanks to recent developments, Zope-based content management systems (CMS) such as Silva and Plone have successfully integrated WYSIWYG editors, making a start at fatter client side applications. In this talk, the authors of the cross-browser and cross-platform WYSIWYG editor Kupu present their ideas on client-side applications such as Kupu, the achievements they have made integrating Kupu in different CMS and the hurdles that had to be taken so far. Outline ------- Part I.: The Problem of Client-side Apps ---------------------------------------- 1. Interaction required - to what level? XXX I don't understand this point (PvW) XXX Trying to make a point against the traditional way of doing it all on the server (GW) - user experience grows with level of interaction - too much moving stuff distracts - but too little makes the application feel static - what is and what is not allowed (viewing and editing data, animations, relying on Javascript on the client, client-side validation) 2. Do not rely on JS for public pages XXX i'm not sure about the point you want to get through in slides 2 and 3. Maybe rephrase and combine in one slide. (PvW) - this page is best viewed with... telnet? - turning off browser features - people hate popups 3. But for a backend one can set requirements - what does the customer use? - graceful degradation - what do you want to allow? - not secure... - ...but flexible it is! 4. Client-side programming - Java is too heavy. - We can't use VBScript... - ...or Active-X... - ...or XUL for that matter - so JavaScript it is! 5. JavaScript (ECMAScript) - post-browser wars - but still no peace! - men in suits writing languages for kiddies - it may have sounded nice... 6. It's a messy job... - we are Python developers - Prototypes? (it may have sounded nice...) - string evaluation - spot the XXX's ;) - DOM manipulations 7. ...but someone's gotta do it... - if you have to do it, do it right - finding patterns - to boldly go where no JS programmer has gone before... - abstractions, abstractions, abstractions... (sarissa, component framework) - IE is old crap... - but still owns 92% of the market - bad excuse for not improving your client 8. So here we are! - Kupu - XMLRPC - WebDAV - fat generic clients, XML editors and IDEs - 3D shoot-em-ups? ;) Part II.: Kupu -------------- 9. Kupu is... - a WYSIWYG editor - produces well-formed XHTML - cross-browser - cross-platform - OpenSource (BSD-style license) - official OSCOM project (together with BXE) 10. Aren't there already editors like this? - not just a replacement for your textarea - document-centric editing - feels more like an application than a form - extensibility: component framework - integration into nearly any CMS 11. Features - asynchronous save w/o page reload - "file dialogs" for image/link/... insertion - XXX 12. Based on standards - XML configuration - XML communication w/ server - XHTML templates - CSS layout - HTTP (PUT) => the only way to ensure cross-browser and cross-platform compatability 12. Working integrations - Silva (show) - Plone (show) - XXX 13. Future - XXX - World domination within reach!