X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=doc%2Ffrontend.xml;h=985f4bd18348a9985b74ea7db56e3f8b4afcef5a;hp=d8541cbacd2cf2c4a326e0cac77a1bcc0e55f3c5;hb=95d8bd04e10519a635972a24176270ef4dbe8d2c;hpb=823ed165c1796f9d554178c6177b6e495b4290ba diff --git a/doc/frontend.xml b/doc/frontend.xml index d8541cb..985f4bd 100644 --- a/doc/frontend.xml +++ b/doc/frontend.xml @@ -1,4 +1,4 @@ - + Generic server Introduction @@ -99,6 +99,10 @@ Result-Set Sort (optional). + + Return Explain for SRW/SRU (optional). + + @@ -232,7 +236,7 @@ statserv_options_block *statserv_getcontrol(void); int idle_timeout; Maximum session idle-time, in minutes. Zero indicates - no (infinite) timeout. Default is 120 minutes. + no (infinite) timeout. Default is 15 minutes. @@ -372,6 +376,8 @@ typedef struct bend_initrequest /* character set and language negotiation - see include/yaz/z-charneg.h */ Z_CharSetandLanguageNegotiation *charneg_request; Z_External *charneg_response; + int (*bend_srw_explain)(void *handle, bend_explain_rr *rr); + int (*bend_srw_scan)(void *handle, bend_scan_rr *rr); } bend_initrequest; typedef struct bend_initresult @@ -458,6 +464,7 @@ typedef struct { int hits; /* number of hits */ int errcode; /* 0==OK */ char *errstring; /* system error string or NULL */ + Z_OtherInformation *search_info; } bend_search_rr; @@ -546,10 +553,10 @@ typedef struct bend_fetch_rr { that holds the reference to the desired record. The number is the offset into the set (with 1 being the first record in the set). The format field - is the record format requested by the client (See section - Object Identifiers). The value - VAL_NONE indicates that the client did not - request a specific format. The stream argument + is the record format requested by the client (See + ). + The value VAL_NONE indicates that the client did + not request a specific format. The stream argument is an &odr; stream which should be used for allocating space for structured data records. The stream will be reset when all records have been assembled, and @@ -715,8 +722,22 @@ typedef struct bend_scan_rr { bend_scan_status status; int errcode; char *errstring; + char *scanClause; /* CQL scan clause */ } bend_scan_rr; + + This backend server handles both Z39.50 scan + and SRW/SRU scan. In order for a + handler to distinguish between SRW/SRU (CQL) scan + Z39.50 Scan , it must check for a non-NULL value of + scanClause. + + + + if designed today, it would be a choice using a union or similar, + but that would break binary compatibility with existing servers. + + @@ -726,30 +747,13 @@ typedef struct bend_scan_rr { The finished application has the following invocation syntax (by way of statserv_main()): - - - appname - - - - - - - - - - - - - - - listener-spec - + + &gfs-synopsis; The options are: - &ztest-options; + &gfs-options; @@ -799,10 +803,10 @@ typedef struct bend_scan_rr { Setting up Apache as SRW/SRU Frontend - If you use Apache + If you use Apache as your public web server and want to offer HTTP port 80 access to the YAZ server on 210, you can use the - + ProxyPass directive. If you have virtual host @@ -813,7 +817,7 @@ typedef struct bend_scan_rr { ErrorLog /home/srw/logs/error_log TransferLog /home/srw/logs/access_log ProxyPass / http://srw.mydomain:210/ - </VirualHost> + </VirtualHost> @@ -831,6 +835,9 @@ typedef struct bend_scan_rr { + Virtual Hosts + &gfs-virtual; +