You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-dev@jackrabbit.apache.org by "Michael Dürig (JIRA)" <ji...@apache.org> on 2012/06/18 16:00:43 UTC
[jira] [Created] (OAK-144) Implement observation
Michael Dürig created OAK-144:
---------------------------------
Summary: Implement observation
Key: OAK-144
URL: https://issues.apache.org/jira/browse/OAK-144
Project: Jackrabbit Oak
Issue Type: Task
Components: core, jcr
Reporter: Michael Dürig
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (OAK-144) Implement observation
Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OAK-144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13398525#comment-13398525 ]
Michael Dürig commented on OAK-144:
-----------------------------------
At revision 1352593 I committed another draft implementation for observation which covers some middle ground of what we [discussed | http://markmail.org/message/osxupy3twc3pyild] on @oak-dev:
* No queueing of events to be delivered
* Pull events from oak-core and calculate them on the fly
* No background thread in oak-core
In oak-core the implementation hooks into refresh and remembers a limit (revision) up to which events should be generated. No additional state is kept for observation in oak-core. Clients of oak-core use an instance of {{ChangeExtractor}} which can be obtained from {{Root}} and which allows to extract changes by passing a {{NodeStateDiff}} instance to its
{{getChanges}} method. Each call to {{getChanges}} carries on where the previous call has left.
In oak-jcr each observation listener is associated with a {{ChangeExtractor}} and a timer on a background thread is used to call the {{getChanges}} methods regularly. This is the place where JCR events should be created, filtered and sent to the {{EventListener}}. This is currently work in progress and not yet implemented.
> Implement observation
> ---------------------
>
> Key: OAK-144
> URL: https://issues.apache.org/jira/browse/OAK-144
> Project: Jackrabbit Oak
> Issue Type: Task
> Components: core, jcr
> Reporter: Michael Dürig
> Assignee: Michael Dürig
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Comment Edited] (OAK-144) Implement observation
Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OAK-144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13398525#comment-13398525 ]
Michael Dürig edited comment on OAK-144 at 6/21/12 4:21 PM:
------------------------------------------------------------
At revision 1352593 I committed another draft implementation for observation which covers some middle ground of what we [discussed | http://markmail.org/message/osxupy3twc3pyild] on @oak-dev:
* No queueing of events to be delivered
* Pull events from oak-core and calculate them on the fly
* No background thread in oak-core
* Leverage existing NodeStateDiff mechanism
In oak-core the implementation hooks into refresh and remembers a limit (revision) up to which events should be generated. No additional state is kept for observation in oak-core. Clients of oak-core use an instance of {{ChangeExtractor}} which can be obtained from {{Root}} and which allows to extract changes by passing a {{NodeStateDiff}} instance to its
{{getChanges}} method. Each call to {{getChanges}} carries on where the previous call has left.
In oak-jcr each observation listener is associated with a {{ChangeExtractor}} and a timer on a background thread is used to call the {{getChanges}} methods regularly. This is the place where JCR events should be created, filtered and sent to the {{EventListener}}. This is currently work in progress and not yet implemented.
was (Author: mduerig):
At revision 1352593 I committed another draft implementation for observation which covers some middle ground of what we [discussed | http://markmail.org/message/osxupy3twc3pyild] on @oak-dev:
* No queueing of events to be delivered
* Pull events from oak-core and calculate them on the fly
* No background thread in oak-core
In oak-core the implementation hooks into refresh and remembers a limit (revision) up to which events should be generated. No additional state is kept for observation in oak-core. Clients of oak-core use an instance of {{ChangeExtractor}} which can be obtained from {{Root}} and which allows to extract changes by passing a {{NodeStateDiff}} instance to its
{{getChanges}} method. Each call to {{getChanges}} carries on where the previous call has left.
In oak-jcr each observation listener is associated with a {{ChangeExtractor}} and a timer on a background thread is used to call the {{getChanges}} methods regularly. This is the place where JCR events should be created, filtered and sent to the {{EventListener}}. This is currently work in progress and not yet implemented.
> Implement observation
> ---------------------
>
> Key: OAK-144
> URL: https://issues.apache.org/jira/browse/OAK-144
> Project: Jackrabbit Oak
> Issue Type: Task
> Components: core, jcr
> Reporter: Michael Dürig
> Assignee: Michael Dürig
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (OAK-144) Implement observation
Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OAK-144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13396025#comment-13396025 ]
Michael Dürig commented on OAK-144:
-----------------------------------
I committed an oak-core API draft for observation at revision 1351414. This API should allow for asynchronous and synchronous implementations (i.e. JCR event observation and journalling). Further refinements might be necessary regarding filtering and also for implementing support for noLocal and userData.
> Implement observation
> ---------------------
>
> Key: OAK-144
> URL: https://issues.apache.org/jira/browse/OAK-144
> Project: Jackrabbit Oak
> Issue Type: Task
> Components: core, jcr
> Reporter: Michael Dürig
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (OAK-144) Implement observation
Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OAK-144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13403783#comment-13403783 ]
Michael Dürig commented on OAK-144:
-----------------------------------
The core parts are in place by no. Still missing / not supported:
* userId is not available from events
* Instead of move events add/delete events are reported
* No support for the noLocal flag
* Filtering on node types not yet implemented
* No support for user data
> Implement observation
> ---------------------
>
> Key: OAK-144
> URL: https://issues.apache.org/jira/browse/OAK-144
> Project: Jackrabbit Oak
> Issue Type: Task
> Components: core, jcr
> Reporter: Michael Dürig
> Assignee: Michael Dürig
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (OAK-144) Implement observation
Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OAK-144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13397539#comment-13397539 ]
Michael Dürig commented on OAK-144:
-----------------------------------
At revision 1352124 I updated the API draft to reflect the [discussion|http://markmail.org/message/osxupy3twc3pyild] we had on the @oak-dev list.
> Implement observation
> ---------------------
>
> Key: OAK-144
> URL: https://issues.apache.org/jira/browse/OAK-144
> Project: Jackrabbit Oak
> Issue Type: Task
> Components: core, jcr
> Reporter: Michael Dürig
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Assigned] (OAK-144) Implement observation
Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OAK-144?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Dürig reassigned OAK-144:
---------------------------------
Assignee: Michael Dürig
> Implement observation
> ---------------------
>
> Key: OAK-144
> URL: https://issues.apache.org/jira/browse/OAK-144
> Project: Jackrabbit Oak
> Issue Type: Task
> Components: core, jcr
> Reporter: Michael Dürig
> Assignee: Michael Dürig
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (OAK-144) Implement observation
Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/OAK-144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13401481#comment-13401481 ]
Michael Dürig commented on OAK-144:
-----------------------------------
In revision 1354085 JCR observation events are now being generated. Missing parts:
* userId, identifier, info and date are not set on the events
* event filters are ignored
> Implement observation
> ---------------------
>
> Key: OAK-144
> URL: https://issues.apache.org/jira/browse/OAK-144
> Project: Jackrabbit Oak
> Issue Type: Task
> Components: core, jcr
> Reporter: Michael Dürig
> Assignee: Michael Dürig
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira