Upcomping document task improvements.

View: New views
2 Messages — Rating Filter:   Alert me  

Upcomping document task improvements.

by Karel Vervaeke :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi, we are going to improve Daisy's document task feature.  Please
read on below.  If you want to suggest additional features or if you
have other useful remarks please reply here on the list.

-1- custom tasks.
Currently you can only the built-in tasks:
- simple actions (create variant, add to collection, remove from
collection, ...)
- javascript actions (administrator only)

On the repository we would like to provide an API which allows you to
register custom actions.  To keep things simple, e.g.
void DocumentTaskManager.registerDocumentTaskActionFactory(String
name, Class clazz);

In the wiki there should be a way for developers to write custom UI
screens to let users specify parameters for the custom action. (Just
like we have a different UI for configuring simple actions and
javascript actions).

-2- finer access control
Currently all users can create simple tasks, and only administrators
can create javascript tasks.
There should be a way for administrators to configure access control
for tasks.  A simple role-based scheme could be enough.

-3- restart tasks.
Currently if a task stops (finished with or without errors) and you
want to start it again, you have through all
the same steps that were used to initially create the task.  We would
like a UI element that allows users to restart the task using one
click (or one that shows the
task in the UI and lets the user tweak some parameters before starting
it again).

-4- retry locked documents.
Currently a task can only end in two ways: by not throwing an
exception (success) or by not throwing an exception  (failure).  There
should be a middle ground: tasks may fail because of a temporary
reason (e.g. when the document is locked).
We want document actions to have an additional  'exit' state:
'success', 'retry' and 'failed'.
Tasks will also get two new properties: 'retry count' and 'retry
frequency' which is the maximal amount of times we try to perform the
task on a single document and the minimal amount of time between tries

-5- notification of interrupted tasks
If the server is stopped during the execution of a task the task is
interrupted. There is no way to automatically restart the task when
the repository comes back up (We can't restart the task on behalf of
the user without his/her password)
The alternative is to notify the owner about the interrupted task so
he/she can restart it. (This where item -3- will come in handy)

-6- JMS events
We would like to introduce JMS events that notify listeners about
task-related events (e.g. task started, task progress, task finished
with errors, task finished successfully, ...).  For task progress,
there should probably be a way to specify the frequency of updates
(fixed time-intervals, fixed number of documents, only after errors,
...)

Regards,
Karel
_______________________________________________
daisy community mailing list
Professional Daisy support: http://outerthought.org/en/services/daisy/support.html
mail to: daisy@...
list information: http://lists.cocoondev.org/mailman/listinfo/daisy

Re: Upcomping document task improvements.

by Karel Vervaeke :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, Aug 6, 2009 at 4:56 PM, Karel Vervaeke<karel@...> wrote:
> Hi, we are going to improve Daisy's document task feature.  Please
> read on below.  If you want to suggest additional features or if you
> have other useful remarks please reply here on the list.
>
> -1- custom tasks.
> Currently you can only the built-in tasks:
> - simple actions (create variant, add to collection, remove from
> collection, ...)
> - javascript actions (administrator only)

This first item is now implemented using Daisy's plugin API.
As a developer, you would create an extension which registers an
instance of org.outerj.daisy.doctaskrunner.DocumentActionFactory:

pluginRegistry.addPlugin(DocumentActionFactory.class, new MyDocumentAction());

There may still be some API changes to accommodate the other upcoming
features (like item 2: finer access control)

>
> On the repository we would like to provide an API which allows you to
> register custom actions.  To keep things simple, e.g.
> void DocumentTaskManager.registerDocumentTaskActionFactory(String
> name, Class clazz);
>
> In the wiki there should be a way for developers to write custom UI
> screens to let users specify parameters for the custom action. (Just
> like we have a different UI for configuring simple actions and
> javascript actions).
>
> -2- finer access control
> Currently all users can create simple tasks, and only administrators
> can create javascript tasks.
> There should be a way for administrators to configure access control
> for tasks.  A simple role-based scheme could be enough.
>
> -3- restart tasks.
> Currently if a task stops (finished with or without errors) and you
> want to start it again, you have through all
> the same steps that were used to initially create the task.  We would
> like a UI element that allows users to restart the task using one
> click (or one that shows the
> task in the UI and lets the user tweak some parameters before starting
> it again).
>
> -4- retry locked documents.
> Currently a task can only end in two ways: by not throwing an
> exception (success) or by not throwing an exception  (failure).  There
> should be a middle ground: tasks may fail because of a temporary
> reason (e.g. when the document is locked).
> We want document actions to have an additional  'exit' state:
> 'success', 'retry' and 'failed'.
> Tasks will also get two new properties: 'retry count' and 'retry
> frequency' which is the maximal amount of times we try to perform the
> task on a single document and the minimal amount of time between tries
>
> -5- notification of interrupted tasks
> If the server is stopped during the execution of a task the task is
> interrupted. There is no way to automatically restart the task when
> the repository comes back up (We can't restart the task on behalf of
> the user without his/her password)
> The alternative is to notify the owner about the interrupted task so
> he/she can restart it. (This where item -3- will come in handy)
>
> -6- JMS events
> We would like to introduce JMS events that notify listeners about
> task-related events (e.g. task started, task progress, task finished
> with errors, task finished successfully, ...).  For task progress,
> there should probably be a way to specify the frequency of updates
> (fixed time-intervals, fixed number of documents, only after errors,
> ...)
>
> Regards,
> Karel
>
_______________________________________________
daisy community mailing list
Professional Daisy support: http://outerthought.org/en/services/daisy/support.html
mail to: daisy@...
list information: http://lists.cocoondev.org/mailman/listinfo/daisy