Upgrade database script from 1.3.0 to 1.4.0 is available under "Hot Fixes" tab.
Customers
Customers will now automatically be created when a member of a specified type is created through the Umbraco Membership.
Products
We have refactored the product / product variant UI a bit so that a variant is automatically created for each option choice. An "available" property has been added to the variant so that it can be flagged as not available.
Products can now exist in multiple catalogs so that the back office editor has more granular control on shipping rules per product.
We've also added a "location" field for for shippable items - this is intended to be used to designate the location of the inventory in the warehouse and will be used later when we add "Pull Sheets".
Orders -> Sales
We have renamed Orders to sales as it reflects more of what is really happening in the business logic.
Shipments
An order can now be split into multiple shipments and more work has been done on back ordered.
Bug Fixes
There are quite a few bug fixes in this version, including the refactoring of the MerchelloHelper and the Examine indexes which caused problems for some people.
Customers will now automatically be created when a member of a
specified type is created through the Umbraco Membership.
I didn't look at the code yet, how is this done?
I think of things like anonymous customers, send (verification) e-mails after register, usernames, ...
@Damaain thanks for the pull request. I merged it in this morning.
@Calvin I handled the Created event (I think) on MembershipService. The tie between Merchello customers is make by the username association. I also handles the Saving event to maintain the username association if it was changed in the Backoffice.
Registration/verification emails would be handled as normal. Sales would not be associated with a Merchello customer until you allow the member to authenticate.
@Karl - run the SQL upgrade script (now fixed thanks to @Damaain). Copy over the Merchello folder in App_Plugins, and then copy the Merchello dlls into your bin.
If you want to be super clean - change the Merchello version references to 1.4.0 in the web.config. Not used at the moment but I've started working on Migrations so that upgrades can be more automated in the future.
About the product editor and product selector. I have created a product document type and added this two property types to mess around.
Using the product editor, the styling is not correct, the property renders under the Umbraco's publish button and all the labels are rendered after the input textboxes.
Also, it is not intuitive yet, because for a store editor, the steps for creating a new product in Umbraco content section are:
Create a new product in Umbraco content
Give a name to the product (Umbraco's node name)
In the product editor give a name to the variant (should take the name of the node), so the editor has to write it twice.
The editor has to click on "Create product" to create it and after that, save and publish the product node in Umbraco.
Also, there is a "select product" button to select a diferent product from Merchello's catalog, wich should be transparent for the store editor as he wants to create a new product.
As i see it, it is not intuitive. The product editor property should take the node name as the variant name if empty. Also, the create button should disappear and create the product in Merchello and connect the product to the node automatically on the "save & publish" umbraco's event. The select product button should not appear, as the goal of the product editor is managing the product from the content manager. For that goal should be used the "product selector" property.
I think that editors are confortable managing the content in the content section. The approach to create the product in Merchello section and after create the same product in the content and connect them is not intuitive. I would not allow to create products on the Merchello section, i would force to create it on the content section and make the connection transparent. This would be a 1-1 matching not allowing products on Merchello be disconnected from the content section.
I would quit "Catalog" from the Merchello section and would create a "Catalog property" to asign to the "Products" node (under this node would be each product) that would allow to search the products (as it is done in the "Catalog" section). This way, creating and editing products should be done in the Content section.
The Merchello section would only allow to manage Sales, Customers and Settings.
Also, to make things easier, with the installation of Merchello, i would create a "Product" document type with typical product properties (description, pics (ie in a content tab) and Merchello product editor property (ie on a Merchello tab)). Also a "Products" document type with "Product" under it.
This way, after installing Merchello, i would only have to create a "Products" node on the content section and adding products under it would be instantly. The developer could rename this document types, create categories, etc they should serve as examples and a guide to follow.
This is something that we have been struggling with since the very beginning and while I too think you are right that the product editor UI is not very intuitive at this point but we are continuing to look at new ways of improving things.
We also have to consider a few challenges:
Creating a product in content is not as simple as it seems. We do not have a proper javascript event in which we can handle to do things exactly as we would like to do. I believe Umbraco is working on adding it - but we can't expect them to build something specifically for our needs and we just have to wait see what comes out, figure out how to use it when it does and then do our own refactoring. =)
Products and content are really not a 1:1 relationship - they are a 1 to many. Originally we had the concept to have products completely defined in content, but things fell apart quickly once we started considering such things as multilingual presentations, inventory, variants - etc. There is also at least one firm that is not using content at all to store product information. They opted to grab descriptions (and other merchandising information) from an internal system, map it via the product variant key and then render it with a custom route.
We do not include document types, templates, front end scripts ... in the Merchello package as for many installs they would only get in the way - very similar to the reasons Umbraco itself does not include them in it's install. IMO we should stay the course on this and look for other ways to make implementations easier to start rather than imposing our idea of how things should be implemented.
A great example of this is the Hybrid Framework (http://our.umbraco.org/projects/developer-tools/hybrid-framework) developed by Jeroen Breuer and Jeavon Leopold - which is their take on a best practices approach to building out a website in Umbraco. Recently we've (Mindfly) took their concept and built our own flavor of the Hybrid Framework - Buzz.Hybrid (https://github.com/rustyswayne/Buzz.Hybrid) which we are currently using to build out a number of Merchello sites. If we were to force this methodology on others developers we most certainly would create a lot more frustrations than we have at the moment.
That being said, we are in dire need of a formal Merchello starter kit(s) that would be installed as a package(s). It'd be awesome for people in the community to help out in this arena. I'd love to see various implementation strategies.
On that note, I also am hoping to start looking at things on UaaS and begin the process of coding out the bits and pieces that we will need to make things work seamlessly in that environment.
I have started prototyping the idea of a "CustomFieldsCollection" in a separate project which I think could be used to extend the product variant, invoice, order, and shipment objects in Merchello similar to the existing ExtendedDataCollection in Merchello presently, but would be used for more defined properties rather than meta information.
I see you need the Catalog option inside the Merchello section for that 1:n scenarios. So, the Merchello editor property type is the solution to edit and create products from the content section. I would like to improve the usability on this for the product creation:
Could it be possible to use the Umbraco events to make it more transparent for the editor when creating a product and selecting it afterwards?
May be we could use the "published" event to see wheter the node has the Merchello product editor property and if the variant name is empty take the node text as the variant name, automatically create the product on Merchello catalog and make a relation from the content node to the variant created. This way, in the content editor, the user has two options:
Attach a product already created.
Create a new one. For this scenario, only would have to at least fullfill the sku and the price. Then when publishing the product node the product would be created and selected on the "published" Umbraco event.
For a 1:1 ecommerce, could the Merchello product editor property type have a "not show attach product button", that way on a 1:1 situation the user could create all the products from the content editor making it more intuitive not having to deal with attach or create.
Merchello editor is not rendered correctly, so i cant use it by now, but it would be useful, in order to use only the selector property type to render a link to edit the product on a new tab. I mean ie. I create a product on the Merchello section. Then i go to Umbraco content and create a product node and select the product from the Merchello catalog. OK, imagine later the editor wants to add a photo or change the description and change the price. He goes to the content section, search the product, edit the description and then he needs to go to the Merchello section and look for the product to change the price.
It would be easier if the product selector renders a link so if the editor clicks on the product selected it opens on a new tab the product on the merchello section to edit the product.
Merchello 1.4.0 Release
Merchello 1.4.0
Upgrade database script from 1.3.0 to 1.4.0 is available under "Hot Fixes" tab.
Customers
Customers will now automatically be created when a member of a specified type is created through the Umbraco Membership.
Products
We have refactored the product / product variant UI a bit so that a variant is automatically created for each option choice. An "available" property has been added to the variant so that it can be flagged as not available.
Products can now exist in multiple catalogs so that the back office editor has more granular control on shipping rules per product.
We've also added a "location" field for for shippable items - this is intended to be used to designate the location of the inventory in the warehouse and will be used later when we add "Pull Sheets".
Orders -> Sales
We have renamed Orders to sales as it reflects more of what is really happening in the business logic.
Shipments
An order can now be split into multiple shipments and more work has been done on back ordered.
Bug Fixes
There are quite a few bug fixes in this version, including the refactoring of the MerchelloHelper and the Examine indexes which caused problems for some people.
Check http://issues.merchello.com for more details.
Whats the best way to upgrade? Install the package again?
GREAT!
I didn't look at the code yet, how is this done?
I think of things like anonymous customers, send (verification) e-mails after register, usernames, ...
I think there is an error in the DB update script: I think the defaultvalue doesn't need quotes!
The correct version is:
Also not everywhere is a Schema mentioned.
It seems to me that a fresh install of Merchello 1.4 also has the same issue (as I described above), on the PK field of the ProductVariant table.
@Damaain thanks for the pull request. I merged it in this morning.
@Calvin I handled the Created event (I think) on MembershipService. The tie between Merchello customers is make by the username association. I also handles the Saving event to maintain the username association if it was changed in the Backoffice.
Registration/verification emails would be handled as normal. Sales would not be associated with a Merchello customer until you allow the member to authenticate.
@Karl - run the SQL upgrade script (now fixed thanks to @Damaain). Copy over the Merchello folder in App_Plugins, and then copy the Merchello dlls into your bin.
If you want to be super clean - change the Merchello version references to 1.4.0 in the web.config. Not used at the moment but I've started working on Migrations so that upgrades can be more automated in the future.
Copy from where?
Is there an up to date example site using 1.4.0 that shows persisted customers - customer login to view order history, quicker checkout, etc?
Hi, i have just installed Merchello 1.4.0
About the product editor and product selector. I have created a product document type and added this two property types to mess around.
Using the product editor, the styling is not correct, the property renders under the Umbraco's publish button and all the labels are rendered after the input textboxes.
Also, it is not intuitive yet, because for a store editor, the steps for creating a new product in Umbraco content section are:
What do you think?
Hi Tito,
This is something that we have been struggling with since the very beginning and while I too think you are right that the product editor UI is not very intuitive at this point but we are continuing to look at new ways of improving things.
We also have to consider a few challenges:
Creating a product in content is not as simple as it seems. We do not have a proper javascript event in which we can handle to do things exactly as we would like to do. I believe Umbraco is working on adding it - but we can't expect them to build something specifically for our needs and we just have to wait see what comes out, figure out how to use it when it does and then do our own refactoring. =)
Products and content are really not a 1:1 relationship - they are a 1 to many. Originally we had the concept to have products completely defined in content, but things fell apart quickly once we started considering such things as multilingual presentations, inventory, variants - etc. There is also at least one firm that is not using content at all to store product information. They opted to grab descriptions (and other merchandising information) from an internal system, map it via the product variant key and then render it with a custom route.
We do not include document types, templates, front end scripts ... in the Merchello package as for many installs they would only get in the way - very similar to the reasons Umbraco itself does not include them in it's install. IMO we should stay the course on this and look for other ways to make implementations easier to start rather than imposing our idea of how things should be implemented.
A great example of this is the Hybrid Framework (http://our.umbraco.org/projects/developer-tools/hybrid-framework) developed by Jeroen Breuer and Jeavon Leopold - which is their take on a best practices approach to building out a website in Umbraco. Recently we've (Mindfly) took their concept and built our own flavor of the Hybrid Framework - Buzz.Hybrid (https://github.com/rustyswayne/Buzz.Hybrid) which we are currently using to build out a number of Merchello sites. If we were to force this methodology on others developers we most certainly would create a lot more frustrations than we have at the moment.
That being said, we are in dire need of a formal Merchello starter kit(s) that would be installed as a package(s). It'd be awesome for people in the community to help out in this arena. I'd love to see various implementation strategies.
On that note, I also am hoping to start looking at things on UaaS and begin the process of coding out the bits and pieces that we will need to make things work seamlessly in that environment.
I have started prototyping the idea of a "CustomFieldsCollection" in a separate project which I think could be used to extend the product variant, invoice, order, and shipment objects in Merchello similar to the existing ExtendedDataCollection in Merchello presently, but would be used for more defined properties rather than meta information.
https://github.com/rustyswayne/uLocate/blob/master/src/uLocate/Models/CustomField.cs
https://github.com/rustyswayne/uLocate/blob/master/src/uLocate/Models/CustomFieldsCollection.cs
This is a ways out (if it works) though.
Hi Rusty,
I see you need the Catalog option inside the Merchello section for that 1:n scenarios. So, the Merchello editor property type is the solution to edit and create products from the content section. I would like to improve the usability on this for the product creation:
Could it be possible to use the Umbraco events to make it more transparent for the editor when creating a product and selecting it afterwards?
May be we could use the "published" event to see wheter the node has the Merchello product editor property and if the variant name is empty take the node text as the variant name, automatically create the product on Merchello catalog and make a relation from the content node to the variant created. This way, in the content editor, the user has two options:
is working on a reply...
This forum is in read-only mode while we transition to the new forum.
You can continue this topic on the new forum by tapping the "Continue discussion" link below.