/[webpac]/trunk2/NEWS.pod
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /trunk2/NEWS.pod

Parent Directory Parent Directory | Revision Log Revision Log


Revision 375 - (hide annotations)
Sun Jun 20 17:52:41 2004 UTC (15 years, 3 months ago) by dpavlin
File size: 2977 byte(s)
implement formats

1 dpavlin 352 =head1 NAME
2    
3     Quick overview of things that are new in v2.x of WebPAC
4    
5     =head1 DESCRIPTION
6    
7     This document will describe new features in WebPAC version v2.x.
8     It will also attempt to document upgrade procedure to migrate
9     WebPAC v1.x installations to new v2.x.
10    
11     =head2 Input file handling
12    
13     Database files are now read in memory (using swap if not enough
14     memory is not available) and used from there.
15    
16     Also, in-memory structure will be dumped to temporary disk
17     cache, so that unchanged databases won't be re-read (and parsed) if source
18     database hasn't changed. Nice consequence of this is that memory lookups
19     are now for free (see below).
20    
21     =head2 Two-step processing of databases
22    
23     In first step database is read and in-memory structure is created (or
24     read from on-disk cache if source database hasn't changed).
25    
26     In second step output formats are created.
27    
28     =head2 Lookups
29    
30     For a start, lookup files are no longer supported. Since memory lookups
31 dpavlin 369 are newer and more powerful (for example, each key can have more than
32 dpavlin 352 one value) it's not a great loss. However, you will have to re-write
33     your C<import_xml> files if you use lookup files to use memory lookups.
34    
35 dpavlin 373 Lookups B<are not> specified by C<[v900^4]> as in v1.x. Now, you have
36     to use something like C<lookup{v900^4}>. Recursive lookups are also
37     possible: C<lookup{foo:lookup{v900^4}}>.
38    
39 dpavlin 369 Memory lookups (referred as lookups for new versions of WebPAC) are now
40 dpavlin 373 always available. Since whole database is available when creating
41 dpavlin 352 output linking should be much easier now.
42    
43 dpavlin 369 However, using new lookups require to define lookups in different way.
44 dpavlin 373 Additional benefit of that is conditional insert into lookup using eval
45     (TODO: explain new lookup format).
46 dpavlin 369
47 dpavlin 373 If you have any lookups in your tag (e.g. <isis>lookup{v900^5}</isis>)
48     smart delimiters will be turned off (this behaviour is consistent with
49     old in v1.x if you use C<type="lookup*"> or C<filter="mem_lookup">).
50    
51 dpavlin 369 =head2 Field definition in C<import_xml>
52    
53     Field definitions in C<import_xml> files has changed. Previously, you could
54     write something like C<250a> and expect to get data from field B<250> subfield
55     B<a>. Now you have to write C<v250^a> which is more ISIS-like and easier to
56     parse. Don't be afraid, there is migration script in C<import_xml> to do
57     this task for you.
58    
59     =head2 Templates
60    
61     Templateing engine has changed. WebPAC doesn't use C<HTML::Template> anymore,
62     but Template Toolkit. TT proved to be workhorse for many tasks
63     and limitations of C<HTML::Template> forced me to move from it.
64    
65     For you, the user, that will result in changes to all templates. I'm sorry
66     about this, but it had to be done.
67 dpavlin 375
68     =head2 Order of substitution
69    
70     This was never really documented, so here it is now:
71    
72     =over 5
73    
74     =item fields
75    
76     substitution of fields like C<v200^a> into values
77    
78     =item lookups
79    
80     next, lookups are performed (C<lookup{...}>)
81    
82     =item format
83    
84     then formats (defined by C<format_name=> and C<format_delimiter=>) are
85     applied. If formats have lookups, they will be performed again.
86    
87     =cut

  ViewVC Help
Powered by ViewVC 1.1.26