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,414 @@
1
+ ---
2
+ title: Workarea 3.1.0
3
+ excerpt: 46967c84a5a, b7592d3925f, b37d2159a80
4
+ ---
5
+
6
+ # Workarea 3.1.0
7
+
8
+ ## Adds Order Copying
9
+
10
+ [46967c84a5a](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/46967c84a5a169439a43b1dc5ede7cf2665a2b54), [b7592d3925f](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/b7592d3925f5a127f6c87d4f8e697ffeff29f2f7), [b37d2159a80](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/b37d2159a80240a7c6079ba3bdc2ffe57759701e)
11
+
12
+ Workarea 3.1 adds a Ruby API for order copying.
13
+
14
+ - Adds `Workarea::CopyOrder` service
15
+ - Does not copy fields specified in `Workarea.config.copy_order_ignored_fields`
16
+ - Modifies _workarea/admin/orders/show.html.haml_, but most UI work is completed in the [Workarea OMS plugin](https://stash.tools.weblinc.com/projects/WL/repos/workarea-oms/browse)
17
+
18
+ ## Adds Fulfillment & Payment Statuses
19
+
20
+ [#2726](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2726/overview), [#2743](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2743/overview), [#2727](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2727/overview), [#2721](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2721/overview), [#2706](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2706/overview), [2f052fedd5d](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/2f052fedd5de72564d05ce12f8533ba102689758), [#2671](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2671/overview)
21
+
22
+ Workarea 3.1 adds the concept of payment status and decouples fulfillment status from order status. Fulfillment and payment statuses are displayed in the Admin.
23
+
24
+ - Adds _state_ component to Admin UI
25
+ - `Workarea.config.status_state_indicators` stores a mapping of fulfillment and payment statuses to state component modifiers
26
+ - Displays fulfillment and payment status within the order cards
27
+ - Fulfillment and payment statuses are each a facet on the order and a filter in the Admin UI
28
+ - `OrderFulfillmentStatus` is deprecated and no longer used to implement `Workarea::Search::Admin::Order#order_status`
29
+ - Adds `Workarea::Payment::Status` module with various status calculator status classes
30
+ - `Workarea.config.payment_status_calculators` contains the list of calculators used to determine payment status
31
+ - Converts orders and payment transactions index pages to use tables instead of summaries
32
+ - Abstracts a _checkbox_ component from the _summary_ component to allow its use in the new index tables
33
+
34
+ ## Adds Orders Timeline
35
+
36
+ [#2635](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2635/overview), [00480af01a4](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/00480af01a4960f955e1ea9e69b9b7944f882bc1), [2b33c68a666](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/2b33c68a6664b9b7306748a0eb91b064858448da)
37
+
38
+ Workarea 3.1 adds an Admin order timeline, which is similar in function to other Admin activity.
39
+
40
+ - Adds Admin route, controller action, view model, helper, views, and partials for orders timeline
41
+ - Adds factory method `create_transaction` for creating payment transactions in tests
42
+ - Changes fulfillment logic so that all items shipped or canceled together have the same values for both `created_at` and `updated_at`
43
+ - Adds MongoDB index for `Workarea::Payment::Transaction#payment`
44
+
45
+ ## Adds User Creation Admin Workflow
46
+
47
+ [#2558](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2558/overview), [18c052bc7bb](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/18c052bc7bb478b92bf31525cc4a35b88c108528), [29fff0c372e](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/29fff0c372e028a82a9af77216dac734a60f2988), [#2744](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2744/overview), [#2755](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2755/overview)
48
+
49
+ Workarea 3.1 allows for the creation of new users through the Admin.
50
+
51
+ - Adds Admin route, controller, and views for create users workflow
52
+ - The current user must be a permissions manager to create a new user
53
+ - The workflow optionally delivers an account creation email
54
+ - Extracts Admin `UserParams` into its own module
55
+
56
+ ## Adds User Avatars
57
+
58
+ [#2619](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2619/overview), [#2646](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2646/overview), [#2675](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2675/overview)
59
+
60
+ Workarea 3.1 adds user avatars and displays them in the Admin. Avatars may be user-provided but fall back to Gravatar.
61
+
62
+ - Adds `Workarea::User::Avatar` module, which is included in `Workarea::User`
63
+ - `avatar_image_url` defaults to [Gravatar](https://en.gravatar.com/)
64
+ - `Workarea.config.gravatar_options` sets Gravatar options
65
+ - Adds avatar fields, including file upload, to _workarea/admin/users/edit.html.haml_
66
+ - Adds `:avatar` image processor to Dragonfly initializer
67
+ - Adds `Workarea::Factories::User` module for user-related test factories
68
+
69
+ ## Adds "Publish Now" Permission
70
+
71
+ [#2576](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2576/overview), [#2628](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2628/overview), [#2678](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2678/overview), [#2759](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2759/overview), [#2652](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2652/overview), [#2745](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2745/overview), [#2750](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2750/overview)
72
+
73
+ Workarea 3.1 adds a "can publish now" permission and modifies the Admin UI to honor this permission. Users without this permission must select a release in order to make changes.
74
+
75
+ - Adds `can_publish_now` permission to `User::Authorization`
76
+ - Extracts Admin publish controls to _workarea/admin/releases/\_publish.html.haml_
77
+ - Adds `check_publishing_authorization` method to `Workarea::Admin::Publishing` controller module
78
+ - Adds `check_publishing_authorization` before action to various Admin controllers
79
+ - Add `WORKAREA.disablePublishNow` JavaScript module to disable publishing controls as needed
80
+ - Displays disabled buttons in a "disabled" state with tooltip explaining why the button is disabled
81
+
82
+ ## Adds Sequential Product Editing
83
+
84
+ [#2571](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2571/overview), [2cfeed0a4b5](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/2cfeed0a4b5bac72cb6a0e9e77975388a02122c7), [6d640e3a7b9](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/6d640e3a7b9b52cd8827f093f5ab2fe29102a243), [#2575](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2575/overview), [#2747](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2747/overview)
85
+
86
+ Workarea 3.1 adds sequential product editing, which allows an admin user to select products in bulk and edit them sequentially (in an editing loop).
87
+
88
+ - Adds model `Workarea::BulkAction::SequentialProductEdit`
89
+ - Adds Admin route, controller, view model, and views for sequential product editing
90
+ - Extracts `Workarea::Admin::BulkVariantSaving` from `Workarea::Admin::CreateCatalogProductsController`
91
+ - Modifies `Workarea::BulkAction` to convert a query-based bulk action to an ID-based bulk action when possible
92
+
93
+ ## Adds Bulk Product Editing with a Release
94
+
95
+ [#2539](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2539/overview), [#2565](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2565/overview), [#2564](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2564/overview), [c91a2d2f8b5](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/c91a2d2f8b5d97bd0f1fb9835f9666837c7f9ffc)
96
+
97
+ Workarea 3.1 modifies `Workarea::BulkAction::ProductEdit` and its associated Admin controller and views to allow bulk product editing with a release.
98
+
99
+ ## Adds Product Copying
100
+
101
+ [#2538](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2538/overview), [#2542](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2542/overview), [#2541](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2541/overview), [#2557](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2557/overview)
102
+
103
+ Workarea 3.1 adds a Ruby API for copying a product and provides an Admin workflow for this process.
104
+
105
+ - Adds the `Workarea::CopyProduct` service
106
+ - `Workarea.config.product_copy_default_attributes` sets default values to be used for particular fields on the copied product (for example, sets `active` to `false`
107
+ - Adds Admin route, controller, and views for copying a product
108
+ - Adds Admin JavaScript module `WORKAREA.productCopyIDs`
109
+
110
+ ## Adds Variant Ordering
111
+
112
+ [#2521](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2521/overview), [#2532](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2532/overview)
113
+
114
+ Workarea 3.1 allows admins to re-order variants in the Admin UI. The order is honored when displaying variants in the Storefront.
115
+
116
+ - Modifies `Workarea::Catalog::Variant` to include `Workarea::Ordering`
117
+ - Adds Admin route and controller action for sorting variants
118
+ - Modifies variants Admin index page, allowing variants to be sorted with mouse/pointer
119
+ - Adds Admin JavaScript module `WORKAREA.sortVariants` to handle sorting
120
+
121
+ ## Adds Storefront Preview Links to Admin Creation Workflows
122
+
123
+ [#2692](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2692/overview)
124
+
125
+ Workarea 3.1 adds "preview in Storefront" links within several Admin creation workflows. The change modifies many Admin views to create a consistently positioned auxiliary navigation, within which the preview links appear.
126
+
127
+ ## Adds Automatic Navigation Redirects
128
+
129
+ [#2669](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2669/overview)
130
+
131
+ Workarea 3.1 adds the callbacks worker `Workarea::RedirectNavigableSlugs`, which enqueues on `Navigable#update` if the `Navigable#slug` has changed. The worker creates a `Navigation::Redirect` within each locale based on the changed slug. This worker is disabled by default, but is enabled for Admin UI requests by the `Workarea::Admin::ApplicationController`.
132
+
133
+ ## Adds Restore Functionality (and "Trash" View) to Admin
134
+
135
+ [5dd586d5aa4](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/5dd586d5aa412a83ffd875697711410ee803114c), [#2632](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2632/overview), [6038b5434a0](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/6038b5434a04823c95e5199d951bb3dbe9322177), [89212ff576c](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/89212ff576cfda972a128877297d2dab2d051168), [#2640](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2640/overview), [35b70445561](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/35b70445561158cb883c2d393f0c764ff182ac77)
136
+
137
+ Workarea 3.1 allows admins to restore deleted model instances and provides a "Trash" screen for viewing models that can be restored.
138
+
139
+ - Adds "restore" links for deleted items within various Admin activity partials
140
+ - Adds route, controller, and view for "Trash" view of activity, which is activity which can be restored
141
+ - Adds `can_restore` user permission, which is required for a user to restore a model
142
+ - Restoring a model re-creates it from a cache in the Mongoid audit log
143
+ - Changes 'mongoid-audit\_log' dependency to `'>= 0.5.0'`
144
+ - Removes `dependent: :destroy` behavior from `Commentable#comments`, `Contentable#content`, and `Releasable#changesets`
145
+ - Extends Dragonfly to not delete assets from the data store
146
+
147
+ ## Adds HTML Sitemap to Storefront
148
+
149
+ [#2507](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2507/overview), [#2525](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2525/overview), [#2543](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2543/overview), [1c8fa2175fb](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/1c8fa2175fb8985ea5f0f387690977d64552b902), [c3cea6b8835](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/c3cea6b88350a9e72195bcc10721d49ae9a41fe8), [7744f1c9daf](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/7744f1c9daf4b94ae4bab839599fa61a7e77bf13)
150
+
151
+ Workarea 3.1 adds an HTML sitemap to the Storefront in response to requests from retailers and SEO companies.
152
+
153
+ - Adds MongoDB indexes to `Workarea::Navigation::Taxon` for `navigable_id` and `url`
154
+ - Adds `Workarea::TaxonomySitemap` query for retrieving taxons
155
+ - Adds Storefront route, controller, and views for rendering Storefront sitemap
156
+ - Modifies _robots.txt_ file to allow the sitemap path
157
+ - Adds _sitemap_ and _sitemap-pagination_ Storefront components
158
+ - Adds system page links, including the sitemap, to the application footer
159
+ - Adds append point to the application footer to allow plugins to append additional system pages
160
+
161
+ ## Adds Prompt for Unsaved Changes in Admin
162
+
163
+ [#2625](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2625/overview), [#2636](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2636/overview), [#2649](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2649/overview), [#2665](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2665/overview), [#2725](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2725/overview)
164
+
165
+ Workarea 3.1 adds the Admin JavaScript module `WORKAREA.unsavedChanges`, which prompts Admin users when navigating away from unsaved changes in the Admin UI. The functionality applies only to forms with a `data-unsaved-changes` attribute and ignores fields with a `data-unsaved-changes-ignore` attribute.
166
+
167
+ ## Adds "Spacing" Options to Divider Content Block Type
168
+
169
+ [#2697](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2697/overview)
170
+
171
+ Workarea 3.1 modifies the _Divider_ content block type, allowing for "spacer" content blocks that create visual separation, with or without a visible border.
172
+
173
+ - Adds _Height_ and _Show line_ fields to the _Divider_ content block type
174
+ - Adds _small_, _medium_, and _large_ modifiers to the Storefront _divider-content-block_ component
175
+ - Modifies the `Workarea::Content::BlockDraft` model to typecast data before save
176
+
177
+ ## Adds Boolean Content Field Type
178
+
179
+ [#2626](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2626/overview)
180
+
181
+ Workarea 3.1 adds the `Workarea::Content::Fields::Boolean` content field type and the associated Admin partial, _workarea/admin/content\_blocks/\_boolean.html.haml_.
182
+
183
+ ## Disables Checkout Buttons on First Click
184
+
185
+ [#2716](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2716/overview), [#2704](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2704/overview)
186
+
187
+ Workarea 3.1 disables checkout "continue" buttons on first click to prevent multiple submissions.
188
+
189
+ - Requires the jQuery UJS JavaScript library in the Storefront
190
+ - Uses `data-disable-with` on each of the "continue" buttons in checkout to disable the button on first click
191
+ - Modifies the Storefront _loading_ component and adds the _inline_ and _light_ modifiers for use within disabled buttons
192
+
193
+ ## Changes Storefront Primary Image Logic
194
+
195
+ [#2616](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2616/overview)
196
+
197
+ Workarea 3.1 adds the Storefront enumerable `Workarea::Storefront::ProductViewModel::ImageCollection` and returns an instance of this collection as the product view model `images`. This change ensures the current product image matches the facets selected by the user when available.
198
+
199
+ ## Changes Fulfillment Logic
200
+
201
+ [#2760](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2760/overview), [#2762](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2762/overview), [c47f10e35b5](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/c47f10e35b5e295507d49592bee4557d90733c02), [#2653](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2653/overview)
202
+
203
+ Workarea 3.1 makes the following minor changes to fulfillment logic.
204
+
205
+ - Modifies the `CreateFulfillment` service to prevent creating duplicate fulfillment items under certain circumstances
206
+ - Modifies the `Fulfillment` model, extracting `mark_item_shipped` from `ship_items`, allowing items to be marked shipped without triggering a transactional email (useful in the case of digital items)
207
+ - Opens tracking links within the fulfillment Admin screen within a new window
208
+
209
+ ## Applies Admin UI Changes to Support OMS Plugin
210
+
211
+ [#2740](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2740/overview)
212
+
213
+ Workarea 3.1 applies the following changes to support upcoming changes in the [Workarea OMS](https://stash.tools.weblinc.com/projects/WL/repos/workarea-oms/browse) plugin.
214
+
215
+ - Modifies margin styles on the Admin _property_ component
216
+ - Modifies the styles of the Admin _text-button_ component to support icons
217
+ - Adds "Trash" link to "Settings" dashboard navigation
218
+ - Adds append point to "Settings" dashboard navigation
219
+
220
+ ## Improves Usability of Storefront Form Fields
221
+
222
+ [#2670](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2670/overview), [#2676](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2676/overview), [#2535](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2535/overview)
223
+
224
+ Workarea 3.1 modifies attributes on various form fields in the Storefront to improve usability.
225
+
226
+ ## Deprecates Auto Filter Middleware for Storefront Search
227
+
228
+ [6f0c0e51ae0](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/6f0c0e51ae051b3c04e84a7de8fc3ddb8d616344)
229
+
230
+ Workarea 3.1 removes `Workarea::Search::StorefrontSearch::AutoFilter` from the configured Storefront search middleware (`Workarea.config.storefront_search_middleware`) and prints a deprecation warning when this middleware is included in that configuration. This middleware is marked for removal in Workarea 3.2.
231
+
232
+ ## Upgrades to Rails 5.1
233
+
234
+ [#2660](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2660/overview), [#2715](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2715/overview), [03e5c58ac89](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/03e5c58ac899ad97fc32ad29f6aef0065f7a5b97)
235
+
236
+ Workarea updates its Rails dependency to Rails 5.1.
237
+
238
+ - Changes various Ruby dependencies in _workarea-core.gemspec_ for compatibility with Rails 5.1
239
+ - Changes minor implementation details in various files for compatibility with the Ruby dependency changes
240
+ - Modifies `Workarea::SystemTest` to inherit from `ActionDispatch::SystemTestCase`, the Rails system test case introduced in Rails 5.1
241
+ - Extracts `Workarea::IntegrationTest::Configuration` to share behavior between `IntegrationTest` and `SystemTest` (since `SystemTest` no longer inherits from `IntegrationTest`)
242
+ - Extends the Mongoid Simple Tags library for compatibility with Mongoid 6.2
243
+
244
+ ## Adds Tests Converted from RSpec
245
+
246
+ [#2724](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2724/overview), [#2650](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2650/overview)
247
+
248
+ Workarea 3.1 adds more tests which were converted from the remaining RSpec test suite. The converted tests include all Admin specs and credit card operation specs.
249
+
250
+ ## Adds Factory Method to Complete a Checkout
251
+
252
+ [aa9d7dd5e13](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/aa9d7dd5e1318c9b7dcc7dfa10569e5a10abb29d), [990df54af0a](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/990df54af0abe7eaf2d5050d6841cc9bfa929597)
253
+
254
+ Workarea 3.1 adds the `complete_checkout` factory method for use in tests.
255
+
256
+ ## Adds Test Runner for Each Installed Plugin
257
+
258
+ [f1c78465a38](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/f1c78465a380dd73c38a48ddf01ce9b6a575ce09)
259
+
260
+ Workarea 3.1 adds a test runner task for each installed plugin, allowing an application to run tests per-plugin.
261
+
262
+ ## Disables Text Transforms in Tests
263
+
264
+ [#2681](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2681/overview)
265
+
266
+ Workarea 3.1 disables CSS text transforms while running tests to reduce failures caused by case sensitivity when tests are extended by applications.
267
+
268
+ ## Adds Asset Lookup for Use in Content Block DSL
269
+
270
+ [#2710](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2710/overview)
271
+
272
+ Workarea 3.1 adds the `find_asset_id_by_file_name` method for use in the content block DSL, avoiding the need for applications to provide this functionality on their own.
273
+
274
+ ## Adds "Details" API to Product (Extracted from Variant)
275
+
276
+ [#2657](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2657/overview)
277
+
278
+ Workarea 3.1 extracts `Workarea::Details` from `Workarea::Catalog::Variant` and includes the new module in `Workarea::Catalog::Product` (and `Workarea::Catalog::Variant`) for a consistent details API for products and variants.
279
+
280
+ ## Adds "Only If" Option for Enqueuing Callbacks Workers
281
+
282
+ [#2728](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2728/overview)
283
+
284
+ Workarea 3.1 adds the `enqueue_on: { only_if: -> { ... } }` Sidekiq option for use by callbacks workers. This option complements the previously available `ignore_if` option.
285
+
286
+ ## Adds "Add to Cart Confirmation" Analytics Event
287
+
288
+ [#2758](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2758/overview)
289
+
290
+ Workarea 3.1 announces an _addToCartConfirmation_ analytics event when items are added to the cart in the Storefront. Analytics adapters may report this event as appropriate for each analytics service.
291
+
292
+ ## Adds Detection for Duplicate DOM IDs in Storefront
293
+
294
+ [#2684](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2684/overview)
295
+
296
+ Workarea 3.1 adds the Core JavaScript module `WORKAREA.duplicateId`, which throws an error when duplicate _id_ attribute values exist in the DOM. The module is required only in the Storefront, and only for the _Development_ and _Test_ Rails environments. The change also fixes several instances of duplicate IDs.
297
+
298
+ ## Adds Detection for Duplicate JS Module Scopes in Storefront
299
+
300
+ [#2686](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2686/overview)
301
+
302
+ Workarea 3.1 updates the Workarea JavaScript library, `workarea/core/workarea.js`, to throw an error when modules are re-initialized on the same scope. This change is limited to the _Development_ and _Test_ Rails environments.
303
+
304
+ ## Adds Additional Permissions to Admins Seeds
305
+
306
+ [#2638](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2638/overview)
307
+
308
+ Workarea 3.1 adds additional permissions to the admin users created by `Workarea::AdminsSeeds`. The permissions added were previously omitted due to oversight or are new in Workarea 3.1.
309
+
310
+ ## Raises When Discount Application Order is Not Configured
311
+
312
+ [#2677](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2677/overview)
313
+
314
+ Workarea 3.1 raises a `MissingConfigurationError` if `Workarea.config.discount_application_order` is missing a discount class. The raised error provides info on how to resolve the problem and is more helpful than the error raised in previous Workarea versions.
315
+
316
+ ## Automatically Configures Amazon S3 Dragonfly Data Store from Environment
317
+
318
+ [#2573](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2573/overview)
319
+
320
+ Workarea 3.1 automatically configures Dragonfly to use S3 as its data store when `WORKAREA_S3_REGION` and `WORKAREA_S3_BUCKET_NAME` are present in the environment. The values of `WORKAREA_S3_ACCESS_KEY_ID` and `WORKAREA_S3_SECRET_ACCESS_KEY` are also included in the configuration when present.
321
+
322
+ Prior Workarea versions required manual configuration via `Workarea.config.asset_store`.
323
+
324
+ ## Changes Search Synonyms Sanitization to Remove Hyphens
325
+
326
+ [#2663](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2663/overview)
327
+
328
+ Workarea 3.1 changes `Workarea::Search::Settings#sanitized_synonyms` to split hyphenated synonyms into multiple words.
329
+
330
+ ## Persists Backorder Dates to Inventory Transaction Items When Capturing Inventory
331
+
332
+ [da04a304851](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/da04a304851bdbc68e668744fbc4d5a349ac44ea)
333
+
334
+ Workarea 3.1 saves the backorder date on the inventory transaction item when placing the order. This change will help in future OMS related features that require a decision on when orders should ship.
335
+
336
+ ## Internationalizes Name Field on Order
337
+
338
+ [#2618](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2618/overview)
339
+
340
+ Workarea 3.1 internationalizes `Workarea::Order#name`, which previously returned an English string due to oversight.
341
+
342
+ ## Changes "Finished Checkout" Destination for Admins
343
+
344
+ [b703608e719](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/b703608e719a3f9932344f60ca8d67f45c6b1725), [3effec9185b](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/3effec9185b20163c559db30cc9c065caaff5e8c)
345
+
346
+ Workarea 3.1 redirects to the order Admin screen after placing an order when the order is placed by an admin user with order access.
347
+
348
+ ## Moves Storefront Search Response Message from Flash to View
349
+
350
+ [#2763](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2763/overview)
351
+
352
+ Workarea 3.1 moves the Storefront search response message (e.g. a message indicating the search query was rewritten) from the flash to the view so that the message persists until the user manually dismisses it or reloads the page.
353
+
354
+ ## Removes Explicit Line Height from Admin Toggle Buttons
355
+
356
+ [5556247a948](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/5556247a948949df60039c8273e786441706c34e)
357
+
358
+ Workarea 3.1 removes explicit line height styles from the _toggle-button_ Admin component to improve alignment with other controls.
359
+
360
+ ## Adds Workarea Favicon to Admin
361
+
362
+ [#2756](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2756/overview)
363
+
364
+ Workarea 3.1 adds a Workarea favicon to the Admin.
365
+
366
+ ## Adds Discount Redemption Data to Admin UI
367
+
368
+ [#2569](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2569/overview)
369
+
370
+ Workarea 3.1 displays the discount redemption amount in pricing discounts Admin screens.
371
+
372
+ ## Adds Sale Price to Pricing Skus Cards
373
+
374
+ [#2581](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2581/overview)
375
+
376
+ Workarea 3.1 displays the sale price (when available) in the pricing skus Admin screens.
377
+
378
+ ## Adds Template to Product Summaries in Admin
379
+
380
+ [#2707](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2707/overview)
381
+
382
+ Workarea 3.1 displays the product template within Admin product summaries.
383
+
384
+ ## Adds "Type" Title Attributes to Admin Summaries
385
+
386
+ [#2718](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2718/overview)
387
+
388
+ Workarea 3.1 adds _title_ attributes to the display of _type_ values in Admin summaries since this text sometimes overflows the container.
389
+
390
+ ## Re-Orders Cards in Orders Admin
391
+
392
+ [ccd22dfc6dd](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/ccd22dfc6dd08f558ad8d70d2b48310a177d90ad)
393
+
394
+ Workarea 3.1 re-orders the cards within the order Admin screens to group read-only and actionable cards together.
395
+
396
+ ## Improves Display of Empty Admin Activities
397
+
398
+ [#2679](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2679/overview)
399
+
400
+ Workarea 3.1 moves the display of empty activities to a more appropriate location within Admin activity.
401
+
402
+ ## Fixes Display of "Active/Inactive" in Prices Admin
403
+
404
+ [#2582](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2582/overview)
405
+
406
+ Workarea 3.1 fixes the display of the values "Active" and "Inactive" within prices Admin screens.
407
+
408
+ ## Removes Link to Nonexistent Shipping Service Admin Screen
409
+
410
+ [#2622](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2622/overview)
411
+
412
+ Workarea 3.1 changes the shipping services Admin screen, removing a link to a nonexistent location.
413
+
414
+
@@ -0,0 +1,139 @@
1
+ ---
2
+ title: Workarea 3.1.1
3
+ excerpt: Presenting Admin analytics in UTC is confusing to administrators, so this change introduces a separate, configurable time zone to be used for time series data. Configure this time zone as appropriate for the retailer. The rest of the Admin remains in
4
+ ---
5
+
6
+ # Workarea 3.1.1
7
+
8
+ ## Adds Configurable Time Zone for Admin Analytics
9
+
10
+ Presenting Admin analytics in UTC is confusing to administrators, so this change introduces a separate, configurable time zone to be used for time series data. **Configure this time zone as appropriate for the retailer**. The rest of the Admin remains in UTC. A future change will likely consolidate the entire Admin to a single configurable time zone.
11
+
12
+ ### Issues
13
+
14
+ - [ECOMMERCE-5167](https://jira.tools.weblinc.com/browse/ECOMMERCE-5167)
15
+
16
+ ### Pull Requests
17
+
18
+ - [2770](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2770/overview)
19
+
20
+ ### Commits
21
+
22
+ - [979c14a9625b00eb09899debd92ba3b7ae324506](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/979c14a9625b00eb09899debd92ba3b7ae324506)
23
+ - [c6a59b4f3af4d057bab3a178b980a8f45421a91f](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/c6a59b4f3af4d057bab3a178b980a8f45421a91f)
24
+ - [a857790375fa4fecdf767701b93e356980296e9a](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/a857790375fa4fecdf767701b93e356980296e9a)
25
+
26
+ ## Improves Search Spelling Corrections
27
+
28
+ Modifies query suggestions logic to improve search spelling corrections.
29
+
30
+ Modifies and adds configurable values affecting search suggestions.
31
+
32
+ ### Issues
33
+
34
+ - [ECOMMERCE-5182](https://jira.tools.weblinc.com/browse/ECOMMERCE-5182)
35
+
36
+ ### Pull Requests
37
+
38
+ - [2768](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2768/overview)
39
+
40
+ ### Commits
41
+
42
+ - [f69000a88515304109324f903ec2bf40a1e1db8e](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/f69000a88515304109324f903ec2bf40a1e1db8e)
43
+ - [ac600cc3681f2119ed1941730ab253c6f8901447](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/ac600cc3681f2119ed1941730ab253c6f8901447)
44
+
45
+ ## Modifies JavaScript URL Parsing to Support Parameter Arrays
46
+
47
+ Changes the behavior of `WEBLINC.url.parse()` to support parsing arrays in the query string.
48
+
49
+ ### Issues
50
+
51
+ - [ECOMMERCE-5206](https://jira.tools.weblinc.com/browse/ECOMMERCE-5206)
52
+
53
+ ### Pull Requests
54
+
55
+ - [2772](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2772/overview)
56
+
57
+ ### Commits
58
+
59
+ - [1bc646cbc6f2b1300baa1ba8ef65dec86ce38cf3](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/1bc646cbc6f2b1300baa1ba8ef65dec86ce38cf3)
60
+ - [cddbee4455bd749fbcc003c7f4a3be908a2e5bcf](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/cddbee4455bd749fbcc003c7f4a3be908a2e5bcf)
61
+
62
+ ## Fixes Taxon Navigable Slug Not Updating with Change of Navigable Slug
63
+
64
+ Fixes `Workarea::Navigable#update_taxon_slug` to ensure changes to a navigable's slug are applied to the corresponding taxon.
65
+
66
+ ### Issues
67
+
68
+ - [ECOMMERCE-5224](https://jira.tools.weblinc.com/browse/ECOMMERCE-5224)
69
+
70
+ ### Pull Requests
71
+
72
+ - [2765](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2765/overview)
73
+
74
+ ### Commits
75
+
76
+ - [071113e64eb7efb08c25d63a180292247a3fb62a](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/071113e64eb7efb08c25d63a180292247a3fb62a)
77
+ - [ff9d92989dff470f53f66203a31d232a9c17893a](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/ff9d92989dff470f53f66203a31d232a9c17893a)
78
+
79
+ ## Fixes Exclusion of Application's Style Guide Partials from Style Guides
80
+
81
+ Fixes issue in the Core style guides helper that was causing the application's own style guide partials to be excluded from style guides.
82
+
83
+ ### Issues
84
+
85
+ - [ECOMMERCE-5166](https://jira.tools.weblinc.com/browse/ECOMMERCE-5166)
86
+
87
+ ### Pull Requests
88
+
89
+ - [2789](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2789/overview)
90
+
91
+ ### Commits
92
+
93
+ - [dd3ffa69b1e2dacf66c4fe60acd5aa2860f333e2](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/dd3ffa69b1e2dacf66c4fe60acd5aa2860f333e2)
94
+
95
+ ## Fixes Intermittent Failure of Admin Search Customizations Insights Test
96
+
97
+ Modifies Admin system test to prevent intermittent failures.
98
+
99
+ ### Issues
100
+
101
+ - [ECOMMERCE-5218](https://jira.tools.weblinc.com/browse/ECOMMERCE-5218)
102
+
103
+ ### Commits
104
+
105
+ - [2daceb7b5d03f73da2a745e2c49aa4404fb4fa80](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/2daceb7b5d03f73da2a745e2c49aa4404fb4fa80)
106
+
107
+ ## Fixes Recurring Exception in Development Environment
108
+
109
+ Adds an extension to Rails when running in Development to avoid the need to manually restart the application under certain circumstances. Developers were experiencing an exception with the message `"unknown firstpos: NilClass"`.
110
+
111
+ ### Issues
112
+
113
+ - [ECOMMERCE-5115](https://jira.tools.weblinc.com/browse/ECOMMERCE-5115)
114
+
115
+ ### Pull Requests
116
+
117
+ - [2765](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2765/overview)
118
+
119
+ ### Commits
120
+
121
+ - [e0270f49c599f9a917a00af80afb12904b81a407](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/e0270f49c599f9a917a00af80afb12904b81a407)
122
+
123
+ ## Fixes Credit Card Tests Stubbing Active Merchant Responses
124
+
125
+ Improves credit card tests by using `ActiveMerchant::Response#authorization` instead of passing authorization through the params.
126
+
127
+ ### Issues
128
+
129
+ - [ECOMMERCE-5229](https://jira.tools.weblinc.com/browse/ECOMMERCE-5229)
130
+
131
+ ### Pull Requests
132
+
133
+ - [2799](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/2799/overview)
134
+
135
+ ### Commits
136
+
137
+ - [31ea5ff0318469f5483c16addcc01f55a46a6e41](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/31ea5ff0318469f5483c16addcc01f55a46a6e41)
138
+ - [c230eefb48bf73766beea024a22e03f86cc994c9](https://stash.tools.weblinc.com/projects/WL/repos/workarea/commits/c230eefb48bf73766beea024a22e03f86cc994c9)
139
+