Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [mylyn-integrators] Better browser-based task editor

Bumping this thread. I should have probably choose better time for
posting this than just before release and EclipseCon :-)

Thanks,
-Peter

On Fri, Mar 18, 2011 at 10:53 AM, Peter Stibrany <peter@xxxxxxxxxx> wrote:
> 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
>


Back to the top