<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">At ESO we have some rare cases whereby the list of progenitors of a dataset could be long various thousand entries.<div class=""><br class=""></div><div class="">In this case the datalink response is obviously huge, making an impossible user experience, and having clients hanging.<br class=""><div class=""> </div></div><div class="">To solve this, we have done the following:</div><div class=""><br class=""></div><div class="">if the number of progenitors is below a modest amount (say 25) then the full provenance is shown</div><div class=""><br class=""></div><div class="">otherwise, no provenance is shown other than one record which points to the full provenance (still a valid datalink document).</div><div class=""><br class=""></div><div class="">Such record looks like this:</div><div class=""><br class=""></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> <TR></span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> <TD><a href="ivo://eso.org/ID?ADP.2016-12-01T16:07:25.587</TD>" class="">ivo://eso.org/ID?ADP.2016-12-01T16:07:25.587</TD></a></span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <TD><![CDATA[<a href="http://archive.eso.org/datalink/links?ID=ivo://eso.org/ID?ADP.2016-12-01T16:07:25.587&EXCLUDE=ALL&INCLUDE=progenitor]" class="">http://archive.eso.org/datalink/links?ID=ivo://eso.org/ID?ADP.2016-12-01T16:07:25.587&EXCLUDE=ALL&INCLUDE=progenitor]</a>]></TD></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> <TD /></span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;" class=""> <TD /></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> <TD>#progenitor</TD></span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> <TD>Link that brings to the actual list of progenitors (processing provenance)</TD></span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> <TD>application/x-votable+xml</TD></span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> <TD /></span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> <TD /></span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> <TD /></span></div><div style="margin: 0px; font-stretch: normal; font-size: 11px; line-height: normal; font-family: Menlo;" class=""><span style="font-variant-ligatures: no-common-ligatures" class=""> </TR></span></div><div class=""> </div><div class="">For that, we had to implement two ad-hoc input parameters, EXCLUDE and INCLUDE,</div><div class="">so that we can have full control of what is shown when.</div><div class=""><br class=""></div><div class="">With this mechanism, our clients (e.g. the ESO science portal) can query for anything they like, e.g.</div><div class="">to get only derivation and provenance, one would use: EXCLUDE=ALL&INCLUDE=progenitor&INCLUDE=derivation</div><div class="">or to get everything excluding provenance: INCLUDE=ALL&EXCLUDE=progenitor</div><div class=""><br class=""></div><div class="">The presence of INCLUDE or EXCLUDE removes the default behaviour of showing only 1 link-record if more than 25 entries exist.</div><div class=""><br class=""></div><div class=""><div class="">I hope the above is still DataLink compliant… comments are welcome!</div><div class=""><br class=""></div></div><div class="">PS: We are about to release this new version of datalink possibly next week, along with all new versions of many archive services.</div><div class="">So, please do not try now the link above.</div><div class=""><br class=""></div><div class="">Alberto</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""> </div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div></body></html>