Higher level observation servicesPage edited by Bertrand DelacretazChanges (10)
Full ContentAnalyzing how we use observation in our Sling-based apps shows a number of recurring patterns, described in this page. Using JCR observation directly or Sling OSGi events does not make a big difference in the final results, but the implementations are very different. The commit hooks provided by http://jackrabbit.apache.org/oak/ provide yet another way of observing content changes, which might be more efficient or scalable in some cases. Being able to express these common observation patterns as higher-level services, if we can do that, would allow for switching the underlying implementation seamlessly, and would also help promote best practices in how we use events, by minimizing the amount of code to write at the application level. Observation usage patternsLet's list the frequent patterns that we see w.r.t observing changes in content. Cached ContentTriggerChanges in content under specific paths (or path regexps), with optional restrictions on node types and/or event types. ActionClear an internal cache that is rebuilt the next time someone needs it. Typical usesConfigurations, CSS/_javascript_ processing, Sling installer, etc. FrequencyContent changes are usually not very frequent, for the above typical uses. PerformanceSome latency between content changes and processing is usually not a problem. Potential issuesN requests coming just after clearing the cache should cause just one cache rebuild, not N. Content IngestionTriggerChanges in content under specific paths (or path regexps), with optional restrictions on node types and/or event types. ActionClear an internal cache that is rebuilt the next time someone needs it. Typical usesConfigurations, CSS/_javascript_ processing, Sling installer, etc. FrequencyContent changes are usually not very frequent, for the above typical uses. PerformanceSome latency between content changes and processing is usually not a problem. Potential issuesN requests coming just after clearing the cache should cause just one cache rebuild, not N. Content ExportTriggerChanges in content under specific paths (or path regexps), with optional restrictions on node types and/or event types. ActionClear an internal cache that is rebuilt the next time someone needs it. Typical usesConfigurations, CSS/_javascript_ processing, Sling installer, etc. FrequencyContent changes are usually not very frequent, for the above typical uses. PerformanceSome latency between content changes and processing is usually not a problem. Potential issuesN requests coming just after clearing the cache should cause just one cache rebuild, not N. Aggregation of changesTriggerChanges in content under specific paths (or path regexps), with optional restrictions on node types and/or event types. ActionClear an internal cache that is rebuilt the next time someone needs it. Typical usesConfigurations, CSS/_javascript_ processing, Sling installer, etc. FrequencyContent changes are usually not very frequent, for the above typical uses. PerformanceSome latency between content changes and processing is usually not a problem. Potential issuesN requests coming just after clearing the cache should cause just one cache rebuild, not N. Consistency Checks and FixesTriggerChanges in content under specific paths (or path regexps), with optional restrictions on node types and/or event types. ActionClear an internal cache that is rebuilt the next time someone needs it. Typical usesConfigurations, CSS/_javascript_ processing, Sling installer, etc. FrequencyContent changes are usually not very frequent, for the above typical uses. PerformanceSome latency between content changes and processing is usually not a problem. Potential issuesN requests coming just after clearing the cache should cause just one cache rebuild, not N. Content ReplicationTriggerChanges in content under specific paths (or path regexps), with optional restrictions on node types and/or event types. ActionClear an internal cache that is rebuilt the next time someone needs it. Typical usesConfigurations, CSS/_javascript_ processing, Sling installer, etc. FrequencyContent changes are usually not very frequent, for the above typical uses. PerformanceSome latency between content changes and processing is usually not a problem. Potential issuesN requests coming just after clearing the cache should cause just one cache rebuild, not N. Message QueueTriggerChanges in content under specific paths (or path regexps), with optional restrictions on node types and/or event types. ActionClear an internal cache that is rebuilt the next time someone needs it. Typical usesConfigurations, CSS/_javascript_ processing, Sling installer, etc. FrequencyContent changes are usually not very frequent, for the above typical uses. PerformanceSome latency between content changes and processing is usually not a problem. Potential issuesN requests coming just after clearing the cache should cause just one cache rebuild, not N. Workflow/Job TriggerTriggerChanges in content under specific paths (or path regexps), with optional restrictions on node types and/or event types. ActionClear an internal cache that is rebuilt the next time someone needs it. Typical usesConfigurations, CSS/_javascript_ processing, Sling installer, etc. FrequencyContent changes are usually not very frequent, for the above typical uses. PerformanceSome latency between content changes and processing is usually not a problem. Potential issuesN requests coming just after clearing the cache should cause just one cache rebuild, not N.
Change Notification Preferences
View Online
|
View Changes
|
Add Comment
|
- [CONF] Apache Sling > Higher level observation services confluence
- [CONF] Apache Sling > Higher level observation services confluence
- [CONF] Apache Sling > Higher level observation services confluence
- [CONF] Apache Sling > Higher level observation services confluence
- [CONF] Apache Sling > Higher level observation services confluence
- [CONF] Apache Sling > Higher level observation services confluence
- [CONF] Apache Sling > Higher level observation services confluence
- [CONF] Apache Sling > Higher level observation services confluence
- [CONF] Apache Sling > Higher level observation services confluence
- [CONF] Apache Sling > Higher level observation services confluence
- [CONF] Apache Sling > Higher level observation services confluence
- [CONF] Apache Sling > Higher level observation services confluence
- [CONF] Apache Sling > Higher level observation services confluence
