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
@@ -0,0 +1,146 @@
1
+ ---
2
+ title: Workarea 3.0.0
3
+ excerpt: Workarea 3 renames the WebLinc software and its components to Workarea. The rename encompasses the core software and all plugins, including file and directory names, code constants, repository names, and gem names.
4
+ ---
5
+
6
+ # Workarea 3.0.0
7
+
8
+ ## Rename to Workarea
9
+
10
+ Workarea 3 renames the <cite>WebLinc</cite> software and its components to <cite>Workarea</cite>. The rename encompasses the core software and all plugins, including file and directory names, code constants, repository names, and gem names.
11
+
12
+ ## Dependencies
13
+
14
+ ### Elasticsearch
15
+
16
+ Workarea 3 requires [Elasticsearch](https://www.elastic.co/products/elasticsearch) [version 5.x](https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking-changes-5.0.html). You must update this dependency in all environments.
17
+
18
+ ### Ruby
19
+
20
+ Workarea 3 requires [Ruby](https://www.ruby-lang.org/en/) [version 2.3.x](https://www.ruby-lang.org/en/news/2015/12/25/ruby-2-3-0-released/). You must update this dependency in all environments.
21
+
22
+ ### PhantomJS
23
+
24
+ Workarea 3 requires [PhantomJS](http://phantomjs.org/) [version 2.x](http://phantomjs.org/release-2.0.html). You must update this dependency in all test environments. Workarea 2.3.0 allowed use of PhantomJS 2.x, but this version is now a hard requirement in Workarea version 3.
25
+
26
+ ## Extracted Plugins
27
+
28
+ Workarea v3 removes the following features.
29
+
30
+ - Product sharing
31
+ - Browsing by option (for example, a separate search result for each color of a product)
32
+ - Content search results
33
+ - Developer toolbar
34
+ - Product quickview
35
+
36
+ The features above have been extracted to the plugins below. These plugins are maintained by the WebLinc Product Team.
37
+
38
+ - [Workarea Share](https://stash.tools.weblinc.com/projects/WL/repos/workarea-share/browse)
39
+ - [Workarea Browse Option](https://stash.tools.weblinc.com/projects/WL/repos/workarea-browse-option/browse)
40
+ - [Workarea Content Search](https://stash.tools.weblinc.com/projects/WL/repos/workarea-content-search/browse)
41
+ - [Workarea Developer Toolbar](https://stash.tools.weblinc.com/projects/WL/repos/workarea-developer-toolbar/browse)
42
+ - [WebLinc Product Quickview](https://stash.tools.weblinc.com/projects/WL/repos/weblinc-product-quickview/browse)
43
+
44
+ ## Testing
45
+
46
+ First introduced in WebLinc 2.3, <cite>Minitest</cite> is the standard test framework in Workarea 3.0. Using Minitest allows applications to run Workarea platform tests without copying them into the application, and it allows applications to decorate tests like other Ruby classes.
47
+
48
+ Workarea version 3 provides the following commands to run tests within an application.
49
+
50
+ - `bin/rails workarea:test:core` to run tests from <cite>workarea-core</cite> (with decorators)
51
+ - `bin/rails workarea:test:admin` to run tests from <cite>workarea-admin</cite> (with decorators)
52
+ - `bin/rails workarea:test:storefront` to run tests from <cite>workarea-storefront</cite> (with decorators)
53
+ - `bin/rails workarea:test` to run tests from <cite>workarea-core</cite>, <cite>workarea-admin</cite>, and <cite>workarea-storefront</cite> (with decorators)
54
+ - `bin/rails workarea:test:decorated` to run decorated tests only
55
+
56
+ Workarea 3 moves all _feature_ and _request_ tests from RSpec to Minitest (and renames them _system_ and _integration_ tests, respectively) and also moves a variety of other tests from RSpec to Minitest. Other tests remain in RSpec, however, these tests will be moved to Minitest in future minor releases.
57
+
58
+ Workarea 3 moves all RSpec dependencies into a separate [Workarea RSpec](https://stash.tools.weblinc.com/projects/WL/repos/workarea-rspec/browse) engine. This engine will provide continued support for RSpec testing during and after the migration of platform tests from RSpec to Minitest.
59
+
60
+ **Existing applications are not expected to migrate existing specs to Minitest. RSpec testing will continue to be supported indefinitely.** However, new applications should write Minitest tests exclusively, in order to benefit from test decoration.
61
+
62
+ Refer to [Testing](/articles/testing.html) for further coverage of testing in Workarea 3.
63
+
64
+ ## Workers, Listeners & Publishers
65
+
66
+ Workarea version 3 removes WebLinc's system of listeners and publishers and adds Sidekiq extensions that provide the concept of a _callbacks worker_ in addition to other changes to the workers APIs.
67
+
68
+ The [Workers](/articles/workers.html) guide explains the version 3 workers APIs.
69
+
70
+ ## Search
71
+
72
+ Workarea 3 makes a variety of changes to search, including those in the following list. The [Search](/articles/searching.html) guide explains the version 3 search APIs in greater detail.
73
+
74
+ - The `Elasticsearch::Persistence` library is removed in favor of using the Elasticsearch Ruby API directly
75
+ - `Weblinc::Search::Repository` and `Weblinc::Search::Mapper` are removed in favor of lighter abstractions
76
+ - `Elasticsearch::Document` and `Elasticsearch::Index` provide abstractions that more closely mimic the <abbr title="object document mapper">ODM</abbr> abstractions used for MongoDB
77
+ - The `Workarea::Search::Query` module and the construction of Elasticsearch searches has been redesigned to leverage developers' knowledge of Ruby modules and code re-use
78
+ - The list of indexes used is changed to reduce the number of Elasticsearch queries and to provide greater flexibility (for example, a single index is used to search for searches, products, categories, and pages in the storefront)
79
+ - Elasticsearch mappings are stored as configuration in `Workarea.config.elasticsearch_mappings`
80
+ - Personalized search is removed, and all search results pages are cached by URL
81
+ - Learning search is simplified and leverages data stored for analytics
82
+
83
+ ## Shipping
84
+
85
+ Workarea v3 makes a variety of changes to shipping. Specifically, shipping rates are requested from an [ActiveShipping](http://www.rubydoc.info/gems/active_shipping/1.8.6) carrier, and Workarea provides a default carrier that mimics the previous shipping implementation. This change allows for easier extension of shipping functionality.
86
+
87
+ The [Shipping](/articles/shipping.html) guide explains the version 3 shipping APIs in more detail.
88
+
89
+ ## Navigation
90
+
91
+ Workarea version 3 splits navigation into two separate concerns: taxonomy and navigation. <dfn>Taxons</dfn>, which compose the site's taxonomy, are used to organize [Navigables](/articles/navigable.html) and other nodes into a tree structure. This structure provides the hierarchy needed for secondary navigation such as breadcrumbs.
92
+
93
+ Meanwhile, the primary navigation is presented as a series of <dfn>menus</dfn>, each of which is [contentable](/articles/contentable.html) and [releasable](/articles/releasable.html), allowing for more flexible visual designs and management.
94
+
95
+ The [Navigation](/articles/navigation.html) guide explains the APIs concerning taxonomy and navigation.
96
+
97
+ ## Content
98
+
99
+ Workarea version 3 iterates on <abbr title="content management system">CMS</abbr> functionality, primarily to allow faster creation of custom content block types. Block types are stored in memory and are created using a <abbr title="domain specific language">DSL</abbr>. Developers no longer need to implement the admin <abbr title="user interface">UI</abbr> for each block type. A block type is composed of <dfn>fields</dfn>, which are organized into <dfn>fieldsets</dfn>. A field defines the type of UI control that should be used to collect data, the default value of the field, and how the collected data should be typecast.
100
+
101
+ The [Content](/articles/content.html) guide explains the content APIs in more detail.
102
+
103
+ ## Sample Data (Seeds)
104
+
105
+ Workarea 3 renames `Weblinc::SampleData` to `Workarea::Seeds` and removes the `weblinc:sample_data` Rake task in favor of Rails' own `db:seed` task. New Workarea 3 applications implement `db:seed` as follows:
106
+
107
+ ```
108
+ # your_app/db/seeds.rb
109
+ require 'workarea/seeds'
110
+ Workarea::Seeds.run
111
+ ```
112
+
113
+ Applications migrating to version 3 may want to copy this implementation.
114
+
115
+ Seed files live in the Rails `app` directory and are therefore required automatically and may be decorated like other Ruby classes. Furthermore, Workarea 3 stores the list of seeds to be run in the `Workarea.config.seeds` configuration to allow for easier extension.
116
+
117
+ ## CSS Grid System
118
+
119
+ Workarea v3 uses the [Avalanche CSS grid system](http://colourgarden.net/avalanche/) ([source](https://github.com/colourgarden/avalanche)) for generic grid layout in the Admin and Storefront <abbr title="user interfaces">UIs</abbr>.
120
+
121
+ This grid system has configurable <dfn>settings</dfn>, which are configured differently for the [admin](https://stash.tools.weblinc.com/projects/WL/repos/workarea/browse/admin/app/assets/stylesheets/workarea/admin/settings/_grid.scss?at=refs%2Ftags%2Fv3.0.0) and [storefront](https://stash.tools.weblinc.com/projects/WL/repos/workarea/browse/storefront/app/assets/stylesheets/workarea/storefront/settings/_grid.scss?at=refs%2Ftags%2Fv3.0.0).
122
+
123
+ ## Admin UI
124
+
125
+ Workarea version 3 redesigns the Admin UI, providing improved performance, discoverability, and extensibility. Some of the specific changes are summarized in the following list.
126
+
127
+ - <dfn>Search</dfn> is displayed more prominently and allows for searching by type of object (for example, searching for "products" allows direct navigation to the products index screen)
128
+ - A sitemap-like <dfn>primary navigation</dfn> organizes the Admin into sections, each with their own dashboard and subsections
129
+ - <dfn>Hierarchical navigation</dfn> is designed around the main heading of the page, with the link above the main heading going a level "up" the taxonomy, and links below the main heading going "down" a level deeper
130
+ - <dfn>Auxiliary navigation</dfn> that sometimes appears in the top right navigates between pages that are related but in a different parts of the taxonomy, such as returning to a product from its related inventory
131
+ - Redesigned <dfn>index pages</dfn> use a grid layout and allow selecting multiple products for <dfn>bulk actions</dfn>, such as edit and delete
132
+ - Objects such as products and categories now have <dfn>show pages</dfn> that present an overview of everything that can be managed for that object, as well as decomposing the administration of that object into smaller, more manageable pieces
133
+ - On show pages, <dfn>cards</dfn> bring forward comments and other features that were hidden behind context menus in previous versions
134
+ - The <dfn>timeline</dfn> for an object combines its history and upcoming changes into a single chronological view
135
+ - The <dfn>current release</dfn> is stored in session so that it "follows" the user through the Admin, while controls on most screens allow editing the current release before editing and before saving
136
+ - <dfn>Creation workflows</dfn> provide step-by-step interfaces to create and publish objects such as products, categories, and discounts that require more than a simple form to create a functioning whole (for example, _products_ need _variants_ that need _prices_)
137
+ - The <dfn>content editing</dfn> UI is redesigned, providing more context while editing, as well as improved previewing
138
+ - More useful data is present on <dfn>dashboards</dfn>, and <dfn>insights</dfn> are also available for categories, products, people, and search to help retailers make decisions
139
+
140
+ ### Admin Toolbar
141
+
142
+ The admin toolbar that displays for administrators when browsing the Storefront is updated to match the Admin, providing the full Admin search and navigation directly within the Storefront. Administrators can navigate easily between Admin and Storefront views of the same object.
143
+
144
+ ### Internationalization
145
+
146
+ In addition to being redesigned, the Admin UI has been internationalized, allowing for translation into different and multiple locales. The Storefront and Admin UIs are now both internationalized.
@@ -0,0 +1,161 @@
1
+ ---
2
+ title: Workarea 3.0.1
3
+ excerpt: To ensure tests function correctly, Workarea must load before other gems when the application boots. The app template included in Workarea 3.0.1 has been updated to ensure this change is present in new applications. However, this change must be applie
4
+ ---
5
+
6
+ # Workarea 3.0.1
7
+
8
+ ## Loads Workarea Before Other Gems
9
+
10
+ To ensure tests function correctly, Workarea must load before other gems when the application boots. The app template included in Workarea 3.0.1 has been updated to ensure this change is present in new applications. However, this change must be applied manually to applications that were created using an earlier version of the app template. The code example below shows the correct loading order.
11
+
12
+ ```
13
+ # /config/application.rb
14
+
15
+ # ...
16
+
17
+ # Workarea must be required before other gems to ensure control over Rails.env
18
+ # for running tests
19
+ require 'workarea/core'
20
+ require 'workarea/admin'
21
+ require 'workarea/storefront'
22
+
23
+ Bundler.require(*Rails.groups)
24
+
25
+ # ...
26
+ ```
27
+
28
+ ## Redesigns Z-Index Management
29
+
30
+ Workarea 3.0.1 adds stylesheets to the _settings_ layer in the Admin and Storefront which establish a new convention for specifying z-index values throughout both UIs. The pattern is described in the article [Sassy Z-Index Management For Complex Layouts](https://www.smashingmagazine.com/2014/06/sassy-z-index-management-for-complex-layouts/) and uses Sass lists to manage z-indexes.
31
+
32
+ For example, in the Storefront, to ensure the `page-header` block has a higher z-index than the `page-content` block, `page-header` is ordered after `page-content` in the `$page-container` list. The styles for `page-header` then use Sass's `index` function to find the position of `page-header` within the `$page-container` list and use that number as the z-index value.
33
+
34
+ ```
35
+ // workarea-storefront/app/assets/stylesheets/workarea/storefront/settings/_z_indexes.scss
36
+
37
+ // ...
38
+
39
+ $page-container: (
40
+ page-content,
41
+ page-header
42
+ ) !default;
43
+
44
+ // workarea-storefront/app/assets/stylesheets/workarea/storefront/components/_page_header.scss
45
+
46
+ // ...
47
+
48
+ .page-header {
49
+ position: relative;
50
+ z-index: index($page-container, page-header);
51
+ // ...
52
+ }
53
+
54
+ // ...
55
+ ```
56
+
57
+ Within each UI, there is one list per stacking context. Applications should use and maintain these lists to manage z-index values.
58
+
59
+ The change adds a _settings/\_z\_indexes.scss_ settings stylesheet to the Admin and Storefront and modifies the _application.scss.erb_ stylesheet manifest in each engine to import the new stylesheets. If either manifest in your application has been overridden, you'll need to edit the manifest to import the new settings.
60
+
61
+ Furthermore, various stylesheets are modified to ensure that each z-index value is specified using the `index` function to look up the position of a block within a list. Review the [merge commit](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/0705533c45887b9cab65c416effdf0fb138eda51) to see the complete list of affected files and update any overridden assets in your application accordingly.
62
+
63
+ ## Moves Dialog and Loading Assets out of Core
64
+
65
+ Since Workarea 3.0.0, dialogs are no longer used in the Admin and the `WORKAREA.loading` JavaScript module is used exclusively in the Storefront. Workarea 3.0.1 therefore moves dialog and loading assets out of Core since the code is no longer shared across UIs. The only exception is the _loading.jst.ejs_ JavaScript template, which is duplicated within Admin and Storefront as of 3.0.1. The following list summarizes the relevant code changes.
66
+
67
+ - Move the _modules/dialog_, _modules/dialog\_buttons_, _modules/dialog\_forms_, and _modules/dialog\_close\_buttons_ JavaScript module files from Core to Storefront
68
+ - Remove the above modules from the Admin _application.js.erb_ manifest and update their paths in the Storefront manifest
69
+ - Additionally remove _jquery-ui/widgets/dialog_ from the Admin manifest
70
+ - Remove the _jquery\_ui/admin/\_ui\_dialog.scss_ stylesheet from the Admin
71
+ - Remove the _style\_guides/components/\_ui\_dialog.html.haml_ style guide partial from the Admin
72
+ - Remove all styles scoped to `.ui-dialog` within the _jquery\_select2/admin/theme/\_workarea.scss_, _workarea/admin/components/\_style\_guide.scss_, and _workarea/admin/components/\_view.scss_ Admin stylesheets
73
+ - Remove dialog Sass variables from _workarea/admin/settings/\_global.scss_ in the Admin
74
+ - Move the `WORKAREA.config.dialog` and `WORKAREA.config.loading` assignments from _workarea/core/config.js_ in Core to _workarea/storefront/config.js.erb_ in Storefront
75
+ - Copy the _workarea/admin/templates/loading.jst.ejs_ JavaScript template to Admin and Storefront, then remove it from Core
76
+ - Update the path to the above template within the _workarea/storefront/config.js.erb_ Storefront file
77
+ - Update the path to the above template within the _workarea/admin/modules/add\_content\_block\_buttons.js_ and _workarea/admin/modules/content\_blocks.js_ Admin files
78
+
79
+ Review the [merge commit](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/df92f6c3524bf1cd91ad46b5564572a175ab7590) for a diff of the above changes.
80
+
81
+ ## Adds Product Entries Query
82
+
83
+ Workarea 3.0.1 adds a new query class, `Workarea::Search::ProductEntries`, which creates a collection of search models (to be indexed into Elasticsearch) from the given collection of product models. By default, initializing a `ProductEntries` collection creates a `Search::Storefront::Product` to represent each of the given products. However, plugins and applications may need to modify this logic.
84
+
85
+ For example, the <cite>Workarea Package Products</cite> plugin conditionally represents a given product using its own `Search::Storefront::PackageProduct` model instead of the default `Search::Storefront::Product` search model.
86
+
87
+ Furthermore, the <cite>Workarea Browse Option</cite> plugin extends the `ProductEntries` collection to potentially contain multiple search documents for each product (one per a given product option, such as color or size). Each product in the collection is represented by one or more instances of `Search::Storefront::ProductOption`, a search model provided by the plugin.
88
+
89
+ Plugins and applications can extend this class as needed to ensure products are represented appropriately in Elasticsearch.
90
+
91
+ ## Adds Credit Card Icons Helper Method
92
+
93
+ Workarea 3.0.1 adds the `Workarea::Storefront::CreditCardsHelper#all_payment_icons` helper method, which returns the markup needed to display a collection of icons representing the accepted credit card types, as declared in `Workarea.config.credit_card_issuers`.
94
+
95
+ The output of this helper replaces the `workarea.storefront.checkouts.credit_card_types` translation within the _workarea/storefront/checkouts/payment.html.haml_ view in the Storefront. If your application has overridden this view, you must apply this change manually.
96
+
97
+ The following image shows the icons displayed in the Storefront.
98
+
99
+ ![credit card icons](images/credit-card-icons.png)
100
+
101
+ ## Adds HTML Data Attributes Option for Content Fields
102
+
103
+ Workarea 3.0.1 adds an `html_data_attributes` option to [content fields](content.html#field). Content field options are declared using the [content block DSL](content.html#content-block-dsl). The `html_data_attributes` option outputs the given data attributes on the _property_ component for that field within the Admin UI.
104
+
105
+ The following example extends the _Text_ block type to include the `data-baz="qux"` and `data-foo="bar"` data attributes on the _Text_ field's property component in the Admin.
106
+
107
+ ```
108
+ # Within any initializer, such as /config/initializers/workarea.rb
109
+
110
+ Workarea::Content.define_block_types do
111
+ block_type 'Text' do
112
+ field 'Text', :text, html_data_attributes: { foo: 'bar', baz: 'qux' }
113
+ end
114
+ end
115
+ ```
116
+
117
+ ```
118
+ <!-- HTML ouput in the Admin UI -->
119
+
120
+ <div class="property" data-baz="qux" data-foo="bar">
121
+ <label class="property__name" for="text_content_block">Text</label>
122
+ <div class="wysiwyg" data-wysiwyg>
123
+ <!-- ... -->
124
+ </div>
125
+ </div>
126
+ ```
127
+
128
+ ## Adds Color Picker Component to Admin (for Color Fields)
129
+
130
+ Workarea 3.0.1 adds a _color-picker_ component to the Admin and applies the component to _color_ [content fields](content.html#field) (`Workarea::Content::Fields::Color`).
131
+
132
+ The image below shows the style guide for the new component.
133
+
134
+ ![color picker component Admin style guide](images/color-picker-component-admin-style-guide.png)
135
+
136
+ And the following image shows the component in use within a content editing screen.
137
+
138
+ ![color picker component on content editing screen](images/color-picker-component-on-content-editing-screen.png)
139
+
140
+ The following list summarizes the code changes within the Admin.
141
+
142
+ - Adds _components/\_color\_picker.scss_ component stylesheet
143
+ - Modifies _application.scss.erb_ manifest to import _\_color\_picker.scss_
144
+ - Adds _style\_guides/components/\_color\_picker\_field.html.haml_ style guide partial
145
+ - Modifies _content\_blocks/\_color.html.haml_ partial to apply the _color-picker_ component to _color_ fields
146
+
147
+ If any of the above stylesheets or partials have been overridden in the application you're upgrading, you'll need to apply the changes manually within your copy of the files.
148
+
149
+ ## Adds Style Guides Navigation
150
+
151
+ Workarea 3.0.1 adds navigation to the style guides indexes for the Admin and Storefront.
152
+
153
+ The image below shows the navigation within the Admin.
154
+
155
+ ![Admin style guides navigation](images/admin-style-guides-navigation.png)
156
+
157
+ And the following image shows the navigation within the Storefront.
158
+
159
+ ![Storefront style guides navigation](images/storefront-style-guides-navigation.png)
160
+
161
+
@@ -0,0 +1,39 @@
1
+ ---
2
+ title: Workarea 3.0.10
3
+ excerpt: #2687, #2694
4
+ ---
5
+
6
+ # Workarea 3.0.10
7
+
8
+ ## Fixes Test Runners on Rails 5.0.5
9
+
10
+ [#2687](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2687/overview), [#2694](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2694/overview)
11
+
12
+ Rails 5.0.5 includes [significant changes](https://github.com/rails/rails/pull/29572) to the Rails test runner, which break the [test runners](testing.html#listing-test-runners) used by Workarea applications. Workarea 3.0.10 makes the following changes to ensure continued functionality of the test runners after upgrading to Rails 5.0.5.
13
+
14
+ - Changes `Minitest.rake_run` to `Rails::TestUnit::Runner.rake_run` throughout _workarea-core/lib/tasks/tests.rake_
15
+ - Removes _workarea-core/lib/minitest/workarea\_plugin.rb_ and _workarea-core/lib/workarea/ext/rails/test\_requirer.rb_
16
+ - Adds `Workarea::DecorationReporter` at _testing/lib/workarea/testing/decoration\_reporter.rb_, which implements `format_rerun_snippet` on `Rails::TestUnitReporter`
17
+
18
+ ## Fixes Storefront Cancelation Email to Correctly List Canceled Items
19
+
20
+ [#2689](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2689/overview)
21
+
22
+ Workarea 3.0.10 fixes the Storefront cancelation email to correctly list canceled items.
23
+
24
+ The change modifies `Workarea::Fulfillment#cancel_items` in Core.
25
+
26
+ The PR also modifies the following Storefront mailers.
27
+
28
+ - _workarea/storefront/fulfillment\_mailer/canceled.html.haml_
29
+ - _workarea/storefront/fulfillment\_mailer/canceled.text.erb_
30
+
31
+ Finally, the PR updates `test_canceled_order_updates_the_fulfillment_status_of_the_order` in `Workarea::Storefront::FulfillmentSystemTest`
32
+
33
+ ## Blocks Malicious Credit Card Requests
34
+
35
+ [#2673](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2673/overview)
36
+
37
+ Workarea 3.0.10 modifies the [Rack::Attack](https://rubygems.org/gems/rack-attack/versions/5.0.1) ([docs](http://www.rubydoc.info/gems/rack-attack/5.0.1)) initializer, _workarea-core/config/initializers/13\_rack\_attack.rb_, creating a new blocklist intended to protect against malicious credit card requests. These requests, which place orders and save credit cards in order to test credit card lists, strain infrastructure and burden the retailer with credit card fees.
38
+
39
+
@@ -0,0 +1,277 @@
1
+ ---
2
+ title: Workarea 3.0.11
3
+ excerpt: #2708
4
+ ---
5
+
6
+ # Workarea 3.0.11
7
+
8
+ ## Replaces minitest-reporters with minitest-junit
9
+
10
+ [#2708](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2708/overview)
11
+
12
+ Workarea 3.0.11 replaces minitest-reporters with [minitest-junit](https://rubygems.org/gems/minitest-junit/versions/0.2.0) for CI test reporting. Changes in Rails 5.0.5 caused usability problems in minitest-reporters that likely can't be fixed.
13
+
14
+ In addition to updating the Core gemspec, the change removes all setup for minitest-reporters from _workarea-testing/lib/workarea/test\_help.rb_ and adds a Workarea Minitest plugin at _workarea-core/lib/minitest/workarea\_plugin.rb_ to apply the necessary setup for minitest-junit.
15
+
16
+ ## Moves Additional Test Cases into Their Own Files
17
+
18
+ [165dd39211a](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/165dd39211a8b084965055628058100db14f8f0d)
19
+
20
+ Workarea 3.0.11 modifies and adds several test case files to ensure each file contains only one class definition which matches the file name. Developers [reported problems](https://discourse.weblinc.com/t/multiple-classes-in-discounting-system-test/843) decorating test cases when the class name and file name don't match. This change does not change the Ruby API in any way, only where on disk the classes are defined.
21
+
22
+ The following files are modified to remove additional class definitions.
23
+
24
+ - _workarea-core/test/models/workarea/content/asset\_test.rb_
25
+ - _workarea-core/test/models/workarea/address\_test.rb_
26
+ - _workarea-storefront/test/system/workarea/storefront/discounting\_system\_test.rb_
27
+
28
+ And the following files are added.
29
+
30
+ - _workarea-core/test/models/workarea/content/asset\_validation\_test.rb_
31
+ - _workarea-core/test/models/workarea/address\_equality\_test.rb_
32
+ - _workarea-core/test/models/workarea/address\_validation\_test.rb_
33
+ - _workarea-storefront/test/system/workarea/storefront/discounting\_multiple\_system\_test.rb_
34
+
35
+ ## Fixes Category Rule Changes Requiring Re-Indexing
36
+
37
+ [8e9645e6daf](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/8e9645e6daf4cb8ae64ac6fa5236da820178bcb0)
38
+
39
+ Applications reported category rule changes not taking effect without re-indexing in some cases. Workarea 3.0.11 applies the following changes to fix this issue.
40
+
41
+ **To receive the full benefit of this change, you must re-index all Storefront indexes, although this is not required and the application will continue to work.**
42
+
43
+ - Modifies Core search model (mixin) `Workarea::Search::Storefront::Product::Categories`
44
+ - Modifies `category_id`
45
+ - Modifies Core search model test case `Workarea::Search::Storefront::Product::CategoriesTest`
46
+ - Removes `test_includes_all_category_ids_the_product_has`
47
+ - Adds `test_includes_featured_category_ids_the_product_has`
48
+ - Modifies Core search query `Workarea::Search::ProductRules`
49
+ - Modifies `initialize`
50
+ - Adds `ignore_category_ids`
51
+ - Modifies `to_a`
52
+ - Modifies `category_clauses_for`
53
+ - Modifies Core search query test case `Workarea::Search::ProductRulesTest`
54
+ - Modifies `test_category_rules`
55
+ - Adds `test_category_reference_loop`
56
+ - Modifies Core search query test case `Workarea::Search::CategoryBrowseTest`
57
+ - Adds `test_matching_featured_in_category_rule`
58
+ - Adds `test_matching_rules_and_featured_in_category_rule`
59
+
60
+ ## Adds Additional Search Mappings to Prevent Indexing Errors
61
+ [5321cdbf19a](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/5321cdbf19a671d0242cc3f1b9c034ddc871a44a)
62
+
63
+ Workarea 3.0.11 adds the `'facets.category_id'` and `'facets.on_sale'` properties to the `:storefront` Elasticsearch mapping in `workarea-core/lib/workarea/configuration.rb`. This change reduces the chances of errors during indexing.
64
+
65
+ ```
66
+ # workarea-core/lib/workarea/configuration.rb
67
+
68
+ config.elasticsearch_mappings.storefront = {
69
+ # ...
70
+ storefront: {
71
+ # ...
72
+ properties: {
73
+ id: { type: 'keyword' },
74
+ type: { type: 'keyword' },
75
+ slug: { type: 'keyword' },
76
+ suggestion_content: { type: 'string', analyzer: 'text_analyzer' },
77
+
78
+ # This would be covered by the facets dynamic mapping but to reduce
79
+ # the likelihood of no-field-mapping errors, including
80
+ # out-of-the-box mappings here.
81
+ 'facets.category_id' => { type: 'keyword' },
82
+ 'facets.on_sale' => { type: 'keyword' }
83
+ }
84
+ }
85
+ }
86
+ ```
87
+
88
+ ## Fixes Fulfillment Cancellation Issues
89
+
90
+ [#2712](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2712/overview)
91
+
92
+ Workarea 3.0.11 modifies the fulfillment model to prevent adding cancel events to fulfillment items when the canceled quantity is 0. The change also improves the fulfillment mailer implementation.
93
+
94
+ The PR makes the following changes.
95
+
96
+ - Modifies Core model `Workarea::Fulfillment`
97
+ - Modifies `cancel_items`
98
+ - Modifies Core model test case `Workarea::FulfillmentTest`
99
+ - Removes `test_cancel_items_adds_the_shipped_events_to_the_items`
100
+ - Adds `test_cancel_items_adds_the_canceled_events_to_the_items`
101
+ - Modifies Storefront mailer preview `Workarea::Storefront::FulfillmentMailerPreview`
102
+ - Modifies `canceled`
103
+ - Modifies Storefront mailer (Haml) _workarea/storefront/fulfillment\_mailer/canceled.html.haml_
104
+ - Modifies Storefront mailer (text) _workarea/storefront/fulfillment\_mailer/canceled.text.erb_
105
+
106
+ ## Fixes Rendering of Style Guide Partials
107
+
108
+ [#2639](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2639/overview), [cb15fc2f585](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/cb15fc2f585340c6c2ad805ff7d80a8674beadd5)
109
+
110
+ Workarea 3.0.11 fixes the Core style guides helper to prevent style guide partials rendering in the wrong UI.
111
+
112
+ The changes are as follows.
113
+
114
+ - Modifies Core helper `Workarea::StyleGuidesHelper`
115
+ - Modifies `partial_paths_for`
116
+ - Modifies Core helper `Workarea::StyleGuidesHelper::Partials`
117
+ - Modifies `initialize`
118
+ - Modifies `name_from`
119
+ - Modifies `pattern`
120
+ - Modifies Core helper test case `Workarea::StyleGuidesHelperTest`
121
+ - Modifies `test_partial_paths`
122
+
123
+ ## Disables HTTP Caching for Admins
124
+
125
+ [8fb7be433f6](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/8fb7be433f687a6cd905ceab475557820f85199c)
126
+
127
+ Workarea 3.0.11 disables HTTP caching when the current user is an admin.
128
+
129
+ The change modifies the Storefront controller (mixin) `Workarea::Storefront::HttpCaching`, changing `cache_page` to use HTTP cache only if the current user (if any) is not an admin.
130
+
131
+ ## Fixes ID Data Types in User Activity
132
+
133
+ [2418f98526a](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/2418f98526a2e3ec95d98172db8fb4a593926c67)
134
+
135
+ Workarea 3.0.11 typecasts IDs within user activity to resolve an issue that surfaced in a new Storefront recent views API endpoint.
136
+
137
+ The following changes are applied.
138
+
139
+ - Modifies Core model `Workarea::Recommendation::UserActivity`
140
+ - Modifies `self.prepend_field`
141
+ - Modifies Core model test case `Workarea::Recommendation::UserActivityTest`
142
+ - Adds `test_id_typecasting`
143
+
144
+ ## Fixes Display of Content Block Icons
145
+
146
+ [#2693](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2693/overview)
147
+
148
+ Workarea 3.0.11 modifies the following Admin views, replacing calls to `inline_svg` with `content_block_icon`. These changes ensure a fallback icon is used when a custom icon is not provided.
149
+
150
+ - workarea/admin/content/\_card.html.haml
151
+ - workarea/admin/content/\_edit.html.haml
152
+
153
+ ## Fixes Clearing Hidden Breakpoints
154
+
155
+ [#2711](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2711/overview)
156
+
157
+ Workarea 3.0.11 modifies the Admin partial _workarea/admin/content/\_form.html.haml_ to fix the clearing of hidden breakpoints from a content block.
158
+
159
+ The change adds a `'block[hidden_breakpoints][]'` hidden field to ensure a value is submitted when all checkboxes are cleared.
160
+
161
+ ## Fixes Exception in Inventory Status View Model
162
+
163
+ [#2705](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2705/overview)
164
+
165
+ Workarea 3.0.11 fixes the Storefront inventory status view model to prevent raising an exception when no inventory sku is available.
166
+
167
+ The change modifies the Storefront view model `Workarea::Storefront::InventoryStatusViewModel`, changing `message` to return an empty string when no inventory sku is available. The change also adds a test, `test_message_none_available`, to the Storefront view model test case `Workarea::Storefront::InventoryStatusViewModelTest`.
168
+
169
+ ## Fixes Duplicate DOM When Returning to Page
170
+
171
+ [#2700](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2700/overview), [#2701](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2701/overview)
172
+
173
+ Workarea 3.0.11 modifies several Admin JavaScript modules to prevent duplicate DOM nodes in the Admin when returning to a previously visited page. The changes, listed below, add a `destroy()` function, which is invoked before storing the DOM in the turbolinks cache.
174
+
175
+ - Modifies Admin JavaScript module `WORKAREA.tabs`
176
+ - Adds `destroy()`
177
+ - Adds event listener `$(document).on('turbolinks:before-cache', destroy);`
178
+ - Modifies Admin JavaScript module `WORKAREA.publishWithReleaseMenus`
179
+ - Adds `destroy()`
180
+ - Adds event listener `$(document).on('turbolinks:before-cache', destroy);`
181
+ - Modifies Admin JavaScript template `workarea/admin/templates/new_release_option.jst.ejs`
182
+
183
+ ## Fixes Display of Package Creation Time in Fulfillment Admin
184
+
185
+ [#2717](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2717/overview)
186
+
187
+ Workarea 3.0.11 replaces a plain text Admin translation with an HTML translation in order to fix the display of package creation time in the fulfillment Admin screen.
188
+
189
+ The following changes are applied.
190
+
191
+ - Modifies Admin locale file _config/locales/en.yml_
192
+ - Removes translation `workarea.admin.fulfillments.show.on_time_created`
193
+ - Adds translation `workarea.admin.fulfillments.show.on_time_created_html`
194
+ - Modifies Admin view _workarea/admin/fulfillments/show.html.haml_
195
+
196
+ ## Changes Precompile Asset Paths
197
+
198
+ [25e8cd4a072](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/25e8cd4a072bea40748b9550037586267fe0294c)
199
+
200
+ Workarea 3.0.11 modifies the list of precompile asset paths in `Rails.application.config.assets.precompile`, removing the globs _workarea/admin/\*.svg_ and _workarea/storefront/\*.svg_, and adding _workarea/\*\*/\*.svg_. The changes occur in the Core initializer `workarea-core/config/initializers/02_assets.rb` and intend to include all SVG files as precompiled assets.
201
+
202
+ ## Adds Styles & Style Guide for Admin Chart Legends
203
+
204
+ [#2699](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2699/overview)
205
+
206
+ Workarea 3.0.11 adds styles and a style guide for the Admin _chart-legend_ component.
207
+
208
+ The PR makes the following changes.
209
+
210
+ - Adds Admin component stylesheet _workarea/admin/components/\_chart\_legend.scss_, which implements:
211
+ - `$chart-legend-dot-size`
212
+ - `.chart-legend {}`
213
+ - `.chart-legend__item {}`
214
+ - `.chart-legend__color-dot {}`
215
+ - `.chart-legend__label {}`
216
+ - Modifies Admin stylesheet manifest _workarea/admin/application.scss.erb_ (to add the above stylesheet)
217
+ - Adds Admin style guide partial _workarea/admin/style\_guides/components/\_chart\_legend.html.haml_
218
+
219
+ ## Adds Store Credit Card Test Case
220
+
221
+ [#2713](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2713/overview)
222
+
223
+ Workarea 3.0.11 adds the Core model test case `Workarea::Payment::StoreCreditCardTest`, which inherits from `Workarea::TestCase` and implements:
224
+
225
+ - `credit_card_gateway`
226
+ - `credit_card` (setup)
227
+ - `test_perform_does_nothing_if_credit_card_already_has_a_token`
228
+ - `test_perform_stores_on_the_gateway`
229
+ - `test_perform_sets_the_token_on_the_credit_card`
230
+ - `test_save_persists_the_token`
231
+
232
+ The test case was converted from Workarea's remaining RSpec test suite.
233
+
234
+ ## Fixes Style Guide Generator Documentation
235
+
236
+ [#2714](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2714/overview)
237
+
238
+ Workarea 3.0.11 updates the documentation for the style guide generator in _workarea-core/lib/generators/workarea/style\_guide/USAGE_ to reflect changes in effect since Workarea 3.0.
239
+
240
+ The example below shows the updated documentation.
241
+
242
+ ```bash
243
+ $ bin/rails g workarea:style_guide
244
+ Usage:
245
+ rails generate workarea:style_guide ENGINE SECTION NAME [options]
246
+
247
+ Runtime options:
248
+ -f, [--force] # Overwrite files that already exist
249
+ -p, [--pretend], [--no-pretend] # Run but do not make any changes
250
+ -q, [--quiet], [--no-quiet] # Suppress status output
251
+ -s, [--skip], [--no-skip] # Skip files that already exist
252
+
253
+ Options:
254
+ ENGINE is either:
255
+ - admin
256
+ - storefront
257
+
258
+ SECTION is an existing section, the workarea gem offers these sections out of the box:
259
+ - settings
260
+ - base
261
+ - typography
262
+ - objects
263
+ - components
264
+ - trumps
265
+
266
+ NAME is the name of your partial, separated with dashes:
267
+ - button
268
+ - button--large
269
+ - table--prices
270
+
271
+ Description:
272
+ Creates a new Style Guide entry for your application.
273
+
274
+ Examples:
275
+ rails g workarea:style_guide storefront components button
276
+ rails g workarea:style_guide admin components button--large
277
+ ```