add should_index() method to articles
[bse.git] / Changes.txt
CommitLineData
1dd35c52
TC
1Bug 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
13Enhancements:
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
34Templates:
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
56API:
57
58Testing:
59
f22ab4f4 60BSE 0.24 - 11 Feb 2013
083f8c3b
TC
61========
62
63Bug fixes:
64
6302f177
TC
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
04c9c50c
TC
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
eef5c5f1
TC
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
5d073543
TC
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
083f8c3b
TC
104Enhancements:
105
feb91164
TC
106 - add support for exporting report results as CSV
107
5d073543
TC
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
083f8c3b
TC
143Templates:
144
eef5c5f1
TC
145 - admin/catalog.tmpl (maybe named differently) - removed the local
146 date and money tag definitions.
083f8c3b 147
5d073543
TC
148API:
149
150 - admin group creation now provides reasonable defaults
151
152Testing:
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
2c040ad6 163BSE 0.23 - 07 Sep 2012
fc3434bd
TC
164========
165
31976291
TC
166Bug fixes:
167
168 - <:.set ... :> would treat an unknown value (ENOIMPL) as an error
169 rather, instead of leaving the code in place
170
76e3caff
TC
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
cb91ce65
TC
179 - global images are now returned in the order specified in the
180 editor.
181
31976291
TC
182Enchancements:
183
fc3434bd
TC
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
0af36ae1
TC
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
451a9a40
TC
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.
31976291 206
76e3caff
TC
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
cb91ce65
TC
241 - quoted shipping can now be disabled
242
243 - added the Courier::ByUnitAU shipping module.
244
245Infrastructure:
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
76e3caff
TC
252Documentation:
253
254 - documented [basic].all_dynamic
255
256 - minor documentation updates to Squirrel::Table
257
23ef1b0b
TC
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
76e3caff
TC
268Templates:
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
3e9576c3 277BSE 0.22 - 08 Jun 2012
1e60d3c4
TC
278========
279
673086da
TC
280Bug fixes:
281
282 - the search index builder was ignoring configured field scores.
283
26b58957
TC
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
f2df73fd
TC
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
82d7cc3e
TC
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
5287a8fd
TC
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
24185186
TC
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
2549999a
TC
305 - generate the correct refresh URL when the user isn't logged on
306 attempting to request an admin page.
307
673086da
TC
308Enhancements:
309
1e60d3c4
TC
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
513aad53
TC
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
200069c7
TC
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
0190baba
TC
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
a45d595e
TC
333 - add the Courier::FixedAU shipping driver.
334
5287a8fd
TC
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
1b37733d
TC
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
29ff344f
TC
349Templates:
350
351 - admin/order_detail.tmpl - the product tag now uses tag_article as
352 it should.
353
5287a8fd
TC
354 - admin/order_detail.tmpl - added order, payment_types and
355 payment_type_desc as template variables.
356
a2ed0315
TC
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
e860a1d9 364BSE 0.21 - 07 Mar 2012
1be64ebd
TC
365========
366
b25f4d0f
TC
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
bf7dd331
TC
371 - verbose output of generate.pl is now based on the template
372 admin/generate.tmpl
1be64ebd 373
bf7dd331 374 - add the referer tag to all dynamic pages
1be64ebd 375
b23cb063
TC
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
1be64ebd 380
595e72db
TC
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
8ddd08f7
TC
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
3d99ca04
TC
397 - siteusers.pl now flashes all success messages, and success message
398 text is fetched from the messages table
399
54fada18
TC
400 - added is_released and is_expired methods to Article. This should
401 be visible to article tags in templates.
402
41cbde00
TC
403 - more consistently use tag_article on the admin side of the site.
404
c4df989c
TC
405 - make tag_article smarter so it can call more methods
406
47e33eae
TC
407 - consistently use admin_tags instead of the old collection of admin
408 tag methods.
409
a8d74b1e
TC
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
5f3c8bf8
TC
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
ec5a2133
TC
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
8329ce1b
TC
430 - add a missing comma to BSE::UI, preventing a warning.
431
bf7dd331
TC
432Bug fixes:
433
434 - thumb.pl would return content types with doubled image/ prefixes,
435 eg. image/image/jpeg
e728024c 436
c710d90c
TC
437 - update BSE::AdminUsers, BSE::ChangePW, BSE::UI::AdminReport to use
438 more modern admin tags
0611c441 439 https://rt4.develop-help.com/Ticket/Display.html?id=1234 (partial)
c710d90c 440 (Adrian Oldham for BSE::ChangePW, BSE::UI::AdminReport)
0611c441 441
5b2aab45
TC
442 - with [site].secureadmin enabled, refreshes to the secure admin url
443 could cause a 500 error.
444
8fb3d3d4
TC
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
a8a25cfd
TC
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
6e56cf75
TC
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
d9b0f5e1
TC
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
2c2618b0
TC
469 - fix the message id for the "move up a level to section" message in
470 the possible parents drop down.
471
c263b35e
TC
472 - error_img would produce an inline stack trace from an internal
473 error on a failed logon. (logon.pl)
474
8ddd08f7
TC
475Templates:
476
477 - admin/order_list*.tmpl - see the order list re-work above.
478
f8d5dfae 479 - you can now use <:- and -:> as tag delimiters to consume whitespace
b25f4d0f
TC
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)
f8d5dfae 489
8ddd08f7
TC
490Internals:
491
492 - added a getCount() method to retrieve a count of matching records.
493
2897cd79 494BSE 0.20 - 22 Dec 2011
6abd8ce8
TC
495========
496
b27af108
TC
497Please read any NOTES below carefully.
498
6abd8ce8
TC
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
b27af108
TC
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
be262d15
TC
522 - remove target entry for the shop confirm action, which was
523 otherwise removed years ago. RT #1280.
524
fb10b11e
TC
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
f13d1b43
TC
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
fb10b11e
TC
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
cd1c5bfa
TC
542 - allow dynamic content pages to display flashed messages with the
543 message tag. Note that not all actions flash a message.
544
6abd8ce8
TC
545Template updates:
546
b27af108
TC
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
fb10b11e
TC
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
cd1c5bfa
TC
566 - shopitem.tmpl - display the flashed message, if any.
567
62e56298
TC
568 - removed the unused checkoutcard and checkoutconfirm templates
569
5f3c8bf8
TC
570 - added admin/generate.tmpl for generate.pl progress output.
571
572 - added admin/makeindex.tmpl for search index verbose output
573
b27af108 574Internals:
6abd8ce8 575
b27af108
TC
576 - Squirrel::Table->make now looks for default_I<colname> when looking
577 for default values for a column.