workarea 3.4.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (571) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +326 -0
  3. data/CHANGELOG.md +20501 -0
  4. data/README.md +163 -0
  5. data/docker-compose.yml +27 -0
  6. data/docs/Gemfile +8 -0
  7. data/docs/bin/middleman +29 -0
  8. data/docs/config.rb +87 -0
  9. data/docs/config.ru +7 -0
  10. data/docs/data/articles.yml +157 -0
  11. data/docs/package.json +15 -0
  12. data/docs/source/404.html.erb +13 -0
  13. data/docs/source/articles/access-routes-in-javascript.html.md +33 -0
  14. data/docs/source/articles/add-a-content-area.html.md +169 -0
  15. data/docs/source/articles/add-a-content-block-type.html.md +334 -0
  16. data/docs/source/articles/add-a-report.html.md +202 -0
  17. data/docs/source/articles/add-css-through-the-admin-ui.html.md +30 -0
  18. data/docs/source/articles/add-javascript-through-a-manifest.html.md +367 -0
  19. data/docs/source/articles/add-javascript-through-a-view.html.md +80 -0
  20. data/docs/source/articles/add-javascript-through-the-admin-ui.html.md +30 -0
  21. data/docs/source/articles/add-metrics.html.md +58 -0
  22. data/docs/source/articles/add-or-replace-a-pricing-calculator.html.md +150 -0
  23. data/docs/source/articles/add-remove-or-change-a-mongoid-validation.html.md +147 -0
  24. data/docs/source/articles/add-remove-or-change-a-product-template.html.md +142 -0
  25. data/docs/source/articles/add-remove-sort-and-group-storefront-search-filters.html.md +483 -0
  26. data/docs/source/articles/add-stylesheets-through-a-manifest.html.md +276 -0
  27. data/docs/source/articles/add-system-content.html.md +138 -0
  28. data/docs/source/articles/analytics-overview.html.md +51 -0
  29. data/docs/source/articles/analyze-storefront-search-results.html.md +261 -0
  30. data/docs/source/articles/api-overview.html.md +35 -0
  31. data/docs/source/articles/appending.html.md +506 -0
  32. data/docs/source/articles/application-document.html.md +88 -0
  33. data/docs/source/articles/automated-javascript-testing.html.md +162 -0
  34. data/docs/source/articles/b2b-overview.html.md +64 -0
  35. data/docs/source/articles/browser-and-device-support.html.md +47 -0
  36. data/docs/source/articles/change-product-placeholder-image.html.md +39 -0
  37. data/docs/source/articles/change-storefront-search-results.html.md +283 -0
  38. data/docs/source/articles/change-the-storefront-product-pricing-ui.html.md +348 -0
  39. data/docs/source/articles/change-the-storefront-search-filters-ui.html.md +103 -0
  40. data/docs/source/articles/checkout.html.md +479 -0
  41. data/docs/source/articles/commerce-model.html.md +164 -0
  42. data/docs/source/articles/configuration-for-hosting.html.md +106 -0
  43. data/docs/source/articles/configuration.html.md +406 -0
  44. data/docs/source/articles/configure-a-payment-gateway.html.md +58 -0
  45. data/docs/source/articles/configure-asset-storage.html.md +29 -0
  46. data/docs/source/articles/configure-asset-types.html.md +18 -0
  47. data/docs/source/articles/configure-contact-form-subjects-list.html.md +24 -0
  48. data/docs/source/articles/configure-imageoptim.html.md +23 -0
  49. data/docs/source/articles/configure-locales.html.md +45 -0
  50. data/docs/source/articles/configure-logins-and-authentication.html.md +42 -0
  51. data/docs/source/articles/configure-low-inventory-threshold.html.md +26 -0
  52. data/docs/source/articles/configure-product-image-sizes-and-processing.html.md +28 -0
  53. data/docs/source/articles/content.html.md +554 -0
  54. data/docs/source/articles/contentable.html.md +41 -0
  55. data/docs/source/articles/contribute-code.html.md +69 -0
  56. data/docs/source/articles/contribute-documentation.html.md +60 -0
  57. data/docs/source/articles/create-a-custom-discount.html.md +234 -0
  58. data/docs/source/articles/create-a-new-app.html.md +131 -0
  59. data/docs/source/articles/create-a-plugin.html.md +19 -0
  60. data/docs/source/articles/create-a-style-guide.html.md +71 -0
  61. data/docs/source/articles/create-a-theme.html.md +134 -0
  62. data/docs/source/articles/css-architectural-overview.html.md +89 -0
  63. data/docs/source/articles/customize-a-helper.html.md +91 -0
  64. data/docs/source/articles/decoration.html.md +415 -0
  65. data/docs/source/articles/define-and-configure-inventory-policies.html.md +107 -0
  66. data/docs/source/articles/documentation-style-guide.html.md +48 -0
  67. data/docs/source/articles/documentation.html.md +54 -0
  68. data/docs/source/articles/domain-modeling.html.md +82 -0
  69. data/docs/source/articles/error-pages.html.md.erb +95 -0
  70. data/docs/source/articles/extension-overview.html.md +152 -0
  71. data/docs/source/articles/favicon-support.html.md +112 -0
  72. data/docs/source/articles/feature-spec-helper-stylesheet.html.md +25 -0
  73. data/docs/source/articles/featurejs-and-feature-spec-helper.html.md +20 -0
  74. data/docs/source/articles/help-and-support.html.md +34 -0
  75. data/docs/source/articles/html-fragment-caching.html.md +46 -0
  76. data/docs/source/articles/http-caching.html.md +43 -0
  77. data/docs/source/articles/i18n.html.md +35 -0
  78. data/docs/source/articles/images-flow.html.md +10 -0
  79. data/docs/source/articles/index-storefront-search-documents.html.md +104 -0
  80. data/docs/source/articles/infrastructure.html.md +46 -0
  81. data/docs/source/articles/installing.html.md +61 -0
  82. data/docs/source/articles/integrate-a-payment-gateway.html.md +124 -0
  83. data/docs/source/articles/integrate-a-web-analytics-provider.html.md +35 -0
  84. data/docs/source/articles/integrate-an-inventory-management-system.html.md +88 -0
  85. data/docs/source/articles/integrating-with-other-software.html.md +59 -0
  86. data/docs/source/articles/inventory.html.md +352 -0
  87. data/docs/source/articles/javascript-coding-standards.html.md +30 -0
  88. data/docs/source/articles/javascript-modules.html.md +174 -0
  89. data/docs/source/articles/javascript-overview.html.md +62 -0
  90. data/docs/source/articles/javascript-reference-documentation.html.md +51 -0
  91. data/docs/source/articles/javascript-templates.html.md +52 -0
  92. data/docs/source/articles/low-level-caching.html.md +25 -0
  93. data/docs/source/articles/maintain-a-plugin.html.md +12 -0
  94. data/docs/source/articles/maintenance-policy.html.md +79 -0
  95. data/docs/source/articles/navigable.html.md +51 -0
  96. data/docs/source/articles/navigating-the-code.html.md +149 -0
  97. data/docs/source/articles/navigation.html.md +386 -0
  98. data/docs/source/articles/order-life-cycle.html.md +546 -0
  99. data/docs/source/articles/order-pricing.html.md +389 -0
  100. data/docs/source/articles/orders-and-items.html.md +210 -0
  101. data/docs/source/articles/orders.html.md +66 -0
  102. data/docs/source/articles/overriding.html.md +155 -0
  103. data/docs/source/articles/overview.html.md +43 -0
  104. data/docs/source/articles/plugins-overview.html.md +12 -0
  105. data/docs/source/articles/prerequisites-and-dependencies.html.md +202 -0
  106. data/docs/source/articles/products.html.md.erb +1270 -0
  107. data/docs/source/articles/progressive-web-application-support.html.md +148 -0
  108. data/docs/source/articles/rails-asset-manifests.html.md +33 -0
  109. data/docs/source/articles/rails-asset-view-helpers.html.md +25 -0
  110. data/docs/source/articles/reading-data.html.md +10 -0
  111. data/docs/source/articles/releasable.html.md +37 -0
  112. data/docs/source/articles/report-a-bug.html.md +75 -0
  113. data/docs/source/articles/ruby-coding-standards.html.md +10 -0
  114. data/docs/source/articles/run-sidekiq-in-a-local-environment.html.md +40 -0
  115. data/docs/source/articles/searching.html.md +1005 -0
  116. data/docs/source/articles/security-policy.html.md +42 -0
  117. data/docs/source/articles/seeds.html.md +345 -0
  118. data/docs/source/articles/shipping.html.md +756 -0
  119. data/docs/source/articles/sort-and-exclude-product-options.html.md +47 -0
  120. data/docs/source/articles/storefront-search-features.html.md +568 -0
  121. data/docs/source/articles/storefront-searches.html.md +126 -0
  122. data/docs/source/articles/style-guides.html.md +21 -0
  123. data/docs/source/articles/stylesheet-coding-standards.html.md +24 -0
  124. data/docs/source/articles/stylesheets-overview.html.md +67 -0
  125. data/docs/source/articles/swappable-list-data-structure.html.md +81 -0
  126. data/docs/source/articles/system-emails.html.md +102 -0
  127. data/docs/source/articles/taggable.html.md +8 -0
  128. data/docs/source/articles/test-a-credit-card-transaction.html.md +16 -0
  129. data/docs/source/articles/test-if-a-plugin-is-installed.html.md +34 -0
  130. data/docs/source/articles/testing.html.md +914 -0
  131. data/docs/source/articles/themes-overview.html.md +155 -0
  132. data/docs/source/articles/translate-administrable-content.html.md +14 -0
  133. data/docs/source/articles/translate-javascript-content.html.md +16 -0
  134. data/docs/source/articles/translate-or-customize-message-content.html.md +29 -0
  135. data/docs/source/articles/translate-or-customize-static-content.html.md +30 -0
  136. data/docs/source/articles/use-an-existing-workarea-app.html.md +108 -0
  137. data/docs/source/articles/view-models.html.md +509 -0
  138. data/docs/source/articles/views.html.md +14 -0
  139. data/docs/source/articles/workers.html.md +613 -0
  140. data/docs/source/articles/writing-data.html.md +10 -0
  141. data/docs/source/cli.html.md +163 -0
  142. data/docs/source/favicon.ico +0 -0
  143. data/docs/source/images/3-variants-1-option.png +0 -0
  144. data/docs/source/images/3-variants-3-options.png +0 -0
  145. data/docs/source/images/3-years-primary-image.png +0 -0
  146. data/docs/source/images/404-storefront-error-page.png +0 -0
  147. data/docs/source/images/404-system-content-admin.png +0 -0
  148. data/docs/source/images/404.jpg +0 -0
  149. data/docs/source/images/5-years-primary-image.png +0 -0
  150. data/docs/source/images/activity-dashboard.png +0 -0
  151. data/docs/source/images/activity-for-object.png +0 -0
  152. data/docs/source/images/activity-ui.png +0 -0
  153. data/docs/source/images/adding-captioned-image-block-custom-icon.png +0 -0
  154. data/docs/source/images/adding-captioned-image-block-default-icon.png +0 -0
  155. data/docs/source/images/admin-alerts-ui.png +0 -0
  156. data/docs/source/images/admin-category-range-filters.png +0 -0
  157. data/docs/source/images/admin-for-3-column-hero.png +0 -0
  158. data/docs/source/images/admin-help-index.png +0 -0
  159. data/docs/source/images/admin-help-ui.png +0 -0
  160. data/docs/source/images/admin-javascript.png +0 -0
  161. data/docs/source/images/admin-notification-for-deactivated-discount.png +0 -0
  162. data/docs/source/images/admin-notifications-ui.png +0 -0
  163. data/docs/source/images/admin-product-show-page.png +0 -0
  164. data/docs/source/images/admin-products-index-page.png +0 -0
  165. data/docs/source/images/admin-range-filters.png +0 -0
  166. data/docs/source/images/admin-style-guides-navigation.png +0 -0
  167. data/docs/source/images/after-re-seeding.png +0 -0
  168. data/docs/source/images/after-seeding-localhost-3000.png +0 -0
  169. data/docs/source/images/after-seeding.png +0 -0
  170. data/docs/source/images/arrow.svg +1 -0
  171. data/docs/source/images/arrow_white.svg +1 -0
  172. data/docs/source/images/aws-resource-map.png +0 -0
  173. data/docs/source/images/backordered-until-output-on-inventory-sku-card.png +0 -0
  174. data/docs/source/images/before-seeding-localhost-3000.png +0 -0
  175. data/docs/source/images/before-seeding.png +0 -0
  176. data/docs/source/images/browsing-workarea-versions-on-the-web.png +0 -0
  177. data/docs/source/images/bulk-asset-upload-on-assets-index-page.png +0 -0
  178. data/docs/source/images/bulk-asset-upload-while-editing-content.png +0 -0
  179. data/docs/source/images/bundle-show-workarea-core.png +0 -0
  180. data/docs/source/images/bundle-show-workarea.png +0 -0
  181. data/docs/source/images/calendar-for-backordered-until-field.png +0 -0
  182. data/docs/source/images/captioned-image-block-in-storefront.png +0 -0
  183. data/docs/source/images/captioned-image-content-block-storefront-component-style-guide.png +0 -0
  184. data/docs/source/images/cart-system-content-in-admin.png +0 -0
  185. data/docs/source/images/cart-system-content-in-storefront.png +0 -0
  186. data/docs/source/images/checkout-addresses-guest.png +0 -0
  187. data/docs/source/images/checkout-addresses-user.png +0 -0
  188. data/docs/source/images/checkout-confirmation.png +0 -0
  189. data/docs/source/images/checkout-flow-0.png +0 -0
  190. data/docs/source/images/checkout-flow-1.png +0 -0
  191. data/docs/source/images/checkout-flow-2.png +0 -0
  192. data/docs/source/images/checkout-flow-3.png +0 -0
  193. data/docs/source/images/checkout-flow-4.png +0 -0
  194. data/docs/source/images/checkout-payment-guest.png +0 -0
  195. data/docs/source/images/checkout-payment-user.png +0 -0
  196. data/docs/source/images/checkout-shipping.png +0 -0
  197. data/docs/source/images/color-picker-component-admin-style-guide.png +0 -0
  198. data/docs/source/images/color-picker-component-on-content-editing-screen.png +0 -0
  199. data/docs/source/images/commerce-model-carts-orders.png +0 -0
  200. data/docs/source/images/commerce-model-order-pricing.png +0 -0
  201. data/docs/source/images/commerce-model.png +0 -0
  202. data/docs/source/images/configuring-an-index-pattern-in-kibana.png +0 -0
  203. data/docs/source/images/content-block-presets.png +0 -0
  204. data/docs/source/images/content-search-customization.png +0 -0
  205. data/docs/source/images/country-with-region-data-in-address-form.png +0 -0
  206. data/docs/source/images/country-without-region-data-in-address-form.png +0 -0
  207. data/docs/source/images/create-content-block-preset-ui.png +0 -0
  208. data/docs/source/images/credit-card-icons.png +0 -0
  209. data/docs/source/images/css-added-through-admin.png +0 -0
  210. data/docs/source/images/css-admin-ui.png +0 -0
  211. data/docs/source/images/current-configuration-shown-in-admin-settings.png +0 -0
  212. data/docs/source/images/customer-impersonation-in-admin.png +0 -0
  213. data/docs/source/images/customer-impersonation-in-store-front.png +0 -0
  214. data/docs/source/images/date-filter-same-day.png +0 -0
  215. data/docs/source/images/developer-toolbar-in-store-front.png +0 -0
  216. data/docs/source/images/discounts-sorted-by-most-redeemed.png +0 -0
  217. data/docs/source/images/edit-help-article.png +0 -0
  218. data/docs/source/images/editing-content-for-search-customization.png +0 -0
  219. data/docs/source/images/editing-dynamic-captioned-image-block.png +0 -0
  220. data/docs/source/images/editing-product-fields-in-the-admin.png +0 -0
  221. data/docs/source/images/editing-search-system-content.png +0 -0
  222. data/docs/source/images/editing-static-captioned-image-block-custom-icon.png +0 -0
  223. data/docs/source/images/editing-static-captioned-image-block-default-icon.png +0 -0
  224. data/docs/source/images/external.svg +1 -0
  225. data/docs/source/images/favicon_16.png +0 -0
  226. data/docs/source/images/favicon_180.png +0 -0
  227. data/docs/source/images/favicon_32.png +0 -0
  228. data/docs/source/images/filters-all.png +0 -0
  229. data/docs/source/images/filters-control.png +0 -0
  230. data/docs/source/images/filters-custom.png +0 -0
  231. data/docs/source/images/filters-groups.png +0 -0
  232. data/docs/source/images/filters-material.png +0 -0
  233. data/docs/source/images/filters-omitted.png +0 -0
  234. data/docs/source/images/filters-pinned.png +0 -0
  235. data/docs/source/images/filters-range.png +0 -0
  236. data/docs/source/images/filters-sorted.png +0 -0
  237. data/docs/source/images/filters-wrapping-to-second-line-in-admin.png +0 -0
  238. data/docs/source/images/generic-product-template-images-no-options-selected.png +0 -0
  239. data/docs/source/images/generic-product-template-images-options-selected.png +0 -0
  240. data/docs/source/images/generic-template.png +0 -0
  241. data/docs/source/images/hosting.svg +1 -0
  242. data/docs/source/images/image-group-content-block-in-storefront.png +0 -0
  243. data/docs/source/images/images.svg +1 -0
  244. data/docs/source/images/import-export-screenshot.png +0 -0
  245. data/docs/source/images/invalid-display.png +0 -0
  246. data/docs/source/images/itcss.png +0 -0
  247. data/docs/source/images/kibana-dev-tools-console.png +0 -0
  248. data/docs/source/images/layout-content-admin-with-2-areas.png +0 -0
  249. data/docs/source/images/layout-content-admin-with-3-areas.png +0 -0
  250. data/docs/source/images/link-to-search-system-content.png +0 -0
  251. data/docs/source/images/logo.svg +1 -0
  252. data/docs/source/images/menu.svg +2 -0
  253. data/docs/source/images/mongo-replica-set.svg +1 -0
  254. data/docs/source/images/multi-column-hero-blocks.png +0 -0
  255. data/docs/source/images/option-selects-product-template-images-options-selected.png +0 -0
  256. data/docs/source/images/option-selects-template.png +0 -0
  257. data/docs/source/images/option-thumbnails-template.png +0 -0
  258. data/docs/source/images/order-item-total-price-diagram.png +0 -0
  259. data/docs/source/images/order-pricing-cart-example.png +0 -0
  260. data/docs/source/images/order-pricing-example-adjustments.png +0 -0
  261. data/docs/source/images/order-pricing-example-totals.png +0 -0
  262. data/docs/source/images/order-pricing-placed-order-example.png +0 -0
  263. data/docs/source/images/order-shipping-total-diagram.png +0 -0
  264. data/docs/source/images/order-show-with-multiple-tenders.png +0 -0
  265. data/docs/source/images/order-subtotal-price-diagram.png +0 -0
  266. data/docs/source/images/order-tax-total-diagram.png +0 -0
  267. data/docs/source/images/order-total-price-diagram.png +0 -0
  268. data/docs/source/images/order-total-value-diagram.png +0 -0
  269. data/docs/source/images/orders-dashboard-links.png +0 -0
  270. data/docs/source/images/oval.svg +1 -0
  271. data/docs/source/images/payment-icon-storefront-style-guide.png +0 -0
  272. data/docs/source/images/people-dashboard-links.png +0 -0
  273. data/docs/source/images/price-adjustments-diagram.png +0 -0
  274. data/docs/source/images/price-display-no-options.png +0 -0
  275. data/docs/source/images/price-display-options-selected.png +0 -0
  276. data/docs/source/images/pricing-calculators-diagram.png +0 -0
  277. data/docs/source/images/product-list-content-block-admin.png +0 -0
  278. data/docs/source/images/product-list-content-block-in-store-front.png +0 -0
  279. data/docs/source/images/promo-products-excluded-autocomplete-results-after.png +0 -0
  280. data/docs/source/images/promo-products-excluded-featured-category-results-after.png +0 -0
  281. data/docs/source/images/promo-products-excluded-recommendations-results-after.png +0 -0
  282. data/docs/source/images/promo-products-excluded-search-category-results-after.png +0 -0
  283. data/docs/source/images/promo-products-excluded-search-results-after.png +0 -0
  284. data/docs/source/images/promo-products-included-autocomplete-results-before.png +0 -0
  285. data/docs/source/images/promo-products-included-featured-category-results-before.png +0 -0
  286. data/docs/source/images/promo-products-included-recommendations-results-before.png +0 -0
  287. data/docs/source/images/promo-products-included-search-category-results-before.png +0 -0
  288. data/docs/source/images/promo-products-included-search-results-before.png +0 -0
  289. data/docs/source/images/rails-version-constraint.png +0 -0
  290. data/docs/source/images/re-enable-discount.png +0 -0
  291. data/docs/source/images/reading-data.svg +1 -0
  292. data/docs/source/images/readme-hero.png +0 -0
  293. data/docs/source/images/redesigned-customized-sort-for-search-results.png +0 -0
  294. data/docs/source/images/reviews-summary-above-share-buttons.png +0 -0
  295. data/docs/source/images/reviews-summary-below-product-name.png +0 -0
  296. data/docs/source/images/reviews-summary-below-share-buttons.png +0 -0
  297. data/docs/source/images/reviews-summary-removed.png +0 -0
  298. data/docs/source/images/rsa-fingerprint-for-stash.png +0 -0
  299. data/docs/source/images/ruby-version-constraint.png +0 -0
  300. data/docs/source/images/script-tag-added-through-admin.png +0 -0
  301. data/docs/source/images/search-analysis-admin-alternate-rendering.png +0 -0
  302. data/docs/source/images/search-analysis-admin.png +0 -0
  303. data/docs/source/images/search-quality-report.png +0 -0
  304. data/docs/source/images/search.svg +1 -0
  305. data/docs/source/images/searching-for-cart-system-content-in-admin.png +0 -0
  306. data/docs/source/images/searching-for-layout-system-content-in-admin.png +0 -0
  307. data/docs/source/images/seeded-admin.png +0 -0
  308. data/docs/source/images/seeds-from-plugins.png +0 -0
  309. data/docs/source/images/seo-metadata-automation-ui.png +0 -0
  310. data/docs/source/images/show-password-button.png +0 -0
  311. data/docs/source/images/storefront-autocomplete.png +0 -0
  312. data/docs/source/images/storefront-category-summary-content-block.png +0 -0
  313. data/docs/source/images/storefront-category.png +0 -0
  314. data/docs/source/images/storefront-product-after-overriding.png +0 -0
  315. data/docs/source/images/storefront-product-before-overriding.png +0 -0
  316. data/docs/source/images/storefront-product-browse-page.png +0 -0
  317. data/docs/source/images/storefront-product-recommendations.png +0 -0
  318. data/docs/source/images/storefront-product-show-page.png +0 -0
  319. data/docs/source/images/storefront-requests-and-search-requests.png +0 -0
  320. data/docs/source/images/storefront-search-request-handling.png +0 -0
  321. data/docs/source/images/storefront-search-response-creation.png +0 -0
  322. data/docs/source/images/storefront-search.png +0 -0
  323. data/docs/source/images/storefront-style-guides-navigation.png +0 -0
  324. data/docs/source/images/styles.css +3 -0
  325. data/docs/source/images/tax-categories-ui.png +0 -0
  326. data/docs/source/images/tax-rates-ui.png +0 -0
  327. data/docs/source/images/unpurchasable-product.png +0 -0
  328. data/docs/source/images/url-redirects-filtering.png +0 -0
  329. data/docs/source/images/utility-nav-area-in-admin.png +0 -0
  330. data/docs/source/images/utility-nav-area-in-storefront.png +0 -0
  331. data/docs/source/images/validation-message-in-storefront.png +0 -0
  332. data/docs/source/images/view-model-interface.png +0 -0
  333. data/docs/source/images/viewing-workarea-version-in-source.png +0 -0
  334. data/docs/source/images/workarea.svg +1 -0
  335. data/docs/source/images/worst-performing-searches-on-results-customization-page.png +0 -0
  336. data/docs/source/images/writing-data.svg +1 -0
  337. data/docs/source/index.html.erb +167 -0
  338. data/docs/source/javascripts/jquery.js +2 -0
  339. data/docs/source/javascripts/lunr.js +7 -0
  340. data/docs/source/javascripts/site.js +299 -0
  341. data/docs/source/javascripts/vendor/highlight.pack.js +2 -0
  342. data/docs/source/layouts/article.erb +106 -0
  343. data/docs/source/layouts/bare.erb +46 -0
  344. data/docs/source/layouts/layout.erb +43 -0
  345. data/docs/source/release-notes.html.md +258 -0
  346. data/docs/source/release-notes/workarea-3-0-0.html.md +146 -0
  347. data/docs/source/release-notes/workarea-3-0-1.html.md +161 -0
  348. data/docs/source/release-notes/workarea-3-0-10.html.md +39 -0
  349. data/docs/source/release-notes/workarea-3-0-11.html.md +277 -0
  350. data/docs/source/release-notes/workarea-3-0-12.html.md +14 -0
  351. data/docs/source/release-notes/workarea-3-0-13.html.md +153 -0
  352. data/docs/source/release-notes/workarea-3-0-14.html.md +93 -0
  353. data/docs/source/release-notes/workarea-3-0-15.html.md +107 -0
  354. data/docs/source/release-notes/workarea-3-0-16.html.md +36 -0
  355. data/docs/source/release-notes/workarea-3-0-17.html.md +141 -0
  356. data/docs/source/release-notes/workarea-3-0-18.html.md +123 -0
  357. data/docs/source/release-notes/workarea-3-0-19.html.md +160 -0
  358. data/docs/source/release-notes/workarea-3-0-2.html.md +222 -0
  359. data/docs/source/release-notes/workarea-3-0-20.html.md +95 -0
  360. data/docs/source/release-notes/workarea-3-0-21.html.md +168 -0
  361. data/docs/source/release-notes/workarea-3-0-22.html.md +268 -0
  362. data/docs/source/release-notes/workarea-3-0-23.html.md +173 -0
  363. data/docs/source/release-notes/workarea-3-0-24.html.md +19 -0
  364. data/docs/source/release-notes/workarea-3-0-25.html.md +26 -0
  365. data/docs/source/release-notes/workarea-3-0-26.html.md +199 -0
  366. data/docs/source/release-notes/workarea-3-0-27.html.md +113 -0
  367. data/docs/source/release-notes/workarea-3-0-28.html.md +39 -0
  368. data/docs/source/release-notes/workarea-3-0-29.html.md +73 -0
  369. data/docs/source/release-notes/workarea-3-0-3.html.md +35 -0
  370. data/docs/source/release-notes/workarea-3-0-30.html.md +186 -0
  371. data/docs/source/release-notes/workarea-3-0-31.html.md +125 -0
  372. data/docs/source/release-notes/workarea-3-0-32.html.md +73 -0
  373. data/docs/source/release-notes/workarea-3-0-33.html.md +137 -0
  374. data/docs/source/release-notes/workarea-3-0-34.html.md +203 -0
  375. data/docs/source/release-notes/workarea-3-0-35.html.md +205 -0
  376. data/docs/source/release-notes/workarea-3-0-36.html.md +105 -0
  377. data/docs/source/release-notes/workarea-3-0-37.html.md +144 -0
  378. data/docs/source/release-notes/workarea-3-0-38.html.md +73 -0
  379. data/docs/source/release-notes/workarea-3-0-39.html.md +77 -0
  380. data/docs/source/release-notes/workarea-3-0-4.html.md +14 -0
  381. data/docs/source/release-notes/workarea-3-0-40.html.md +130 -0
  382. data/docs/source/release-notes/workarea-3-0-41.html.md +70 -0
  383. data/docs/source/release-notes/workarea-3-0-42.html.md +52 -0
  384. data/docs/source/release-notes/workarea-3-0-43.html.md +72 -0
  385. data/docs/source/release-notes/workarea-3-0-44.html.md +93 -0
  386. data/docs/source/release-notes/workarea-3-0-45.html.md +61 -0
  387. data/docs/source/release-notes/workarea-3-0-46.html.md +171 -0
  388. data/docs/source/release-notes/workarea-3-0-47.html.md +130 -0
  389. data/docs/source/release-notes/workarea-3-0-48.html.md +160 -0
  390. data/docs/source/release-notes/workarea-3-0-49.html.md +28 -0
  391. data/docs/source/release-notes/workarea-3-0-5.html.md +225 -0
  392. data/docs/source/release-notes/workarea-3-0-50.html.md +74 -0
  393. data/docs/source/release-notes/workarea-3-0-51.html.md +61 -0
  394. data/docs/source/release-notes/workarea-3-0-52.html.md +76 -0
  395. data/docs/source/release-notes/workarea-3-0-53.html.md +126 -0
  396. data/docs/source/release-notes/workarea-3-0-54.html.md +112 -0
  397. data/docs/source/release-notes/workarea-3-0-55.html.md +105 -0
  398. data/docs/source/release-notes/workarea-3-0-56.html.md +56 -0
  399. data/docs/source/release-notes/workarea-3-0-57.html.md +82 -0
  400. data/docs/source/release-notes/workarea-3-0-58.html.md +153 -0
  401. data/docs/source/release-notes/workarea-3-0-59.html.md +78 -0
  402. data/docs/source/release-notes/workarea-3-0-6.html.md +165 -0
  403. data/docs/source/release-notes/workarea-3-0-60.html.md +43 -0
  404. data/docs/source/release-notes/workarea-3-0-61.html.md +46 -0
  405. data/docs/source/release-notes/workarea-3-0-62.html.md +23 -0
  406. data/docs/source/release-notes/workarea-3-0-63.html.md +25 -0
  407. data/docs/source/release-notes/workarea-3-0-64.html.md +25 -0
  408. data/docs/source/release-notes/workarea-3-0-65.html.md +37 -0
  409. data/docs/source/release-notes/workarea-3-0-7.html.md +207 -0
  410. data/docs/source/release-notes/workarea-3-0-8.html.md +337 -0
  411. data/docs/source/release-notes/workarea-3-0-9.html.md +196 -0
  412. data/docs/source/release-notes/workarea-3-1-0.html.md +414 -0
  413. data/docs/source/release-notes/workarea-3-1-1.html.md +139 -0
  414. data/docs/source/release-notes/workarea-3-1-10.html.md +19 -0
  415. data/docs/source/release-notes/workarea-3-1-11.html.md +27 -0
  416. data/docs/source/release-notes/workarea-3-1-12.html.md +216 -0
  417. data/docs/source/release-notes/workarea-3-1-13.html.md +113 -0
  418. data/docs/source/release-notes/workarea-3-1-14.html.md +39 -0
  419. data/docs/source/release-notes/workarea-3-1-15.html.md +107 -0
  420. data/docs/source/release-notes/workarea-3-1-16.html.md +188 -0
  421. data/docs/source/release-notes/workarea-3-1-17.html.md +141 -0
  422. data/docs/source/release-notes/workarea-3-1-18.html.md +73 -0
  423. data/docs/source/release-notes/workarea-3-1-19.html.md +137 -0
  424. data/docs/source/release-notes/workarea-3-1-2.html.md +55 -0
  425. data/docs/source/release-notes/workarea-3-1-20.html.md +203 -0
  426. data/docs/source/release-notes/workarea-3-1-21.html.md +205 -0
  427. data/docs/source/release-notes/workarea-3-1-22.html.md +121 -0
  428. data/docs/source/release-notes/workarea-3-1-23.html.md +144 -0
  429. data/docs/source/release-notes/workarea-3-1-24.html.md +94 -0
  430. data/docs/source/release-notes/workarea-3-1-25.html.md +77 -0
  431. data/docs/source/release-notes/workarea-3-1-26.html.md +130 -0
  432. data/docs/source/release-notes/workarea-3-1-27.html.md +70 -0
  433. data/docs/source/release-notes/workarea-3-1-28.html.md +52 -0
  434. data/docs/source/release-notes/workarea-3-1-29.html.md +44 -0
  435. data/docs/source/release-notes/workarea-3-1-3.html.md +185 -0
  436. data/docs/source/release-notes/workarea-3-1-30.html.md +72 -0
  437. data/docs/source/release-notes/workarea-3-1-31.html.md +93 -0
  438. data/docs/source/release-notes/workarea-3-1-32.html.md +61 -0
  439. data/docs/source/release-notes/workarea-3-1-33.html.md +171 -0
  440. data/docs/source/release-notes/workarea-3-1-34.html.md +130 -0
  441. data/docs/source/release-notes/workarea-3-1-35.html.md +179 -0
  442. data/docs/source/release-notes/workarea-3-1-36.html.md +28 -0
  443. data/docs/source/release-notes/workarea-3-1-37.html.md +74 -0
  444. data/docs/source/release-notes/workarea-3-1-38.html.md +61 -0
  445. data/docs/source/release-notes/workarea-3-1-39.html.md +96 -0
  446. data/docs/source/release-notes/workarea-3-1-4.html.md +148 -0
  447. data/docs/source/release-notes/workarea-3-1-40.html.md +126 -0
  448. data/docs/source/release-notes/workarea-3-1-41.html.md +128 -0
  449. data/docs/source/release-notes/workarea-3-1-42.html.md +105 -0
  450. data/docs/source/release-notes/workarea-3-1-43.html.md +37 -0
  451. data/docs/source/release-notes/workarea-3-1-44.html.md +82 -0
  452. data/docs/source/release-notes/workarea-3-1-45.html.md +153 -0
  453. data/docs/source/release-notes/workarea-3-1-46.html.md +91 -0
  454. data/docs/source/release-notes/workarea-3-1-47.html.md +65 -0
  455. data/docs/source/release-notes/workarea-3-1-48.html.md +46 -0
  456. data/docs/source/release-notes/workarea-3-1-49.html.md +23 -0
  457. data/docs/source/release-notes/workarea-3-1-5.html.md +169 -0
  458. data/docs/source/release-notes/workarea-3-1-50.html.md +42 -0
  459. data/docs/source/release-notes/workarea-3-1-51.html.md +25 -0
  460. data/docs/source/release-notes/workarea-3-1-52.html.md +57 -0
  461. data/docs/source/release-notes/workarea-3-1-6.html.md +117 -0
  462. data/docs/source/release-notes/workarea-3-1-7.html.md +176 -0
  463. data/docs/source/release-notes/workarea-3-1-8.html.md +283 -0
  464. data/docs/source/release-notes/workarea-3-1-9.html.md +212 -0
  465. data/docs/source/release-notes/workarea-3-2-0.html.md +1705 -0
  466. data/docs/source/release-notes/workarea-3-2-1.html.md +216 -0
  467. data/docs/source/release-notes/workarea-3-2-10.html.md +237 -0
  468. data/docs/source/release-notes/workarea-3-2-11.html.md +121 -0
  469. data/docs/source/release-notes/workarea-3-2-12.html.md +145 -0
  470. data/docs/source/release-notes/workarea-3-2-13.html.md +138 -0
  471. data/docs/source/release-notes/workarea-3-2-14.html.md +77 -0
  472. data/docs/source/release-notes/workarea-3-2-15.html.md +130 -0
  473. data/docs/source/release-notes/workarea-3-2-16.html.md +111 -0
  474. data/docs/source/release-notes/workarea-3-2-17.html.md +52 -0
  475. data/docs/source/release-notes/workarea-3-2-18.html.md +44 -0
  476. data/docs/source/release-notes/workarea-3-2-19.html.md +72 -0
  477. data/docs/source/release-notes/workarea-3-2-2.html.md +145 -0
  478. data/docs/source/release-notes/workarea-3-2-20.html.md +93 -0
  479. data/docs/source/release-notes/workarea-3-2-21.html.md +61 -0
  480. data/docs/source/release-notes/workarea-3-2-22.html.md +154 -0
  481. data/docs/source/release-notes/workarea-3-2-23.html.md +130 -0
  482. data/docs/source/release-notes/workarea-3-2-24.html.md +200 -0
  483. data/docs/source/release-notes/workarea-3-2-25.html.md +28 -0
  484. data/docs/source/release-notes/workarea-3-2-26.html.md +94 -0
  485. data/docs/source/release-notes/workarea-3-2-27.html.md +61 -0
  486. data/docs/source/release-notes/workarea-3-2-28.html.md +96 -0
  487. data/docs/source/release-notes/workarea-3-2-29.html.md +126 -0
  488. data/docs/source/release-notes/workarea-3-2-30.html.md +112 -0
  489. data/docs/source/release-notes/workarea-3-2-31.html.md +105 -0
  490. data/docs/source/release-notes/workarea-3-2-32.html.md +56 -0
  491. data/docs/source/release-notes/workarea-3-2-33.html.md +82 -0
  492. data/docs/source/release-notes/workarea-3-2-34.html.md +153 -0
  493. data/docs/source/release-notes/workarea-3-2-35.html.md +91 -0
  494. data/docs/source/release-notes/workarea-3-2-36.html.md +118 -0
  495. data/docs/source/release-notes/workarea-3-2-37.html.md +46 -0
  496. data/docs/source/release-notes/workarea-3-2-38.html.md +23 -0
  497. data/docs/source/release-notes/workarea-3-2-39.html.md +42 -0
  498. data/docs/source/release-notes/workarea-3-2-4.html.md +109 -0
  499. data/docs/source/release-notes/workarea-3-2-40.html.md +25 -0
  500. data/docs/source/release-notes/workarea-3-2-41.html.md +90 -0
  501. data/docs/source/release-notes/workarea-3-2-5.html.md +186 -0
  502. data/docs/source/release-notes/workarea-3-2-6.html.md +173 -0
  503. data/docs/source/release-notes/workarea-3-2-7.html.md +89 -0
  504. data/docs/source/release-notes/workarea-3-2-8.html.md +137 -0
  505. data/docs/source/release-notes/workarea-3-2-9.html.md +219 -0
  506. data/docs/source/release-notes/workarea-3-3-0.html.md +1272 -0
  507. data/docs/source/release-notes/workarea-3-3-1.html.md +324 -0
  508. data/docs/source/release-notes/workarea-3-3-10.html.md +69 -0
  509. data/docs/source/release-notes/workarea-3-3-11.html.md +72 -0
  510. data/docs/source/release-notes/workarea-3-3-12.html.md +136 -0
  511. data/docs/source/release-notes/workarea-3-3-13.html.md +61 -0
  512. data/docs/source/release-notes/workarea-3-3-14.html.md +196 -0
  513. data/docs/source/release-notes/workarea-3-3-15.html.md +167 -0
  514. data/docs/source/release-notes/workarea-3-3-16.html.md +234 -0
  515. data/docs/source/release-notes/workarea-3-3-17.html.md +82 -0
  516. data/docs/source/release-notes/workarea-3-3-18.html.md +165 -0
  517. data/docs/source/release-notes/workarea-3-3-19.html.md +106 -0
  518. data/docs/source/release-notes/workarea-3-3-2.html.md +72 -0
  519. data/docs/source/release-notes/workarea-3-3-20.html.md +116 -0
  520. data/docs/source/release-notes/workarea-3-3-21.html.md +228 -0
  521. data/docs/source/release-notes/workarea-3-3-22.html.md +125 -0
  522. data/docs/source/release-notes/workarea-3-3-23.html.md +154 -0
  523. data/docs/source/release-notes/workarea-3-3-24.html.md +70 -0
  524. data/docs/source/release-notes/workarea-3-3-25.html.md +114 -0
  525. data/docs/source/release-notes/workarea-3-3-26.html.md +260 -0
  526. data/docs/source/release-notes/workarea-3-3-27.html.md +138 -0
  527. data/docs/source/release-notes/workarea-3-3-28.html.md +147 -0
  528. data/docs/source/release-notes/workarea-3-3-29.html.md +63 -0
  529. data/docs/source/release-notes/workarea-3-3-3.html.md +153 -0
  530. data/docs/source/release-notes/workarea-3-3-30.html.md +102 -0
  531. data/docs/source/release-notes/workarea-3-3-31.html.md +57 -0
  532. data/docs/source/release-notes/workarea-3-3-32.html.md +44 -0
  533. data/docs/source/release-notes/workarea-3-3-33.html.md +114 -0
  534. data/docs/source/release-notes/workarea-3-3-4.html.md +332 -0
  535. data/docs/source/release-notes/workarea-3-3-5.html.md +242 -0
  536. data/docs/source/release-notes/workarea-3-3-6.html.md +100 -0
  537. data/docs/source/release-notes/workarea-3-3-7.html.md +148 -0
  538. data/docs/source/release-notes/workarea-3-3-8.html.md +163 -0
  539. data/docs/source/release-notes/workarea-3-3-9.html.md +93 -0
  540. data/docs/source/release-notes/workarea-3-4-0.html.md +580 -0
  541. data/docs/source/release-notes/workarea-3-4-1.html.md +150 -0
  542. data/docs/source/release-notes/workarea-3-4-10.html.md +72 -0
  543. data/docs/source/release-notes/workarea-3-4-11.html.md +60 -0
  544. data/docs/source/release-notes/workarea-3-4-12.html.md +155 -0
  545. data/docs/source/release-notes/workarea-3-4-2.html.md +188 -0
  546. data/docs/source/release-notes/workarea-3-4-3.html.md +136 -0
  547. data/docs/source/release-notes/workarea-3-4-4.html.md +114 -0
  548. data/docs/source/release-notes/workarea-3-4-5.html.md +275 -0
  549. data/docs/source/release-notes/workarea-3-4-6.html.md +169 -0
  550. data/docs/source/release-notes/workarea-3-4-7.html.md +162 -0
  551. data/docs/source/release-notes/workarea-3-4-8.html.md +95 -0
  552. data/docs/source/release-notes/workarea-3-4-9.html.md +135 -0
  553. data/docs/source/search.html.erb +34 -0
  554. data/docs/source/shared/_header.erb +61 -0
  555. data/docs/source/shared/_svgs.erb +17 -0
  556. data/docs/source/style_guide/index.html.erb +382 -0
  557. data/docs/source/stylesheets/_base.scss +125 -0
  558. data/docs/source/stylesheets/_components.scss +669 -0
  559. data/docs/source/stylesheets/_helpers.scss +10 -0
  560. data/docs/source/stylesheets/_opinions.scss +42 -0
  561. data/docs/source/stylesheets/_settings.scss +56 -0
  562. data/docs/source/stylesheets/_typography.scss +119 -0
  563. data/docs/source/stylesheets/site.css.scss +14 -0
  564. data/docs/source/stylesheets/vendor/_avalanche.scss +328 -0
  565. data/docs/source/stylesheets/vendor/_normalize.scss +341 -0
  566. data/docs/source/stylesheets/vendor/highlight/_tomorrow_night_blue.scss +75 -0
  567. data/docs/source/upgrade-guides.html.md +18 -0
  568. data/docs/source/upgrade-guides/workarea-3-4-0.html.md +152 -0
  569. data/docs/workarea_renderer.rb +8 -0
  570. data/docs/yarn.lock +2522 -0
  571. metadata +669 -0
data/README.md ADDED
@@ -0,0 +1,163 @@
1
+ Workarea Commerce Platform
2
+ ================================================================================
3
+ [![Build Status](https://travis-ci.com/workarea-commerce/workarea.svg?token=YjqtGLgnbrDJ77Kqw1nV&branch=master)](https://travis-ci.com/workarea-commerce/workarea)
4
+ [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v1.4%20adopted-ff69b4.svg)](CODE_OF_CONDUCT.md)
5
+
6
+ [Workarea](https://www.workarea.com) is an enterprise-grade commerce platform written in [Ruby on Rails](https://rubyonrails.org). It uses [MongoDB](https://www.mongodb.com), [Elasticsearch](https://www.elastic.co/products/elasticsearch), and [Redis](https://redis.io). Workarea also uses a whole lot of gems you can see in [our gemspec](https://github.com/weblinc/workarea/blob/master/core/workarea-core.gemspec).
7
+
8
+ [Workarea Commerce Cloud](https://www.workarea.com/pages/commerce-cloud)
9
+ [Documentation](https://developer.workarea.com)
10
+ [Demo](https://github.com/workarea-commerce/workarea#demo)
11
+ [Getting Started](https://github.com/workarea-commerce/workarea#getting-started)
12
+ [Plugins](https://github.com/workarea-commerce/workarea#plugins)
13
+ [Deploying](https://github.com/workarea-commerce/workarea#deploying)
14
+ [Contributing](https://github.com/workarea-commerce/workarea#contributing)
15
+ [Slack](https://www.workarea.com/slack)
16
+
17
+ ![Workarea Screenshot](https://raw.githubusercontent.com/workarea-commerce/workarea/master/docs/source/images/readme-hero.png)
18
+
19
+ Features
20
+ --------------------------------------------------------------------------------
21
+ Workarea combines commerce, content, search, and insights into a unified platform to enable merchants to move faster and work smarter. Out-of-the-box features include:
22
+
23
+ **Storefront**
24
+ * Mobile-first frontend
25
+ * Localization support
26
+ * First-class SEO
27
+ * Built-in analytics
28
+ * Cart and checkout
29
+ * Customer accounts
30
+ * Discounts
31
+ * Basic taxes
32
+ * Shipping services
33
+
34
+ **Content**
35
+ * Responsive CMS
36
+ * Asset management
37
+ * Localized content
38
+ * Intelligent merchandising
39
+ * Content-based navigation
40
+
41
+ **Search**
42
+ * Product search
43
+ * Search-driven categories
44
+ * Filtering and sorting
45
+ * Search merchandising
46
+ * Results tuning
47
+ * Advanced reporting
48
+
49
+ **Insights**
50
+ * Robust dashboards
51
+ * Sales reports
52
+ * Trending reports
53
+ * Search reports
54
+ * Advanced insights
55
+
56
+ **Admin**
57
+ * Site planning and automation
58
+ * Workflows for common tasks
59
+ * Inline insights
60
+ * Search-first administration
61
+ * Commenting
62
+ * Audit logs for changes
63
+
64
+
65
+ Demo
66
+ --------------------------------------------------------------------------------
67
+
68
+ You can run a demo version of workarea by running the following command in your terminal:
69
+
70
+ ```bash
71
+ curl -s https://raw.githubusercontent.com/workarea-commerce/workarea-demo/master/bin/install | bash
72
+ ```
73
+
74
+ This will run a script that does the following:
75
+
76
+ * clone the [workarea-demo](https://github.com/workarea-commerce/workarea-demo) repository.
77
+ * build a Docker image for the application
78
+ * start containers for the application and required services
79
+ * seed the database
80
+ * start the application server
81
+
82
+ It requires you have Docker installed and running. Once complete, you can visit `http://localhost:3000` to view your app. The seed data provides an admin user with an email/password of `user@workarea.com/w0rkArea!`.
83
+
84
+ Getting Started
85
+ --------------------------------------------------------------------------------
86
+ We'll assume you have [Docker desktop](https://www.docker.com/products/docker-desktop) and [Ruby >= 2.4.0, < 2.7.0](https://github.com/rbenv/rbenv#installation) installed.
87
+
88
+ 1. Add the `workarea` gem to the `Gemfile` in your Rails 5.2 app:
89
+
90
+ gem 'workarea', '~> 3.4.6'
91
+
92
+ 2. Install the gems:
93
+
94
+ $ bundle install
95
+
96
+ 3. Start the workarea services (uses Docker):
97
+
98
+ $ bin/rails workarea:services:up
99
+
100
+ 4. Run the Workarea Rails generator:
101
+
102
+ $ bin/rails generate workarea:install
103
+
104
+ This generator will mount the Workarea engines in `config/routes.rb`, and add Workarea seeds to `db/seeds.rb`.
105
+
106
+ 5. Run the database seeds:
107
+
108
+ $ bin/rails db:seed
109
+
110
+ 5. Run the Rails server:
111
+
112
+ $ bin/rails server
113
+
114
+ 6. Visit `http://localhost:3000` in a browser and you'll see your Workarea storefront.
115
+
116
+ For more information on getting started, see the [quick start](https://developer.workarea.com/articles/create-a-new-app.html) guide.
117
+
118
+
119
+ Plugins
120
+ --------------------------------------------------------------------------------
121
+ Workarea extends functionality with a library of plugins. These plugins add everything from additional content blocks, to wish lists, to payment gateway integrations and more. Here are some of the most popular plugins:
122
+
123
+ | Plugin | Description |
124
+ | --- | --- |
125
+ | [API](https://github.com/workarea-commerce/workarea-api) | Provides APIs for storefront and admin |
126
+ | [Blog](https://github.com/workarea-commerce/workarea-blog) | Integrated blogging |
127
+ | [Reviews](https://github.com/workarea-commerce/workarea-reviews) | Adds product reviews |
128
+ | [Google Analytics](https://github.com/workarea-commerce/workarea-google-analytics) | Integrates GA with Workarea's analytics |
129
+ | [Paypal](https://github.com/workarea-commerce/workarea-paypal) | Adds Paypal checkout |
130
+ | [Wish Lists](https://github.com/workarea-commerce/workarea-wish-lists) | Adds customer wish lists |
131
+ | [Sitemaps](https://github.com/workarea-commerce/workarea-sitemaps) | Autogenerating sitemaps |
132
+ | [Share](https://github.com/workarea-commerce/workarea-share) | Adds page sharing via social media or email |
133
+ | [Google Tag Manager](https://github.com/workarea-commerce/workarea-tag-manager) | Adds [Google Tag Manager](https://marketingplatform.google.com/about/tag-manager/) |
134
+ | [Package Products](https://github.com/workarea-commerce/workarea-package-products) | Allows displaying products as a group in browse and details pages |
135
+ | [Gift Cards](https://github.com/workarea-commerce/workarea-gift-cards) | Adds Workarea-native digital gift cards |
136
+
137
+ Deploying
138
+ --------------------------------------------------------------------------------
139
+ Workarea is fairly complex application to host, we recommend our [Commerce Cloud](https://www.workarea.com/pages/commerce-cloud) hosting.
140
+
141
+ If you'd like to host on your own, we have some documentation to help:
142
+
143
+ * [Required infrastructure](https://developer.workarea.com/articles/infrastructure.html)
144
+ * [Configuring Workarea for hosting](https://developer.workarea.com/articles/configuration-for-hosting.html)
145
+
146
+
147
+ Contributing
148
+ --------------------------------------------------------------------------------
149
+ All contributors in any way are expected to follow the [code of conduct](https://github.com/workarea-commerce/workarea/blob/master/CODE_OF_CONDUCT.md).
150
+
151
+ ### Looking for how to contribute code?
152
+ We encourage you to contribute to Workarea! Check out our [articles on contribution](https://developer.workarea.com/articles/contribute-code.html) on [https://developer.workarea.com](https://developer.workarea.com).
153
+
154
+ ### Looking for how to submit a bug?
155
+ Please check out our [article on how to submit a bug](https://developer.workarea.com/articles/report-a-bug.html) for how to proceed
156
+
157
+ ### Looking for how to report a security vulnerability?
158
+ Please check out our [security policy](https://developer.workarea.com/articles/security-policy.html) for how to proceed.
159
+
160
+
161
+ License
162
+ --------------------------------------------------------------------------------
163
+ Workarea Commerce Platform is released under the [Business Software License](https://github.com/workarea-commerce/workarea/blob/master/LICENSE)
@@ -0,0 +1,27 @@
1
+ version: '3'
2
+ services:
3
+ mongo:
4
+ image: "mongo:${MONGODB_VERSION}"
5
+ volumes:
6
+ - mongo:/data/db
7
+ ports:
8
+ - '127.0.0.1:${MONGODB_PORT}:27017'
9
+
10
+ redis:
11
+ image: "redis:${REDIS_VERSION}"
12
+ volumes:
13
+ - redis:/data
14
+ ports:
15
+ - '127.0.0.1:${REDIS_PORT}:6379'
16
+
17
+ elasticsearch:
18
+ image: "elasticsearch:${ELASTICSEARCH_VERSION}"
19
+ ports:
20
+ - '127.0.0.1:${ELASTICSEARCH_PORT}:9200'
21
+ volumes:
22
+ - elasticsearch:/usr/share/elasticsearch/data
23
+
24
+ volumes:
25
+ mongo:
26
+ redis:
27
+ elasticsearch:
data/docs/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'redcarpet'
4
+ gem 'middleman', '~> 4.2'
5
+ gem 'middleman-autoprefixer', '~> 2.9'
6
+ gem 'middleman-search', '~> 0.10.0'
7
+ gem 'middleman-navtree', '~> 0.1.10'
8
+ gem 'puma'
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ #
5
+ # This file was generated by Bundler.
6
+ #
7
+ # The application 'middleman' is installed as part of a gem, and
8
+ # this file is here to facilitate running it.
9
+ #
10
+
11
+ require "pathname"
12
+ ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
13
+ Pathname.new(__FILE__).realpath)
14
+
15
+ bundle_binstub = File.expand_path("../bundle", __FILE__)
16
+
17
+ if File.file?(bundle_binstub)
18
+ if File.read(bundle_binstub, 150) =~ /This file was generated by Bundler/
19
+ load(bundle_binstub)
20
+ else
21
+ abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
22
+ Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
23
+ end
24
+ end
25
+
26
+ require "rubygems"
27
+ require "bundler/setup"
28
+
29
+ load Gem.bin_path("middleman-cli", "middleman")
data/docs/config.rb ADDED
@@ -0,0 +1,87 @@
1
+ require_relative './workarea_renderer'
2
+
3
+ # Activate and configure extensions
4
+ # https://middlemanapp.com/advanced/configuration/#configuring-extensions
5
+
6
+ set :markdown_engine, :redcarpet
7
+ set :markdown, fenced_code_blocks: true, tables: true, no_intra_emphasis: true, renderer: WorkareaRenderer
8
+
9
+ set :relative_links, true
10
+
11
+ set :feedback_url, 'https://docs.google.com/forms/d/e/1FAIpQLSdwBiHq_F8TVPAcBQFGf9e--yCE6rbGvGuiAF-W2lB2zrRbtg/viewform?usp=pp_url&entry.1298659050='
12
+
13
+ activate :search do |search|
14
+ search.resources = Dir['source/**/*.html*'].map do |path|
15
+ path.split('/').drop(1).join('/').gsub(/\.erb|\.md/, '')
16
+ end
17
+
18
+ search.fields = {
19
+ title: { boost: 100, store: true, required: true },
20
+ content: { boost: 50 },
21
+ excerpt: { index: false, store: true },
22
+ url: { index: false, store: true }
23
+ }
24
+ end
25
+
26
+ activate :navtree do |options|
27
+ options.automatic_tree_updates = false
28
+ end
29
+
30
+ # Layouts
31
+ # https://middlemanapp.com/basics/layouts/
32
+
33
+ # Per-page layout changes
34
+ page '/*.xml', layout: false
35
+ page '/*.json', layout: false
36
+ page '/*.txt', layout: false
37
+
38
+ # With alternative layout
39
+ page '/articles/*', layout: 'article'
40
+ page '/release-notes/*', layout: 'bare'
41
+ page '/upgrade-guides/*', layout: 'bare'
42
+
43
+ # Proxy pages
44
+ # https://middlemanapp.com/advanced/dynamic-pages/
45
+
46
+ # proxy(
47
+ # '/this-page-has-no-template.html',
48
+ # '/template-file.html',
49
+ # locals: {
50
+ # which_fake_page: 'Rendering a fake page with a local variable'
51
+ # },
52
+ # )
53
+
54
+ # Helpers
55
+ # Methods defined in the helpers block are available in templates
56
+ # https://middlemanapp.com/basics/helper-methods/
57
+
58
+ helpers do
59
+ def body_classes(classes = '')
60
+ ['body', current_page.data.body_class, classes].join(' ')
61
+ end
62
+
63
+ def recent_articles(size = 5)
64
+ files = Dir['source/{articles,hosting}/**/*.md']
65
+ .map { |p| File.new(p) }
66
+ .sort { |y, x| x.ctime <=> y.ctime }
67
+
68
+ files.take(size).map do |file|
69
+ sitemap.resources.find { |r| file.path.include?(r.path) }
70
+ end
71
+ end
72
+ end
73
+
74
+ # Build-specific configuration
75
+ # https://middlemanapp.com/advanced/configuration/#environment-specific-settings
76
+
77
+ configure :build do
78
+ activate :minify_css
79
+ activate :minify_javascript
80
+ activate :relative_assets
81
+
82
+ # Keep this here, as per:
83
+ # https://github.com/middleman/middleman-autoprefixer/issues/33
84
+ activate :autoprefixer do |prefix|
85
+ prefix.browsers = "last 2 versions"
86
+ end
87
+ end
data/docs/config.ru ADDED
@@ -0,0 +1,7 @@
1
+ require 'bundler/setup'
2
+ Bundler.require(:default)
3
+
4
+ middleman = Middleman::Application.new
5
+ app = Middleman::Rack.new(middleman).to_app
6
+
7
+ run app
@@ -0,0 +1,157 @@
1
+ introduction:
2
+ overview.html.md: /articles/overview.html.md
3
+ api-overview.html.md: /articles/api-overview.html.md
4
+ b2b-overview.html.md: /articles/b2b-overview.html.md
5
+ developing-on-workarea:
6
+ quick-start:
7
+ create-a-new-app.html.md: /articles/create-a-new-app.html.md
8
+ use-an-existing-workarea-app.html.md: /articles/use-an-existing-workarea-app.html.md
9
+ installing.html.md: /articles/installing.html.md
10
+ navigating-the-code.html.md: /articles/navigating-the-code.html.md
11
+ seeds.html.md: /articles/seeds.html.md
12
+ integrating-with-other-software: /articles/integrating-with-other-software.html.md
13
+ common-tasks:
14
+ run-sidekiq-in-a-local-environment: /articles/run-sidekiq-in-a-local-environment.html.md
15
+ add-remove-or-change-a-mongoid-validation.html.md: /articles/add-remove-or-change-a-mongoid-validation.html.md
16
+ add-metrics.html.md: /articles/add-metrics.html.md
17
+ add-a-report.html.md: /articles/add-a-report.html.md
18
+ hosting-workarea:
19
+ infrastructure.html.md: /articles/infrastructure.html.md
20
+ configuration-for-hosting.html.md: /articles/configuration-for-hosting.html.md
21
+ application-architecture:
22
+ prerequisites-and-dependencies.html.md: /articles/prerequisites-and-dependencies.html.md
23
+ domain-modeling.html.md: /articles/domain-modeling.html.md
24
+ testing.html.md: /articles/testing.html.md
25
+ view-models.html.md: /articles/view-models.html.md
26
+ workers.html.md: /articles/workers.html.md
27
+ caching:
28
+ http-caching.html.md: /articles/http-caching.html.md
29
+ html-fragment-caching.html.md: /articles/html-fragment-caching.html.md
30
+ low-level-caching.html.md: /articles/low-level-caching.html.md
31
+ diagrams:
32
+ commerce-model.html.md: /articles/commerce-model.html.md
33
+ writing-data.html.md: /articles/writing-data.html.md
34
+ reading-data.html.md: /articles/reading-data.html.md
35
+ images-flow.html.md: /articles/images-flow.html.md
36
+ extension:
37
+ extension-overview.html.md: /articles/extension-overview.html.md
38
+ appending.html.md: /articles/appending.html.md
39
+ decoration.html.md: /articles/decoration.html.md
40
+ overriding.html.md: /articles/overriding.html.md
41
+ configuration.html.md: /articles/configuration.html.md
42
+ misc:
43
+ application-document.html.md: /articles/application-document.html.md
44
+ releasable.html.md: /articles/releasable.html.md
45
+ swappable-list-data-structure.html.md: /articles/swappable-list-data-structure.html.md
46
+ plugins:
47
+ plugins-overview.html.md: /articles/plugins-overview.html.md
48
+ create-a-plugin.html.md: /articles/create-a-plugin.html.md
49
+ maintain-a-plugin.html.md: /articles/maintain-a-plugin.html.md
50
+ test-if-a-plugin-is-installed.html.md: /articles/test-if-a-plugin-is-installed.html.md
51
+ products:
52
+ products.html.md: /articles/products.html.md
53
+ sort-and-exclude-product-options.html.md: /articles/sort-and-exclude-product-options.html.md
54
+ change-the-storefront-product-pricing-ui.html.md: /articles/change-the-storefront-product-pricing-ui.html.md
55
+ configure-low-inventory-threshold.html.md: /articles/configure-low-inventory-threshold.html.md
56
+ search:
57
+ searching.html.md: /articles/searching.html.md
58
+ storefront-search-features.html.md: /articles/storefront-search-features.html.md
59
+ storefront-searches.html.md: /articles/storefront-searches.html.md
60
+ analyze-storefront-search-results.html.md: /articles/analyze-storefront-search-results.html.md
61
+ change-storefront-search-results.html.md: /articles/change-storefront-search-results.html.md
62
+ index-storefront-search-documents.html.md: /articles/index-storefront-search-documents.html.md
63
+ add-remove-sort-and-group-storefront-search-filters.html.md: /articles/add-remove-sort-and-group-storefront-search-filters.html.md
64
+ change-the-storefront-search-filters-ui.html.md: /articles/change-the-storefront-search-filters-ui.html.md
65
+ cart-and-checkout:
66
+ checkout.html.md: /articles/checkout.html.md
67
+ configure-a-payment-gateway.html.md: /articles/configure-a-payment-gateway.html.md
68
+ integrate-a-payment-gateway.html.md: /articles/integrate-a-payment-gateway.html.md
69
+ test-a-credit-card-transaction.html.md: /articles/test-a-credit-card-transaction.html.md
70
+ orders:
71
+ orders.html.md: /articles/orders.html.md
72
+ orders-and-items.html.md: /articles/orders-and-items.html.md
73
+ order-life-cycle.html.md: /articles/order-life-cycle.html.md
74
+ shipping.html.md: /articles/shipping.html.md
75
+ users:
76
+ configure-logins-and-authentication.html.md: /articles/configure-logins-and-authentication.html.md
77
+ navigation:
78
+ navigation.html.md: /articles/navigation.html.md
79
+ navigable.html.md: /articles/navigable.html.md
80
+ content:
81
+ content.html.md: /articles/content.html.md
82
+ contentable.html.md: /articles/contentable.html.md
83
+ add-a-content-area.html.md: /articles/add-a-content-area.html.md
84
+ add-a-content-block-type.html.md: /articles/add-a-content-block-type.html.md
85
+ add-system-content.html.md: /articles/add-system-content.html.md
86
+ themes:
87
+ themes-overview.html.md: /articles/themes-overview.html.md
88
+ create-a-theme.html.md: /articles/create-a-theme.html.md
89
+ pricing:
90
+ order-pricing.html.md: /articles/order-pricing.html.md
91
+ add-or-replace-a-pricing-calculator.html.md: /articles/add-or-replace-a-pricing-calculator.html.md
92
+ change-the-storefront-product-pricing-ui.html.md: /articles/change-the-storefront-product-pricing-ui.html.md
93
+ create-a-custom-discount.html.md: /articles/create-a-custom-discount.html.md
94
+ inventory:
95
+ inventory.html.md: /articles/inventory.html.md
96
+ integrate-an-inventory-management-system.html.md: /articles/integrate-an-inventory-management-system.html.md
97
+ define-and-configure-inventory-policies.html.md: /articles/define-and-configure-inventory-policies.html.md
98
+ storefronts:
99
+ views:
100
+ views.html.md: /articles/views.html.md
101
+ style-guides.html.md: /articles/style-guides.html.md
102
+ create-a-style-guide.html.md: /articles/create-a-style-guide.html.md
103
+ add-remove-or-change-a-product-template.html.md: /articles/add-remove-or-change-a-product-template.html.md
104
+ error-pages.html.md: /articles/error-pages.html.md
105
+ customize-a-helper.html.md: /articles/customize-a-helper.html.md
106
+ rails-asset-view-helpers.html.md: /articles/rails-asset-view-helpers.html.md
107
+ system-emails.html.md: /articles/system-emails.html.md
108
+ configure-contact-form-subjects-list.html.md: /articles/configure-contact-form-subjects-list.html.md
109
+ stylesheets:
110
+ css-architectural-overview.html.md: /articles/css-architectural-overview.html.md
111
+ stylesheets-overview.html.md: /articles/stylesheets-overview.html.md
112
+ add-stylesheets-through-a-manifest.html.md: /articles/add-stylesheets-through-a-manifest.html.md
113
+ add-css-through-the-admin-ui.html.md: /articles/add-css-through-the-admin-ui.html.md
114
+ feature-spec-helper-stylesheet.html.md: /articles/feature-spec-helper-stylesheet.html.md
115
+ javascripts:
116
+ javascript-overview.html.md: /articles/javascript-overview.html.md
117
+ javascript-reference-documentation.html.md: /articles/javascript-reference-documentation.html.md
118
+ javascript-modules.html.md: /articles/javascript-modules.html.md
119
+ javascript-templates.html.md: /articles/javascript-templates.html.md
120
+ access-routes-in-javascript.html.md: /articles/access-routes-in-javascript.html.md
121
+ analytics-overview.html.md: /articles/analytics-overview.html.md
122
+ integrate-a-web-analytics-provider.html.md: /articles/integrate-a-web-analytics-provider.html.md
123
+ add-javascript-through-a-manifest.html.md: /articles/add-javascript-through-a-manifest.html.md
124
+ add-javascript-through-a-view.html.md: /articles/add-javascript-through-a-view.html.md
125
+ add-javascript-through-the-admin-ui.html.md: /articles/add-javascript-through-the-admin-ui.html.md
126
+ featurejs-and-feature-spec-helper.html.md: /articles/featurejs-and-feature-spec-helper.html.md
127
+ automated-javascript-testing.html.md: /articles/automated-javascript-testing.html.md
128
+ browser-and-device-support.html.md: /articles/browser-and-device-support.html.md
129
+ progressive-web-application-support.html.md: /articles/progressive-web-application-support.html.md
130
+ assets:
131
+ rails-asset-manifests.html.md: /articles/rails-asset-manifests.html.md
132
+ configure-asset-types.html.md: /articles/configure-asset-types.html.md
133
+ configure-product-image-sizes-and-processing.html.md: /articles/configure-product-image-sizes-and-processing.html.md
134
+ configure-imageoptim.html.md: /articles/configure-imageoptim.html.md
135
+ favicon-support.html.md: /articles/favicon-support.html.md
136
+ change-product-placeholder-image.html.md: /articles/change-product-placeholder-image.html.md
137
+ configure-asset-storage.html.md: /articles/configure-asset-storage.html.md
138
+ internationalization:
139
+ i18n.html.md: /articles/i18n.html.md
140
+ configure-locales.html.md: /articles/configure-locales.html.md
141
+ translate-or-customize-static-content.html.md: /articles/translate-or-customize-static-content.html.md
142
+ translate-or-customize-message-content.html.md: /articles/translate-or-customize-message-content.html.md
143
+ translate-administrable-content.html.md: /articles/translate-administrable-content.html.md
144
+ translate-javascript-content.html.md: /articles/translate-javascript-content.html.md
145
+ contribute:
146
+ contribute-code.html.md: /articles/contribute-code.html.md
147
+ contribute-documentation.html.md: /articles/contribute-documentation.html.md
148
+ documentation.html.md: /articles/documentation.html.md
149
+ documentation-style-guide.html.md: /articles/documentation-style-guide.html.md
150
+ report-a-bug.html.md: /articles/report-a-bug.html.md
151
+ coding-standards:
152
+ ruby-coding-standards.html.md: /articles/ruby-coding-standards.html.md
153
+ javascript-coding-standards.html.md: /articles/javascript-coding-standards.html.md
154
+ stylesheet-coding-standards.html.md: /articles/stylesheet-coding-standards.html.md
155
+ policies:
156
+ maintenance-policy.html.md: /articles/maintenance-policy.html.md
157
+ security-policy.html.md: /articles/security-policy.html.md