Hello Mylyn developers! I have created small prototype to explore possible integration between browser-based task editor and rest of Mylyn/Eclipse. I would like to show it to you (link to video is below), and to get some feedback. I will use my connector for FogBugz as an example here, but idea is not restricted to this system only.
For connector that I work on (FogBugz connector), browser-based editor would actually make lot of sense. Current version of connector uses task editor based on mylyn UI. This has several problems. Since FogBugz XML API is not complete, custom task editor can never support all features known from Web UI. Even though task editor is trying hard to duplicate stuff known from Web UI, it is far from perfect. Lot of stuff is missing, some concepts are different in Mylyn than they are in Web UI (i.e. displaying/uploading attachments, html editing, custom fields, ...) Also Web UI progresses very fast, and it's very hard to keep up with it. For these and some other reasons I have decided to give browser-based task editor a try. But instead of using BrowserFormPage from Mylyn, my idea is to integrate browser UI into Eclipse/Mylyn as much as possible. I have developed a prototype to see how it would work in practice, and it seems to me, that it might be the way to go forward. Deep integration is possible thanks to Browser component in SWT, which supports executing additional Javascript code and calling Java code from Javascript. Using some javascript, I can integrate FogBugz Web UI and Eclipse/Mylyn together! I have recorded small demo for you to see what I mean by this integration. You can see how FogBugz Web UI and Eclipse/Mylyn work together: - When case is first opened, user is not authenticated. My javascript code detects this situation, and asks connector for username/password that user already supplied. Then it logs the user in with his credentials. - When user edits case in the web UI, my java code asks Mylyn to refresh associated task. - When user clicks case reference, instead of changing content of current browser window, my code opens new Task editor instead (through Mylyn) - When user right-clicks on the attachment, we show Mylyn attachment menu, with features like "Apply Patch..." - When creating new task from Mylyn, we open FogBugz page for creating new case. After user submits the case, we tell Mylyn to "convert" it's associated local task to real task. See the demonstration here: http://vimeo.com/21166223 What are the benefits of such integration? First and foremost, task editing uses UI that people know and use everyday. This is full UI with support for all the bells and whistles that users are used to, not some limited replacement. Our task list is still up-to-date, we can work with contexts (through Task list), we can use nice features related to attachments. With some more hacking, it would be possible to put missing pieces from Mylyn UI into the web page (with javascript again): task category combo, attach context checkbox, ... There are some cons too... e.g. offline mode doesn't work (although I think it would be possible to implement some support with a some from caching proxy) and it works differently than most other connectors. I am interested to hear what you think about this way of implementing connector task editor. My prototype code also uses lot of Mylyn internal API ... would you be interested in exposing required stuff to make integration like this easier, or is this something you don't like in principle? Thank you for your time, -Peter Stibrany _______________________________________________ mylyn-integrators mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/mylyn-integrators
