#################################################################### # WebGUI Upgrade Gotchas # #################################################################### This file contains a list of any changes you should be aware of when upgrading from one version to the next, or even between multiple versions. Be sure to heed the warnings contained herein as they will save you many hours of grief. 7.10.27 -------------------------------------------------------------------- * Due to instability in the Clone module, WebGUI is now using Storable's dclone instead. Storable is a core Perl module, so you do not need to install anything new. * YUI has been upgraded to 2.9.0 in this release. 7.10.25 -------------------------------------------------------------------- * Custom WebGUI plugins written using WebGUI::Crud with hand built forms should be reviewed. A serious bug in how Crud handles forms has been fixed, and the side-effect of the bug is now that forms processed by updateFromFormPost must include ALL fields, otherwise the data in fields which are missing from the form will be lost. 7.10.24 -------------------------------------------------------------------- * WebGUI now depends on Business::OnlinePayment::AuthorizeNet. This version should install automatically via the testEnvironment.pl script, or the perl-standard CPAN module. 7.10.23 -------------------------------------------------------------------- * The default_search2 template had a bad template attachment pointing to an old WebGUI CSS Snippet called /webgui.css. Any attachment with that URL will be removed from ALL templates in the Search namespace. 7.10.21 -------------------------------------------------------------------- * WebGUI now depends on Kwargs. 7.10.17 -------------------------------------------------------------------- * Due to a formatting problem with form variables in the PayPal driver, WebGUI in-shop credit was not being recieved by PayPal. This means that Shop users were charged the full amount of the cart instead of the discounted amount. 7.10.15 -------------------------------------------------------------------- * WebGUI now depends on Geo::Coder::Googlev3 for it's Map asset * canView has to pass for any www_ methods to get called at all on account plugins. This is the correct behavior, but is a change in this version. Please review your custom account plugins to make sure you aren't relying on the old buggy behavior. 7.10.13 -------------------------------------------------------------------- * WebGUI now depends on XML::FeedPP::MediaRSS. 7.10.12 -------------------------------------------------------------------- * The Dashboard has been extended to include Asset Dashlets. This gives Assets fine control over which properties can be extended and which can't. Assets in the Dashboard can be set to be required, which prevents them from being deleted, and fixed, which prevents them from moved. * The StockData and WeatherData assets now include cache settings to reduce server side load. The browser interface for the StockData asset still does real time lookups. * A new macro has been added, LastModifiedBy. This returns the username of the user who last modified an Asset. If the asset in question is a Page Layout or Folder, then querying that asset will also check all children. * The Group form control has been extended to add a simple interface for adding new Groups and changing their membership. 7.10.11 -------------------------------------------------------------------- * Modified TimeField, now provides popupless immediate validation with an alert if the value is not interpretable when the user leaves that field 7.10.10 -------------------------------------------------------------------- * Asset metadata is now versioned. * The updated versions of HTML::Packer, JavaScript::Packer and CSS::Packer added for 7.10.9 require perl 5.8.9 or higher to run. 7.10.9 -------------------------------------------------------------------- * WebGUI now depends on Data::ICal for making and reading iCal feeds for the Calendar. * WebGUI now depends on updated versions of the HTML::Packer, JavaScript::Packer and CSS::Packer modules. These new versions have much better performance than their earlier incarnations. 7.10.4 -------------------------------------------------------------------- * WebGUI now depends on Monkey::Patch for doing sanely scoped monkeypatches. * WebGUI now depends on version 0.20 of Scope::Guard. 7.10.3 -------------------------------------------------------------------- * In the Collaboration System, previously the Group to Post group was also allowed to view the CS. This made it difficult to make the CS not viewable to regular users, so the behavior was removed in 7.10.3. If your site depended on the Group To Post being able to view the CS, then make the it a sub-group of Group To View. 7.10.2 -------------------------------------------------------------------- * The URL used by Display Message on Login always returns the user to the page where they logged in. If your site depended on the old, buggy behavior of returning the user to the home page after showing a message, then in the Settings you can assign Redirect After Login Url to /. * The UKPLayer - a slideshow that displays images as a movie - is in WebGUI again. Licencing information was overlooked. An upgrade to 7.10.1 will break the Matrix. This is fixed now. 7.10.1 -------------------------------------------------------------------- * WebGUI now depends on PerlIO::eol, for doing line ending translation. * The UK Flash player has been removed due to licensing issues with Debian and the GPL. If you need this functionality, try using the Carousel Asset instead. 7.10.0 -------------------------------------------------------------------- * Due to a bug in the 7.8.24-7.9.11 upgrade, the ordering of template attachments has been lost. The bug has been fixed in 7.9.14 for sites that have not been upgraded yet. Unfortunately, due to the nature of the bug, the correct ordering cannot be automatically restored. Another bug, in the new attachments javascript, will change all attachments to type CSS when the template is saved. Since there are 2 types of Javascript attachments, there's no way of recovering the original type. If you are using template attachments and have upgraded to 7.9.13 directly, you will need to check each template and update the types. 7.9.8 -------------------------------------------------------------------- * Starting in WebGUI 7.9.4, the Net::Twitter module is required. 7.9.7 -------------------------------------------------------------------- * Due to a bug introduced in 7.9.3, Scheduler tasks may have been deleted from your site. The 7.9.7 upgrade will restore all default tasks, and tasks for handling email from Collaboration Systems, but you should check any Scheduler tasks that you have created. 7.9.6 -------------------------------------------------------------------- * The javascript check for email addresses has been removed. 7.9.5 -------------------------------------------------------------------- * Starting in WebGUI 7.9.4, the CHI and Cache::FastMmap modules are required. * Starting in WebGUI 7.9.5, you cannot enter in a URL that is a has more than 2 dashes, "-", in a row. They will be collapsed down into 1 dash. 7.9.4 -------------------------------------------------------------------- * Shop and Cart changes This release contains a rework of the shopping cart to make it faster to checkout. Please review the following list of changes; * If no shipping address is entered for an item, it will not display the cart's shipping address. * Visitors no longer have address books. To have an address book, users must log in. * Users are still, at this point, required to login before they can checkout. The point where the user must be logged in has been moved back in the checkout process. Before a user is allowed to enter in any address information, they must be logged in. * There are only two cart screens now. The main cart, where address information is entered, and second screen where the summary of all charges (taxes, shipping, etc.) are summarized before the user pays. Both screens are templatable. * The Cart will now work without javascript. Javascript is used to make parts of the cart easier, and to automatically update the user's cart so they don't have to manually update it. * All custom Payment drivers have to be rewritten. Please read the POD for WebGUI::Shop::PayDriver for information about the update. The upgrade script for 7.9.4 is designed to die if a non-core payment driver is detected, so after updating your custom driver you will need to change the upgrade script. * Custom cart templates will need to be updated to accomodate the new cart design. 7.9.3 -------------------------------------------------------------------- * Test:Deep, which had been an optional dependency for testing, has been used in components of the core for a while, since the release of the new Survey. Test::Deep version 0.095 or higher is now required. 7.9.2 -------------------------------------------------------------------- * new dependency: DateTime::Event::ICal 0.10 or higher 7.9.0 -------------------------------------------------------------------- * WebGUI new requires Test::Harness 3.17 or higher to enable the testing functions the Survey. 7.8.13 -------------------------------------------------------------------- * A new gotcha was not documented in the 7.8.11 release, the new required version of Javascript::Packer, 0.04. The correct version was put into the testEnvironment script. 7.8.11 -------------------------------------------------------------------- * WebGUI now requires DateTime::Format::HTTP, to handle parsing HTTP dates. * WebGUI now requires JavaScript Packer v0.04, for compressing javascript. * The Google sitemap generator in WebGUI was including hidden pages in the list of pages. This is now configurable, with the default being to NOT show hidden pages. If you wish hidden pages to be shown, then in the config file set showHiddenPages to 1. 7.8.6 -------------------------------------------------------------------- * WebGUI now requires LWP 5.833 or higher, to fix a bug in that module. 7.8.5 -------------------------------------------------------------------- * WebGUI now requires Locales 0.10 or higher, to replace the deprecated module Locales::Country. * WebGUI now requires Net::CIDR::Lite 0.20 or higher, to replace the deprecated module Net::Subnets. * Users, no matter if they are created via anonymous registration, via the Admin Console Users screen, or via code, now always get their default values from the Profile Fields instead of via the Visitor account. Previously, based on how the user was created, they would get default values from different places. * The following style templates have been cleaned up by the TWG: - WebGUI 6 Blank Style, Style 01; Style 02, Style 03: - no structural changes - Fail safe: - added new CSS that is more robust and validates (in external file: style.css); - it was also necessary to update the css to work with the new navigation templates - changed the markup and the order of the home/login/user/admin controls at the bottom - All of the above templates: - added a link tag to wg-base.css - added conditional comments at the top and bottom of the body tag to be able to target IE versions easily with css * Added wg-base.css, which is linked to in each style template. This stylesheet is for css that is used in more than one tempalte, like pagination inline icons etc. Inline styles that are removed from templates, will be replaced with styles in wg-base.css (and example is RFE 11182). Elements that are styled in wg-base.css have a classname that starts with "wg-". wg-base.css replaces webgui.css, which will be removed from the site. 7.8.4 -------------------------------------------------------------------- * A bug introduced in 7.8.1 could cause the Shop sale notification group to be reset to the group Everyone. The bug has been fixed, and the group has been reset to Admins. If you were using a different group, you will need to edit the Shop Settings and reselect the proper group. 7.8.3 -------------------------------------------------------------------- * WebGUI now requires Locales::Country 0.05 or higher to use the UPS shipping driver. 7.8.2 -------------------------------------------------------------------- * WebGUI now requires Business::PayPal::API 0.62 or higher. 7.8.1 -------------------------------------------------------------------- * The EventManagementSystem schedule template was accidently given the same namespace as the main EMS template. This allowed the wrong template to be chosen for the main EMS template and the schedule template. The upgrade from 7.8.0 to 7.8.1 will attempt to fix this when default templates have been used. * In the past, it was possible to leave WebguiRoot undefined or incorrectly specified, and WebGUI would still function. It must now be properly specified, which means it must be configured in the global Apache section (outside any VirtualHost or Directory sections) and point to the correct WebGUI root directory. For example: PerlSetVar WebguiRoot /data/WebGUI * WebGUI creates thumbnails for uploaded images. The name for those thumbnail files is created by prepending "thumb-" to the name of the file. If a file that start with "thumb-" is created then WebGUI would throw an error. Starting with 7.8.1, files that start with "thumb-" will be renamed by removing that prefix from the filename. 7.8.0 -------------------------------------------------------------------- !!! IMPORTANT !!! You must upgrade to 7.7.20 before upgrading to 7.8.0 7.7.19 -------------------------------------------------------------------- * The search indexer was not properly indexing non-ASCII content entered via TinyMCE. The behaviour has been corrected. If your site has content in languages other than English, you should re-index the site. This can be done with the search.pl utility script by running perl search.pl --configFile=www.mysite.com.conf --indexsite or, to index all of the sites on the server: perl search.pl --indexall * For searching content with ideograms, ft_min_word_len must be set to 2 in the Mysql config file. WebGUI will safely pad the characters so that it does not need to be set to 1. The WRE has ft_min_word_len set to 2 by default. * If upgrading from WebGUI 7.6, you must first upgrade to 7.6.35, then you can upgrade to WebGUI 7.7.19 and beyond. 7.7.18 -------------------------------------------------------------------- * The search indexer was not properly indexing non-ASCII content. The behaviour has been corrected. If your site has content in languages other than English, you should re-index the site. This can be done with the search.pl utility script by running perl search.pl --configFile=www.mysite.com.conf --indexsite or, to index all of the sites on the server: perl search.pl --indexall 7.7.17 -------------------------------------------------------------------- * It was found that the combination of DBI: 1.52 DBD-mysql: 3.002 will cause an error during the 7.6.32 upgrade. Later versions of these modules should work. * Spectre now works like many other programs and uses a PID file. By default, it will use /var/run/spectre.pid, but you can change that in your spectre.conf file: # The location of the file that keeps track of the master spectre # processId. "pidFile" : "/var/run/spectre.pid", ##Or some other location After installing this version, you should manually kill spectre and then modify the spectre.conf file to add the pidFile directive. * The Default Gallery Album View Thumbnails template has been reworked to get rid of intermittent rendering bugs with IE7. The thumbnail pop-up is now completely CSS. The thumbnails.js file is still available, but is now considered deprecated. 7.7.16 -------------------------------------------------------------------- * There was some confusion about the state of WebGUI::Shop::PayDriver::PayPal::PayPalStd. While it was in fact dysfunctional, it was using the Paypal Website Standard API, while the new Paypal module was using Express Checkout. Express checkout is only available in the US, UK, and Canada. PayPalStd has been repaired, and the newly written Express Checkout module is available at WebGUI::Shop::PayDriver::PayPal::ExpressCheckout. 7.7.15 -------------------------------------------------------------------- * WebGUI::Shop::PayDriver::PayPal::PayPalStd has been replaced by WebGUI::Shop::PayDriver::PayPal. The old module by that name (a base class for PayPalStd) has been removed. If you had the PayPalStd working, the new module very likely will not work (the old one did some very un-Shop things, which is why it was replaced). Please test the new one with your setup. * 29 templates have been replaced with new ones. These are the templates for the Article, File, Folder, Image, Navigation, Layout, Poll, Search and Syndicated Content assets. 13 templates have been deleted (Article, Navigation and Layout templates). These were deleted because of deprecated code, redundancy and because we are want to reduce the number of templates. This will make the whole set of templates more comprehensible. Changes for all these templates: - extra divs, classes and IDs have been added; - consistent markup for recurring code, like titles, descriptions, attachments and pagination; - inline styles and deprecated code removed. Article - All Article templates: - Removed pagination. This will be re-added later, when the pagination macro bug has been fixed (bug #10619) - Default Article: - Added attachment loop (RFE #4152) - Removed code for image, since there now is a dedicated Article with Image template - Center Image: - Deleted: align="center" is deprecated - Left align image: - Changed name to Article with Image - Removed tables and added styles for img positioning - Linked Image with Caption - Removed tables and added styles for img positioning - Item: - Added attachment loop - Item w/ popup links: - Deleted: pop-up links are bad practice and this doesn't need to be a default - Article with files: - Deleted: attachment loop now added to Default Article - article.css added File - Default File: - The linktext is title instead of the filename (RFE #10173) - Flash File: - Template now uses swfobject code - Absolute width and height attributes are set in the html to replace the percentage value and inline style Folder - File Folder: - The linktext is title instead of the filename (like in the Default File template) - Tables have not been removed, since they are semantically correct here Image - Image: - Only added extra div with ID and class - Annotate Image: - No changes Changes for Navigation - crumbTrail: - No specific changes - verticalMenu: - Deleted: best practice is using "Bulleted List" for vertical navs - horizontalMenu: - Based on unordered list - Added styles - DropMenu: - Javascript cleaned up - Noscript alternative added - Tabs: - Based on unordered list - Added styles - Tree Navigation: - Javascript cleaned up - Hierarchical top nav: - Javascript cleaned up - Synopsis: - HTML based on definition list - Bulleted list: - Now always generates validating html (closing ul and li tags) - Indent Nav: - No specific changes - navigation.css added Layout - All table layouts: - Deleted: using tables for positioning is bad practice - All non table layouts: - Removed unnecessary divs ("layoutColumnPadding" and "content") - Styles for positioning added - One Over Two: - Newly added - Replaces News, but has one less content position - News, Three Over One, Left column: - Deleted: we want to reduce the number of templates and only kept the basic/most used page layouts - layout.css added Poll - Default Poll: - General cleanup, added extra classes and IDs - poll.css added Search - Default Search: - Results in a definitions list - Form post back to the current page instead of to the asset in wobject focus, this prevents possible "breaking" of the style Syndicated Content - Default Syndicated Content: - General cleanup, added extra tags, classes and IDs - Syndicated Articles: - General cleanup, added extra tags, classes and IDs - Removed inline style 7.7.13 -------------------------------------------------------------------- * WebGUI has allowed metadata possible values to be processed differently by Posts than from other Assets. This causes problems when metadata is shared between Posts and other Assets. To rememdy this, all metadata possible values are being moved into the standard "pipe format", and the Post will no longer process data in the other format. 7.7.8 -------------------------------------------------------------------- * A basic behavior of the Inbox has been changed. If a message is sent to a Group of WebGUI users, and any member of the group reads the message, then that message is marked as read by all members. This most often happens for commit reminders for version tags that require approval. The old behavior often resulted in several users trying to approve version tags that had already been approved. 7.7.7 -------------------------------------------------------------------- * WebGUI now requires Digest::SHA. * WebGUI now requires JavaScript::Minifier::XS 0.05 * WebGUI now requires CSS::Minifier::XS 0.03 7.7.6 -------------------------------------------------------------------- * You must upgrade to WebGUI 7.7.5 before going to this version. * WebGUI now requires Business::Tax::VAT::Validation. * WebGUI now requires Crypt::SSLeay 0.57 or greater. * WebGUI now requires Scope::Guard 0.03 or greater. 7.7.5 -------------------------------------------------------------------- * You must upgrade to WebGUI 7.7.4 before going to this version. * Due to a long standing bug in the Profile system, if the type of a Profile Field was changed, the database column was not updated to match the requirements for the new type. The most common place this problem would be noticed would be if a text field was changed to HTML field. * The Event url template variable was being used incorrectly. This has been fixed, but requires new template variables for viewing a list of events, printing events and editing and deleting events. Please check the online Help for the new template variables. Event templates using HTML::Template are automatically updated. If your site uses a different parser for this template it will need to be manually upgraded. * WebGUI now requires HTML::Packer, JavaScript::Packer, and CSS::Packer 7.7.4 -------------------------------------------------------------------- * You must upgrade to WebGUI 7.7.3 before going to this version. * WebGUI now requires XML::FeedPP version 0.40 or greater. 7.7.2 -------------------------------------------------------------------- * WebGUI now requires Clone version 0.31 or greater. * You must upgrade to WebGUI 7.7.2 before going on to higher versions of WebGUI due to changes in the database table for the Cart. * The RSSCapable class and RSSFromParent asset have been removed. Any custom assets using those are recommended to switch to the new RssFeed AssetAspect. If not used by custom assets, the tables used by them will be removed from the database. This will change the URLs for your RSS Feeds from "myAsset.rss" to "myAsset?func=viewRss". You will need to update all Syndicated Content assets and other content aggregators that had the old URLs. Alternately, you can use Redirect assets to forward the old URL to the new one. 7.7.1 -------------------------------------------------------------------- * Keywords are now comma separated rather than space separated. Quotes are no longer treated specially and will become part of keywords. Keywords cannot contain commas. Keyword searching is still case insensitive, but keyword will preserve the case of what is entered. 7.7.0 -------------------------------------------------------------------- * WebGUI now requires Params::Validate version 0.81 or greater. 7.6.11 -------------------------------------------------------------------- * If upgrading from WebGUI 7.5, you should upgrade to 7.5.40 first, then you can upgrade to WebGUI 7.6.11 and beyond. 7.6.10 -------------------------------------------------------------------- * The Survey JSON fields (Survey.surveyJSON and Survey_response.responseJSON) will alter to longText from LongBlob's. 7.6.9 -------------------------------------------------------------------- * The ukplayer example, slideshow.html in /extras/ukplayer, used to be loaded with a javascript called AC_RunActiveContent.js. This file is removed due to licencing issues. If you use this script in custom HTML, you should replace it with swfobject.js as is demonstrated in the new example slideshow.html file. 7.6.8 -------------------------------------------------------------------- * Due to an error during the 7.6.6 development cycle, an Itransact template, for displaying the credentials screen, needs to be reimported. Any changes that you have made to this module will be lost, so please make a back up of this template. 7.6.5 -------------------------------------------------------------------- * The deprecated use of Graphics::Magick has been eliminated. WebGUI uses Image::Magick exclusively for all image processing functions once again. * The Head Block of Templates has been merged into the Extra Head Tags field. Extra Head Tags are now added for all templates and assets included on a page, except for Style templates, which do not have Extra Head Tags. Existing Extra Head Tags for Style templates will be lost. If your current Style template uses the Head Block please put any content from there directly into your style template inside the
tags. * Web Services Client is no longer part of the official distribution of WebGUI, but is still available to be maintained by third-parties. However, if you don't want to use Web Services Client any longer, make sure you delete all Web Services Clients from your site prior to the upgrade *and* purge them from your trash. Then the upgrade will automatically uninstall the Web Services Client from your site. 7.6.4 -------------------------------------------------------------------- * The user facing portions of WebGUI's profile, inbox, friends, and "invite a friend" systems have been completely updated. No data will be lost but all templates including custom templates that are related to these systems will be deleted on upgrade. Please make sure you export your custom templates prior to upgrading as you will need to modify them for the new system. * The Auth display account template no longer has the account.options loop available. This loop has been replaced entirely by macros to provide more flexibility. Any custom templates will need to be updated accordingly. * The Survey system has been completely updated. Please make sure you create full backups of your survey results and export them as needed. Results will not be imported into the new Survey system. Your old surveys will be imported into the new survey system. 7.6.3 -------------------------------------------------------------------- * WebGUI now requires XML::FeedPP version 0.36 or greater. * The Syndicated Content asset has been heavily modified. Your templates and settings should automatically migrate, but in less than 1% of cases there will be problems that the migration cannot handle. Check your Syndicated Content assets after upgrade to ensure they are still working as expected. 7.6.1 -------------------------------------------------------------------- * WebGUI now requires Class::C3 version 0.19 or greater. 7.6.0 -------------------------------------------------------------------- * WebGUI now requires Module::Find version 0.06 or greater. * You must be fully upgraded to 7.5.24 before upgrading to 7.6.0 * You can no longer template the AdminBar macro. Any custom template id that you pass it will be ignored, and the original template will be removed from your site. 7.5.21 -------------------------------------------------------------------- * Previous versions of WebGUI used the wrong day of the week for scheduled workflows. This resulted in them being run a day later than they should have. If you relied on the old behavior, you will need to update your workflow schedules. 7.5.19 -------------------------------------------------------------------- * WebGUI now requires Text::CSV_XS version 0.52. If you have been using an earlier version you will need to upgrade this perl module before you upgrade. * If a user profile field allowed multiple selects, and it also had more than one default value, the User method profileField would return the first. It will now return all default values as a string, joined by commas. 7.5.17 -------------------------------------------------------------------- * If users are allowed to self register and emails are not required, this might cause downstream bugs in other assets that require email addresses. 7.5.16 -------------------------------------------------------------------- * You need the following Perl Modules installed before you upgrade: File::Path 7.5.13 -------------------------------------------------------------------- * RSSFromParent now uses the parent asset's canView method to determine if the user is allowed to see the RSS feed. The upshot of this is that a user must be able to view the Collaboration System in order to view its RSS feed. Previously, RSSFromParent did no view restrictions, allowing anyone with the right URL to see an RSS feed, even if they do not have permission to view the Collaboration System it came from. * The 7.5.11 upgrade contained a bug that didn't import existing Data Form entries properly. The script has been corrected, so if you didn't already upgrade to 7.5.11, there is nothing to worry about. If you already upgraded, the information can be restored from a backup. See http://www.webgui.org/bugs/tracker/data-form-listing-existing-entries-wrong-missing-data for information on how to retrieve this information without having to revert entirely to a past backup. 7.5.11 -------------------------------------------------------------------- * You need the following new Perl Modules installed before you upgrade: Archive::Any Exception::Class Path::Class Image::ExifTool List::MoreUtils * SQL Form is no longer part of the official distribution of WebGUI, but is still being actively maintained by third-parties. However, if you don't want to use SQL Form any longer, make sure you delete all SQL Forms from your site prior to the upgrade *and* purge them from your trash. Then the upgrade will automatically uninstall the SQL Form from your site. * WebGUI versions since 7.3.0 (when the new Calendar was added) have allowed users to post Events to Calendars, but the owner of the Event has been saved as Admin (user ID 3). Also, anyone who was allowed to add an Event was allowed to edit any Event in the Calendar. The permissions have now been fixed, but it is not possible to fix the owner of Events posted by individual users. Users are not allowed to edit the owner of an Event from the web interface as a security measure. The new permissions are: * Users who post an Event are allowed to edit and delete the Events they post * Users who can edit the Calendar are allowed to add, edit, and delete all Events * The commerce system was completely rewritten. As such you will need to tweak some settings to get commerce back up and running. * Shipping configurations are going to be lost when you upgrade. You'll need to set up a shipping option if you're using the commerce system. * Products in the old Commerce system have been converted to new Asset-based Products in a new folder called Products. Instead of using the ^Product() macro to display a Product on a page, either place the Product directly onto a page (like any other asset) or use the AssetProxy macro. In all Wobjects, Templates and Snippets, the Product macro has been replaced with the AssetProxy macro. * The Product template variables now use the new WebGUI standard of not using dots in their names. For example, brochure.icon is now brochure_icon * All Product Templates that shipped with earlier versions of WebGUI have been deleted, except for the Default Product Macro. During the upgrade, all products have been updated to use the Default Product Macro. If you want to keep these, you will need to make a copy of them before the upgrade. * All Commerce Templates that shipped with earlier versions of WebGUI have been deleted. If you want to keep these, you will need to make a copy of them before the upgrade. * Subscriptions have been converted to assets. These assets will be placed in the import node in the folder 'Migrated Subscriptions'. * It used to be possible to link subscription codes to multiple subscriptions. This is no longer the case. Subscription code that are not yet expired or used and link to multiple subscriptions will be migrated in the following manner: 1) The subscription codes will remain valid for one of the subscriptions they linked to. 2) For the other subscriptions connected to these codes new subscription codes will be generated. The upgrade script print all the new codes in the case. The new codes will also be logged in the webgui log file. * With the new shop system the Payment plugins have been changed too. The default WebGUI Payment Plugins are automatically migrated for you, but custom plugins will have to be adapted to use the new WebGUI::Shop API. * If you are using the ITransact payment plugin you'll have to change the postback url. The new value is printed by the upgrade script and can also be found in the edit screen of the ITransact plugin. * The Commit With Approval and Commit Without Approval workflows have been rebuilt. If you have changed these default workflows and wish to retain your changes, be sure to back them up before you install 7.5.11 7.5.9 -------------------------------------------------------------------- * WebGUI 7.5.6 uses a Unicode database connection, but this can cause problems with old data stored in an erroneous format. The 7.5.6 upgrade has been adjusted to compensate for this. If you are upgrading from prior to 7.5.6, the data should be repaired automatically. However, if you had already upgraded past 7.5.6, there is no automated way to resolve the differences in the data. For information on how to resolve this if you have already upgraded, see http://www.webgui.org/bugs/tracker/charset-db-connection 7.5.4 -------------------------------------------------------------------- * YUI has been upgraded to 2.5.0. The resizable textarea implementation in WebGUI has been rewritten using YUI instead of the Ext library. This has removed Ext as a depenancy, and it has been removed. 7.5.1 -------------------------------------------------------------------- * The resizable textarea implementation in WebGUI has been reimplemented to use the code present in YUI 2.5.0. As such, WebGUI's YUI implementation has been updated to version 2.5.0, and the no-longer-needed extjs library has been removed. 7.5.1 -------------------------------------------------------------------- * There was a corrupt template in a package for the 7.5.0 upgrade. If you already upgraded to 7.5.0, please import the package located at: WebGUI/docs/upgrades/packages-7.5.0/root_import_timetracking_user.wgpkg * WebGUI requires newer versions of some existing modules. Be sure to install them BEFORE upgrading. They are: JSON 2.04 Config::JSON 1.1.2 7.5.0 -------------------------------------------------------------------- * You must upgrade to 7.4.40 before you upgrade to 7.5 * Event related links are now displayed using a template loop rather than a template variable. See the default templates for details. Your custom Event Edit and Event View templates may need fixing. * If you want to use the beta, you must first upgrade to 7.4.21 then upgrade to the beta. If you upgrade past 7.4.21 then you cannot use the beta. 7.4.12 -------------------------------------------------------------------- * Any customizations made to the Matrix default Search, Compare or Detailed listing templates will be lost. Please back up your custom templates before running the upgrade. 7.4.11 -------------------------------------------------------------------- * The 7.4.8 upgrade script had an error for sites using Dashboards. This would prevent the script from completing successfully. The script has been fixed for future releases. 7.4.3 -------------------------------------------------------------------- * You must upgrade to Config::JSON 1.1.0 or higher prior to upgrading. Due to a bug in CPAN you should type "force install Config::JSON" in order to upgrade to this version. * For Poll Wobjects, we're using a new way to store the graph configuration. If you were having problems with your Poll graphs, you will need to re-create the graph's configuration. It may not be possible to read your graph configuration, so if you have problems with the Poll graphs you will need to re-create the graph's configuration. After you create a new configuration, everything will work fine. 7.4.0 -------------------------------------------------------------------- * You must upgrade to the latest 7.3.x release before upgrading to 7.4.0 or you will encounter fatal errors during the upgrade process. * The userProfileData table has been completely re-done. Now, each user profile field has its own column in the userProfileData table. Any applications that you may have that makes raw SQL queries against the userProfileData table will need to be updated to reflect these changes. * DatabaseLinks no longer automatically set LongReadLen and LongTruncOk for Oracle or ODBC databases. These parameters, and others, can now be set in the DatabaseLink. The old settings used were LongReadLen: 512*1024 LongTruncOK: 1 * WebGUI now requires the following additional perl modules to operate, and you should install them prior to upgrading: Config::JSON Text::CSV_XS Class::InsideOut HTML::TagCloud * WebGUI now uses Graphics::Magick instead of Image::Magick for image processing functions. However, for the next few versions you will still be able to use Image::Magick if you already have it installed, to make the transition easier. Graphics::Magick is a fork of Image::Magick, but it's focus is stability and compatibility over adding new features. Another note will be added to this file when support for Image::Magick is officially removed. That will most likely happen in WebGUI 7.6.0. Note that WRE 0.8.0 includes Graphics::Magick, so if you upgrade to WRE 0.8.0 then you'll automatically be ready for the future. * Any customizations made to the Inbox or Inbox/Message templates will be lost. Please back up your custom templates before running the upgrade * The Transaction Error template in commerce has been merged with the Checkout template. All Transaction Error templates are purged from the system on upgrade. Make sure you back up your custom templates and apply them to the Checkout template. None of the template variables have changed. 7.3.19 -------------------------------------------------------------------- * There was a bug fixed in this release relating to the Image asset. The bug was that if you edited an Image, then the original image file in the asset was replaced with its thumbnail. There is no easy way to automatically fix this the results of this bug. To recover affected Image Assets, then just upload a copy of the original image file. You do not need to Trash/Delete the Image Asset. 7.3.16 -------------------------------------------------------------------- * There was an inadvertent override of the Asset method isLocked inside of WebGUI::Asset::Post::Thread.pm. Normally, isLocked will return true if the Asset is being edited by another user. However, the isLocked inside of Thread.pm returned true if the Thread was locked to prevent more replies from being added to the it. In 7.3.16, the thread lock method inside Thread.pm was renamed isThreadLocked. No template variables, field names or database columns were changed. * The create.sql script for 7.3.15 was released with 7.3.16. While upgrading to 7.3.17 you'll notice it also processing the 7.3.15- 7.3.16 upgrade. This is to be expected. 7.3.15 -------------------------------------------------------------------- * The Event Management System now uses an extra table to store information about events in the user's cart. This fixes a bug where a user that logs out after adding events to their cart but before they complete their transaction will be charged for their events but not registered for them. Existing sessions affected by this bug are not fixed, so there may still be errors. This SQL query will get the session IDs of the sessions affected by this bug: select distinct(sessionId) from shoppingCart where itemId IN (SELECT productId from EventManagementSystem_products) AND sessionId IN (SELECT distinct(sessionId) FROM userSessionScratch WHERE name LIKE "purchaseId%"); You may want to expire these sessions from the Admin Console > Active Sessions screen. 7.3.12 -------------------------------------------------------------------- * The sbin/thumbnailer.pl script was almost completely rewritten. It now accepts a script to only thumbnail things that do not already have thumbnails, to help compensate for problems with the RTE Collateral Image manager upload/thumbnail bug. Run the script with no arguments to get a summary of the new usage. 7.3.11 -------------------------------------------------------------------- * The weather data asset stopped working because our old weather provider went away. We've remade the weather asset using a data feed from weather.com. The feed is free, but you'll have to register to use it on your site. The up side is that the weather asset now supports international cities. You must now also have Weather::Com::Finder 0.5.1 installed. Do this before you upgrade. 7.3.10 -------------------------------------------------------------------- * This version fixes a bug in the 7.2.3-7.3.0 upgrade where the incorrect revision of an Event would be migrated. If you have already upgraded, either restore from a backup or go over your Calendars and ensure that your Event's informations are accurate. If you have not yet upgraded, you do not need to do anything. 7.3.9 -------------------------------------------------------------------- * This upgrade may appear to freeze when it gets to the "Adding thread rating column" step, especially if your site has a large number of collaboration systems and posts. Let it run, it's working. We have to recalculate the rating for every single post and it can take upwards of an hour on large sites. * If you're using the Events Management System and have a custom checkout template, you will need to use the following template variables to implement the fix: isError, errorLoop, error. Documentation on their use is in the online help and you can also look at the default template for an example use. * The c_companyName macro now uses HTML encodings for comma and single quote to make it safe to embed inside other macros. 7.3.8 -------------------------------------------------------------------- * For those who upgraded to 7.3.7, any EventsCalendars (with their attached events) in the trash or on the clipboard during the 7.2.3 - 7.3.0 upgrade were NOT migrated. This version will delete those from the database, since it is not possible to recover them based on their current state. Those who are upgrading from 7.2.3 - 7.3.8 will not lose any data. NOTE: Any Events Calendars in the trash will be purged and no longer recoverable. 7.3.7 -------------------------------------------------------------------- * For those who performed a multiple site upgrade from 7.2.3 to 7.3.1 or higher and began having problems with navigation and calendar wobjects, you can fix those problems by restoring your 7.2.3 database, restoring the 7.2.3 WebGUI source, re-applying the 7.3.7 WebGUI code, and running the upgrade again. If you are not affected by these problems, you do not need to restore. 7.3.5 -------------------------------------------------------------------- * Template variables used in templates that use XML, or that are used inside of Javascript need to be escaped to make quotes and other characters safe. This can be done by appending ESCAPE="HTML" or ESCAPE="JS" to the tmpl_var tag. Examples were added to the Template Language help page. * A javascript confirmation was added to the default Edit Wiki Page template. It will need to be manually added to custom templates. 7.3.2 -------------------------------------------------------------------- * The testCodebase.pl script will now automatically set the CODE_COP script unless you give it the --noLongTests switch. 7.3.0 -------------------------------------------------------------------- * The i18n/label.t and help/setHelp.t test now require that you set an environment variable, CODE_COP to run them. This should make running the entire test suite prior to SVN commits easier to do since it won't take so long. * Password recovery has been redone, and is now based on profile fields rather than email access. Since there's no real way to migrate the one to the other, this upgrade _disables password recovery_. The template variables for password recovery are also different, so if you have a custom template, you will have to update it. To enable password recovery, you must first pick a set of profile fields to use such that any user who knows that set of fields can reset their password based on those. Edit each of those profile fields to turn the "Required for password recovery?" flag on; then you will be able to enable password recovery. It is highly advisable to pick several fields, as one field only is very easy to break. There is a new Calendar wobject which replaces the current EventsCalendar wobject. The upgrade will migrate all of your events but it will *not* migrate any of your custom templates. All custom event calendar templates will be *_D E L E T E D_* so make sure you have a backup if you need them. Also, the Event List view of the calendar works a little different than it used to. The upgrade script takes an unusually long time to migrate EventCalendar wobjects to the new Calendar wobjects. We're looking into the cause but don't kill your upgrade thinking its hung up, we promise it will finish. 7.2.0 -------------------------------------------------------------------- * NOTE: if you tried to upgrade to 7.2.0 and it failed during the addition of RSS From Parent capability, there have been bugs fixed in that section of the relevant upgrade script in 7.2.1. * Server side spellchecking has been added to this release. You must install Text::Aspell, and any dictionary you like. If you want to use spellchecking you have to setup the dictionaries you want your users to use in the config file. Also you'll have to check the spellchecker checkbox in the RichEdit asset you're using. * The sales tax in the commerce system requires the Locale::US perl module. You will need to install it. * To combat a phishing exploit, all image form controls used in the user profiling system now default to a state that only allows image files to be uploaded through them. If you have a user profile field that needs to accept images and files you will need to edit that field and set the "Force Image Only" property to No. 7.1.3 -------------------------------------------------------------------- * The column that stores the graph configuration in the Poll table has the wrong type. In MySQL 5 this results in corruption of this hash. The upgrade script will fix the column type, but not the corrupted graph configs. Polls with an erroneous configuration will display the old text based graphs. To fix the Polls, just edit them, set the correct graphing options again and finally save. 7.0.8 -------------------------------------------------------------------- * 7.0.7 was released with a critical bug that broke the search engine for many sites, but not all. This bug has been corrected and tests have been written to help ensure it doesn't happen again. However, as a result you must rerun the search indexer program (sbin/search.pl) on all your sites. 7.0.4 -------------------------------------------------------------------- * Version 7.0.3 shipped with a 7.0.2 create.sql script. This doesn't really hurt anything, it just means that if you installed 7.0.3 as your starting point, you'll see an extra upgrade go through when you upgrade to 7.0.4. 7.0.3 -------------------------------------------------------------------- * Numbers generated by the Splat_random macro were not evenly distributed. It returned numbers between 0 and 'max' (inclusive) with this two numbers occurring about half as much as other numbers. This is now fixed, so it will return numbers between 0 and 'max-1' (inclusive), with an equal probability of any of these numbers. If you're using this macro, you might need to increment the max parameter. * We've made a number of improvements and bug fixes to the search indexing system in this release. You may want to use the search.pl utility in sbin to reindex your site to get better search results. 7.0.2 -------------------------------------------------------------------- * We've cut the memory leak in half. It turns out we had a bad perl module that was causing a big part of the memory leak. As such, you now need to install POE::Component::Client::HTTP. 7.0.0 -------------------------------------------------------------------- * There is a memory leak in Spectre. We're working on a solution to this problem, but in the mean time you will need to restart spectre every so often to clear out the memory. We recommend setting up a cron job to restart it once per day. 6.99.5 -------------------------------------------------------------------- * In transferring LDAP from the users to group module, it was discovered the ldap link must also be saved with the group. The upgrade attempts to determine the proper LDAP Link to use, however it is not guaranteed to be accurate. If you use LDAP groups in WebGUI, be sure and check each one to make sure they are assigned to the appropriate LDAP Link. 6.99.4 -------------------------------------------------------------------- * A bug was just discovered in the WebGUI::Auth API in that it was missing the editUserSettingsFormSave() method. If you have built your own auth module, then you need to add this method or your auth settings will not save. See WebGUI::Auth::WebGUI for an example of how to do this. If you are not using custom auth, then don't worry about this. 6.99.0 -------------------------------------------------------------------- * The 6.99 series is the last round of changes before 7.0.0 is released. It will serve as the beta, gamma, and release candidates for 7.0.0. * The group SQL query mechanism has been changed to be more efficient, more practical, and more consistent with the rest of WebGUI. As such, your old query will no longer work. You used to do something like "select 1 from table where foo='bar'", but now you need to "select userId from table where foo='bar'". * The "messageLog" table will be deleted during the upgrade process, and all of the messages in it. This is because the messages contained in there are no longer useful because they won't work with the new workflow system. If you need the data in that table, you should save it before performing the upgrade. * The session system has been replaced by a new object-oriented one, which has caused massive API changes. Please consult migration.txt to bring your custom code up to date with the new API. * You need to upgrade to the latest 6.8 release before you can upgrade to 6.99. * If you wish to use one of the new optional template engines you'll need to install the perl modules for them: Template HTML::Template::Expr * In order to make the upgrades run quickly, the upgrade process will not automatically index your sites for the new search engine. You need to do this manually after the upgrades have completed by running the search.pl script in the sbin folder. * The following perl modules are now required: MIME::Tools POE POE::Component::IKC::Server POE::Component::Client::UserAgent Net::Subnets DateTime::Format::Mail Net::POP3 List::Util Color::Calc * The upgrade script is going to convert your WebGUI config files from the current PlainConfig format to the new JSON format. Don't be alarmed by this, it's a normal part of the upgrade procedure. * You no longer need the cron job for runHourly.pl. Instead, you must start sbin/spectre.pl when your server starts up. Spectre is WebGUI's offline execution engine. It triggers scheduled events and executes workflow tasks. Be sure to edit each of your WebGUI config files to set the spectreSubnet setting to match your IP address or IP range. Running spectre requires a spectre.conf file. Like the log.conf file, the name is fixed. Make a copy of the sample spectre.conf, etc/spectre.conf.original, and place it in the etc directory. Then make any final edits or configurations and start /sbin/spectre.pl. You must have a spectre.conf file before you run the upgrade to 6.99.0. * If you wish to run the full test suite, you'll need to install these optional modules: Test::Deep Test::MockObject * The content in the import node has had inappropriate privileges since it was created. We're resetting the privileges to be viewable by everyone and editable by the turn admin on group. If this is not what you want for your site, or for segments of the content in your import node, you'll need to change it after the upgrade. * Because collaboration system posts are now integrated with the workflow engine, the approve/deny links are no longer needed or used in your templates. In addition if you wish to use an approval process on any of your collaboration systems, you'll need to re-enable it after this upgrade. 6.8.4 -------------------------------------------------------------------- * The If macro has been removed because it's far too dangerous and error prone. If you use the If macro you may continue to use it at your own risk, maintenance, and support cost, but it is no longer supported by Plain Black. 6.8.1 -------------------------------------------------------------------- * Before upgrading you must install the following new Perl modules: Data::Structure::Util * Fixed a major versioning system bug in this release where when purging the last revision of an asset, if it had children, the children were not purged with it. This may have caused problems in some people's databases if they used any 6.7.x version or 6.8.0. If it has all you need to do to fix it is upgrade to this release and then run sbin/rebuildLineage.pl 6.8.0 -------------------------------------------------------------------- NOTE: If you're upgrading from MySQL 4 to 5 you MUST do a mysqldump on your databases from 4 and then after upgrading to 5, reimport them. If you do not do this your databases will become corrupted. * Before upgrading you must install the following new Perl modules: DateTime DateTime::Format::Strptime DateTime::Cron::Simple JSON Finance::Quote Archive::Zip And optionally, these: Test::More Pod::Coverage * If you have previously installed the community contributed version of the In/Out Board (IOB) then you will need to completely uninstall it before you can proceed with this upgrade. * The core API has changed. Check docs/migration.txt for details. * WebGUI now requires Apache2 with mod_perl2 so CGI, FastCGI, PerlEx, although never officially supported, are no longer possible. Making this change gave us more than 70% performance improvement and opens up even more possibilities for performance and other optimizations. You'll need to make the following changes in Apache to upgrade to this release: Install libapreq2. You can either download and compile this from the mod_perl web site, CPAN as Apache2::Request, or by getting the version of the WRE 0.6.0 or higher. Edit your httpd.conf or httpd.modperl.conf and add the following directives to your global server config: LoadModule apreq_module modules/mod_apreq2.so PerlSetVar WebguiRoot /data/WebGUI You may also remove this block if you have it: