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