This article is updated with information related to issues upgrading from Shopp 1.0.x to the pre-release of Shopp 1.1.
Updates to this article will be regular through out the pre-release testing cycle as any new issues are identified. Feel free to contribute as you find issues that you can verify (with steps that can be repeated with the same result).
- Payment Gateway Settings
After upgrading, you will need to re-enter your payment gateway settings. Be sure to login to your existing Shopp 1.0 installation and grab any settings you may not have as they will not be carried into 1.1. As soon as you upgrade to 1.1, be sure to re-enter your gateway credentials and other settings on the Shopp → Settings → Payments page.
- Template changes
There are numerous changes to the default templates. While a great deal of care has been taken to preserve functionality from the previous version of Shopp, in some areas changes were required in order to facilitate future flexibility. A list of line-by-line upgrades is being compiled and will be made available in this article soon.
- .htaccess changes
When using pretty permalinks, Shopp now includes an extra .htaccess directive to enable images served directly from the Shopp image server. It can be removed and images will still be delivered, just less efficiently. Pretty permalinks (URL rewriting) must be enabled in order for Shopp to use the Shopp image server.
- Core customizations
Advanced developers that are used to manipulating Shopp’s objects directly should note that the vast rearchitecture in Shopp has changed global $Shopp references. Consult the inline code documentation to determine the extent of how those changes may affect your code.
All the core built-in template files (which shouldn’t be modified directly) have strings wrapped in translation functions. The strings are translated at the time they are installed, to provide completely translated stores with the default install. The translation project hasn’t been updated with the new .POT file yet, so these strings will not be translated currently. Head over to the [http://lang.shopplugin.net Shopp translation project] and register a user if you would like to participate. We will merge in the new Shopp 1.1 strings soon.
- thanks.php – This new template is used to handle the end of all transactions that return to the site, regardless of whether payment has been confirmed or not. Because some payment gateways (for example, PayPal Website Payments Standard) charge the transaction after returning the customer to the site, or may flag the payment for review, this template has been added to gracefully handle those conditions. The default thanks.php has a message for unconfirmed payment, and includes the receipt.php template.
- notification.html (deprecated) – This template has been changed to the notify.php template, so it can process php scripting.
- order.html (deprecated) – This template has been changed to the order.php template, so it can process php scripting.
- account.php – Template api updates
- cart.php – External payment gateway buttons have been moved from here to checkout form, so that the checkout form can be processed. This is beneficial for a number of reasons, including early collection of address information, and custom order field processing before leaving the site.
- catalog.php – The default catalog display has been changed to all Shopp products in catalog.
- category.php – Template api updates
- checkout.php :
Validate class added to form for Shopp front-side form validation of checkout form tags with required=true option.
Tax localities support added.
Important tags have been added for 1.1 payment gateway architecture, needed especially if you are using multiple payment methods on your site.
Support for cards with additional security fields, such as Maestro/Solo.
- product.php – Includes support for new product add-ons feature
- receipt.php – payment status at the time of order creation added to the receipt.
- shopp.css -new styles to support front-side checkout validation, new template api features, etc.
- summary.php – displays promotions by default on summary
- errors.php – Template api update. Note: not updating this template may hide error messages on the checkout.
- thanks.php – Template api update. It is particularly important to update this file if you are using PayPal Standard.
Actions to update
- Before updating to Shopp 1.1, you should backup site files and database. For a complete (commercial) WordPress plugin backup solution, try [http://ithemes.com/member/go.php?r=7515&i=l44 BackupBuddy – WP backup, restore, migration plugin].
- (optional but recommended) After installing, activating, and updating Shopp 1.1, you may wish to delete the contents of the your theme’s shopp subdirectory. (Example the contents of wp-content/themes/twentyten/shopp/ if twentyten was your current theme)
- To install the new theme template files, follow the theme template file instruction at Setting Up Theme Templates in your Setting Up Theme Templates. If you only want to add the missing templates, click Reinstall Missing Templates from Shopp admin → Settings → Presentation.
- category and product – category and product shortcodes are no longer wrapped in divs with id=”shopp”, as this breaks validation when multiple shortcodes are wanted on the same page.
The workaround is to create a [http://codex.wordpress.org/Pages#Templates_by_page-ID_or_page-Slug page-id.php template] that wraps the_content() in <div id=”shopp”>…</div> for the page you are using these short codes on.
Warning for core customizations that may be broke:
- wp_enqueue_script calls that have enqueue dependencies on Shopp scripts will not load. Remove the shopp script dependencies, or migrate to shopp_enqueue_script, the new Shopp script server. The usage of this function is similar to wp_enqueue_script, is aware of loaded WordPress scripts, and will efficiently concatenate scripts in one call on the front-end of your site.
function shopp_enqueue_script( $handle, $src = false, $deps = array(), $ver = false, $in_footer = false )
- custom code making reference to global $Shopp may no longer work as internal objects frequently have new locations.
- shopp_order_preprocessing action has been deprecated. Plugins using this action should use shopp_process_order with higher than default priority for order preprocessing.
Known Problems with Internet Explorer
Some Shopp admin pages do not function properly in some version of Internet Explorer, due to cross-browser script compatibility problems. We recommend that you use a recent version of Firefox, Safari, Opera, or Chrome until these problems are resolved.
- Category arrangement interface in the category manager admin is broken in IE.