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 |
369 |
Memory lookups (referred as lookups for new versions of WebPAC) are now |
36 |
|
|
available always. Since whole database is available when creating |
37 |
dpavlin |
352 |
output linking should be much easier now. |
38 |
|
|
|
39 |
dpavlin |
369 |
However, using new lookups require to define lookups in different way. |
40 |
|
|
Additional benefit of that is conditional insert into lookup using eval. |
41 |
|
|
|
42 |
|
|
=head2 Field definition in C<import_xml> |
43 |
|
|
|
44 |
|
|
Field definitions in C<import_xml> files has changed. Previously, you could |
45 |
|
|
write something like C<250a> and expect to get data from field B<250> subfield |
46 |
|
|
B<a>. Now you have to write C<v250^a> which is more ISIS-like and easier to |
47 |
|
|
parse. Don't be afraid, there is migration script in C<import_xml> to do |
48 |
|
|
this task for you. |
49 |
|
|
|
50 |
|
|
=head2 Templates |
51 |
|
|
|
52 |
|
|
Templateing engine has changed. WebPAC doesn't use C<HTML::Template> anymore, |
53 |
|
|
but Template Toolkit. TT proved to be workhorse for many tasks |
54 |
|
|
and limitations of C<HTML::Template> forced me to move from it. |
55 |
|
|
|
56 |
|
|
For you, the user, that will result in changes to all templates. I'm sorry |
57 |
|
|
about this, but it had to be done. |