• silvercart 3 frontpage en

SilverCart 3 released

Finally the wait is over: SilverCart 3 is available for download. This is a huge milestone for us and we have put tons of work into SilverCart as you can see in the changelog at the end of this post. But wait, we're not done yet!

Even though we have a lot of ideas we really wanted to be included in this major release, we decided to publish SilverCart 3 anyway. The idea is to release smaller improvements more frequently. 

You can download SilverCart 3 neatly wrapped in full package with the SilverStripe framework and all the modules you need to set up SilverCart quickly. If you want to integrate SilverCart in your current SilverStripe 3 project, just take the modules you need from the package and skip the rest.

We know that this is not up to the standard git and composer workflow experienced SilverStripe developers are used to. Since our infrastructure is based upon mercurial, we'll have to establish processes to publish future releases via github and have them pulled in via composer. Along with that we need to rethink our bugtracking workflow. Until we have solved this, we hope you can get along with full download packages and our forum for support and filing bugs.

What has changed?

Most obviously, SilverCart runs on SilverStripe 3.3.1. That means, that all the improvements and features from SilverStripe are part and parcel of SilverCart. The shiny new improved backend and the performance improvements might be the first things you'll notice when logging in to your SilverCart admin area. We also added numerous hints for fields in the admin area, so you'll have to consult the documentation less frequently. Another improvement is a general clean up and re-organization of settings and configurations to improve the general user experience in the administration area.

As for the frontend, we decided to switch from YAML (the css framework, not the markup language) to bootstrap and also updated the default theme to reflect this evolution. We heard you, you non-german developers! The new color switcher to change the main colors of the theme was also a frequently asked improvement. Changing the pre-defined color schemes just as easy as hitting the select button and saving your changes. More customizing options will follow with future releases.

Head over to our new demo store and give it a try! 

The data model has not changed fundamentally except for the product variations. This module has been completely rewritten to handle both product attributes (like attributes used for a filter) and product variations (like different sizes and colors as SKUs with different product numbers, prices and stock amounts) more intuitively and will be released later.

Upgrading

This is a major release, so upgrading from older SilverCart versions is not trivial. A good starting point would be one of the numerous upgrade guides from SilverStripe 2.x to 3.x. As for the template, I'd say it depends on the level of customization of your project when it comes to deciding whether upgrading your old theme or starting over with the new theme is the best option. If you are totally stuck somewhere in between or don't even know where begin, you have always the option to get professional support from us.

Roadmap

As I said before, we're not done yet. We've held back some features and improvements to avoid further delays, so we will refine and release them soon. We also learned that we have a technical debt to pay, so we'll work on our infrastructure to make future updates as easy as possible for you. 

In a few days, we'll delete all old hosted demos. Even though we have hosted hundreds of demo installations, we have no plans to offer the hosted demo like we did it before.

Instead, we'll offer a hosted version of SilverCart with a free, self-terminating 30 day period. After 30 days you can decide to use SilverCart with a paid plan or - by default - have your installation deleted after a grace period. We won't ask any personal or payment details until you decide to go with the paid plan, so basically we are offering a free 30 day hosted demo with the option of using it in production in a paid plan. 

Of course SilverCart remains open source under LGPL and you are free to download and use it without any additional fees.

 

Changelog SilverCart Branch 3.1

Enhancements

  • Added link anchor to set the scroll position to a related product after adding a product to cart out of product list.
  • Rearranged default records for CMS section.
  • Updated documentation
  • Added full 3.0 compatibility to SilvercartSearchCloudWidget.
  • Updated some backend templates to work with framework 3.3.1.
  • Enhanced SilverCart settings CMS fields.
  • Invoice and shipping address of an anonymous customer will be combined in checkout overview if equal.
  • Cleaned up delivery adress form
  • The buttons to change payment or shipping method will be hidden when there is only one to choose and SkipPaymentStepIfUnique/SkipShippingStepIfUnique is set.
  • Cleaned up laxout of forms
  • Cleaned up ShoppingCart template and Forms
  • cleaned up RegisterRegularCustomerForm
  • Updated logo files
  • Updated logo files
  • Added product ttranslation support for SilvercartProductGroupChildProductsWidget.
  • Merged directory /script with /javascript and /admin/javascript
  • Slidorion widget is working now.
  • Added new default theme\!
  • Removed SilvercartI18nPlugin.
  • Removed SilvercartProductGroupMirrorSortOrder.
  • Removed SilvercartUpdate files (Extracted them into an own module).
  • Extracted GeoNames API code into a own module.
  • Merged SilvercartConfig with SiteConfig. Removed SilvercartConfig.
  • Updated documentation
  • Moved DataExtension definitions out of _config.php to extension.yml. Some DataExtension refactoring.
  • Extracted product exporter functions into a separate module.
  • Removed PHP based i18n files. Updated the YAML based i18n files.
  • Enhanced CMS fields of SilvercartProductGroupPage.
  • Extracted Google Merchant functions into a separate module.
  • Extracted inbound shopping cart functions into a separate module.
  • Moved deeplink documentation out of core into the deeplink module.
  • Extracted deeplink functions into a separate module.
  • Extracted deeplink functions into a separate module.
  • Added read only mode to SilvercartMoneyField.
  • Added possibility to update SilvercartConfig::DefaultCurrency() by DataExtension.
  • Enhanced B2B/B2C customer handling.
  • Added possibility to update amount and currency of SilvercartMoney by DataExtension.
  • Added possibility to update a payment methods sumModificationValue by DataExtension.
  • Added possibility to update a shipping fees price by DataExtension.
  • Added possibility to update a products MSR price by DataExtension.
  • Updated documentation, re-arranged for 4-level-navigation
  • Updated documentation
  • Created chapter-subfolders
  • Initial commit for german user manual
  • Backend menu sections can now be hidden by SilvercartConfig.
  • Some minor PHP code enhancements in SilvercartModelAdminDecorator.
  • SilverCart based Member summary fields can now be overwritten by DataExtension.
  • Salutation will no more be set to "Herr" by default.
  • Added possibility to skip the redirection of SilvercartRegisterRegularCustomerForm by its extension classes.
  • Adapted the new nested sitemap-structure
  • Enhanced backend overview for availability status.
  • added hook to extend link-identifier to allow custom url-segments
  • SilvercartPaymentMethod return and cancel link can be overwritten by DataExtension now.
  • Added hook to update the account holders subnavigation by Extension.
  • CSS files can now be injected into backend by using SilvercartLeftAndMainExtension::add_additional_css_file($file_name).
  • Added some hooks to update a customer and its address on registration by Extension.
  • There will only be one address (instead of 2) after a customer registration.
  • Enhanced CMS fields of order positions.
  • Added method SilvercartCartPage_Controller::getCheckoutContext() to be able to get a checkout context in cart template.
  • Added URL actions to change the products per page setting and product sort order. Added method to get the sortable frontend fields for use in a template loop.
  • Added extension for PaginatedList to provide a single template for rendering any PaginatedList.
  • Added possibility to get SilvercartDataObject::getCMSFields() without tabs.
  • Added hook 'updatePrice' to SilvercartShoppingCartPosition (executable by DataExtension).
  • Added hook 'onAfterAddToCart' to SilvercartProduct (executable by DataExtension).
  • Generic backlink of SilvercartProductAddCartForm will now be more accurate.
  • removed ID, EAN and ProductNumberManufacturer from . Since those values are not unique, this can lead to wrong matching results.
  • Improved getMetaDescription and added getMetaTitle for better results in product detail view
  • Added method SilvercartProduct::get_by_product_number().
  • Added support for custom redirection after changing password.
  • Enhanced SilvercartGroupViewDecorator.
  • Added SilvercartProductImport
  • Added property UseAsRootForMainNavigation to SilvercartPage. A page can now be set as navigation root page to use its children to be displayed in main navigation.
  • Added support to provide product permissions by DataExtension.
  • SilvercartProduct provides permission canCreate to be set in backend now.
  • Added method to get a registration forms target customer group.
  • Added support for multiple search contexts to SilvercartSearchResultsPage.ss
  • Enhanced CSS for TreeMultiselectField.
  • Added method getTreeTitle() to SilvercartPage.
  • Added extension for CheckboxSetField.
  • Added GridField component to manage relation of sub objects in backend.
  • Target template of a group view rendering can now be passed as parameter in template.
  • Added "updateCMSFields" hook to SilvercartPaymentMethod.
  • Some minor CSS enhancements.
  • Added basic error message handling to SilvercartPage_Controller.
  • SEO enhancement of widget templates.
  • Added method to get a redirect back URL to SilvercartTools
  • Some template SEO Enhancements
  • Added form field templates for street with unmber, phone with area code and city with postcode.
  • Enhanced CSS.
  • Added possibility to redirect to a product group page when entering a SilvercartProductGroupHolder.
  • Enhanced product group / holder CMS fields.
  • Added configuration option to use invoice address always as shipping address.
  • Added some extra classes to last checkout steps submit button. Added link to terms and conditions and revocation instructions page to last checkout step.
  • Added some extra classes to payment checkout steps submit buttons.
  • Added methods to get step numbers and step links to SilvercartCheckoutStep.
  • Enhanced button style of last checkout step.
  • Refactored handling of shopping cart. Removed all direct calls to
  • Member::SilvercartShoppingCart() with Member::getCart().
  • Grouped backend search filters are SS 3.1 compatible now.
  • DateRangeSearchFilter is SS 3.1 compatible now
  • SilvercartMultiDropdownField and SilvercartExactMatchBooleanMultiFilter is SS 3.1 compatible now.
  • checkout address data extraction of SilvercartPaymentMethod has an enhanced, more dynamic
  • handling.
  • SilvercartTools::extractAddressDataFrom() handles address data in a more dynamic way now
  • added method to generate some fieldlabels by i18n convention DataObjectName.PropertyName
  • implemented dynamic handling for silvercarts default customer groups
  • added setting to SilvercartConfig to skip the shopping cart by redirecting into checkout. Fixed error
  • handling of SilvercartConfig for cli mode
  • Slidorion widget is SS 3.1 ready now
  • Image relation auto upload is now SS 3.1 ready
  • Product slider widget CMS fields are SS 3.1 ready now
  • enhanced SilvercartImageSliderWidget, SilvercartImageSliderImage and slider widget tools in general.
  • Enhanced product WidgetArea handling
  • A ModelAdmin (extending SilvercartModelAdmin) SearchForm will be collapsed on load by default. (Can be changed for each ModelAdmin)
  • Enhanced collapsed CMS menu behavior.
  • enhanced payment method backend
  • Some minor backend theme enhancements
  • Searchable fields of SilvercartPaymentMethod are SS 3.1 compatible now
  • Enhanced backend menu icon positioning
  • Enhanced widget admin inside a products admin mask.
  • Enhanced product admin and SilvercartFieldGroup handling
  • GridField batches are SS 3.1 compatible now
  • enhanced product admin
  • enhanced manufacturer admin
  • Address management in customer area is compatible to SS 3.1 now
  • Order management in customer area is compatible to SS 3.1 now
  • enhanced order quick preview
  • SilvercartGroupDecorator is SS 3.1 compatible now
  • enhanced print preview for SC 3.1
  • Director rules are SS 3.1 compatible now
  • SilvercartSearchResultsPage is SS 3.1 compatible now
  • SilvercartSearchResultsPage is SS 3.1 compatible now
  • Widget handling is SS 3.1 compatible now
  • SilvercartLanguageHelper is SS 3.1 compatible now
  • SilvercartProduct is SS 3.1 compatible now
  • SilvercartXMLDataFormatter is SS 3.1 compatible now
  • SilvercartGridFieldAddExistingAutocompleter is SS 3.1 compatible now
  • creation of defaul records is basically working now
  • Enhanced LeftAndMain Menu is SS 3.1 compatible now. All ModelAdmins are extending SilvercartModelAdmin now. SilverCart's ModelAdmins are basically SS 3.1 compatible now
  • SilvercartRequireDefaultRecords is SS 3.1 compatible now
  • SilvercartOrderDetailPage is SS 3.1 compatible now
  • SilvercartAddressPage is SS 3.1 compatible now
  • SilvercartInboundShoppingCartTransferPage is SS 3.1 compatible now
  • SilvercartPage is SS 3.1 compatible now
  • SilvercartProductGroupPage(_Controller) is SS 3.1 compatible now
  • SilvercartDeeplinkPage is SS 3.1 compatible now
  • _config.php is SS 3.1 compatible now
  • Added method to get the products per page options for use in a template loop.

Bugfixes

  • Fixed some issues with bargain slider behavior.
  • Fixed issue when opening a product detail page of a product without translation on a product group page with translation.
  • Fixed string to float conversion in SilvercartMoneyField.
  • Fixed CSS for product tile view.
  • Fixed SilvercartPageListWidget.
  • Fixed some deprecated code in SilvercartTextWithLinkWidget.
  • Fixed missing logout icon in CMS 3.3.1
  • Fixed slider image relation when uploading an image for SilvercartImageSliderWidget.
  • Fixed method call on a non-object in SilvercartImageSliderImage::getCMSFields().
  • Removed sidebar for registration page in checkout context.
  • Fixed SilvercartCartPage::getCheckoutContext(). (Missing DataModel)
  • Fixed registration checkout step (missing DataModel).
  • Fixed template SilvercartRegisterRegularCustomerForm.ss
  • Fixed CSS for registration form.
  • Fixed address step link for anonymous customers in checkout step 5.
  • Corrected wording: Email -> E-Mail
  • Fixed HTML output in SilvercartOrder summary fields.
  • Fixed some minor i18n issues.
  • Fixed issue in SilvercartProduct::getListImage().
  • Fixed tax display issue in order detail view (gross).
  • Fixed some method declarations in SilvercartWidgetTools.
  • Fixed product filter/limit issue.
  • Fixed a 3.2.1 compatibility issue.
  • Fixed glyphicons reference in SilvercartMain.css.
  • Fixed JS code to create example data and configuration for new inline buttons.
  • Fixed handling of ExtraCssClasses in SilvercartProductGroupManufacturersWidget and SilvercartProductGroupNavigationWidget.
  • Fixed HTML code display issue of order position GridField column.
  • Fixed product backend error when switching the current display language to a language without existing product group translations.
  • only contains PasswordResetLink and triggers a notice on undefined index 'Salutation'
  • fixed messed up markdown from Scrivener export
  • Security based forms will now always enable SecurityToken.
  • Fixed display issue of error page when calling a not existing action.
  • Fixed relative redirection link issue of addToCart action.
  • Fixed creation of a product detail link when calling SilvercartProductGroupPage::Link() in a non-native traslation context.
  • Fixed generation of a product link when calling a product detail page of a non native translation.
  • Fixed access onto private properties of i18n.
  • Fixed some field type typo.
  • Fixed allowed shipping methods in checkout.
  • Fixed SilvercartProduct::getProducts() to respect the $limit parameter in its result.
  • Fixed product group items widget to display the correct count of products.
  • Fixed topseller widget to fit with SS 3.1.
  • Fixed product pagination template.
  • Fixed creation of an empty product translation when using the duplication function in backend.
  • Fixed typo of extension method
  • Fixed SilvercartCustomer::getCart().
  • Fixed SilvercartProduct::get() for isolated environments (e.g. cli scripts).
  • Fixed SilvercartTools::isIsolatedEnvironment(). (SS 3.1 issue)
  • Fixed deprecation status of ScheduledTask.
  • Refactored all Member::currentUser() usages. Now, SilvercartCustomer::currentUser() will eb used to keep the current Member as singleton. This issue fixed the order preview in last checkout step, too. Fixed Tax overview in last checkout step.
  • Fixed product pagination.
  • Fixed issue when a user is not properly logged out.
  • Fixed varable handling of forgot password email.
  • added missing action 'editAddress' to SilvercartCheckoutStep
  • Fixed some 3.1.6 shopping cart template issues.
  • Fixed some 3.1.6 compatibillity issues.
  • Fixed escaping of SQL query
  • Removed duplicate class SilvercartDataObject. Fixed main navigation state issue on security controller.
  • Added fallback operator for plugged in search list filters.
  • Index 'Groups' no longer present in , changed to 'DirectGroups'
  • Fixed getRandomProducts() and added the necessary caller class.
  • Fixed product default image handling.
  • fixed missing 'return false' if no product image and no default image is present. Fixed wrong datatype for default image list to HasManyList
  • Replaced template "loop" control with "with" control.
  • Fixed PluggedInProductMetaData handling.
  • Fixed behavior of SilvercartMultiDropdownField in live mode
  • Fixed behavior of SilvercartMultiDropdownField in live mode
  • fixed product price calculation for customers with price type net and without tax payment.
  • Fixed lost password link.
  • Fixed some i18n issues.
  • Link to lost-password-function is in correct i18n context now. Fixed alignment of lost-password-link in checkout.
  • fixed automatic availability status change when creating a new product.
  • Fixed SilvercartMetaNavigationHolder_Controller::getSubNavigation()
  • Fixed SilvercartMetaNavigationHolder_Controller::getSubNavigation()
  • Address handling in customer account area is SS 3.1 compatible now.
  • Fixed CMS fields of SilvercartCheckoutStep
  • fixed translation link of a not published translation
  • fixed SilvercartRestfulXMLDataFormatter
  • Fixed allowed actions of SilvercartPaymentNotificationPage_Controller
  • Fixed SilvercartXMLDataFormatter to be compatible with SilverStripe 3.1.5+
  • added as value for the body lang attibute in Page.ss to reenable i18n JS
  • fixed searchable fields of SilvercartCountry (related to GridFieldAddExistingAutocompleter)
  • Fixed has_many handling of GridFieldAddExistingAutocompleter with extension. Fixed placeholder text handling of GridFieldAddExistingAutocompleter.
  • fixed searchable fields of SilvercartCountry to be SS 3.1 ready
  • fixed logout workarround for lost password function in SilvercartPage::init()
  • fixed SilvercartLoginWidget handling to be compatible with SS 3.1
  • fixed SilvercartPlugin call result when using the default return container
  • fixed creation of NULL Locale based translation default records for SilvercartAvailabilityStatus and SilvercartOrderStatus.
  • fixed potential non initialized variable.

Minor Changes

  • Temporary disabled enhanced product and shipping method CSV import.
  • Moved some backend files to admin directory.
  • Renamed directory code/custom_forms into code/forms.
  • Removed widget sub directories.
  • Moved all \*Language DataObjects into the class files of their base DataObjects.
  • Temporary disabled slider function of SilvercartBargainProductsWidget.
  • Removed deprecated property "disregardMinimumOrderValue".
  • Added i18n for singular/plural name of SilvercartRegisterWelcomePage.
  • Added i18n for singular/plural name of SilvercartPage.
  • Updated documentation
  • Moved SilvercartLatestBlogPostsWidget out of SilverCart core into module silvercart_blog_templates.
  • Removed zones out of SilvercartPaymentMethod summary and searchable fields.
  • Renamed helper class alignRight => text-right
  • Optimized alignment of headers and numbers / prices
  • renamed text-align helper-classes .right/left and align-* to text-*
  • fixed alignment of th, removed bold from position title
  • Reverted template SilvercartRegisterRegularCustomerForm.ss
  • better layout for business customer options
  • Fixed Search Results Page, fixed selector for strike through for old price
  • Some minor CMS field changes for SilvercartImage.
  • added some i18n.
  • Removed document.ready_scripts.js.
  • Rmoved SilvercartProductGroupSliderWidget.
  • Moved SilvercartMultiDropdownField to /admin directory
  • Moved SilvercartMultiDropdownField related CSS and Javascript to /admin directory.
  • Removed code_templates/.
  • Removed some images.
  • Removed SilvercartGroupedDropdownField.
  • Removed SilvercartTreeMultiselectField.
  • Removed SilvercartTreeMultiselectField.
  • Removed SilvercartHasManyOrderField.
  • Removed SilvercartManyManyOrderField.
  • Removed some SilvercartUpdate related files.
  • Removed SilvercartTextAutoCompleteField an all of its extensions.
  • Removed SilvercartFileIFrameField.
  • Removed CMSTopMenu.ss
  • Removed SilvercartSortableDataObject.
  • Some minor code changes to match 3.1 framework.
  • Removed SilvercartProductPreviewForm.
  • Updated documentation
  • Removed SilvercartProductExportTableListField.
  • Removed SilvercartTableListField.
  • Removed SilvercartProductTableListField.
  • Removed SilvercartEditableTableListField.
  • Moved some backend code to admin directory. Removed some deprecated files.
  • Moved ModelAdmin extensions to admin directory.
  • Removed SilvercartMain.php
  • Rmoved deprecated SilvercartMultiSelectAndOrderField.
  • Adde DataExtension hook updateSilvercartEditForm to SilvercartModelAdmin.
  • Some minor image decorator changes.
  • Added method to get an ordes cummulated tax amount.
  • Removed slash between phone area code and number.
  • Preferences of SilvercartProductAddCartForm and SilvercartProductGroupPageSelectorsForm can now be updated by extension.
  • Added a product field label.
  • Changed products per page default setting to 18.
  • Fixed some minor i18n issues.
  • Changed default products per page options to 18,30,60,90.
  • added check for SilvercartProductGroupPage_Controller to avoid errors in backend-context
  • Added method to get the context address of SilvercartEditAddressForm.
  • Some minor changes to SilvercartProductGroupPage
  • Removed deprecated SilvercartAnonymousCheckoutForm.ss
  • Some minor CSS extensions.
  • Some minor PHP code changes.
  • Added setter for SilvercartSearchResultsPage_Controller::. SilvercartProduct will be preselected as search context now.
  • SilvercartActionHandler::doSearch() can now be executed without redirection.
  • Removed some debug JS code.
  • Some minor CSS changes.
  • changed control to with
  • changed check for image ID > 0 to ->exists()
  • Added method SilvercartCustomer::currentUser() with caching mechanism.
  • changed control/end_control to loop/end_loop
  • Fixed padding of SilvercartConfig admin.
  • Added Method to get a customers anonymous name.
  • Removed SilvercartShippingAddressInUse field out of CMS fields.
  • Changed syntax of DB indexes to prevent altering them on every dev/build
  • Replaced some Director::redirect() calls
  • Replaced some DataObject::get_one() calls.
  • Replaced some DataObject::get() calls.
  • added RestfulServer /api/v1 rule to routes.yml
  • added RestfulServer /api/v1 rule to routes.yml
  • Some minor compatibility changes.
  • changed default IdentifierCode of DataPrivacyStatementPage
  • cart object will be passed as parameter for ShoppingCartInit plugin method.
  • SilvercartCheckoutFormStep5 uses button tag for submit buttons now
  • some minor i18n corrections.
  • added belongs many many relation from SilvercartImage to SilvercartSlidorionProductGroupWidget
  • completly disabled creation of default slidorion data
  • marked SilvercartGridFieldAddExistingAutocompleter::doSearch() as deprecated
  • added some field labels to SilvercartProduct
  • some minor changes in Widget administration
  • some minor enhancements and code corrections on SilvercartOrderDetailPage
  • SilvercartLeftAndMainExtension is SS 3.1 compatible now
  • Deprecated SilvercartManyManyOrderField is SS 3.1 compatible now
  • renamed SilvercartPluginObjectDecorator to SilvercartPluginObjectExtension
  • some minor phpdoc corrections
  • Removed some references to deprecated classes \'FieldSet\' and \'ComplexTableField\'.

Changelog SilverCart Branch 2.0

Enhancements

  • basic search is working now
  • product detail page is now handled as a real action in SilvercartProductGroupPage_Controller
  • added support for CustomHtmlFormSpecialFields to SilvercartCheckoutFormStep5
  • added i18n for manufacturer number
  • a manufacturer can now have a manufacturer number
  • added hooks to extend the creation of order positions by DataExtension
  • mass translation of SiteTree is SS3 ready now
  • added WidgetInfos to WidgetTab in a Pages CMS fields
  • added CustomerNumber to an orders summary fields
  • SilvercartLanguageDropdownField is now ss3 compatible
  • cli args are initialized correctly now (ss3 compatible)
  • added HTML GridField data column support for SilvercartOrder
  • massively enhanced the backend handling of SilvercartImages and SilvercartFiles when uploading them on a product or payment method
  • added SilvercartFileUploadField to upload files into a grid field
  • added SilvercartGridFieldDataColumns to allow to use HTML inside a data column
  • added possibility to add quick access fields to modeladmin
  • cms fields of SilvercartDownloadPage are ss3 compatible now
  • added SilvercartDBLocale to enhance the locale field scaffolding
  • Added documentation for Restful API.
  • added GridField Component SilvercartGridFieldDuplicateAction to duplicate DataObjects; SilvercartProduct can now be duplicated in backend
  • added batch action component to handle batch actions on a GridField
  • SilvercartPrint is SS3 compatible now
  • removed deprecated many_many relation to SilvercartProduct out of SilvercartOrder; renamed SilvercartGridFieldConfig_LanguageRelationEditor to SilvercartGridFieldConfig_ExclusiveRelationEditor; added SilvercartGridFieldConfig_Readonly for read only relations; SilvercartOrderLog is a read only relation now; added interfaces to mark a dataobject as a read only or exclusive relation
  • replaced some template Top calls with CurrentPage calls
  • Removed SilvercartMetrics and dashboard fields and templates.
  • newsletter subscription is fully ss3 compatible now
  • cart template is fully ss3 compatible now
  • order holder, order details, cart and checkout address templates are fully ss3 compatible now
  • SilvercartAddressHolder works now
  • checkout is working now\!
  • enhanced admin of SilvercartConfig; Example data and configuration can now be added in backend; Removed some outdated settings out of SilvercartConfig
  • enhanced compatibility to WidgetSets module; SilverCart Widgets are basically SS3 compatible now;
  • SilvercartFormScaffolder excludeFromScaffolding works with DataExtensions now;
  • added SilvercartLeftAndMain; modified SilvercartModelAdmin;
  • updated compatibility for the widgetsets module with silvercarts scaffolding mechanism
  • SilvercartCarrierAdmin and SilvercartShippingMethodAdmin inherit from SilvercartModelAdmin to provide sortable records
  • Shipping fees table of SilvercartShippingMethod is now sortable by drag & drop when SortableGridField module is installed
  • added SilvercartModelAdmin to inherit our ModelAdmins from
  • backend main menu is grouped into different sections now
  • SilvercartAddressOptionsetField is basically SS3 compatible now
  • SilvercartProduct uses SilvercartDataObject::scaffoldFormFields() now; Price fields of
  • SilvercartProduct are SilvercartMoney db fields now
  • SilvercartZone uses SilvercartDataObject::getCMSFields() now
  • SilvercartShippingMethods uses SilvercartDataObject::getCMSFields() now
  • added SilvercartDataObject and SilvercartFormScaffolder to enhance form scaffolding of the CMS fields
  • added special GridFieldConfig for language relations
  • SilvercartFieldGroup is ready for SS3 now;
  • optimized CMS fields of SilvercartShippingMethod; SilvercartShippingMEthod::getAllowedShippingMethodsBase() and SilvercartShippingMethod::getAllowedShippingFeesFor() are SS3 compatible now; some minor i18n additions
  • added field albel for SilvercartShippingFee.SilvercartShippingMethod
  • SilvercartCountry uses SilvercartMoney instead of Money now; optimized CMS fields of SilvercartCountry; added i18n for SilvercartCountry.TITLE 
  • optimized CMS fields of SilvercartZone
  • added SilvercartGridFieldConfig_RelationEditor and
  • SilvercartGridFieldAddExistingAutocompleter to be able to search an object to relate in backend by a has_many related property
  • added new DBField SilvercartMoney; moved deprecated extension to SilvercartMoneyExtension; implemented SIlvercartMoney support in SilvercartShippingFee;
  • recovered support for RequirementsEngine to use the SilverCart default css
  • SilvercartRequireDefaultCountries.php is SS3 ready now
  • SilvercartRequireDefaultCountries.php is SS3 ready now
  • added markup documentation
  • 3 of 6 tests for SilvercartShippingMethod are working now
  • SilvercartShoppingCartTest works now
  • SilvercartImageTest works now
  • SilvercartFileTest works now
  • made SIlvercartZone::getZonesFor() compatible to ss3
  • made SilvercartShippingMethod::getShippingFee() compatible to SS3
  • added fixture files for manufacturer unit tests; manufacturer unit tests are compatible with ss3 now;
  • SilvercartManufacturer::getByUrlSegment() is ss3 compatible now
  • added fixture files for product unit tests; product unit tests are compatible with ss3 now;
  • added method SilvercartProduct::get() to add the filter for SilvercartProduct::; added method to reset SilvercartProduct::;

Bugfixes

  • fixed SilvercartGridFieldAddExistingAutocompleter
  • fixed multiple handling of order status change
  • fixed multiple creation of email templates
  • fixed creation of new members in admin area
  • fixed error message handling of SilvercartQuickLoginForm
  • Added support for inherited searchable fields and Translatable extension to
  • SilvercartGridFieldAddExistingAutocompleter.
  • Re-enabled the display of slider attributes
  • fixed a bug where displaying the product group page throws a fatal error when the method viewableChildren was called
  • Removed type hinting to match function signature of Controller::handleRequest in SS3
  • Switched SilvercartPluginObjectDecorator to SilvercartPluginObjectExtension
  • SilvercartConfig:: gets respected in SilvercartPage now.
  • replaced deprecated control calls with loop and with calls in template
  • fixed some session issues with SS3
  • fixed country filter of SilvercartCustomerAdmin; SilvercartCustomerAdmin extends SilvercartModelAdmin now; Changed menu sort order of SilvercartCustomerAdmin and SilvercartContactMessageAdmin
  • fixed cms fields when adding a product in backend
  • fixed ereg_replace calls in SilvercartCheckoutOptionsetField and SilvercartShippingOptionsetField
  • fixed SS_List bug in product group child products widget
  • added condition to check whether the method getCacheRelevantFields exists on a DataObject or not before calling it
  • widget title gets shown in breadcrumbs
  • added condition to check whether a products WidgetArea exists before trying to delete it
  • added method markAsNotSeen to SilvercartOrder
  • removed deprecated relation from SilvercartProduct to SilvercartOrder
  • multilingual fields get sorted correctly
  • root notes of SilverCart store admin menu are i18n compatible
  • initial dev/build called by sake will nn more result in a crash because of missing SilvercartConfig
  • corrected call to check whether a payment method exists in SilvercartPaymentMethod::requireDefaultRecords()
  • WidgetArea is now scaffolded correctly
  • some minor css fixes of .ui-accordion-content
  • replaced some backticks
  • fixed a minor template issue
  • fixed obviously bugs of CheckoutFormSteps
  • fixed prioritive country handling
  • restored basic cms fields of a product; restored no-image handling of a product; removed no more needed method saveLongDescription() out of SilvercartProduct;
  • fixed SilvercartProductGroupPage::getMetaDescription() when no products are related
  • SilvercartRequireDefaultCountries works correctly now
  • corrected i18n files
  • fixed some inherited method declaration violations
  • fixed SilvercartCountry::getPrioritiveCountryCount() and SilvercartCountry::getNonPrioritiveCountryCount()
  • fixed declaration of SilvercartProduct::get()
  • fixed SilvercartTools::isIsolatedEnvironment()
  • fixed cache block in Page.ss
  • fixed condition to check whether a product list is filtered by manufacturer
  • php unit runs correctly

Minor Changes

  • Order will be re-written after convertShoppingCartPositionsToOrderPositions
  • added searchable fields to SilvercartOrderStatus
  • fixed typo
  • added type hint for SS_HTTPRequest
  • Changed inheritance of SilvercartManyManyOrderField_RecordController extends SilvercartModelAdmin, fixed documentation
  • Fixed obsolete Director::redirect
  • removed scaffolded CMS tab for SilvercartProductGroupItemsWidgets on SilvercartProduct
  • checking for existance of GoogleSitemap module before registering SilvercartProduct
  • SilvercartRestfulServer is compatible to SS3 now
  • Added SilvercartGridFieldConfig_HasOnlyOneEditor
  • moved SilvercartCachePrimer task from core into silvercart_marketing_reports module
  • some minor Translatable related changes
  • changed copyright and licensing; some other php doc corrections;
  • denied access to license.lic by .htaccess
  • changed licensing of silvercart code
  • some minor php doc corrections
  • some minor corrections in SilvercartGridFieldBatchAction
  • some minor doc corrections
  • some minor cms field changes for customer data
  • updated bugfix template for DataObject
  • enhenced info string of IdentifierCode in backend
  • added SilvercartWidget class to hidden widgets to prevent it from creation in a widget set
  • fixed method call for SilverCartWidgetSet extension
  • renamed SilvercartLeftAndMain to SilvercartLeftAndMainExtension
  • modified summaryFields of SilvercartShippingFee
  • modified summaryFields of SilvercartCarrier
  • removed static property out of SilvercartPaymentMethod; Renamed Tabset 'Section' into 'Root';
  • removed no more needed file
  • removed deprecated SilvercartMoney.php
  • changed bugfix code template of DataObject
  • removed no more needed method saveDescription() out of SilvercartFile
  • added i18n for South Sudan
  • added method SilvercartCustomer::isAdmin() to check whether a Member is an admin or not
  • fixed SilvercartShippingMethod::AttributetPaymentMethods()
  • added .md.plist extended files to .hgignore
  • php doc, refactoring

Other Changes

  • activated slidorion widget in test data
  • reafactoring of CMS fields
  • more refactoring of widget CMS fields; translation issues
  • refactoring of widget CMS fields; translation issues
  • refactored CMS fields of Product; i18n issues
  • refactored the cms fields of orders
  • misc little fixes
  • last CMS polishing of widgets
  • refactored CMS fields of the manufacturer list widget and added documentation
  • fixed the bug were product images of demo data were not shown
  • images of payment modules are copied corretly
  • moved redundant methods on children of SilvercartWidget to SilvercartWidget
  • regrouped CMS Fields of bargain widget
  • refactored CMS fields of ImageSliderWidget
  • refactoring of the CMS fields of the bargain widget
  • refactoring of the widgets
  • refactored all getCMSFields() to our new convention; most widgets are still missing
  • renaming the tabset of CMS fields from Rections to Root; made use of our new grid field relation editor
  • refactored some classes to our new getCMSFields convention; DataObject::excludeFromScaffolding() works now on has_one relations and simple fields too
  • refactoring
  • worked on getCMSFields for the modeladmins
  • refactored all calls to DataObject::get() if they were used as a conditional because they do not return false in any case
  • all required default records will be created
  • default records for countries
  • ContactMessageAdmin and ShopEmailAdmin do work now
  • group views activated; CustomerAdmin and WidgetSetAdmin are working now
  • dev/build works without PHP notice
  • fixed frontend errors
  • refactoring; worked on some frontend bugs; products without product group can't be called via deeplink
  • daFixa was here
  • multilingual descriptions and titles added
  • test data can be activated by calling the static method directly via config.php
  • removed all DataObjectSet from phpdoc and code
  • made a new build of the language files after the merge with 1.3; activated working decorators
  • added missing translations; worked on some model admins record creation
  • removed obsolete class SilvercartWidgetAdmin; removed class SilvercartWidgetSetAdmin which was moved to the module widgetsets; adjusted class names and language files
  • refactoring for SS3; backend shows details of payment methods;
  • revision of language files
  • refactoring
  • except customer and update all admins load correctly in the backend; backend translations added
  • added the obsolete lang files to be able to merge them; updated the yaml lang files with the i18n_yaml_converter
  • all pages of the default site tree are selectable in the backend
  • removed obsolete class;
  • Refactored all files named *Extension to *Decorator to be able to merged them with 1.3
  • Added new translations to the YAML files
  • API change: SilvercartLanguageHelper::prepareCMSFields() has now the language class name as first parameter
  • Multilingual attributes get saved correctly
  • all back ticks in SQL statements are replaced by escaped double quotes
  • Replaced back ticks with escaped double quotes; this work is not done yet, I made this commit to merge the 1.3 branch and avoid conflicts
  • api shane SilvercartProduct::get() is now called SilvercartProduct::getProducts(); SQL back ticks changed to double quotes; sort orders adjusted; calls to DataObjectSet::TotalItems() changed to ArrayList::count()
  • dashboard removed, it is no longer in use
  • removed back ticks from all class attributes $default_sort because of a core bug
  • removed back ticks from all class attributes $default_sort because of a core bug
  • all model admins work except OderAdmin
  • RequirementsEngine calls removed; The CSS classes still carry the variables so we can reuse them with compass; reconfiguration of ModelAdmins, some still do not work;
  • SilvercartContactMessageAdmin and DeeplinkAdmin work
  • carrier admin works
  • backend loading but many admins do not work yet; Update system removed; SilverCart's own field classes are included again
  • removed all update classes;; API adjustments
  • added all missing classes to make all relations work #ignore codesniffer
  • Silvercart site tree instantiation with SilvercartRequireDefaultRecords works
  • renamed DataObjectDecorator
  • Method compatible to parent
  • Replaced DataObjectSet with ArrayList, DataList or PaginatedList;
  • customhtmlform injection works again
  • i18n for widget set admin
  • classes of folder code/custom_forms added; customhtml form injections for Security controller commented out;
  • Added sortable widget sets (not working fully atm)
  • Added Widgetset Admin
  • Replaced call to method isAdmin in SilvercartPage. Added SilvercartWidget basics.
  • Methods that were defined on a parent class must have the same parameters otherwise a strict notice appears in dev mode; If a page must not have children $allowed_children must be set to the string 'none' and not an array('none'); The backends loads correctly with the page types of silvercart although they are not instantiated yet
  • all classes of code/pages/ added
  • Model admins are completely multilingual; old translation files removed
  • requireDefaultRecords() commented out due to error message on dev/build
  • refactored all Controller::redirect() calls
  • comparators in templates adjusted
  • Classes in code/base and code/config adjusted to new ORM; Templates <% control %> refactored
  • YAML language files created; Class SilvercartTools refactored
  • Added static files #ignore codesniffer
  • Started work to port SilverCart to Silverstripe 3.