]> git.imager.perl.org - bse.git/blob - Changes.txt
change note for d2bde75c
[bse.git] / Changes.txt
1 BSE 0.24 - unreleased
2 ========
3
4 Bug fixes:
5
6  - clean up access control records for article when the article is
7    deleted
8    https://rt4.develop-help.com/Ticket/Display.html?id=1368
9
10  - lookup the scalecache path and uri consistently, and configure them
11    in the [paths] and [uri] sections.  This may break your site if you
12    didn't use the old defaults.
13    https://rt4.develop-help.com/Ticket/Display.html?id=1363
14    https://rt4.develop-help.com/Ticket/Display.html?id=1364
15
16 Enhancements:
17
18 Templates:
19
20
21 BSE 0.23 - 07 Sep 2012
22 ========
23
24 Bug fixes:
25
26  - <:.set ... :> would treat an unknown value (ENOIMPL) as an error
27    rather, instead of leaving the code in place
28
29  - removed the unused Squirrel::ImageEditor and AdminUtil modules.
30
31  - column names in generated queries are now quoted using the
32    identifier quote returned by the database driver.
33
34  - handle language ids of the form xx_XX.charset correctly when
35    performing message lookups.
36
37  - global images are now returned in the order specified in the
38    editor.
39
40 Enchancements:
41
42  - modify Generate::* classes to build templates by filename instead
43    of reading them into memory.  This will allow caching by
44    Squirrel::Template.
45    https://rt4.develop-help.com/Ticket/Display.html?id=1341
46
47  - add [basic].cache_templates_locally to configure Squirrel::Template
48    to cache templates in memory.  This removes the overhead of
49    (de-)serializing from/to an external cache, but may increase memory
50    use.
51
52  - tags can now depend on a tag from another category being selected
53    before being displayed.
54
55  - lookups in sql_statements are now cached.
56    https://rt4.develop-help.com/Ticket/Display.html?id=1352
57
58  - added collection_with_tags() to TagOwners (so it's usable for
59    Articles and Products, etc) to allow filtering the various
60    collection methods by tag.
61
62  - added bse.articles and bse.products for access to the Articles and
63    Products collection classes.
64
65  - order payment would fail if the CC fields weren't present.
66
67  - search index depth can now be configured in the config file
68
69  - some tests now clean up the articles they create more reliably
70
71  - $DATADIR is now configurable as [paths].data
72
73  - $IMAGEDIR and $IMAGES_URI are now reliably configurable as
74    [paths].images and [uri].images.
75
76  - better perl 5.16 compatibility (resolved some warnings)
77
78  - installation now updates installed scripts with the test.cfg
79    configured perl.
80
81  - tests now handle missing optional modules correctly
82
83  - added iterateBy() to Squirrel::Table for memory efficient iteration
84    over query results.
85
86  - revamped imageclean.pl:
87
88    - output is now controlled by templates
89
90    - added a command-line tool
91
92    - web UI is now access controlled
93
94    - the web UI now provides a preview of the work to be done, with
95      checkboxes to control which clean ups are done.
96
97    - now accounts for public files controlled by BSE::TB::Files.
98
99  - quoted shipping can now be disabled
100
101  - added the Courier::ByUnitAU shipping module.
102
103 Infrastructure:
104
105  - the test script directory (t) has been reorganized.
106
107  - configuration can now be loaded from a string to simplify building
108    config objects for testing.
109
110 Documentation:
111
112  - documented [basic].all_dynamic
113
114  - minor documentation updates to Squirrel::Table
115
116  - added a htmldocs target to the Makefile.  This requires a
117    HTMLDOCDIR parameter:
118
119      make htmldocs HTMLDOCDIR=/somewhere
120
121  - added tests for syntax check all pod
122
123  - improved documentation in Articles, BSE::AdminMenu and
124    Squirrel::Template::Processor.
125
126 Templates:
127
128  - admin.pl now properly passes the admin state to bse.* template
129    variables
130
131  - added templates admin/imageclean/intro.tmpl,
132    admin/imageclean/preview.tmpl and admin/imageclean/final.tmpl for
133    the updated imagclean.pl
134
135 BSE 0.22 - 08 Jun 2012
136 ========
137
138 Bug fixes:
139
140  - the search index builder was ignoring configured field scores.
141
142  - the customer is no longer asked to select a shipper and shipping is
143    set to zero for orders where all products have zero weight.
144    https://rt4.develop-help.com/Ticket/Display.html?id=1328
145
146  - template engine: template tags implemented as a literal were no
147    replaced when that literal was false. (4a446ac3)
148    https://rt4.develop-help.com/Ticket/Display.html?id=1342
149
150  - the body text markup doclink[] accepts link aliases, but didn't
151    allow for "-" in the alias.  All "-" and document aliases are
152    permitted.
153
154  - shopadmin order_paid and order_unpaid are now recorded in the audit
155    log instead of being added to special instructions.
156    https://rt4.develop-help.com/Ticket/Display.html?id=1326
157
158  - the scale() thumbnail operator, when used with a background would
159    paste rather than rubthrough() the source, leaving tranparent areas
160    black.  If a fill is supplied, it is now always used for
161    transparent images.
162
163  - generate the correct refresh URL when the user isn't logged on
164    attempting to request an admin page.
165
166 Enhancements:
167
168  - automatic image insertion can now be disabled globally or on a
169    per-article basis.
170    https://rt4.develop-help.com/Ticket/Display.html?id=1331
171
172  - templating re-re-work:
173    - still backward compatible
174    - new, faster, more regular processing internal to tags:
175      - variables supplied by code, similarly to TT, Mason
176      - macro definitions
177      - call macros or files with parameters and localized variables
178    - integration into BSE itself still limited, but one step at a
179      time.
180
181  - briefly documented bsexlsprod.pl (site/docs/bse_import.pod)
182
183  - bsexlsprod.pl can now update article tags
184
185  - bsexlsprod.pl can now update tiered pricing
186
187  - make the eimage variable available on the admin/image_edit template
188    and use it to display a thumbnail.
189    https://rt4.develop-help.com/Ticket/Display.html?id=1290
190
191  - add the Courier::FixedAU shipping driver.
192
193  - that an order was manually paid is now recorded separately from the
194    payment type.
195    https://rt4.develop-help.com/Ticket/Display.html?id=1325
196
197  - the shopadmin order_paid target now accepts a paymentType variable
198    to optionally set a new payment type on manual payment
199    https://rt4.develop-help.com/Ticket/Display.html?id=1325
200
201  - the shopadmin order_paid and order_unpaid now require csfrp tokens.
202
203  - siteuser admin view and edit targets now also accept userId to
204    identify the user.
205    https://rt4.develop-help.com/Ticket/Display.html?id=1351
206
207 Templates:
208
209  - admin/order_detail.tmpl - the product tag now uses tag_article as
210    it should.
211
212  - admin/order_detail.tmpl - added order, payment_types and
213    payment_type_desc as template variables.
214
215  - admin/subscr/list - isubscription is now an object tag, giving
216    access to the is_removable method
217    https://rt4.develop-help.com/Ticket/Display.html?id=1323
218
219  - admin/subscr/edit, admin/subscr/detail - subscription is now an
220    object tag
221
222 BSE 0.21 - 07 Mar 2012
223 ========
224
225  - Squirrel::Template has largely been rewritten performing a parsing
226    then a processing step rather than doing many, many s/// over the
227    template text.
228
229  - verbose output of generate.pl is now based on the template
230    admin/generate.tmpl
231
232  - add the referer tag to all dynamic pages
233
234  - added [undeletable articles] to bse.cfg as a supplement to
235    @NO_DELETE.  @NO_DELETE is now deprecated and may be removed in a
236    future release of BSE.
237    https://rt4.develop-help.com/Ticket/Display.html?id=1209
238
239  - iterator inlines can now be filtered (Adrian Oldham)
240
241  - added some more extension to content type mappings for video
242    formats (Adrian Oldham)
243
244  - the shopadmin order list targets are now much more efficient - they
245    no longer load the entire order table, are paginated, and let the
246    data do the selection of matching records.
247
248    NOTE: this removes some backward compatibility - iterator filters
249    no longer work and a new tag, all_order_count can be used to fetch
250    order counts.  Extra search parameters have been provided to filter
251    the results.
252
253  - added a new adminurl2 tag where the second parameter is a target.
254
255  - siteusers.pl now flashes all success messages, and success message
256    text is fetched from the messages table
257
258  - added is_released and is_expired methods to Article.  This should
259    be visible to article tags in templates.
260
261  - more consistently use tag_article on the admin side of the site.
262
263  - make tag_article smarter so it can call more methods
264
265  - consistently use admin_tags instead of the old collection of admin
266    tag methods.
267
268  - tag_object (used for object style tags) now checks
269    restricted_method() if implemented for the object.
270
271  - the editor file iterator is now an object iterator, and the efile
272    tag on the file edit page is now an object tag
273
274  - add file_exists to BSE::TB::Article::File
275    https://rt4.develop-help.com/Ticket/Display.html?id=1288
276
277  - refactored makeIndex.pl into makeIndex.pl (web) and
278    util/bse_makeindex.pl (console).
279    Output from these is now encoded using the default BSE encoding.
280    makeIndex.pl can now produce HTML output using admin/makeindex.tmpl
281    The bse_make_index background process now uses the console version.
282    https://rt4.develop-help.com/Ticket/Display.html?id=1301
283
284  - admin-mode article links now ignore the admin value stored in the
285    article record and always return a link to admin.pl for that
286    article.
287
288  - add a missing comma to BSE::UI, preventing a warning.
289
290 Bug fixes:
291
292  - thumb.pl would return content types with doubled image/ prefixes,
293    eg. image/image/jpeg
294
295  - update BSE::AdminUsers, BSE::ChangePW, BSE::UI::AdminReport to use
296    more modern admin tags
297    https://rt4.develop-help.com/Ticket/Display.html?id=1234 (partial)
298    (Adrian Oldham for BSE::ChangePW, BSE::UI::AdminReport)
299
300  - with [site].secureadmin enabled, refreshes to the secure admin url
301    could cause a 500 error.
302
303  - check nomatch fields even for blank fields.  Otherwise a field with
304    a LF or CR would not be caught by the dh_one_line validation rule.
305
306  - saving a tag from the tag manager without changing the name or
307    deleting a tag that doesn't exist would result in a 500 error.
308    https://rt4.develop-help.com/Ticket/Display.html?id=1287
309
310  - setting an unfilled order's stage to "shipped" now sets whoFilled
311    and whenFilled for the order.
312    https://rt4.develop-help.com/Ticket/Display.html?id=1286
313
314  - an empty title (but no missing) when saving a user or group file no
315    longer defaults that to the file display name.
316    https://rt4.develop-help.com/Ticket/Display.html?id=1303
317
318  - validation errors are now correctly displayed for adding a user or
319    group file
320    https://rt4.develop-help.com/Ticket/Display.html?id=1302
321
322  - supplying an empty content type when saving a user or group file
323    now resets the content type to that derived from the file's display
324    name.
325    https://rt4.develop-help.com/Ticket/Display.html?id=1304
326
327  - fix the message id for the "move up a level to section" message in
328    the possible parents drop down.
329
330  - error_img would produce an inline stack trace from an internal
331    error on a failed logon. (logon.pl)
332
333 Templates:
334
335  - admin/order_list*.tmpl - see the order list re-work above.
336
337  - you can now use <:- and -:> as tag delimiters to consume whitespace
338    on the left and right of the tag.
339
340  - Squirrel::Template now documents the template syntax more regularly.
341
342  - Squirrel::Template is now much faster in most cases.
343
344  - admin/subscr/detail - the subscription orders iterator now includes
345    the billFirstName, billLastName and filled fields from the
346    order. (Adrian Oldham)
347
348 Internals:
349
350  - added a getCount() method to retrieve a count of matching records.
351
352 BSE 0.20 - 22 Dec 2011
353 ========
354
355 Please read any NOTES below carefully.
356
357  - store a truncated card number for credit card payments (both online
358    and email).  Reinstate storage of the card holder name in ccName.
359    ccNumberHash is no longer populated.
360
361  - ifNeedDelivery (checkoutnew_base.tmpl) wasn't being reset on order
362    submission.
363
364  - the site_users table has been refactored into the bse_siteusers
365    table, removing the bill* fields and adding deliv* fields.  Other
366    obsolete fields have also been removed.
367
368    NOTE: To preserve your registered users on upgrade, run the
369    provided schema/site_users_to_members.sql SQL through the mysql
370    tool.  This will create entries in bse_siteusers corresponding to
371    those in your original site_users table.  You MUST start with an
372    empty bse_siteusers table or the script will throw an error.
373
374    NOTE: Any configuration such as report definitions, query group
375    definitions should now refer to bse_siteusers instead of
376    site_users.
377
378  - Data::UUID 1.148 is now required
379
380  - remove target entry for the shop confirm action, which was
381    otherwise removed years ago. RT #1280.
382
383  - logon now starts a new session, preserving the cart.  As a
384    side-effect this logs out the admin user, though this may
385    change.  RT #1279.
386
387  - passing a new session id between the SSL and non-SSL versions of
388    the site is now validated.  RT #1279.
389
390    NOTE: This requires that [site].secret be set to a value specific
391    to your site.  Running:
392
393      openssl rand -base64 32
394
395    generates a suitable value.
396
397  - delete the session data for a site users session when they logoff.
398    As a side effect this will log out the admin user.
399
400  - allow dynamic content pages to display flashed messages with the
401    message tag.  Note that not all actions flash a message.
402
403 Template updates:
404
405  - checkoutpay_base.tmpl - the name of the cardHolder payment field is
406    now ccName.
407
408  - admin/order_detail.tmpl - order ccPAN can be used to display the
409    truncated card number.
410
411  - user/options_billing_base.tmpl and its generated template have been
412    renamed with s/billing/delivery/ since it now contains delivery
413    details.  The link to it from user/options(_base).tmpl has also
414    been updated.
415
416  - user/options_base.tmpl, user/register_base.tmpl,
417    admin/users/(add,edit,view).tmpl have been updated to match the new
418    site users schema.
419
420  - user/logon_base.tmpl, user/register_base.tmpl - updated the
421    "nothing is more permanent that a temporary solution" link text for
422    logon, register and recover password.
423
424  - shopitem.tmpl - display the flashed message, if any.
425
426  - removed the unused checkoutcard and checkoutconfirm templates
427
428  - added admin/generate.tmpl for generate.pl progress output.
429
430  - added admin/makeindex.tmpl for search index verbose output
431
432 Internals:
433
434  - Squirrel::Table->make now looks for default_I<colname> when looking
435    for default values for a column.