annotate doc/src/site/markdown/digilib-short.md @ 1655:7310735dd5b5

Refactoring of the configuration docs
author Frank Sachsenheim <funkyfuture@riseup.net>
date Thu, 17 Aug 2017 16:20:23 +0200
parents 7770ac493446
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1273
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
1 # A short introduction to digilib
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
2
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
3 ## digilib -- how does it work?
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
4
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
5 The image server digilib is a state-less web-based client-server
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
6 application for interactive viewing and manipulation of images.
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
7
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
8 ## Frontend and Scaler server
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
9
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
10 digilib consists mainly of two parts, the image server component proper,
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
11 called "Scaler" and a client-side part that runs in the users web
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
12 browser.
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
13
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
14 ![digilib client and Scaler server](images/digilib-short-1.png)
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
15
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
16 The users browser sends an HTTP request for a certain (zoomed, scaled,
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
17 rotated) image to the Scaler server and the server returns the image
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
18 data as HTTP response.
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
19
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
20 To complete the schematics of figure 1 we must also take into account
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
21 that the client-side part consisting of HTML and Javascript code has
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
22 also been requested and loaded from a frontend-web server into the users
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
23 browser.
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
24
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
25 ![digilib client with frontend and Scaler server](images/digilib-short-2.png)
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
26
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
27 To date there are several frontend implementations for digilib like the
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
28 current "jquery" version that only requires static HTML and Javascript and the
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
29 older "greyskin" version (grey buttons, implemented in JSP) that come with
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
30 the default [digilib distribution][1] or the "[Zogilib][2]" frontend version
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
31 implemented in ZOPE.
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
32
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
33 The frontend-server and the Scaler-server do not have to run
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
34 on the same machine and often there are several frontends that use the
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
35 same Scaler server.
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
36
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
37 ### Request formats
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
38
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
39 The format of the HTTP requests for the frontend and the
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
40 Scaler server can be completely different. The HTML and Javascript code
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
41 of the frontend just has to generate the correct request for the Scaler
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
42 to produce the desired image. Most of the current frontend implementations
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
43 share some or all of the parameters with the Scaler API.
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
44
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
45 ### Scaler
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
46
1279
828b6c8b1b19 changed links in documentation (and poms) to new sourceforge site.
robcast
parents: 1273
diff changeset
47 The [Scaler API](scaler-api.html) is documented on the digilib.sourceforge.net
1273
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
48 pages. Here is a minimal version:
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
49
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
50 The Scaler servlet takes parameters in the HTTP request format:
1402
7770ac493446 small doc improvements.
robcast
parents: 1279
diff changeset
51 `Scaler?param1=value1&param2=value2&...` Unknown parameters
1273
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
52 will be silently ignored.
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
53
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
54 Recognised parameters:
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
55
1402
7770ac493446 small doc improvements.
robcast
parents: 1279
diff changeset
56 - `fn` path to file or directory. All paths are relative to the configured base directory
1273
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
57 (digilib-config parameter `basedir-list`).
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
58 - `pn` page number. Index into the (alphabetically sorted)
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
59 directory given by the path. Starts with 1. Ignored if the path
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
60 points to a file. Default: 1.
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
61 - `dw` destination image width (pixels). If omitted the image is
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
62 scaled to fit `dh.`
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
63 - `dh` destination image height (pixels). If omitted the image
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
64 is scaled to fit `dw`.
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
65 - `wx` relative x offset of the image area to be sent (0 <=
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
66 `wx` <= 1). Default: 0.
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
67 - `wy` relative y offset of the image area to be sent (0 <=
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
68 `wy` <= 1). Default: 0.
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
69 - `ww` relative width of the image area to be sent (0 <= `ww`
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
70 <= 1). Default: 1.
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
71 - `wh` relative height of the image area to be sent (0 <= `wh`
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
72 <= 1). Default: 1.
1402
7770ac493446 small doc improvements.
robcast
parents: 1279
diff changeset
73 - The image to be loaded can be specified by `fn` parameter and the optional
1273
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
74 index `pn`
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
75 - if `fn` points to a directory then the file with the index `pn`
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
76 (in alphabetical order according to ASCII) will be loaded
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
77 - if `fn` points to a file (with or without extension) then this
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
78 file will be loaded
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
79
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
80 The image will be scaled equally in horizontal and vertical direction
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
81 such that the resulting image does not exceed the rectangle [`dw`,`dh`].
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
82 If only either height or width is given the image is scaled to match
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
83 only the given parameter. The size of the resulting image in the other
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
84 parameter is determined by the aspect ratio of the image.
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
85
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
86 An example for a Scaler URL is:
1402
7770ac493446 small doc improvements.
robcast
parents: 1279
diff changeset
87 `http://digilib.mpiwg-berlin.mpg.de/digitallibrary/Scaler?fn=experimental/digilib-test/images&wh=0.1712&ww=0.1282&wy=0.1681&wx=0.6895&dw=862&dh=904`
1273
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
88 such a URL can be used as src attribute to an img element in the
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
89 frontend HTML.
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
90
1279
828b6c8b1b19 changed links in documentation (and poms) to new sourceforge site.
robcast
parents: 1273
diff changeset
91 [1]: https://sourceforge.net/p/digilib/code/ci/default/tree/webapp/src/main/webapp
1273
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
92
30ec52034355 added some forgotten docs.
robcast
parents:
diff changeset
93 [2]: http://itgroup.mpiwg-berlin.mpg.de/cgi-bin/cvsweb.cgi/zogiLib/