http://surdilovic.wordpress.com/2012/11/13/local-history-support-in-jbpm-designer/
Please review and let me know if you have any concerns. The code is in jBPM Designer master branch now.

Thanks again and hope to hear more from you soon ;)

On 11/13/12 3:09 AM, Gábor Farkas wrote:
Hi Tihomir,
good to hear that!
Well, maybe just that I'm a java ee developer at Doctusoft Ltd, and a link to my blog at http://farkasgabor.blogspot.hu/ (which I don't update frequently, thought).

We've had busy days las weeks here, but if you think it'd be good, I can work more on the issues the code had.
Thanks
Gabor


On Mon, Nov 12, 2012 at 5:54 PM, Tihomir Surdilovic <tsurdilo@redhat.com> wrote:
Hi Gabor, finally found some time to work on this. Should be done in the next day or so and will post a video here first for review and comments before making it public (committing).

I'd like for you to send me some text about yourself that I can put on the blog when writing about this new feature - just anything you would want readers to know about you. If you could send me that this week I'd really appreciate it.

Thanks.

On 10/25/12 4:55 PM, Gábor Farkas wrote:
Hi,
So, I cleaned it up a bit and put some comments.
I guess it's not nice to attach files on a public mailing list, so I uploaded a package here:

If you unzip the folder somewhere, the editor.html can be loaded statically from the file. I have this folder so that I can test some changes faster, without actually starting the editor.
To install it in the actual editor, you have to put the localhistory.js on the web root (next to editor.html), and add this fragment to the editor.html (right after  div class='processdata' for example, in the body element)

    <div id='lsDiv' title='LocalHistory for teh LuLz' style='position:fixed;top:0px;left:0px;z-index:10000; width: 20px; height: 20px'>
    </div>
    <div id='lhContainerDiv' style='position:fixed;top:32px;left:0px;z-index:10000;width:800px;height:512px;overflow:auto;visibility:hidden'>
      <div id='gridDiv'/>
      <span id='lhClearButton'/>
    </div>
    <script src="/designer/localhistory.js" type="text/javascript">
    </script>

This will put that transparent white box on the top left corner of the editor frame. This 'solution' will be replaced by properly registering localhistory as a plugin of course :)

There are some TODO-s and questions in the localhistory.js .

Feedback is welcome :) I'll go on cleaning this up so that this can integrate nicely to the editor.

cheers,
Gabor

On Thu, Oct 25, 2012 at 9:20 PM, Gábor Farkas <gabor.farkas@doctusoft.com> wrote:
Hi,
Thanks for the ping, yes, I'd still like to contribute, it's just that the company had some other priorities these weeks, but i'll find some time to clean things up a bit.
There are some questions still:
  • accessing: I didn't yet scan the source to check how to put an icon in the toolbar to display the local history panel. I guess the best approach will be to make this localhistory thing a plugin, so I can start by taking the servicerepo plugin as an example. For the prototype, I modified the editor.html and added a transparent div, and the panel shows up by clicking on that.
  • when to create an entry: currently I check the json source of the model every 10 seconds, and if it's changed, I create an entry. Maybe this should be extended by somehow grouping these entries. For example, if the user keeps editing actively for two minutes, I keep only one entry, updating that entry every 10 seconds. But if the editing period is longer than two minutes for example, I keep one entry for each two minutes block. If the user edits for 30 seconds, then waits two minutes, then edits again, two entries will be created again. Something like this might be useful to keep the history reasonably small, but still quite useful and real-time.
  • when entries expire: entries don't yet expire, so the local storage can get full after some time. You can delete all entries at once. I think we should add the possibility to delete entries individually, and to configure that after a specific time, entries are autmatically deleted. Or maybe, for entries older than one hour, we keep entries only in 5 minutes granularity, after two hours, every 1 hours, and one entry for each day older than 24 hours. Or maybe this is unnecessary for our scope ...
What do you think the best way would be to share the prototype with you? Well, maybe just emailing the files will be enough for now.
I'll try to clean up the source tonight and send you an initial version, so that you can take a look and try.

Thanks
Gabor

On Thu, Oct 25, 2012 at 3:01 PM, Tihomir Surdilovic <tsurdilo@redhat.com> wrote:
Hi Gabor, are you still wanting to contribute your work? Just checking in case you are waiting on anything from me in order to start.

Thanks.

On 10/3/12 11:32 AM, Tihomir Surdilovic wrote:
Forwarding to jbpm-dev list as users list is not being monitored.


-------- Original Message --------
Subject: Re: [jbpm-users] local history for the jbpm web editor
Date: Wed, 03 Oct 2012 11:23:34 -0400
From: Tihomir Surdilovic <tsurdilo@redhat.com>
To: Gábor Farkas <gabor.farkas@doctusoft.com>
CC: jbpm-users@lists.jboss.org


Hi Gabor - that looks impressive and useful for the community. I'd be happy to work with you to incorporate this functionality into the Designer codebase and promote you as community contributor for jBPM. Let's chat on IRC (#jbpm or #jbpmdev on irc.freenode.net).

Tihomir

On 10/3/12 10:42 AM, Gábor Farkas wrote:
Hello,
We've created a prototype for a local history functionality for the jbpm-designer, we needed it for multiple reasons. It stores data in the browser localStorage, so it also serves a bit like 'undo after save'. It checks the json representation of the process every minute and if it differs, it creates a new local history entry, including a thumbnailed screenshot. It's available after browser restart too, so if you accidentally close the browser, you can still restore your work.
Here's a small screenshot.

Needs quite much elaboration, but it's already functional and useful for our needs.
If you find it interesting, we'd be happy to share it with the community.

regards,
Gabor Farkas


_______________________________________________
jbpm-users mailing list
jbpm-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jbpm-users