> Unless we're working with a small catalogue, or one with only a few > popular items, I'm not sure we'd get much benefit from caching the > XSLT-processed HTML for individual biblios. Outside of those cases, I > don't think a lot of people will be looking at the same records, so > we're just storing info until it expires, rather than reusing it.
+1 And I remind you that in C4::XSLT, items information are injected into MARCXML prior to send it to XSLT for transformation into HTML. It means that if we cache HTML representation of biblio records, we loose real-time items availability in OPAC result page. Concerning biblio records, what kill performances? [1] GetMarcBiblio multiple calls GetMarcBiblio function is used, and reused, and reused again, for the same biblionumber. The CoinS tag generation for example do that: calling GetMarcBiblio for a biblio record which has already be instantiated by another function. Code could be improve. Or very simple to do, GetMarcBiblio can be memoized (at script level without persistence). [2] MARC::Record deserialization In GetMarcBiblio (and other functions?), a MARC::Record is build based on biblioitems.marcxml field. This is very slow as already discussed. Since items are not anymore in biblio records, we don't need anymore to use the biblio recorcd XML representation, and should use biblioitems.marc field. [3] XSLT transformation Koha XSL stylesheets have to be parsed one time, in each script using them. In persistent environment, this could be cached. The biblio record is retrieved from biblioitems.marcxml, then a MARC::Record object is build (it costs), then the MARC::Record is completed with various info (authorized values, etc.), then the object is serialized in XML, then the XML document is completed with items real-time info, then the XML is sent to XSLT. We would gain a lot by caching an XML version ready to be completed with items info. This way, we wouldn't have to deserialize/serialize MARC::Record objects. Kind regards, -- Frédéric DEMIANS http://www.tamil.fr/u/fdemians.html _______________________________________________ Koha-devel mailing list Koha-devel@lists.koha-community.org http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel website : http://www.koha-community.org/ git : http://git.koha-community.org/ bugs : http://bugs.koha-community.org/