<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 21 Mar 2017, at 13:58, Wessel, Keith <<a href="mailto:kwessel@illinois.edu" class="">kwessel@illinois.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="color: rgb(31, 73, 125); font-family: Calibri, sans-serif; font-size: 14.666666984558105px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; display: inline !important; float: none;" class="">Sadly, yes, we’re just running the cli every five minutes to produce a hybrid document from the different sources. If there’s a better approach to produce the same end result, but with caching to enable conditional gets, I’m not opposed.</span></div></blockquote></div><br class=""><div class="">It does seem as if you can't use the existing cacheing mechanisms in that case. As I say, it looks to me as if the file-backed cacheing client caches the body of the document in the filesystem but relies on an in-memory store for the metadata. Without externalising the metadata, there's nothing to do a conditional GET with.</div><div class=""><br class=""></div><div class="">Tom's suggestion might be the easiest way forward, in that you can easily adapt to calling his script and then the code you have just now with minimal changes (pick up the InCommon metadata from a file rather than directly).</div><div class=""><br class=""></div><div class="">The alternative would be some kind of long-running process in a Java web container handling the aggregation process on a regular basis. My mdq-server would be one such option:</div><div class=""><br class=""></div><div class=""><span class="Apple-tab-span" style="white-space:pre"> </span><a href="https://github.com/iay/mdq-server" class="">https://github.com/iay/mdq-server</a></div><div class=""><br class=""></div><div class="">That's designed more as a web service than for this kind of thing, but you could abuse some of the components there to do what you want. Discarding the web service parts and just doing everything with ItemCollectionLibrary would probably be sufficient as a quick hack. If you have someone who can do basic Spring Boot style apps, you could make it a lot simpler than that, though.</div><div class="">
<span class="Apple-style-span" style="border-collapse: separate; font-variant-ligatures: normal; font-variant-position: normal; font-variant-numeric: normal; font-variant-alternates: normal; font-variant-east-asian: normal; line-height: normal; border-spacing: 0px;"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; border-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-stroke-width: 0px;"><div class=""><span class="Apple-tab-span" style="white-space: pre;"><br class="Apple-interchange-newline"></span>    -- Ian<br class=""></div><div class=""><span class="Apple-style-span" style="font-size: medium;"><br class=""></span></div></span></div></span><br class=""></div></body></html>