1 | For Z 39.50 Stuff
|
---|
2 |
|
---|
3 | pageaction.cpp
|
---|
4 | --------------
|
---|
5 | Macros:
|
---|
6 | * for "about" page, use a custom _textbrowseoptions_ macro (ie
|
---|
7 | create a new macro, maybe create a z3950.dm macro file ??)
|
---|
8 | (also maybe _numbrowseoptions_
|
---|
9 |
|
---|
10 | (Irrelevant?) (c. line 332)
|
---|
11 | disp.setmacro ("numdocs", "Global", cinfo.numDocs);
|
---|
12 | disp.setmacro ("builddate", "Global", builddate);
|
---|
13 |
|
---|
14 | That message "This collection contains..." is in the _collectionextra_
|
---|
15 | macro.
|
---|
16 | could get numdocs from the z39.50 server, as well as any other status
|
---|
17 | information.
|
---|
18 |
|
---|
19 | win32.mak
|
---|
20 | ---------
|
---|
21 | Needs updating for all added files (z*, parse.fl)
|
---|
22 |
|
---|
23 | yaz
|
---|
24 | ---
|
---|
25 | Maybe put libyaz.a in $GSDLHOME/lib ?
|
---|
26 |
|
---|
27 |
|
---|
28 | DESIGN ISSUES
|
---|
29 | for z39.50 (and eventually nullproto when corba allows recept. and
|
---|
30 | coll server to be physically separate), if the server is unavailable,
|
---|
31 | should this be determined at:
|
---|
32 | * "home page" creation time, in which case the recept. must ping and
|
---|
33 | test each collection it knows about, which may cause unacceptable delay, or
|
---|
34 | * "about page" creation time (ie individual collection), in which case
|
---|
35 | the collection can not customise the page layout by modifying macros.
|
---|
36 |
|
---|
37 | Eg currently, the z39.50 collection will not create a TCP connection to the
|
---|
38 | "target" (ie z39.50 server somewhere around the world) until it tries to
|
---|
39 | get the "About this collection" information for that collection.
|
---|
40 | If the connection fails, the protocol can not change _queryform_ part of
|
---|
41 | the page.
|
---|
42 |
|
---|
43 |
|
---|
44 | MULTI-LINGUAL SUPPORT
|
---|
45 | Multi-lingual - eg macros - want to set _collectionextra_ using
|
---|
46 | metadata["collectionextra"] based on the chosen interface language.
|
---|
47 | Should be done by OIDtools.cpp:get_info() and any action that calls
|
---|
48 | proto->filter().
|
---|
49 | queryaction.cpp (c. line 1097):
|
---|
50 | // add the requested language as an option to the query
|
---|
51 | if (!args["l"].empty()) {
|
---|
52 | OptionValue_t option;
|
---|
53 | option.name="Language";
|
---|
54 | option.value=args["l"];
|
---|
55 | request.filterOptions.push_back(option);
|
---|
56 | }
|
---|
57 |
|
---|