For Z 39.50 Stuff pageaction.cpp -------------- Macros: * for "about" page, use a custom _textbrowseoptions_ macro (ie create a new macro, maybe create a z3950.dm macro file ??) (also maybe _numbrowseoptions_ (Irrelevant?) (c. line 332) disp.setmacro ("numdocs", "Global", cinfo.numDocs); disp.setmacro ("builddate", "Global", builddate); That message "This collection contains..." is in the _collectionextra_ macro. could get numdocs from the z39.50 server, as well as any other status information. win32.mak --------- Needs updating for all added files (z*, parse.fl) yaz --- Maybe put libyaz.a in $GSDLHOME/lib ? DESIGN ISSUES for z39.50 (and eventually nullproto when corba allows recept. and coll server to be physically separate), if the server is unavailable, should this be determined at: * "home page" creation time, in which case the recept. must ping and test each collection it knows about, which may cause unacceptable delay, or * "about page" creation time (ie individual collection), in which case the collection can not customise the page layout by modifying macros. Eg currently, the z39.50 collection will not create a TCP connection to the "target" (ie z39.50 server somewhere around the world) until it tries to get the "About this collection" information for that collection. If the connection fails, the protocol can not change _queryform_ part of the page. MULTI-LINGUAL SUPPORT Multi-lingual - eg macros - want to set _collectionextra_ using metadata["collectionextra"] based on the chosen interface language. Should be done by OIDtools.cpp:get_info() and any action that calls proto->filter(). queryaction.cpp (c. line 1097): // add the requested language as an option to the query if (!args["l"].empty()) { OptionValue_t option; option.name="Language"; option.value=args["l"]; request.filterOptions.push_back(option); }