We've moved most "New" from buttons on listing pages to tree context menu to be more consistent with Umbraco. We've also combined actions under the save or action buttons.
Entity Collections
Entity collections are a new feature added to Merchello in this release.
Static collections
Static collections are available for Products, Invoices and Customer objects and can be created, managed and sorted through the Merchello back office tree. A new control has been added to the respective overview pages that allows associating the product, invoice or customer with multiple collections similar to a standard MNTP in Umbraco.
Dynamic collections
Several dynamic collections have been added to the Sales sub tree which provider filtering for:
Unpaid invoices
Partially paid invoices
Paid invoices
Unfulfilled orders
Open orders
Fulfilled orders
These can be removed and sorted through the Merchello.config file.
<tree id="sales" title="Sales" icon="icon-receipt-dollar" routePath="merchello/merchello/saleslist/manage" visible="true" sortOrder="2">
<childSettings>
<!--
Sets the order where self managed entity collection providers (like Unpaid invoices) are listed in the tree.
If set to true, the resolved collections will be listed before the user defined collections. False will list them
after.
-->
<setting alias="selfManagedProvidersBeforeStaticProviders" value="true" />
</childSettings>
<selfManagedEntityCollectionProviders>
<!--
attribute: key - the provider key defined in the EntityCollectionProviderAttribute decorating the EntityCollectionProvider
attribute: icon - is the icon displayed in the tree
attribute: visible - indicates whether or not the collection should provider should create a tree node
attribute: ref - not actually used, it is only here so that they can be managed more easily
-->
<entityCollectionProvider key="A8120A01-E9BF-4204-ADDD-D9553F6F24FE" icon="icon-bills" visible="true" ref="Unpaid invoices" />
<entityCollectionProvider key="82015B97-11E8-4E57-8258-A59E1D378E04" icon="icon-bills" visible="true" ref="Partially paid invoices" />
<entityCollectionProvider key="072E0671-31BE-41E4-8CF9-4AEEC6CC5BC6" icon="icon-bills" visible="true" ref="Paid invoices" />
<entityCollectionProvider key="5FD6E5EB-0B7C-41A4-B863-7AEC31BE84C0" icon="icon-truck" visible="true" ref="Unfulfilled orders" />
<entityCollectionProvider key="A9A288F3-DA98-4712-9E90-F9F909F2C26A" icon="icon-truck" visible="true" ref="Open orders" />
<entityCollectionProvider key="68B57648-7550-4702-8223-C5574B7C0604" icon="icon-truck" visible="true" ref="Fulfilled orders" />
</selfManagedEntityCollectionProviders>
</tree>
A task chain has been added that is intended to validate basket and wish lists to ensure that items in those collections respect any changes that have been made in the back office prior to checkout.
Use case: Customer adds a product that is on sale to the basket and by the time they checkout, a back office user removes the item from being on sale. This is particularly crucial for persisted baskets and items in the customer's wish list.
Validation tasks included in this release:
Validate the product has not been deleted
Validate the product pricing has not changed
Validate product inventory settings
NOTE if you have customized product pricing prior to adding it to a basket or wish list, such as multi-currency implementations you may opt initially to comment out this task or replace it with a custom task of your own.
A new Extended Data Key "merchLineItemAllowsValidation" has been introduced that can be added to line items that, if set to False will skip that line item during the validation process.
If an item was either altered or removed during the validation process, the action is logged.
Events
Several new cancelable events have been added to basket and wishlists.
AddingItem - Occurs before adding a line item
AddedItem - Occurs after adding a line item
RemovingItem - Occurs before removing a line item
RemovedItem - Occurs after a line item is removed
Validating - Occurs before validating the collection
Validated - Occurs after the collection has been validated
Localization
Wev've began the process of reorganizing the Merchello language files in anticipation of Umbraco 7.3.0 and have added quite a few new keys in new areas. Some values have been replicated so that the new mapping could be used but there but we have not had time to audit each key to do a thorough cleanup which will be an ongoing process.
NOTE if you notice keys look like their missing after upgrading and merging the new language files, please make sure that you clean out the files in /App_Data/TEMP/ClientDependency folder update the ClientDependency version.
Upgrade Notes
Copy over Merchello binaries (dlls) in the bin directory. Copy over the App_Plugins/Merchello directory (note if you have made any configuration changes in the merchello.config make sure to retain those). Add new language keys to the Umbraco's language file(s) /Umbraco/Config/Lang/ - I usually just overwrite all of Merchello's areas rather than trying to merge them.
Good! The problem is to mantein the local source code aligned with main repo. When I started to customize the code, I installed vs, umbraco, paypal and merchello sources. How to do for the next?
@Biagio - I always published the Merchello core dlls to NuGet. If you have your customizations in a library, you could keep the dependencies for both Umbraco and Merchello updated by updating from there ...
uhm... I've customized Paypal sources for recurring payments and Bazaar sources to use Paypal plugin because is not listed into the list of payment methods in the cart.
Yes, I do that in simple manner to start and because I've not a lot of time for a beta of the web app.
I've cabled the cycling of the product because my business rule is fixed and I need to have one product ( subscription ) by cart.
There are some todo to have a full Paypal plugin and I'm available and happy to contribute on it and Merchello and have some help on it.
I upgraded from 1.10.1 to 1.11.0 using the contents of the upgrade zip file, copied the dlls, AppPlugins folder, and updated the language key files in Umbraco/Config/Lang but the the tabs in the Merchello area still show as the keys (e.g. [merchelloTabsproductListing]).
I've deleted all the files from the App_Data/Temp/ClientDependency folder, and updated my ClientDependency version, which got the keys for the Trees coming through, but still not the tabs.
@Ben - I don't think you missed anything, but with so much caching (Angular, browser, HTTP run time ...) it can be frustrating to kick it to kick. My guess this is an Angular caching issue.
In your web.config, change
<compilation debug="true" ...
hit save and have a look.
If that fixes it, set compilation debug back to false (as you do not want that setting true in a production.
In Chrome you can also set your developer tools to "Disable cache (while DevTools is open)" through the settings (the little gear icon). Sometimes that does the trick.
@Rusty Swayne Ah yes thank you! Turns out it was browser caching. I usually have the cache disabled while DevTools is open so assumed it wasn't the browser, but I must have switched the cache back on for testing on another project and forgotten... Rookie error!
Merchello 1.11.0 Release
Navigation Changes
We've moved most "New" from buttons on listing pages to tree context menu to be more consistent with Umbraco. We've also combined actions under the save or action buttons.
Entity Collections
Entity collections are a new feature added to Merchello in this release.
Static collections
Static collections are available for Products, Invoices and Customer objects and can be created, managed and sorted through the Merchello back office tree. A new control has been added to the respective overview pages that allows associating the product, invoice or customer with multiple collections similar to a standard MNTP in Umbraco.
Dynamic collections
Several dynamic collections have been added to the Sales sub tree which provider filtering for:
These can be removed and sorted through the Merchello.config file.
The setting
if set to false will move any invoice collections created by a back office user above the self managed providers (dynamic collections).
Demo: https://drive.google.com/file/d/0B0o-8ZqA1sebaGNKOFhNaXpXQnc/view
Basket / Wish list
Validation
A task chain has been added that is intended to validate basket and wish lists to ensure that items in those collections respect any changes that have been made in the back office prior to checkout.
Use case: Customer adds a product that is on sale to the basket and by the time they checkout, a back office user removes the item from being on sale. This is particularly crucial for persisted baskets and items in the customer's wish list.
Validation tasks included in this release:
NOTE if you have customized product pricing prior to adding it to a basket or wish list, such as multi-currency implementations you may opt initially to comment out this task or replace it with a custom task of your own.
A new Extended Data Key "merchLineItemAllowsValidation" has been introduced that can be added to line items that, if set to False will skip that line item during the validation process.
If an item was either altered or removed during the validation process, the action is logged.
Events
Several new cancelable events have been added to basket and wishlists.
Localization
Wev've began the process of reorganizing the Merchello language files in anticipation of Umbraco 7.3.0 and have added quite a few new keys in new areas. Some values have been replicated so that the new mapping could be used but there but we have not had time to audit each key to do a thorough cleanup which will be an ongoing process.
The Merchello tree is now localized as well as all tabs in Merchello section views. http://issues.merchello.com/youtrack/issue/M-732
NOTE if you notice keys look like their missing after upgrading and merging the new language files, please make sure that you clean out the files in /App_Data/TEMP/ClientDependency folder update the ClientDependency version.
Product
It is now possible to edit the master variant (the root product) when variants exist. http://issues.merchello.com/youtrack/issue/M-767
Umbraco Version
Merchello tested against Umbraco 7.2.8.
Upgrade Notes Copy over Merchello binaries (dlls) in the bin directory. Copy over the App_Plugins/Merchello directory (note if you have made any configuration changes in the merchello.config make sure to retain those). Add new language keys to the Umbraco's language file(s) /Umbraco/Config/Lang/ - I usually just overwrite all of Merchello's areas rather than trying to merge them.
Change log
http://issues.merchello.com/youtrack/rest/agile/Merchello-1/sprint/1.11.0
Good! The problem is to mantein the local source code aligned with main repo. When I started to customize the code, I installed vs, umbraco, paypal and merchello sources. How to do for the next?
@Biagio - I always published the Merchello core dlls to NuGet. If you have your customizations in a library, you could keep the dependencies for both Umbraco and Merchello updated by updating from there ...
uhm... I've customized Paypal sources for recurring payments and Bazaar sources to use Paypal plugin because is not listed into the list of payment methods in the cart.
@Biagio - did you add your recurring bit as PayPal payment method in the plugin? Love to see a gist of that.
Yes, I do that in simple manner to start and because I've not a lot of time for a beta of the web app. I've cabled the cycling of the product because my business rule is fixed and I need to have one product ( subscription ) by cart. There are some todo to have a full Paypal plugin and I'm available and happy to contribute on it and Merchello and have some help on it.
I upgraded from 1.10.1 to 1.11.0 using the contents of the upgrade zip file, copied the dlls, AppPlugins folder, and updated the language key files in Umbraco/Config/Lang but the the tabs in the Merchello area still show as the keys (e.g. [merchelloTabsproductListing]).
I've deleted all the files from the App_Data/Temp/ClientDependency folder, and updated my ClientDependency version, which got the keys for the Trees coming through, but still not the tabs.
Have I missed something out here?
@Ben - I don't think you missed anything, but with so much caching (Angular, browser, HTTP run time ...) it can be frustrating to kick it to kick. My guess this is an Angular caching issue.
In your web.config, change
hit save and have a look.
If that fixes it, set compilation debug back to false (as you do not want that setting true in a production.
In Chrome you can also set your developer tools to "Disable cache (while DevTools is open)" through the settings (the little gear icon). Sometimes that does the trick.
@Rusty Swayne Ah yes thank you! Turns out it was browser caching. I usually have the cache disabled while DevTools is open so assumed it wasn't the browser, but I must have switched the cache back on for testing on another project and forgotten... Rookie error!
is working on a reply...