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 template change from adriam (edit_steps.tmpl):
21 Finally fixed something that has bugged me for a while... I simply
22 moved the "if Kids" conditional to include the note about "Delete
23 only removes the stepkid relationship..." since not much point in
24 showing that is no step kids available... the step parent panel
29 printable.pl now attempts to look for a content type for a given
30 template. This can be used for different types of presentation, for
35 printable.pl now uses the configured charset if set.
45 the change to using HTML::Entities cause CR characters to be encoded
46 when written to the browser. This causes some browsers some
47 confusion. The article and product tags in BSE::Edit::Article and
48 BSE::Edit::Product now remove these before output.
52 if a ## or ** list didn't have a final newline the final item wasn't
53 included in the conversion to a HTML list
57 some new templates from Adrian
61 Adrian added some more default user level permissions
71 article matching for global permissions was still broken. The change
72 broke access to the descendants flag, but it all seems to be working
77 forgot to include access.pod in the MANIFEST. Added it.
81 added descriptions of the step child/parent permissions to access.pod
85 the possible stepparents drop-down checked if the possible stepparents
86 could have children, but didn't check if the current article could
97 article and global permissions should now be listed sorted by their
102 the not and descendants flags were being ignored on global permissions
106 stepchildren and stepparents had no access control at all, now they
107 do. Note that you may sometimes get a save button on the step
108 parent/children page with no fields to edit - this means you have save
109 rights on the current article but not on any of the listed step
114 fixed shopitem template from Adrian
118 more navigation links in the user/group management pages
128 the logon processing code was calling the logon processing code rather
129 than the logon form code on a failed logon. This cause infinite
134 removed the pointless Admin menu link from the logon form
138 add.pl was producing a warning when called without an id parameter
142 generate.pl didn't refresh properly if the user didn't have permission
147 the menu now only shows the regenerate options if the user has
152 move.pl (used to handle the reording arrows) didn't even compile
156 the hide/show links on the product detail page pointed at the wrong
157 place, and were still shown if the user didn't have the rights to do
162 the edit_product template displayed the hide/show link even if the
163 user wasn't permitted to do so
167 new templates from adrian to hardcode the text color in the file lists
178 the ifUserCan tag wasn't converting article names into numbers
183 a few pages didn't supply the article parameter to ifUserCan correctly
184 (or at all in some cases)
194 global permissions simply didn't work, due to a dumb bug
198 the user/group admin pages now display buttons and checkboxes more
199 intelligently, depending on the user's rights
203 the user/group save processing was trying to call an undefined method
204 if the user didn't have access to a function. As was the add form in
205 add.pl if there wasn't an article the user could add to at the given
210 the hide/unhide links on the edit_product page pointed at the wrong
215 image, file, stepchild and stepparent changes now regenerate the
216 article (depending on the auto generate flag in Constants.pm). You
217 will probably want to do a site regen when you're done still, since it
218 only regenerates the article you're working with, not it's
219 stepchildren and step parents.
223 link the edituser and editgroup help to the adduser and addgroup help
224 files respectively and add entries for the groups and members field
229 added a help file for the access panel help icon to link to.
239 product_detail.tmpl hadn't been converted to use the global money tag
243 different versions of CGI::Cookie use different default paths, we now
248 really store the date and _time_ in the order date.
252 if the system needs you to logon for checkout, it now supplies the
253 correct parameter to the logon code to return you to the checkout
258 when setting configuration values from test.cfg with the:
260 I<section>.I<key> = I<value>
262 syntax, I<section> can now have spaces in it.
266 added some basic permission descriptions, and documentation on the
277 the title field could be changed on products that had been ordered (an
278 edit field was presented for the summary field, but wasn't saved)
282 edit_0.tmpl had two manage access forms on it
286 use the new system logon rather than just checking for a browser
287 authentication userid, when marking an order filled.
291 attempt to account for differences between what browsers send us for
292 text areas (currently only for the body)
296 prevent <br> between each element of a <ol> or <ul> list, and try to
297 prevent one after the end. Double spaced entries in a list are now
298 followed by <br>s to make it easier to do spaced out lists.
302 new hide and unhide targets for add.pl to make the links in the
303 product list work again
307 the save target for existing articles in add.pl now checks the user is
312 the product link on the final checkout page was broken (adrian)
316 the reordering links were displayed on the shop index page with the
321 the query used to retrieve user, group and everyone permissions from
322 the database was broken. Broke it into three separate queries. I
323 wish mysql supported unions
327 you can now logout if you logged in using the form based logon
331 creating a user, saving an existing user or deleting a user will now
332 create an apache suitable user file, if the htusers field in [basic]
343 mysql_build.pl wasn't cleaning up old tables, and since we use it for
344 two different projects, the tables from another project were being
349 annoying and numerous warning from Squirrel::Template eliminated
353 change admin.pl to check the admin user is logged on
357 change generate.pl to check the admin user is logged on and has the
358 access needed to regen
362 change move.pl to check the admin user is logged on and has the rights
363 to perform the move requested
367 change reorder.pl to check the admin user is logged on and has the
368 rights to perform the reorder requested
372 change shopadmin.pl to check the admin user is logged on and that they
373 have the rights needed to perform the requested operation
377 change subs.pl to check the admin user is logged on and that they have
378 the rights needed to perform the requested operation
382 BSE::Permissions::user_has_perms() now accepts an article id,
383 simplifying some code
387 added orderfiles iterator to the userpage.
391 updates to BSE::Edit::Article to only allow movements when the user
392 has appropriate rights
396 field change permissions
408 thumbnails are now saved when editing an existing article
412 the code to save keys to config sections which didn't already exist
417 the total_extras custom hook now takes two extra parameters, the
418 config object and a "stage" of processing, either "cart", "checkout",
419 "confirm" or "final".
423 new customization hook order_mail_actions($order, $items, $products,
424 $state, $cfg) for adding extra tags to the confirmation and order
435 pass the configuration object to each BSE::Custom method
439 new shop target, "checkupdate" intended for updating information on
440 the checkout page for customizations
444 you can now set extra configuration items in test.cfg using
446 I<section>.I<key> = I<value>
448 (Adrian asked for this a while back.)
456 logon page (only seen if access control is enabled)
460 start of access control
470 ability to control permissions each admin user and group has access to
474 new help for image manager, other updated help files, many template
475 changes, thanks to Adrian.
479 deleting admin users and groups
483 selectable payment types
487 when sending a subscription with HTML content, the boundary between
488 MIME parts has been changed to hopefully prevent problems with some
493 when sending a subscription with HTML content, any carriage-returns
494 are converted into linefeed to hopefully prevent problems when sending
495 subscriptions based on Macintosh format files to some mail clients.
499 htmlemail/basic.tmpl now includes a DOCTYPE, which will hopefully
500 prevent problems with some mail clients.
504 conditionals are now handled differently in the templating system to
505 avoid some of the undefined value warnings it was producing.
509 added fields intended for custom processing to the orders table
515 This is a development release. If you want stable try 0.12_01, since
516 many destabilizing changes have occurred since then.
518 If you install this release it's possible the upgrade_mysql.pl script
519 cannot be used to upgrade to a later release.
525 oops, forgot to implement deleting articles, so I implemented it for
526 articles and unused products
530 you can now add admin groups and users. This is in progress and the
531 templates and code still need work.
535 image files weren't being deleted when an image was deleted from an
540 the page refreshed to the normal article edit page after deleting an
541 image, it should refresh to the image list
545 updated and new templates and new file icons from Adrian
555 added handling for a default template based on parent, level and type.
556 Returns to our original defaults from %LEVEL_DEFAULTS, but uses the
561 now lists level specific templates in the templates drop-down for
566 updated templates from Adrian
570 since the default release date for new products is now the date the
571 product was added, and release is a datetime, add_item()'s check to
572 make sure the product had been released was broken, since it only
573 compared it with a date.
577 the purchase() and prePurchase() functions in shop.pl had a similar
582 articles weren't being regenerated on save
586 report errors supplied to show_cart() in shop.pl
590 changed add_item() to report why it didn't add an item to the cart via
595 t/t00smoke.t now checks add.pl for normal articles, catalogs and
600 removed now unneeded onClick handler from delete in the image manager
606 This release includes some inactive files for access control.
612 replace edit_2.tmpl (which replaces edit_[345].tmpl) too
616 fix a dumb bug that prevented changes to the base article fields from
627 test script to check that all modules and scripts have use strict and
628 all scripts have -w in the #! line
632 the width and height values were swapped for display of an articles
633 images in the image manager template
637 children weren't sorted on article editing pages
641 updated templates from Adrian.
645 added a previousLogon field to accept the last value of lastLogon at
646 logon, so the previous value could be displayed.
650 editing an article would give a server error on save (due to some late
661 the wrong url was redirected to after adding a new image or saving images
665 manage catalogs now points back at shopadmin.pl
669 removed the "Image Wizard" buttons and replaced them with "Manage
670 Images" links in the image displays. (and fixed some missing </td> tags)
680 added child_types() method to BSE::Edit::Product so it knows what
681 child types a product can have. This meant that the Add Product
682 button on the view in edit page was trying to add a normal article
683 rather than a product. Typically a type parameter should be supplied
684 when creating new articles which aren't base articles.
688 shopadmin.pl was still using $imageEditor even though it wasn't
693 t00smoke.t wasn't checking shopadmin.pl
697 edit_[1-5].tmpl and edit_catalog.tmpl included the starting <form> tag
698 in a conditional, breaking the form when creating a new article
704 When installing this release over earlier releases:
710 run mysql_upgrade.pl to upgrade the database schema
714 start the mysql shell and run the following query in your database:
716 update image set displayOrder = id;
718 to preserve image ordering.
722 the <:if art:> conditional tag is no longer available
726 This is a development release, intended to test the new code in BSE,
727 in preparation for adding security mechanisms. This is not intended
728 for production use yet.
730 Please see the known problems list.
736 was parsing wrap parameters when there weren't any, which caused
737 warnings in the error log
741 you couldn't create a new subscription with the archiving switched off
745 if you edited a subscription, and unset the archive check, the save
750 article editing is being almost completely rewritten to allow more
755 article image management has been completely rewritten so that the
756 changes you make are immediate, rather than relying on the user to
757 save the article after making changes. This prevents the problem that
758 sometimes crops up where the images you're editing are for the wrong
759 article, or left over from an aberted attempt to create a new article.
761 This change also means you can't add images to an article until the
762 article has been created.
766 previously the order of images would change at the whim of the
767 database, which happened pretty rarely but still happened. Added a
768 displayOrder field to images, and we base the ordering (and
769 re-ordering) on that instead of whatever the database chooses to give
774 products and catalogs use the new editing code
778 new tags on edit pages to give access to validation errors (most
779 noticable on the add product page for now),
783 added an "old" tag to take a value from either the cgi parameters or a
784 given other tag. This makes error reporting more natural
794 the code allows the product title and summary to be changed. The new
795 security code will correct this (and allow them to be changed, or the
796 product to be deleted, for unused products)
800 only add_product.tmpl has the new error reporting and old value access
805 the delete/undelete links for products don't work. Currently the same
806 functionality is available through the Listed drop-down, but it might
807 be desirable to keep the links, comments welcome.
813 Some derived tags may not work with the new fields, since I've
814 switched to the version of Squirrel::Template used by Resource, which
815 should reduce memory consumption a little, once all the tags are
818 I think I have all the derived tags, but there might be one I
825 added ifAncestor conditional tag
829 added iterator children_of and tag ofchild, usage:
833 <:iterator begin children_of I<parent_id1> ...:>
835 <:iterator end children_of:>
841 added iterator inlines and tag inline, usage:
845 <:iterator begin inlines I<article_id1> ...:>
847 <:iterator end inlines:>
853 more test code to test the above (now I have the infrastructure to
854 simplify adding these types of tests
860 0.11_21 seems stable enough.
864 Assuming no other problems are found this will become 0.12
870 oops, missed some updated templates from Adrian, applied bse_changes
881 another set of new templates from Adrian
885 extended title and email fields of site_user to 127 and 255 characters
896 remove debugging code from Generate::excerpt() (#142)
900 added script interest.pl to send an email to the site owner when the
901 user registers interest in a product (#133)
911 must_be_filled really fixed now (#128)
915 was calling function (now_sqldatetime()) that didn't exist
919 integrated new templates from Adrian, hopefully I got the right
924 <:moveallprod:> for the catalogs page (#122)
928 admin link for new catalogs now points at admin.pl (#120)
938 removed extraneous <:embed end:> from printable.tmpl
942 prevent access to parent fields from autovivifying $parent in
943 Generate::Article::baseActs(), which caused ifParent to return true.
947 gen.pl now enables the query cache even for small batches, since it
948 makes a big difference.
952 products pages now remove the <:embed start:> and <:embed end:>
957 need a space between "checked" and the closing "/>" in
958 options_base.html for the checked to be recognized.
962 keepAddress stayed checked once checked
966 must_be_filled is now correctly looked up in [downloads] - it was
967 looking in [download] (#128)
971 prevent a warning about using a regexp range of [\w-.] by making it
972 [\w.-] (BSE::UserReg)
976 store the date _and_ time in the orderDate field so that orders are
977 sorted correctly on the user page. (#132)
981 add sort order after date to sort by id descending for orders on the
986 highlight multi-word matches in search excerpts (#125)
990 help for body text from add product page (#118)
994 new templates from Adrian
998 when creating a new product, the release date was being set to
999 2001-01-01, rather than the more useful C<today> (whatever day that
1000 happens to be). This was mostly visible to the search engine. (#130)
1004 images list now available on edit_product.html page
1014 updated templates from Adrian (which I forgot to add in 0.11_15
1025 moved step kids/step parents management to their own page (if you use
1026 the old edit templates you can keep them on the same page.)
1030 added file_unlink option to [debug] in bse.cfg
1034 added mail_encryption option to [debug] in bse.cfg
1038 minor reorganization of mail encryption to avoid a "Odd number of
1039 elements in hash assignment" error in some circumstances.
1043 added help to the article editor pages
1051 added <:movestepkid:> tag to the Generate::Article set of tags
1055 added the BSE::Version class and the <:release:> tag
1059 more admin templates (most of the edit_*.tmpl) can now be controlled
1060 from the config file.
1064 fixed a broken in-page link from the refresh after adding a stepparent
1068 fixed an uninitialized value warning introduced in 0.11_14
1072 changed the misleading "Uploaded files" to "Uploaded images" on the
1083 imageclean.pl now keeps thumbnail images
1087 new display templates from adrian
1091 added the stepkids and allkids options to ifUnderThreshold.
1095 documented the C<kb>, C<date>, C<ifEq>, C<ifMatch> and C<cfg> tags.
1101 This is a test release.
1107 added the kb tag which formats the result of it's arguments with a k
1108 suffix if the value is over 1000. This can be used for making file
1109 size displays prettier.
1113 the config variable wasn't being passed into the ImageEditor object in
1120 This is a test release.
1126 make the downloadable files feature available on other pages
1130 add code to support downloads of non-paid for files
1140 make the url tag generate the full url on "extra" pages.
1150 test.cfg now has a C<securl> option to control the configured secure url
1154 added site/doc/secure.pod, describing security considerations
1158 article title field has been extended to 255 characters. The title
1159 edit field maximum length can be controlled with the C<title_size>
1160 item in [field] in F<bse.cfg>.
1164 you can get access to the currently logged in user on the checkout and
1165 cart pages using the C<ifUser> conditional tag and the C<user> value
1170 stripped some more common code out of shop.pl
1174 extended the common cfg tag to take a third default value parameter
1178 search result excerpts can now bold partial matches
1182 the page regenerator didn't handle the case where a port name was
1183 present in the secure url.
1187 now generate gen.html from gen.pl
1191 added POD to site/docs/makedocs and generate the HTML
1195 added POD to site/util/upgrade_mysql.pod and generate a HTML version
1199 when a user logs on and the secure url is different from the base url,
1200 BSE now refreshes to the other side of the site to set the same
1201 session cookie there. This allows session information to be shared
1202 with the two sides of the site.
1204 There is a known issue with this: any session information (like the
1205 shopping cart) stored on the other side of the site is not retained.
1215 updated user/* templates from Adrian
1219 checkout code for the shop didn't pass in the config object to the
1224 work around a bug in the search index builder
1228 finally added some test code. This isn't ready for general use yet and
1229 could damage your system. So don't use it.
1233 BSE::Cfg now checks the current directory as well as $FindBin::Bin,
1234 this lets initial.pl work
1240 This is a test release.
1242 I still need to integrate some of the customization hooks from the
1249 remove dependency on Time::HiRes (this was used for benchmarking while
1250 speeding up the site regen.)
1254 the global date tag didn't handle a date where the time was missing
1255 (like article.lastModified). And it ignored the time when it did
1256 manage to extract it.
1260 remove query caching change reports (Table.pm)
1266 This is a test release.
1272 initial.pl now looks at the config file for the secure base url
1276 BSE::Util::Secure wasn't importing md5_hex
1280 added missing user/email_conferror_base.tmpl
1284 the user/confirmed.tmpl entry was missing from [pregenerate] in the
1285 supplied bse.cfg. Also user/email_conferror.tmpl
1289 the randomdata key was missing from the [basic] section in the
1294 changed message in site/templates/user/toosoon_base.tmpl to prevent
1295 panic when the user goes back and selects another group
1299 changed meaning of ifUser in user templates to accept a parameter if
1304 updated user/options_base.tmpl to display email confirmed information
1305 a bit more correctly
1309 the admin can choose to hide some subscriptions
1315 This is a test release.
1317 I wouldn't be suprised to find problems in this release, there have
1318 been a lot of changes.
1320 Still needs some documenting.
1326 optimized generate_all() for large sites. Despite the fact most of
1327 the improvement came from caching, generate seems to use less memory.
1331 added gen.pl command-line regen script
1335 added option to generate.pl to just regen extras and base pages
1339 $URLBASE and $SECURLBASE from Constants.pm have been moved to C<url>
1340 and C<secureurl> in the C<[site]> section of bse.cfg
1344 datadump.pl now uses the newer database configs (has it worked
1345 recently?) and the newer mail interfaces.
1349 subscriptions management - interfaces to add new subscription
1350 (newsletter) types, and displays options in user options to allow a
1351 user to subscribe. To prevent abuse by spammers (maybe) and by other
1352 attackers, we get the user to confirm subscription of their email
1353 address. This is big.
1357 %EXTRA_TAGS has been moved to C<[extra tags]> in bse.cfg
1363 This is a test release.
1369 added base_tags() to BSE::Custom (tags available during static
1370 generation of most pages.)
1374 step(kids|parents) now available to all articles, though you may have
1375 some problems connecting the shop articles (catalogs,products) to
1380 standard date tag available in most places
1384 the <:summary:> tag now takes an optional which parameter, defaulting
1389 you can now specify the default template for children of a given
1394 you can specify extra template directories to search while editing a
1399 moved the side bar logon form to it's own article (loaded by
1400 initial.pl) and added it to the side bar subsection.
1404 shortened the long message used in the refresh back to user.pl when
1405 the user has file based products in their cart, but hasn't logged in.
1406 This was causing problems with IE6. It now attempts to pull a longer
1407 message out of the config file.
1417 handling of downloads from the user page is handled better: you don't
1418 get a download link unless the file is downloadable, and rejected
1419 download results in a refresh to the user page rather than just
1420 displaying the user page
1424 the logon and register pages can now be passed a refresh url, which
1425 the shop uses when it refreshes to the logon page
1429 add an orders button when logged in
1433 the file list was messed up
1439 Another test release:
1445 actually tested the form filling with the user's defaults
1449 modify localinst.perl to remove the default bse.cfg
1453 have the checkout function return if the user needs to register (shop.pl)
1457 check in a few more places if the user needs to register (shop.pl)
1461 changed names of fields in SiteUsers to match the checkout form
1465 added telephone and facsimile fields to the user options
1477 supports files attached to products for sale
1485 we now have a config file
1491 Looks like all known problems are fixed. Time to do a semi-major
1500 hopefully fixed an occasionaly problem where the images would reorder
1511 make the depth parameter in <:embed which template depth:> work
1515 give the sitemap a lower depth since 7 levels (5 + the level1 and 2)
1526 try to avoid dividing entered prices by 100 when there's an error on
1527 the product edit/add form. There's still some potential problems
1528 here, but they're much less likely to cause a problem.
1532 remove the border from image[] generated images
1536 move the error message on the product add form so it isn't mixed up
1541 the dummy product used to generate the product edit form after an
1542 error wasn't useful for getting step catalogs, get the real product
1543 object just for that.
1553 remove the border from embedded images with a url
1557 fixed an old bug that defaulted the threshold from the template (oops)
1561 the ... in <:image which align ...:> or <:image which field ...:> is
1562 now appended to the attributes of the image field. If it includes a
1563 border attribute the default border attribute is suppressed.
1573 new order_list templates from adrian (moved the filter forms into the table)
1577 fixed the image wizard for products. I'm suprised this ever worked.
1578 Wasn't preserving parentid when creating a new product.
1582 new edit_product template from adrian
1586 stupid bug in BSE::Shop::Util
1590 email is now in BSE::CustomBase->required_fields() and can be removed
1591 by BSE::Custom->required_fields(). If it is removed then no
1592 validation of the email address is performed.
1596 state changes made in handling the confirm page are now saved
1600 added strict to a few modules
1604 added missing error handling methods to BSE::Mail.
1608 old tag on the confirm tag now never gives the undef value message
1612 if you specify a embedding depth less than the current maximum, you
1613 won't get an error message embedded when passing that depth. This
1614 lets you do more interesting effects.
1618 shop.pl now writes mail sending errors to STDERR (to the error log on
1619 apache) rather than aborting the order display (since the order
1620 actually exists at this point.)
1630 support for filtering the order lists by dates entered by the user
1634 make the add section link work, and make the link itself a little more
1639 removed some old debug code
1643 make BSE::Custom->checkout_actions() work on the confirmation page
1653 documented new tags for Product.pm and Article.pm
1657 shopadmin.pl can list/move the stepkids (you can hide them too)
1661 added some tests to test if various iterators show anything,
1662 ifProducts, ifAnyProds, ifStepProds.
1672 put the reorder links into the edit templates
1676 fix expire labels for edit_1.tmpl and edit_catalog.tmpl
1680 reordering from the catalog works
1684 reordering from the product editor works
1696 fixed the ordering of items in the allprods tag
1700 make allprods always work with products
1704 realware wanted a confirmation page
1710 Another test release:
1716 initial step kids|parents for the shop
1720 new popup menu templates from Adrian
1724 added acknowledgements to AUTHOR section
1730 Test release for Adrian, with his new templates.
1734 Test release for Adrian.
1738 Don't use this version.
1744 URLs can be directly associated with an image
1748 multiple levels of catalogs
1756 filtering/sorting of orders from the template
1760 embedded templates can be based on the template of the article being
1765 order status information, marking an order has having been filled
1769 better handling of generation errors
1773 partial support for Microsoft SQL Server under IIS
1777 extended price tag for the cart and checkout pages
1781 prePurchase target for the shop, to allow custom credit card processing
1785 template based filtering of the order list
1795 added the admin/reorder.pl script
1799 template names in <: embed :> tags have $ replaced with the template
1800 name of the article.
1810 added the image[] tag (image[index|align|url])
1814 added printable.pl, site/templates/printable/printable.tmpl to allow
1815 printable versions of pages (among other things)
1819 implemented the ifCurrentPage tag
1829 added <:siteUrl:> tag in %EXTRA_TAGS (used by the RSS templates)
1833 fixed broken template value for the formatting guide (initial.pl)
1837 fixed broken admin links for the formatting guide (initial.pl)
1841 the formatting guide now generates to
1842 http://your.site/a/format_guide.html (initial.pl)
1846 RDF/RSS is now generated to /a/site.rdf. This includes links and
1847 titles for the articles on the home page, and a search field (if the
1848 tool displaying the RSS supports that.)
1854 WARNING: the tag for articles found for a search has changed from:
1862 There is a new module required: HTML::Parser
1868 the <:embed child:> tags meaning has been expanded to allow embedding
1869 of any article with an optional template
1873 there's now an embed[] tag for use in body text. Both this and
1874 <:embed ... :> are protected against infinite recursion.
1878 changed display values for sections etc in Constants.pm, you can still
1879 put your own in when you customize.
1883 the default templates for each level have been set to a single
1884 template, for a simpler default setup
1888 new admin index pages, which may display a little better in some
1893 you can move articles between levels, if enabled in Constants.pm
1897 unquoted search terms will do "start of word" searches if enabled in
1902 html[] tags and <html> body text now has tags stripped when displayed
1903 as a summary or as a search excerpt. The search indexing can now
1904 handle both of these too.
1908 the search template now uses 'result' rather than 'article' for the
1909 search result entries. This is needed since the search base page is
1910 generated as an article, using a dummy article. The title and
1911 titleImage for this dummy article can be specified in Constants.pm.
1915 you can now control whether an unlisted level1 article is displayed in
1916 the crumbs for an article. By default unlisted level1 articles are
1921 a bunch of new templates from adrian, including moving the common
1922 layout into base.tmpl where possible, support for "sidebars".
1926 a formatting guide article in initial.pl (from adrian) (and then an
1927 updated version of it)
1931 renamed INSTALL to INSTALL.txt to prevent wierdness if someone tries
1932 "make install" on a case-insensitive file system.
1936 administration templates are now kept in the admin directory in the
1941 added simple test installer. WARNING: this destroys the existing content
1946 distribution now includes site/htdocs/shop as a directory rather than
1951 schema/bse.sql now drops the tables if they already exist
1955 the item description in the shopping cart is now a link to the item
1959 changed some defaults in Constants.pm
1963 catalog templates from $TMPLDIR/templates/catalogs weren't being handled
1974 added support for controlling access to the regenerate option
1978 added the ability to disable auto-regeneration
1980 this initially broke some buttons, fixed
1984 properly escape child properties in add.pl
1988 removing an article now removes any associated images
1992 removing an image from an article now removes the image file when you
1997 added datadump.pl (send an email containing a mysql datadump), with
1998 configuration in Constants.pm
2002 added imageclean.pl - cleans up the image table and images directory
2006 added an advanced admin page with links to datadump.pl and
2007 imageclean.pl (you can change these of course).
2011 previously it was possible for a user with admin rights to choose a
2012 template that was outside the templates directory.
2022 modified administration templates
2026 formatting is now stripped from body text before an excerpt is
2027 produced (for the search results).
2033 I'll add in the 0.07 change list as soon as I figure out what I changed...
2035 Once I get my old 0.08 RC that may include the 0.07 change list.
2039 Some changes are being made to allow the engine to be embedded into a
2040 site (specifically squirrelweb.com.au).
2046 Bug fix: shop.pl had a silly exporter mistake, and a sillier reference
2047 to an unknown variable name.
2051 changed admin links to buttons for the catalog and product pages,
2052 added a Display button to the product page.
2056 cleaned up the shopitem, cart_base, checkout_base, checkoutfinal_base,
2057 mailorder and mailconfirm templates, removing tags that don't work in
2058 them, removing references to bodyscoop, fixing broken images, removed
2063 %EXTRA_TAGS now work in mailorder and mailconfirm templates
2067 You can now use $SHOP_EMAIL_ORDER to disable sending the encrypted
2068 order. (Useful only for testing or until you get encryption keys
2069 organized - there's no other way to get the credit card number and
2074 Generate/Product.pm had a hard-coded link to the internal test
2079 some base URIs can be configured, though this still needs some work.
2089 Bug fix: only add the class attribute to thumbnails if one is supplied
2094 Moved shop configuration from shop.pl to Constants.pm
2098 Extended template field to 127 characters so directories can be used
2099 without chopping off names.
2103 Added installation documentation.
2107 Templates in the drop-down lists in add.pl now includes templates from
2108 $TMPLDIR/$level and $TMPLDIR/common.
2112 crumbs now include the section, whether or not they are listed.
2116 added templates.pod, which contains most templating documentation,
2117 copied from new documentation in various places (shop.pl, search.pl,
2122 search.pl wasn't handling single-quoted search terms correctly
2130 more changes to support multiple catalogs:
2136 the initial catalog can be removed. The initial catalog isn't useful
2137 when you need more than one catalog. If you want multiple catalogs
2138 you need to remove the initial catalog and then add new ones. The
2139 templates need work too.
2143 the link/admin fields for the new article are set correctly (oops)
2147 added a sample section template for a multi-catalog shop
2153 the sample templates look better, along with better title images
2157 the shop was being generated with a non-secure url
2161 parent articles were not being regenerated when an article was deleted
2167 You will need to recreate the articles table, since a new column has
2168 been added to support article thumbnails.
2174 Added article thumbnails.
2178 Multiple product catalogs.
2182 leadTime is now modifiable in products.
2186 Bug fix: only list .tmpl files from template directories in article
2191 Bug fix: prevent adding non-catalog subsections to the shop section.
2195 Bug fix: the crumbs iterator no longer shows crumbs that have "don't
2196 list in menu" set. Such subsections often shouldn't be linked to.
2200 The documentation on article templates has been improved.
2204 Some tags that operate on articles have been expanded to work on all
2205 article objects available in the template.
2211 Tony Cook <tony@develop-help.com>
2213 I originally wrote BSE while an employee at SquirrelWeb
2214 (http://www.squirrelgroup.com/) for one of VisualThought's clients,
2215 bodyScoop.com (http://www.bodyScoop.com.au/).
2217 Most of the BSE templates were created by Adrian Oldham of Visual
2218 Thought Communications (http://www.visualthought.com.au) He also
2219 funded and suggested many improvements.
2221 Realware Systems (http://www.realware.com.au/) funded the nested
2222 catalogs, IIS support, the image access tags, and many other shop
2223 improvements, including most of the BSE::Custom hooks.