Hardy & Dan,

Ok, after a bit more playing around, here's a slightly updated version of the patch that shows it seems to be working (see attached).

This updated version adds an additional option:

http://localhost:8080/xmlui/statusinfo
-> will now show the Cocoon Status XML doc (as a "base" version, to compare /clearcache to)

http://localhost:8080/xmlui/clearcache
 -> Clears the Cocoon Cache & returns the updated Cocoon Status XML doc


So, if you install this patch, you can see it in action. Browse around the XMLUI and visit the /statusinfo path. As you browse around, more and more items will be added to the "EHDefaultStore" cache (which you can view in the XML returned by /statusinfo). Then, if you visit /clearcache path, that cache will be cleared out.

However, I will admit, there's another cache that appears in that Cocoon Status XML, the "DefaultTransientStore" which is seemingly unaffected by calls to '/clearcache' (it looks to be mostly caching the messages.xml contents). So, I'm not sure this works on *everything*, but most Cocoon cached content should be cleared.

Again, all the usual warnings -- DO NOT try this in Production yet. This is just me playing around with the Cocoon Cache to see what may be possible. It still isn't very well tested or guaranteed to be functioning properly. :)

- Tim


On 6/16/2011 4:52 PM, Tim Donohue wrote:
Neglected to mention in my previous email:

Once you apply the previously sent patch, you should be able to clear
the Cocoon cache by visiting:

http://localhost:8080/xmlui/clearcache

Again, it will return a bunch of XML (which is Cocoon Status Info). But,
in that XML will be an section like:

<group name="VM">
<group name="...EHDefaultStore">
<value name="cached">
<line>[empty]</line>
</value>
<value name="size">
<line>0 items in cache (0 are empty)</line>
</value>
</group>
</group>

- Tim

On 6/16/2011 4:47 PM, Tim Donohue wrote:
Hi Dan & Hardy,

There is supposedly a way to trigger Cocoon to 'clear' its cache via the
ClearCacheAction built into Cocoon. See:
http://comments.gmane.org/gmane.text.xml.cocoon.user/61537

I just tried this out locally in my XMLUI, and it *seems* to work (at
least with a few extremely simple tests I've run). But, I'll admit, this
is not well tested at all (SO, DON'T TRY THIS IN PRODUCTION, unless you
are feeling very gutsy or have verified that it is 100% working for you).

In any case, I thought I'd share this patch in case it is helpful (see
attached). Currently, it returns an ugly XML response (which is just
Cocoon's status information), but we could just as easily work this into
the XMLUI Admin Control Panel with a 'prettier' response.

This patch applies to
[dspace-src]/dspace-xmlui/dspace-xmlui-webapp/src/main/webapp/sitemap.xmap

(right now its line numbers are based on Trunk, but should work for
1.7.2 or similar)

Please let me know if this seems to work for you in your development
environments, etc. If it does seem to work well, this seems like
something we could easily add to DSpace 1.8's XMLUI Admin Control Panel.

- Tim

# This patch file was generated by NetBeans IDE
# Following Index: paths are relative to: 
D:\programming\dspace-trunk\dspace-xmlui\dspace-xmlui-webapp\src\main\webapp
# This patch can be applied using context Tools: Patch action on respective 
folder.
# It uses platform neutral UTF-8 encoding and \n newlines.
# Above lines and this line are ignored by the patching process.
Index: sitemap.xmap
--- sitemap.xmap Base (BASE)
+++ sitemap.xmap Locally Modified (Based On LOCAL)
@@ -192,6 +192,7 @@
                         <map:action name="StartAuthentication" 
src="org.dspace.app.xmlui.aspect.eperson.StartAuthenticationAction"/>
                         <map:action name="DSpacePropertyFileReader" 
src="org.dspace.app.xmlui.cocoon.DSpacePropertyFileReader" />
                         <map:action name="PropertyFileReader" 
src="org.dspace.app.xmlui.cocoon.PropertyFileReader" />
+                        <map:action name="ClearCacheAction" 
logger="sitemap.action.clear-cache" 
src="org.apache.cocoon.acting.ClearCacheAction"/>        
                 </map:actions>
                 <map:pipes default="caching">
                         <map:pipe name="noncaching" 
src="org.apache.cocoon.components.pipeline.impl.NonCachingProcessingPipeline">
@@ -225,6 +226,20 @@
                         <map:parameter name="expires" value="now"/>
 
 
+                        <!-- Clears current Cocoon Cache -->
+                        <map:match pattern="clearcache">
+                            <map:act type="ClearCacheAction">
+                                <map:generate src="status" type="status"/>
+                                <map:serialize type="xml"/>
+                            </map:act>
+                       </map:match>
+                        
+                        <map:match pattern="statusinfo">
+                            <map:generate src="status" type="status"/>
+                            <map:serialize type="xml"/>
+                       </map:match>
+
+
                         <!--
                                 Bitstreams for items that have a handle 
assigned. If the
                                 sequence parameter is given then that will be 
used to resolve the
------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
DSpace-tech mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dspace-tech

Reply via email to