From 0c4e1aa47bcd45d461b5bc272ba76f7a84331502 Mon Sep 17 00:00:00 2001 From: Benjamin Willems Date: Mon, 30 Apr 2018 16:14:45 -0700 Subject: [PATCH 1/6] Add initial product management overview --- guides/users/products/overview.md | 47 +++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 guides/users/products/overview.md diff --git a/guides/users/products/overview.md b/guides/users/products/overview.md new file mode 100644 index 00000000000..8f8593125c8 --- /dev/null +++ b/guides/users/products/overview.md @@ -0,0 +1,47 @@ +# Overview + +You can create and manage products from the Solidus backend. From your `/admin` +homepage, navigate to the **Products** page from the store navigation to start +managing products. + +## Search and filter products + +From the main **Products** page, you can search for and filter down a list of +products that you want to edit or remove. You can also use the **New Product** +button to start creating a new product. + + + +## Product management + +When you add or edit a product, you can provide a lot of information + +Products track the general information about a product from a number of +sub-pages: + +- **[Product details][product-details]**: This page allows you to manage how + both store administrators and customers see the product's essential + information. +- **Images**: This page manages the product images that are displayed on the + storefront. +- **Variants**: This page manages the [variants](#variants) of the product that + customers can purchase. +- **Prices**: This page manages the product's prices if you sell it in multiple + countries. +- **Product Properties**: This page manages the product's [product + properties](#product-properties), which can be used to list a product's + specifications at a glance. +- **Product Stock**: This page manages the product's available stock and + inventory details. + + + +[product-details]: product-details.md + +## Variants + +## Product properties + From 1bcf3eb91813ba542bb8395c15fbb81a5e4f3637 Mon Sep 17 00:00:00 2001 From: Benjamin Willems Date: Mon, 30 Apr 2018 16:15:26 -0700 Subject: [PATCH 2/6] Add initial product details management information --- guides/users/products/product-details.md | 89 ++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 guides/users/products/product-details.md diff --git a/guides/users/products/product-details.md b/guides/users/products/product-details.md new file mode 100644 index 00000000000..39135d024ea --- /dev/null +++ b/guides/users/products/product-details.md @@ -0,0 +1,89 @@ +# Product details + +When you add or edit a product, you can provide essential information by filling +in each product details field. + + + +## Basic information + +- **Name**: The customer-facing name for the product. +- **Slug**: The slug[^slug] for the product. By default, Solidus creates a slug + based on the product's name. For example, a product called "Summer T-Shirt" +would have the slug `summer-t-shirt`. +- **Description**: A customer-facing description for the product. The + description can be any length. +- **Master Price**: This price represents the price you want to sell this + product for. (However, [products with multiple variants](#) can be + sold for other price values.) +- **Cost Price**: What the product costs you, the seller, to purchase or + produce. You may change the currency associated with the cost price. +- **Available On**: The date that this product is available to be sold. If this + date is not set, then the product is not shown to customers on the storefront. +- **Taxons**: This adds the product your store's taxons. +- **Option Types**: Add option types to your product if you want to offer + [multiple variants of the product](#). You need to define [option + types](#option-types) before you can use this field. + + + +### Available On + +Note that the **Available On** field should be filled if you want the product to +be displayed on the storefront. + +If the **Available On** value is a date in the future, then the product is only +available after the date that has been set. + +[^slug]: A slug is a part of a URL that identifies a page using human-readable + words. Most blogs and stores use slugs for SEO purposes. For example, in the + web address `https://example.com/store/summer-t-shirt`, the slug would be the + `summer-t-shirt` part. + +## Inventory information + +The following product information is used by Solidus's inventory and shipping +systems: + +- **SKU**: A [stock keeping unit][sku] code that your store uses to identify + products. +- **Weight**: The product's weight. +- **Height**: The product's height. +- **Width**: The product's width. +- **Depth**: The product's depth. +- **Shipping Categories**: This sets the product's shipping category. +- **Tax Category**: This sets the products' tax category. + +Solidus's product dimensions do not specify a unit of measurement. We recommend +that you use them consistently so that they can be used to calculate shipping +consistently across your store. Product dimensions round to two decimal points +(for example: `1.00`). + + +Note that the weight and dimensions of a product can be used to calculate an +order's shipment costs. + +[sku]: https://en.wikipedia.org/wiki/Stock_keeping_unit + +## SEO information + +- **Meta Title**: +- **Meta Keywords**: Add a list of keywords that should be added to this + product's metadata. These meta keywords are used by search + engines.[^meta-keywords] +- **Meta Description**: The summary text that accompanies your page in search + engine results.[^meta-descriptions] + +[^meta-keywords]: Meta keywords are used for SEO purposes. For more information + about meta keywords see the article [Meta Keywords: What They Are and How They + Work][meta-keywords] from WordStream. +[^meta-descriptions]: Meta descriptions are short descriptions that accompany a + link to your page in search engine results pages (SERPs). While each search + engine works differently, Google truncates meta descriptions after 300 + characters. For more information, see the [Meta Description][meta-description] + article on Moz.com. + +[meta-keywords]: https://www.wordstream.com/meta-keyword +[meta-description]: https://moz.com/learn/seo/meta-description From 88eb10c695638610ba938b8004e29d8ed5018d83 Mon Sep 17 00:00:00 2001 From: Benjamin Willems Date: Mon, 30 Apr 2018 17:25:42 -0700 Subject: [PATCH 3/6] Add product properties docs stub; tweak existing properties article --- .../product-properties.html.md | 8 +++--- guides/users/products/product-properties.md | 25 +++++++++++++++++++ 2 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 guides/users/products/product-properties.md diff --git a/guides/source/developers/products-and-variants/product-properties.html.md b/guides/source/developers/products-and-variants/product-properties.html.md index f026502ca2e..bf1f72394ff 100644 --- a/guides/source/developers/products-and-variants/product-properties.html.md +++ b/guides/source/developers/products-and-variants/product-properties.html.md @@ -1,11 +1,11 @@ # Product properties Product properties belong to the `Spree::ProductProperty` model. They track -individual attributes for a product that would not apply to all of your -products. Typically, product properties would be used for additional product -information. +individual attributes for a product, especially if the attributes only apply to +one specific product. Typically, product properties are used for technical +specifications or additional product information. -As an example, you might see a list of product properties for a limited edition +For example, you might see a list of product properties for a limited edition t-shirt as a table on its product page: | Property name | Property value | diff --git a/guides/users/products/product-properties.md b/guides/users/products/product-properties.md new file mode 100644 index 00000000000..83ceed03483 --- /dev/null +++ b/guides/users/products/product-properties.md @@ -0,0 +1,25 @@ +# Product properties + +Product properties track individual attributes for a product, especially if the +attributes only apply to one specific product. Typically, product properties +would be used for technical specifications or additional production information. + +For example, you can list of product properties for a limited edition t-shirt as +a table on its product page: + +| Property name | Property value | +|---------------|------------------| +| Fit | Tapered | +| Manufacturer | American Apparel | +| Material | 100% cotton | + +## Product properties are not option types + +A product property should not be confused with an [option type][option-types], +which is used to define variants for a product. + +Use product properties to describe a product: "The t-shirt is 100% cotton." Use +option types to show how variants are distinct from each other: "The t-shirt can +be purchased in one of two colors: red or green." + +[option-types]: option-types.md From dfbc5dffd48f0582089166a21ba9c09ef98c04e8 Mon Sep 17 00:00:00 2001 From: Benjamin Willems Date: Mon, 30 Apr 2018 17:26:25 -0700 Subject: [PATCH 4/6] Add option types documentation stub --- guides/users/products/option-types.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 guides/users/products/option-types.md diff --git a/guides/users/products/option-types.md b/guides/users/products/option-types.md new file mode 100644 index 00000000000..f9051ce796d --- /dev/null +++ b/guides/users/products/option-types.md @@ -0,0 +1,21 @@ +# Option types + +Each option type that you define for a product allows you to create multiple +variants of that type. + +Once you have defined an option type, you can define option values that should +be used with it. Option types and option values also have a *presentation* +value, in case your store administrators and customers should see different +values. + +See the table below for examples of typical option types, values, and how they +should be presented to customers: + +| Option type | Presentation | Option values | Option value presentation | +|--------------|--------------|------------------------------|----------------------------------| +| `color` | Color | `red`, `green`, `blue` | Red, Green, Blue | +| `shirt-size` | Size | `s`, `m`, `l` | Small, Medium, Large | +| `shoe-size` | Size | `8`, `9`, `10`, `11`, `12` | 8, 9, 10, 11, 12 | +| `material` | Material | `paper`, `cotton`, `leather` | Paper, Cotton, Leather | +| `quantity` | Quantity | `100g`, `250g`, `1kg` | 100 grams, 250 grams, 1 kilogram | + From dbf4004d2dfa64799ad707c51dad8afbd808378a Mon Sep 17 00:00:00 2001 From: Benjamin Willems Date: Mon, 30 Apr 2018 17:26:46 -0700 Subject: [PATCH 5/6] Explain what a product is for admins --- guides/users/products/overview.md | 38 ++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/guides/users/products/overview.md b/guides/users/products/overview.md index 8f8593125c8..73a5514f846 100644 --- a/guides/users/products/overview.md +++ b/guides/users/products/overview.md @@ -4,6 +4,32 @@ You can create and manage products from the Solidus backend. From your `/admin` homepage, navigate to the **Products** page from the store navigation to start managing products. +## What is a product? + +A product represents an item that you have for sale. A product stores general +information about the item. If you sell two items, a mug and a t-shirt, then +you need to create two products: "Mug" and "T-Shirt". + +### Products define customer-facing information about items for sale + +When you add or edit a product, you are providing information about the product. +Most of this information is viewable on your storefront, which means that +customers can see it. + +See the [Product management](#product-management) section below for more +information about the what each product stores. + +### Products can have multiple variants + +You can sell multiple version of a product. For example, if you want to sell +your T-Shirt product in two colors, you do not need to create two separate +products. Instead, you can create two variants of the T-shirt product. + +You need to set up product [option types][option-types] (like size or color) +before you can create variants. + +[option-types]: option-types.md + ## Search and filter products From the main **Products** page, you can search for and filter down a list of @@ -24,12 +50,12 @@ sub-pages: information. - **Images**: This page manages the product images that are displayed on the storefront. -- **Variants**: This page manages the [variants](#variants) of the product that - customers can purchase. +- **Variants**: This page manages the variants of the product that customers can + purchase. - **Prices**: This page manages the product's prices if you sell it in multiple countries. - **Product Properties**: This page manages the product's [product - properties](#product-properties), which can be used to list a product's + properties][product-properties], which can be used to list a product's specifications at a glance. - **Product Stock**: This page manages the product's available stock and inventory details. @@ -40,8 +66,4 @@ sub-pages: --> [product-details]: product-details.md - -## Variants - -## Product properties - +[product-properties]: product-properties.md From 5494a6856f7c303dd90ce402670c3a7940f401c7 Mon Sep 17 00:00:00 2001 From: Benjamin Willems Date: Tue, 29 May 2018 09:23:14 -0700 Subject: [PATCH 6/6] Convert user documentation to Middleman format --- .../users/products/option-types.html.md} | 0 .../overview.md => source/users/products/overview.html.md} | 4 ++-- .../users/products/product-details.html.md} | 0 .../users/products/product-properties.html.md} | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) rename guides/{users/products/option-types.md => source/users/products/option-types.html.md} (100%) rename guides/{users/products/overview.md => source/users/products/overview.html.md} (96%) rename guides/{users/products/product-details.md => source/users/products/product-details.html.md} (100%) rename guides/{users/products/product-properties.md => source/users/products/product-properties.html.md} (96%) diff --git a/guides/users/products/option-types.md b/guides/source/users/products/option-types.html.md similarity index 100% rename from guides/users/products/option-types.md rename to guides/source/users/products/option-types.html.md diff --git a/guides/users/products/overview.md b/guides/source/users/products/overview.html.md similarity index 96% rename from guides/users/products/overview.md rename to guides/source/users/products/overview.html.md index 73a5514f846..cfb6d621135 100644 --- a/guides/users/products/overview.md +++ b/guides/source/users/products/overview.html.md @@ -65,5 +65,5 @@ sub-pages: adding/editing products. --> -[product-details]: product-details.md -[product-properties]: product-properties.md +[product-details]: product-details.html +[product-properties]: product-properties.html diff --git a/guides/users/products/product-details.md b/guides/source/users/products/product-details.html.md similarity index 100% rename from guides/users/products/product-details.md rename to guides/source/users/products/product-details.html.md diff --git a/guides/users/products/product-properties.md b/guides/source/users/products/product-properties.html.md similarity index 96% rename from guides/users/products/product-properties.md rename to guides/source/users/products/product-properties.html.md index 83ceed03483..dc9dc10da59 100644 --- a/guides/users/products/product-properties.md +++ b/guides/source/users/products/product-properties.html.md @@ -22,4 +22,4 @@ Use product properties to describe a product: "The t-shirt is 100% cotton." Use option types to show how variants are distinct from each other: "The t-shirt can be purchased in one of two colors: red or green." -[option-types]: option-types.md +[option-types]: option-types.html