3 BSE - an engine for simple magazine style WWW sites.
7 BSE is an engine for creating simple magazine type web sites.
9 Maybe I'll add some other bits here.
19 DevHelp::HTML, used to provide HTML and URI escaping wasn't including
20 a required module. D'oh.
24 the keywords tag in the search page was being overridden by a tag of
25 the same name in the global article tags. The old global C<keywords>
26 tag wasn't very useful and has been removed.
30 the templates drop-down in the subscriptions system included
35 the crumbs iterator is now available on the article edit pages, and we
36 now present a path on the main edit page
40 you can now use <:crumb I<fieldname>:> to get to crumb article
41 information. The current <:crumbs I<fieldname>:> will be obsoleted at
42 some point in the future.
46 the content of the help files no longer render as links in Mozilla
50 C<< <:typename I<which>:> >> tag added to the article editor pages
54 the list of articles available to page generation was in the wrong
59 when access control was switched off, links were displayed to permit
60 deletion of articles with children, when they shouldn't have. (#221)
64 Most article editor actions now accept an r parameter which can be
65 used to decide what happens after the action. (#225, #226)
67 The save_new action adds an id parameter onto the end of the supplied
68 url if the r parameter is supplied.
72 more messages are included when the article editor successfully
73 performs an action (#225)
77 article editor and generator tags that generate arrows now take an
78 image prefix parameter which can be used to select alternate arrow
79 images. A second parameter can also be used to add onto the refresh
80 URL to supply extra information to the refreshed to page. (#224, #225,
85 some code in BSE::Util::Tags was calling CGI::escapeHTML() at regen
96 the list of templates in the drop down on the article edit page didn't
97 reflect the local_templates config option correctlt.
101 validation errors weren't always reported (or acted upon) correctly
105 when an invalid product options string was stored a 500 error was
106 produced when generating the page
110 the image tag wasn't including a closing " at the end of the alt
115 the article generation code no longer relies upon CGI.pm functions for
116 escaping HTML, URIs or producing product option popups, this should
117 make it possible to use gen.pl from cron jobs without getting prompts
122 catalogs had two buttons labelled "Add product", but one added
123 catalogs. Relabelled the one that adds catalogs to "Add Sub-catalog".
127 the ifnew tag on edit templates is no longer available, use ifNew
128 instead (this was true as of 0.12_22)
132 added a flags field to articles, this is used for both BSE internal
133 flags and for site specific flags.
137 the search index builder will now only index articles that are listed,
138 or have the "Index even if hidden" (I) flag set. Changed the simple
139 search test to search for a non-hidden article.
143 the title field of all articles are now validated to include at least
144 one non-space character
148 validation failures on images and files are now available via the
153 the move image up/down action on the images manager were refreshing to
154 the wrong page after reordering the images
158 changed default level names in Constants.pm and bse.cfg
162 changed tests to use the new level names
166 templates admin/subs/add.tmpl and admin/add_product.tmpl have be
167 consolidated into their edit versions
177 added iterator allkids_of to iterate over the children and
178 stepchildren of a given article.
182 <:iterator begin allkids_of I<parent_id1> ...:>
183 <:ofallkid I<field>:>
184 <:iterator end allkids_of:>
190 when you clicked send from the subscriptions list the archive parent
191 field wasn't being set from the value set when adding/editing the
196 generate_search() wasn't supplying a config object when creating the
197 article generator. This caused problems when some article types were
198 embedded within the search page.
202 added mailing list info
206 $TMPLDIR is no longer present or used in Constants.pm. Use templates
207 in the [paths] section of the config file.
211 The path specified by the local_templates entry in [paths] is now
212 searched for templates before the path specified by the templates
213 entry in [paths]. This can be used to keep locally modified versions
214 of templates separate from the distributed templates.
218 reordering arrows now display a filler image where there's a single
219 missing arrow image (at the top and bottom of the list). No spacer is
220 displayed if there's a single item.
224 added tt[text], pre[text], h1[class|text] through h6[class|text],
225 class[class|text] tags to the body text formatter. Paragraphs are now
226 closed by the body text formatter.
230 added a few more tests
240 template change from adrian (edit_steps.tmpl):
242 Finally fixed something that has bugged me for a while... I simply
243 moved the "if Kids" conditional to include the note about "Delete
244 only removes the stepkid relationship..." since not much point in
245 showing that is no step kids available... the step parent panel
250 printable.pl now attempts to look for a content type for a given
251 template. This can be used for different types of presentation, for
256 printable.pl now uses the configured charset if set.
266 the change to using HTML::Entities cause CR characters to be encoded
267 when written to the browser. This causes some browsers some
268 confusion. The article and product tags in BSE::Edit::Article and
269 BSE::Edit::Product now remove these before output.
273 if a ## or ** list didn't have a final newline the final item wasn't
274 included in the conversion to a HTML list
278 some new templates from Adrian
282 Adrian added some more default user level permissions
292 article matching for global permissions was still broken. The change
293 broke access to the descendants flag, but it all seems to be working
298 forgot to include access.pod in the MANIFEST. Added it.
302 added descriptions of the step child/parent permissions to access.pod
306 the possible stepparents drop-down checked if the possible stepparents
307 could have children, but didn't check if the current article could
318 article and global permissions should now be listed sorted by their
323 the not and descendants flags were being ignored on global permissions
327 stepchildren and stepparents had no access control at all, now they
328 do. Note that you may sometimes get a save button on the step
329 parent/children page with no fields to edit - this means you have save
330 rights on the current article but not on any of the listed step
335 fixed shopitem template from Adrian
339 more navigation links in the user/group management pages
349 the logon processing code was calling the logon processing code rather
350 than the logon form code on a failed logon. This cause infinite
355 removed the pointless Admin menu link from the logon form
359 add.pl was producing a warning when called without an id parameter
363 generate.pl didn't refresh properly if the user didn't have permission
368 the menu now only shows the regenerate options if the user has
373 move.pl (used to handle the reording arrows) didn't even compile
377 the hide/show links on the product detail page pointed at the wrong
378 place, and were still shown if the user didn't have the rights to do
383 the edit_product template displayed the hide/show link even if the
384 user wasn't permitted to do so
388 new templates from adrian to hardcode the text color in the file lists
399 the ifUserCan tag wasn't converting article names into numbers
404 a few pages didn't supply the article parameter to ifUserCan correctly
405 (or at all in some cases)
415 global permissions simply didn't work, due to a dumb bug
419 the user/group admin pages now display buttons and checkboxes more
420 intelligently, depending on the user's rights
424 the user/group save processing was trying to call an undefined method
425 if the user didn't have access to a function. As was the add form in
426 add.pl if there wasn't an article the user could add to at the given
431 the hide/unhide links on the edit_product page pointed at the wrong
436 image, file, stepchild and stepparent changes now regenerate the
437 article (depending on the auto generate flag in Constants.pm). You
438 will probably want to do a site regen when you're done still, since it
439 only regenerates the article you're working with, not it's
440 stepchildren and step parents.
444 link the edituser and editgroup help to the adduser and addgroup help
445 files respectively and add entries for the groups and members field
450 added a help file for the access panel help icon to link to.
460 product_detail.tmpl hadn't been converted to use the global money tag
464 different versions of CGI::Cookie use different default paths, we now
469 really store the date and _time_ in the order date.
473 if the system needs you to logon for checkout, it now supplies the
474 correct parameter to the logon code to return you to the checkout
479 when setting configuration values from test.cfg with the:
481 I<section>.I<key> = I<value>
483 syntax, I<section> can now have spaces in it.
487 added some basic permission descriptions, and documentation on the
498 the title field could be changed on products that had been ordered (an
499 edit field was presented for the summary field, but wasn't saved)
503 edit_0.tmpl had two manage access forms on it
507 use the new system logon rather than just checking for a browser
508 authentication userid, when marking an order filled.
512 attempt to account for differences between what browsers send us for
513 text areas (currently only for the body)
517 prevent <br> between each element of a <ol> or <ul> list, and try to
518 prevent one after the end. Double spaced entries in a list are now
519 followed by <br>s to make it easier to do spaced out lists.
523 new hide and unhide targets for add.pl to make the links in the
524 product list work again
528 the save target for existing articles in add.pl now checks the user is
533 the product link on the final checkout page was broken (adrian)
537 the reordering links were displayed on the shop index page with the
542 the query used to retrieve user, group and everyone permissions from
543 the database was broken. Broke it into three separate queries. I
544 wish mysql supported unions
548 you can now logout if you logged in using the form based logon
552 creating a user, saving an existing user or deleting a user will now
553 create an apache suitable user file, if the htusers field in [basic]
564 mysql_build.pl wasn't cleaning up old tables, and since we use it for
565 two different projects, the tables from another project were being
570 annoying and numerous warning from Squirrel::Template eliminated
574 change admin.pl to check the admin user is logged on
578 change generate.pl to check the admin user is logged on and has the
579 access needed to regen
583 change move.pl to check the admin user is logged on and has the rights
584 to perform the move requested
588 change reorder.pl to check the admin user is logged on and has the
589 rights to perform the reorder requested
593 change shopadmin.pl to check the admin user is logged on and that they
594 have the rights needed to perform the requested operation
598 change subs.pl to check the admin user is logged on and that they have
599 the rights needed to perform the requested operation
603 BSE::Permissions::user_has_perms() now accepts an article id,
604 simplifying some code
608 added orderfiles iterator to the userpage.
612 updates to BSE::Edit::Article to only allow movements when the user
613 has appropriate rights
617 field change permissions
629 thumbnails are now saved when editing an existing article
633 the code to save keys to config sections which didn't already exist
638 the total_extras custom hook now takes two extra parameters, the
639 config object and a "stage" of processing, either "cart", "checkout",
640 "confirm" or "final".
644 new customization hook order_mail_actions($order, $items, $products,
645 $state, $cfg) for adding extra tags to the confirmation and order
656 pass the configuration object to each BSE::Custom method
660 new shop target, "checkupdate" intended for updating information on
661 the checkout page for customizations
665 you can now set extra configuration items in test.cfg using
667 I<section>.I<key> = I<value>
669 (Adrian asked for this a while back.)
677 logon page (only seen if access control is enabled)
681 start of access control
691 ability to control permissions each admin user and group has access to
695 new help for image manager, other updated help files, many template
696 changes, thanks to Adrian.
700 deleting admin users and groups
704 selectable payment types
708 when sending a subscription with HTML content, the boundary between
709 MIME parts has been changed to hopefully prevent problems with some
714 when sending a subscription with HTML content, any carriage-returns
715 are converted into linefeed to hopefully prevent problems when sending
716 subscriptions based on Macintosh format files to some mail clients.
720 htmlemail/basic.tmpl now includes a DOCTYPE, which will hopefully
721 prevent problems with some mail clients.
725 conditionals are now handled differently in the templating system to
726 avoid some of the undefined value warnings it was producing.
730 added fields intended for custom processing to the orders table
736 This is a development release. If you want stable try 0.12_01, since
737 many destabilizing changes have occurred since then.
739 If you install this release it's possible the upgrade_mysql.pl script
740 cannot be used to upgrade to a later release.
746 oops, forgot to implement deleting articles, so I implemented it for
747 articles and unused products
751 you can now add admin groups and users. This is in progress and the
752 templates and code still need work.
756 image files weren't being deleted when an image was deleted from an
761 the page refreshed to the normal article edit page after deleting an
762 image, it should refresh to the image list
766 updated and new templates and new file icons from Adrian
776 added handling for a default template based on parent, level and type.
777 Returns to our original defaults from %LEVEL_DEFAULTS, but uses the
782 now lists level specific templates in the templates drop-down for
787 updated templates from Adrian
791 since the default release date for new products is now the date the
792 product was added, and release is a datetime, add_item()'s check to
793 make sure the product had been released was broken, since it only
794 compared it with a date.
798 the purchase() and prePurchase() functions in shop.pl had a similar
803 articles weren't being regenerated on save
807 report errors supplied to show_cart() in shop.pl
811 changed add_item() to report why it didn't add an item to the cart via
816 t/t00smoke.t now checks add.pl for normal articles, catalogs and
821 removed now unneeded onClick handler from delete in the image manager
827 This release includes some inactive files for access control.
833 replace edit_2.tmpl (which replaces edit_[345].tmpl) too
837 fix a dumb bug that prevented changes to the base article fields from
848 test script to check that all modules and scripts have use strict and
849 all scripts have -w in the #! line
853 the width and height values were swapped for display of an articles
854 images in the image manager template
858 children weren't sorted on article editing pages
862 updated templates from Adrian.
866 added a previousLogon field to accept the last value of lastLogon at
867 logon, so the previous value could be displayed.
871 editing an article would give a server error on save (due to some late
882 the wrong url was redirected to after adding a new image or saving images
886 manage catalogs now points back at shopadmin.pl
890 removed the "Image Wizard" buttons and replaced them with "Manage
891 Images" links in the image displays. (and fixed some missing </td> tags)
901 added child_types() method to BSE::Edit::Product so it knows what
902 child types a product can have. This meant that the Add Product
903 button on the view in edit page was trying to add a normal article
904 rather than a product. Typically a type parameter should be supplied
905 when creating new articles which aren't base articles.
909 shopadmin.pl was still using $imageEditor even though it wasn't
914 t00smoke.t wasn't checking shopadmin.pl
918 edit_[1-5].tmpl and edit_catalog.tmpl included the starting <form> tag
919 in a conditional, breaking the form when creating a new article
925 When installing this release over earlier releases:
931 run mysql_upgrade.pl to upgrade the database schema
935 start the mysql shell and run the following query in your database:
937 update image set displayOrder = id;
939 to preserve image ordering.
943 the <:if art:> conditional tag is no longer available
947 This is a development release, intended to test the new code in BSE,
948 in preparation for adding security mechanisms. This is not intended
949 for production use yet.
951 Please see the known problems list.
957 was parsing wrap parameters when there weren't any, which caused
958 warnings in the error log
962 you couldn't create a new subscription with the archiving switched off
966 if you edited a subscription, and unset the archive check, the save
971 article editing is being almost completely rewritten to allow more
976 article image management has been completely rewritten so that the
977 changes you make are immediate, rather than relying on the user to
978 save the article after making changes. This prevents the problem that
979 sometimes crops up where the images you're editing are for the wrong
980 article, or left over from an aberted attempt to create a new article.
982 This change also means you can't add images to an article until the
983 article has been created.
987 previously the order of images would change at the whim of the
988 database, which happened pretty rarely but still happened. Added a
989 displayOrder field to images, and we base the ordering (and
990 re-ordering) on that instead of whatever the database chooses to give
995 products and catalogs use the new editing code
999 new tags on edit pages to give access to validation errors (most
1000 noticable on the add product page for now),
1004 added an "old" tag to take a value from either the cgi parameters or a
1005 given other tag. This makes error reporting more natural
1015 the code allows the product title and summary to be changed. The new
1016 security code will correct this (and allow them to be changed, or the
1017 product to be deleted, for unused products)
1021 only add_product.tmpl has the new error reporting and old value access
1026 the delete/undelete links for products don't work. Currently the same
1027 functionality is available through the Listed drop-down, but it might
1028 be desirable to keep the links, comments welcome.
1034 Some derived tags may not work with the new fields, since I've
1035 switched to the version of Squirrel::Template used by Resource, which
1036 should reduce memory consumption a little, once all the tags are
1039 I think I have all the derived tags, but there might be one I
1046 added ifAncestor conditional tag
1050 added iterator children_of and tag ofchild, usage:
1054 <:iterator begin children_of I<parent_id1> ...:>
1055 <:ofchild I<field>:>
1056 <:iterator end children_of:>
1062 added iterator inlines and tag inline, usage:
1066 <:iterator begin inlines I<article_id1> ...:>
1068 <:iterator end inlines:>
1074 more test code to test the above (now I have the infrastructure to
1075 simplify adding these types of tests
1081 0.11_21 seems stable enough.
1085 Assuming no other problems are found this will become 0.12
1091 oops, missed some updated templates from Adrian, applied bse_changes
1102 another set of new templates from Adrian
1106 extended title and email fields of site_user to 127 and 255 characters
1117 remove debugging code from Generate::excerpt() (#142)
1121 added script interest.pl to send an email to the site owner when the
1122 user registers interest in a product (#133)
1132 must_be_filled really fixed now (#128)
1136 was calling function (now_sqldatetime()) that didn't exist
1140 integrated new templates from Adrian, hopefully I got the right
1145 <:moveallprod:> for the catalogs page (#122)
1149 admin link for new catalogs now points at admin.pl (#120)
1159 removed extraneous <:embed end:> from printable.tmpl
1163 prevent access to parent fields from autovivifying $parent in
1164 Generate::Article::baseActs(), which caused ifParent to return true.
1168 gen.pl now enables the query cache even for small batches, since it
1169 makes a big difference.
1173 products pages now remove the <:embed start:> and <:embed end:>
1178 need a space between "checked" and the closing "/>" in
1179 options_base.html for the checked to be recognized.
1183 keepAddress stayed checked once checked
1187 must_be_filled is now correctly looked up in [downloads] - it was
1188 looking in [download] (#128)
1192 prevent a warning about using a regexp range of [\w-.] by making it
1193 [\w.-] (BSE::UserReg)
1197 store the date _and_ time in the orderDate field so that orders are
1198 sorted correctly on the user page. (#132)
1202 add sort order after date to sort by id descending for orders on the
1207 highlight multi-word matches in search excerpts (#125)
1211 help for body text from add product page (#118)
1215 new templates from Adrian
1219 when creating a new product, the release date was being set to
1220 2001-01-01, rather than the more useful C<today> (whatever day that
1221 happens to be). This was mostly visible to the search engine. (#130)
1225 images list now available on edit_product.html page
1235 updated templates from Adrian (which I forgot to add in 0.11_15
1246 moved step kids/step parents management to their own page (if you use
1247 the old edit templates you can keep them on the same page.)
1251 added file_unlink option to [debug] in bse.cfg
1255 added mail_encryption option to [debug] in bse.cfg
1259 minor reorganization of mail encryption to avoid a "Odd number of
1260 elements in hash assignment" error in some circumstances.
1264 added help to the article editor pages
1272 added <:movestepkid:> tag to the Generate::Article set of tags
1276 added the BSE::Version class and the <:release:> tag
1280 more admin templates (most of the edit_*.tmpl) can now be controlled
1281 from the config file.
1285 fixed a broken in-page link from the refresh after adding a stepparent
1289 fixed an uninitialized value warning introduced in 0.11_14
1293 changed the misleading "Uploaded files" to "Uploaded images" on the
1304 imageclean.pl now keeps thumbnail images
1308 new display templates from adrian
1312 added the stepkids and allkids options to ifUnderThreshold.
1316 documented the C<kb>, C<date>, C<ifEq>, C<ifMatch> and C<cfg> tags.
1322 This is a test release.
1328 added the kb tag which formats the result of it's arguments with a k
1329 suffix if the value is over 1000. This can be used for making file
1330 size displays prettier.
1334 the config variable wasn't being passed into the ImageEditor object in
1341 This is a test release.
1347 make the downloadable files feature available on other pages
1351 add code to support downloads of non-paid for files
1361 make the url tag generate the full url on "extra" pages.
1371 test.cfg now has a C<securl> option to control the configured secure url
1375 added site/doc/secure.pod, describing security considerations
1379 article title field has been extended to 255 characters. The title
1380 edit field maximum length can be controlled with the C<title_size>
1381 item in [field] in F<bse.cfg>.
1385 you can get access to the currently logged in user on the checkout and
1386 cart pages using the C<ifUser> conditional tag and the C<user> value
1391 stripped some more common code out of shop.pl
1395 extended the common cfg tag to take a third default value parameter
1399 search result excerpts can now bold partial matches
1403 the page regenerator didn't handle the case where a port name was
1404 present in the secure url.
1408 now generate gen.html from gen.pl
1412 added POD to site/docs/makedocs and generate the HTML
1416 added POD to site/util/upgrade_mysql.pod and generate a HTML version
1420 when a user logs on and the secure url is different from the base url,
1421 BSE now refreshes to the other side of the site to set the same
1422 session cookie there. This allows session information to be shared
1423 with the two sides of the site.
1425 There is a known issue with this: any session information (like the
1426 shopping cart) stored on the other side of the site is not retained.
1436 updated user/* templates from Adrian
1440 checkout code for the shop didn't pass in the config object to the
1445 work around a bug in the search index builder
1449 finally added some test code. This isn't ready for general use yet and
1450 could damage your system. So don't use it.
1454 BSE::Cfg now checks the current directory as well as $FindBin::Bin,
1455 this lets initial.pl work
1461 This is a test release.
1463 I still need to integrate some of the customization hooks from the
1470 remove dependency on Time::HiRes (this was used for benchmarking while
1471 speeding up the site regen.)
1475 the global date tag didn't handle a date where the time was missing
1476 (like article.lastModified). And it ignored the time when it did
1477 manage to extract it.
1481 remove query caching change reports (Table.pm)
1487 This is a test release.
1493 initial.pl now looks at the config file for the secure base url
1497 BSE::Util::Secure wasn't importing md5_hex
1501 added missing user/email_conferror_base.tmpl
1505 the user/confirmed.tmpl entry was missing from [pregenerate] in the
1506 supplied bse.cfg. Also user/email_conferror.tmpl
1510 the randomdata key was missing from the [basic] section in the
1515 changed message in site/templates/user/toosoon_base.tmpl to prevent
1516 panic when the user goes back and selects another group
1520 changed meaning of ifUser in user templates to accept a parameter if
1525 updated user/options_base.tmpl to display email confirmed information
1526 a bit more correctly
1530 the admin can choose to hide some subscriptions
1536 This is a test release.
1538 I wouldn't be suprised to find problems in this release, there have
1539 been a lot of changes.
1541 Still needs some documenting.
1547 optimized generate_all() for large sites. Despite the fact most of
1548 the improvement came from caching, generate seems to use less memory.
1552 added gen.pl command-line regen script
1556 added option to generate.pl to just regen extras and base pages
1560 $URLBASE and $SECURLBASE from Constants.pm have been moved to C<url>
1561 and C<secureurl> in the C<[site]> section of bse.cfg
1565 datadump.pl now uses the newer database configs (has it worked
1566 recently?) and the newer mail interfaces.
1570 subscriptions management - interfaces to add new subscription
1571 (newsletter) types, and displays options in user options to allow a
1572 user to subscribe. To prevent abuse by spammers (maybe) and by other
1573 attackers, we get the user to confirm subscription of their email
1574 address. This is big.
1578 %EXTRA_TAGS has been moved to C<[extra tags]> in bse.cfg
1584 This is a test release.
1590 added base_tags() to BSE::Custom (tags available during static
1591 generation of most pages.)
1595 step(kids|parents) now available to all articles, though you may have
1596 some problems connecting the shop articles (catalogs,products) to
1601 standard date tag available in most places
1605 the <:summary:> tag now takes an optional which parameter, defaulting
1610 you can now specify the default template for children of a given
1615 you can specify extra template directories to search while editing a
1620 moved the side bar logon form to it's own article (loaded by
1621 initial.pl) and added it to the side bar subsection.
1625 shortened the long message used in the refresh back to user.pl when
1626 the user has file based products in their cart, but hasn't logged in.
1627 This was causing problems with IE6. It now attempts to pull a longer
1628 message out of the config file.
1638 handling of downloads from the user page is handled better: you don't
1639 get a download link unless the file is downloadable, and rejected
1640 download results in a refresh to the user page rather than just
1641 displaying the user page
1645 the logon and register pages can now be passed a refresh url, which
1646 the shop uses when it refreshes to the logon page
1650 add an orders button when logged in
1654 the file list was messed up
1660 Another test release:
1666 actually tested the form filling with the user's defaults
1670 modify localinst.perl to remove the default bse.cfg
1674 have the checkout function return if the user needs to register (shop.pl)
1678 check in a few more places if the user needs to register (shop.pl)
1682 changed names of fields in SiteUsers to match the checkout form
1686 added telephone and facsimile fields to the user options
1698 supports files attached to products for sale
1706 we now have a config file
1712 Looks like all known problems are fixed. Time to do a semi-major
1721 hopefully fixed an occasionaly problem where the images would reorder
1732 make the depth parameter in <:embed which template depth:> work
1736 give the sitemap a lower depth since 7 levels (5 + the level1 and 2)
1747 try to avoid dividing entered prices by 100 when there's an error on
1748 the product edit/add form. There's still some potential problems
1749 here, but they're much less likely to cause a problem.
1753 remove the border from image[] generated images
1757 move the error message on the product add form so it isn't mixed up
1762 the dummy product used to generate the product edit form after an
1763 error wasn't useful for getting step catalogs, get the real product
1764 object just for that.
1774 remove the border from embedded images with a url
1778 fixed an old bug that defaulted the threshold from the template (oops)
1782 the ... in <:image which align ...:> or <:image which field ...:> is
1783 now appended to the attributes of the image field. If it includes a
1784 border attribute the default border attribute is suppressed.
1794 new order_list templates from adrian (moved the filter forms into the table)
1798 fixed the image wizard for products. I'm suprised this ever worked.
1799 Wasn't preserving parentid when creating a new product.
1803 new edit_product template from adrian
1807 stupid bug in BSE::Shop::Util
1811 email is now in BSE::CustomBase->required_fields() and can be removed
1812 by BSE::Custom->required_fields(). If it is removed then no
1813 validation of the email address is performed.
1817 state changes made in handling the confirm page are now saved
1821 added strict to a few modules
1825 added missing error handling methods to BSE::Mail.
1829 old tag on the confirm tag now never gives the undef value message
1833 if you specify a embedding depth less than the current maximum, you
1834 won't get an error message embedded when passing that depth. This
1835 lets you do more interesting effects.
1839 shop.pl now writes mail sending errors to STDERR (to the error log on
1840 apache) rather than aborting the order display (since the order
1841 actually exists at this point.)
1851 support for filtering the order lists by dates entered by the user
1855 make the add section link work, and make the link itself a little more
1860 removed some old debug code
1864 make BSE::Custom->checkout_actions() work on the confirmation page
1874 documented new tags for Product.pm and Article.pm
1878 shopadmin.pl can list/move the stepkids (you can hide them too)
1882 added some tests to test if various iterators show anything,
1883 ifProducts, ifAnyProds, ifStepProds.
1893 put the reorder links into the edit templates
1897 fix expire labels for edit_1.tmpl and edit_catalog.tmpl
1901 reordering from the catalog works
1905 reordering from the product editor works
1917 fixed the ordering of items in the allprods tag
1921 make allprods always work with products
1925 realware wanted a confirmation page
1931 Another test release:
1937 initial step kids|parents for the shop
1941 new popup menu templates from Adrian
1945 added acknowledgements to AUTHOR section
1951 Test release for Adrian, with his new templates.
1955 Test release for Adrian.
1959 Don't use this version.
1965 URLs can be directly associated with an image
1969 multiple levels of catalogs
1977 filtering/sorting of orders from the template
1981 embedded templates can be based on the template of the article being
1986 order status information, marking an order has having been filled
1990 better handling of generation errors
1994 partial support for Microsoft SQL Server under IIS
1998 extended price tag for the cart and checkout pages
2002 prePurchase target for the shop, to allow custom credit card processing
2006 template based filtering of the order list
2016 added the admin/reorder.pl script
2020 template names in <: embed :> tags have $ replaced with the template
2021 name of the article.
2031 added the image[] tag (image[index|align|url])
2035 added printable.pl, site/templates/printable/printable.tmpl to allow
2036 printable versions of pages (among other things)
2040 implemented the ifCurrentPage tag
2050 added <:siteUrl:> tag in %EXTRA_TAGS (used by the RSS templates)
2054 fixed broken template value for the formatting guide (initial.pl)
2058 fixed broken admin links for the formatting guide (initial.pl)
2062 the formatting guide now generates to
2063 http://your.site/a/format_guide.html (initial.pl)
2067 RDF/RSS is now generated to /a/site.rdf. This includes links and
2068 titles for the articles on the home page, and a search field (if the
2069 tool displaying the RSS supports that.)
2075 WARNING: the tag for articles found for a search has changed from:
2083 There is a new module required: HTML::Parser
2089 the <:embed child:> tags meaning has been expanded to allow embedding
2090 of any article with an optional template
2094 there's now an embed[] tag for use in body text. Both this and
2095 <:embed ... :> are protected against infinite recursion.
2099 changed display values for sections etc in Constants.pm, you can still
2100 put your own in when you customize.
2104 the default templates for each level have been set to a single
2105 template, for a simpler default setup
2109 new admin index pages, which may display a little better in some
2114 you can move articles between levels, if enabled in Constants.pm
2118 unquoted search terms will do "start of word" searches if enabled in
2123 html[] tags and <html> body text now has tags stripped when displayed
2124 as a summary or as a search excerpt. The search indexing can now
2125 handle both of these too.
2129 the search template now uses 'result' rather than 'article' for the
2130 search result entries. This is needed since the search base page is
2131 generated as an article, using a dummy article. The title and
2132 titleImage for this dummy article can be specified in Constants.pm.
2136 you can now control whether an unlisted level1 article is displayed in
2137 the crumbs for an article. By default unlisted level1 articles are
2142 a bunch of new templates from adrian, including moving the common
2143 layout into base.tmpl where possible, support for "sidebars".
2147 a formatting guide article in initial.pl (from adrian) (and then an
2148 updated version of it)
2152 renamed INSTALL to INSTALL.txt to prevent wierdness if someone tries
2153 "make install" on a case-insensitive file system.
2157 administration templates are now kept in the admin directory in the
2162 added simple test installer. WARNING: this destroys the existing content
2167 distribution now includes site/htdocs/shop as a directory rather than
2172 schema/bse.sql now drops the tables if they already exist
2176 the item description in the shopping cart is now a link to the item
2180 changed some defaults in Constants.pm
2184 catalog templates from $TMPLDIR/templates/catalogs weren't being handled
2195 added support for controlling access to the regenerate option
2199 added the ability to disable auto-regeneration
2201 this initially broke some buttons, fixed
2205 properly escape child properties in add.pl
2209 removing an article now removes any associated images
2213 removing an image from an article now removes the image file when you
2218 added datadump.pl (send an email containing a mysql datadump), with
2219 configuration in Constants.pm
2223 added imageclean.pl - cleans up the image table and images directory
2227 added an advanced admin page with links to datadump.pl and
2228 imageclean.pl (you can change these of course).
2232 previously it was possible for a user with admin rights to choose a
2233 template that was outside the templates directory.
2243 modified administration templates
2247 formatting is now stripped from body text before an excerpt is
2248 produced (for the search results).
2254 I'll add in the 0.07 change list as soon as I figure out what I changed...
2256 Once I get my old 0.08 RC that may include the 0.07 change list.
2260 Some changes are being made to allow the engine to be embedded into a
2261 site (specifically squirrelweb.com.au).
2267 Bug fix: shop.pl had a silly exporter mistake, and a sillier reference
2268 to an unknown variable name.
2272 changed admin links to buttons for the catalog and product pages,
2273 added a Display button to the product page.
2277 cleaned up the shopitem, cart_base, checkout_base, checkoutfinal_base,
2278 mailorder and mailconfirm templates, removing tags that don't work in
2279 them, removing references to bodyscoop, fixing broken images, removed
2284 %EXTRA_TAGS now work in mailorder and mailconfirm templates
2288 You can now use $SHOP_EMAIL_ORDER to disable sending the encrypted
2289 order. (Useful only for testing or until you get encryption keys
2290 organized - there's no other way to get the credit card number and
2295 Generate/Product.pm had a hard-coded link to the internal test
2300 some base URIs can be configured, though this still needs some work.
2310 Bug fix: only add the class attribute to thumbnails if one is supplied
2315 Moved shop configuration from shop.pl to Constants.pm
2319 Extended template field to 127 characters so directories can be used
2320 without chopping off names.
2324 Added installation documentation.
2328 Templates in the drop-down lists in add.pl now includes templates from
2329 $TMPLDIR/$level and $TMPLDIR/common.
2333 crumbs now include the section, whether or not they are listed.
2337 added templates.pod, which contains most templating documentation,
2338 copied from new documentation in various places (shop.pl, search.pl,
2343 search.pl wasn't handling single-quoted search terms correctly
2351 more changes to support multiple catalogs:
2357 the initial catalog can be removed. The initial catalog isn't useful
2358 when you need more than one catalog. If you want multiple catalogs
2359 you need to remove the initial catalog and then add new ones. The
2360 templates need work too.
2364 the link/admin fields for the new article are set correctly (oops)
2368 added a sample section template for a multi-catalog shop
2374 the sample templates look better, along with better title images
2378 the shop was being generated with a non-secure url
2382 parent articles were not being regenerated when an article was deleted
2388 You will need to recreate the articles table, since a new column has
2389 been added to support article thumbnails.
2395 Added article thumbnails.
2399 Multiple product catalogs.
2403 leadTime is now modifiable in products.
2407 Bug fix: only list .tmpl files from template directories in article
2412 Bug fix: prevent adding non-catalog subsections to the shop section.
2416 Bug fix: the crumbs iterator no longer shows crumbs that have "don't
2417 list in menu" set. Such subsections often shouldn't be linked to.
2421 The documentation on article templates has been improved.
2425 Some tags that operate on articles have been expanded to work on all
2426 article objects available in the template.
2432 Tony Cook <tony@develop-help.com>
2434 I originally wrote BSE while an employee at SquirrelWeb
2435 (http://www.squirrelgroup.com/) for one of VisualThought's clients,
2436 bodyScoop.com (http://www.bodyScoop.com.au/).
2438 Most of the BSE templates were created by Adrian Oldham of Visual
2439 Thought Communications (http://www.visualthought.com.au) He also
2440 funded and suggested many improvements.
2442 Realware Systems (http://www.realware.com.au/) funded the nested
2443 catalogs, IIS support, the image access tags, and many other shop
2444 improvements, including most of the BSE::Custom hooks.