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