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,260 @@
1
+ ---
2
+ title: Workarea 3.3.26
3
+ excerpt: Patch release notes for Workarea 3.3.26.
4
+ ---
5
+
6
+ # Workarea 3.3.26
7
+
8
+ Patch release notes for Workarea 3.3.26.
9
+
10
+ ## Fix Error When Viewing Release Show Page in Admin
11
+
12
+ When viewing a Release in admin, an error can occur if a `Releasable`
13
+ model becomes nil between the time the release is being viewed and when
14
+ it was originally created/planned. Workarea now ensures the release can
15
+ always be viewed in the admin by not rendering any changesets that can't
16
+ be drawn back to a releasable model currently in the database.
17
+
18
+ ### Issues
19
+
20
+ - [ECOMMERCE-6904](https://jira.tools.weblinc.com/browse/ECOMMERCE-6904)
21
+
22
+ ### Pull Requests
23
+
24
+ - [4015](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4015/overview)
25
+
26
+ ## Disable Slug Input On Unreleased Pages
27
+
28
+ Set `disabled: true` on slug inputs when making changes within a
29
+ release, and add help text to explain why it cannot be edited. Since slugs
30
+ cannot be changed within a release, having this as a field a user can
31
+ type into created a confusing experience.
32
+
33
+ ### Issues
34
+
35
+ - [ECOMMERCE-6805](https://jira.tools.weblinc.com/browse/ECOMMERCE-6805)
36
+
37
+ ### Pull Requests
38
+
39
+ - [3964](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/3964/overview)
40
+
41
+ ## Add `workarea:services:clean` for Removing Services Data
42
+
43
+ This task runs `docker-compose down -v`, which will remove volumes
44
+ associated with the application. It's useful when transitioning between
45
+ v3.3 and v3.4, so the Mongo data doesn't become corrupted, but should
46
+ only be used if you're OK with your data getting deleted.
47
+
48
+ Additionally, an environment variable called `$COMPOSE_ARGUMENTS` has been introduced to provide a means of passing command-line arguments to the `docker-compose` commands that are run using these tasks. For example:
49
+
50
+ COMPOSE_ARGUMENTS="--remove-orphans" rails workarea:services:up
51
+
52
+ ### Issues
53
+
54
+ - [ECOMMERCE-6874](https://jira.tools.weblinc.com/browse/ECOMMERCE-6874)
55
+
56
+ ### Pull Requests
57
+
58
+ - [3998](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/3998/overview)
59
+
60
+ ## Unable To Bulk Delete Shipping Services
61
+
62
+ When the `Workarea.config.bulk_action_deletion_threshold` is surpassed
63
+ in a query for shipping services to be bulk-deleted, the page that is
64
+ being redirected to expects the models being deleted to have
65
+ **_summary.html.haml** partials co-located in their respective views
66
+ directory for the controller. This isn't the case for shipping services,
67
+ which (along with other models we may wish to bulk-delete) doesn't have
68
+ much information other than the name of the model. For these items,
69
+ Workarea introduces a generic **workarea/admin/shared/summary** which links
70
+ to the model and provides its name (or BSON ID if no `#name` method is defined)
71
+ as well as its type in the auxiliary summary info.
72
+
73
+ ### Issues
74
+
75
+ - [ECOMMERCE-6811](https://jira.tools.weblinc.com/browse/ECOMMERCE-6811)
76
+
77
+ ### Pull Requests
78
+
79
+ - [3999](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/3999/overview)
80
+
81
+ ## Use Batches For Admin Search Indexing Rake Task
82
+
83
+ When attempting to bulk-index a large collection without batching,
84
+ MongoDB can throw a **sort uses too much memory** error and cause the
85
+ bulk index to fail. This mainly happens in admin, which is a much larger
86
+ index than storefront. To resolve this, Workarea has introduced a new method,
87
+ `Mongoid::Criteria#each_slice_of` (which is similar to `#each_by` in its
88
+ purpose of making iterations over large MongoDB collections a bit easier
89
+ for the database to handle), and uses it in the
90
+ `workarea:search_index:admin` Rake task.
91
+
92
+ ### Issues
93
+
94
+ - [ECOMMERCE-6875](https://jira.tools.weblinc.com/browse/ECOMMERCE-6875)
95
+
96
+ ### Pull Requests
97
+
98
+ - [4002](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4002/overview)
99
+
100
+ ## Validate Product Rule Lucene Query Syntax
101
+
102
+ When invalid Lucene queries are saved into product rules, an error would
103
+ occur when attempting to browse the category because the query was never
104
+ checked for valid syntax. As part of the validation process for product
105
+ rules, run a `Search::CategoryBrowse` query for the rule being created
106
+ or edited, and add an error to the model if Elasticsearch responds with
107
+ a server error (5xx) HTTP status. This prevents the rule from being saved
108
+ on the product list in the first place.
109
+
110
+
111
+ ### Issues
112
+
113
+ - [ECOMMERCE-6849](https://jira.tools.weblinc.com/browse/ECOMMERCE-6849)
114
+
115
+ ### Pull Requests
116
+
117
+ - [3977](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/3977/overview)
118
+
119
+ ## Add MongoDB Indexes For Default Scopes Without Corresponding Indexes
120
+
121
+ Since `noTableScan` enforces that all queries to MongoDB need to have
122
+ corresponding indexes, it was previously possible to receive an error
123
+ when attempting query something seemingly simple, such as
124
+ `User::AdminBookmark.all`. Add indexes for any models who have a
125
+ `default_scope`, but no corresponding index for the query that scope
126
+ generates. This may not always be caught by the base test suite, but
127
+ can affect things like console usage, rake tasks, decorations, etc.
128
+
129
+ ### Issues
130
+
131
+ - [ECOMMERCE-6876](https://jira.tools.weblinc.com/browse/ECOMMERCE-6876)
132
+
133
+ ### Pull Requests
134
+
135
+ - [4003](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4003/overview)
136
+
137
+ ## Disable Permissions Management When User is a Super-Admin
138
+
139
+ When a user has super-admin privileges in admin, it was previously
140
+ possible to attempt removing admin access as well as access to areas of
141
+ the admin, but these values would just get re-set after the form
142
+ completed anyway. Workarea now sets all checkboxes on the permissions
143
+ page to `disabled`, and renders a warning message above the form stating
144
+ that you cannot change permissions for users who are super-admins. It
145
+ also instructs the admin how to disable super-admin for a user in order
146
+ for this page to function normally.
147
+
148
+
149
+ ### Issues
150
+
151
+ - [ECOMMERCE-6902](https://jira.tools.weblinc.com/browse/ECOMMERCE-6902)
152
+
153
+ ### Pull Requests
154
+
155
+ - [4011](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4011/overview)
156
+
157
+ ## Prevent VCR from Blocking the Webdrivers Download of Chrome
158
+
159
+ When web drivers has to download and install Chrome, it's being blocked
160
+ by VCR. This is [somewhat of a common
161
+ problem](https://github.com/titusfortner/webdrivers/wiki/Using-with-VCR-or-WebMock)
162
+ with the Webdrivers gem, so Workarea has allowed the Chrome hosts
163
+ described in that Wiki article to the project automatically so you won't
164
+ have to.
165
+
166
+ ### Issues
167
+
168
+ - [ECOMMERCE-6906](https://jira.tools.weblinc.com/browse/ECOMMERCE-6906)
169
+
170
+ ### Pull Requests
171
+
172
+ - [4020](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4020/overview)
173
+
174
+ ## Fix Intermittently Failing Product Rules Test
175
+
176
+ Create the products in `Admin::ProductRulesSystemTest` one day in
177
+ advance in order to avoid issues with the products being created the
178
+ moment before the day changes. This causes the datepicker assertions to
179
+ fail some of the time. Using `#travel_to`, Workarea simulates the server
180
+ time changing but keeps the client (browser) time consistent, so the
181
+ datepicker will always be initialized to use the current time that the
182
+ test is run at.
183
+
184
+ ### Issues
185
+
186
+ - [ECOMMERCE-6872](https://jira.tools.weblinc.com/browse/ECOMMERCE-6872)
187
+
188
+ ### Pull Requests
189
+
190
+ - [3995](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/3995/overview)
191
+
192
+ ## Fix Issue With Sale Price Creation
193
+
194
+ When adding/editing prices for a SKU in the admin interface, the
195
+ messaging underneath the field says `Sale Price (defaults to regular)`,
196
+ but when left blank the Sale Price will be saved as **$0.00**. This is
197
+ due to the use of a numeric field type on the `<input>` tag. To resolve
198
+ this, Workarea now converts this value to `nil` in the controller, so
199
+ that the price will be added into the backend with an empty value for
200
+ the `:sale` field. When the sale field is blank, the pricing system will
201
+ default to using the regular price in all scenarios.
202
+
203
+ Solved by **Jeremie Ges**. Thanks Jeremie!
204
+
205
+ ### Issues
206
+
207
+ - [ECOMMERCE-6833](https://jira.tools.weblinc.com/browse/ECOMMERCE-6833)
208
+
209
+ ### Pull Requests
210
+
211
+ - [4005](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4005/overview)
212
+
213
+ ## Fix Sidekiq Only Using Localhost Redis
214
+
215
+ Workarea now applies its own automatic Redis configuration before
216
+ looking up values for concurrency to apply to Sidekiq, otherwise Sidekiq will
217
+ always default to using the Redis server on `redis://localhost:6379`.
218
+ This fixes the inability to configure Sidekiq and its Redis client to
219
+ use a server on an alternate host.
220
+
221
+ ### Issues
222
+
223
+ - [ECOMMERCE-6907](https://jira.tools.weblinc.com/browse/ECOMMERCE-6907)
224
+
225
+ ## Update Date/Time Formats To Not Use Blank-Padded Day Of Month
226
+
227
+ After converting from ChromeDriver to Webdrivers, Workarea tests began
228
+ failing on May 1st because the new drivers are omitting extra whitespace
229
+ in the text output (just like a real web browser would do). This caused
230
+ an assertion comparing a date string with text generated by the browser
231
+ to fail, which uncovered a more insidious issue: Workarea's time formatting was
232
+ allowing an extra blank space on single-digit days, which makes the
233
+ proper assertions much harder to nail down based on what day you're
234
+ running the test. To resolve this, the time formats have been updated to
235
+ omit the extra space in case of a single-digit date.
236
+
237
+ ### Issues
238
+
239
+ - [ECOMMERCE-6873](https://jira.tools.weblinc.com/browse/ECOMMERCE-6873)
240
+
241
+ ### Pull Requests
242
+
243
+ - [3997](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/3997/overview)
244
+
245
+ ## Fix Test Failing During Daylight Savings Time
246
+
247
+ Testing `Analytics::User.orders_per` during daylight savings time
248
+ results in the test failing because of the hour difference between the
249
+ current time and the duration of `7.days.ago` in the test. Ensure that
250
+ this assertion always runs on a date that isn't in DST so the test won't
251
+ fail on the day DST changes next year.
252
+
253
+ ### Issues
254
+
255
+ - [ECOMMERCE-6731](https://jira.tools.weblinc.com/browse/ECOMMERCE-6731)
256
+
257
+ ### Pull Requests
258
+
259
+ - [4018](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4018/overview)
260
+
@@ -0,0 +1,138 @@
1
+ ---
2
+ title: Workarea 3.3.27
3
+ excerpt: Patch release notes for Workarea 3.3.27.
4
+ ---
5
+
6
+ # Workarea 3.3.27
7
+
8
+ Patch release notes for Workarea 3.3.27.
9
+
10
+ ## Ensure Consistent Type and Case When Finding Tracking Number
11
+
12
+ `Fulfillment#find_tracking_number` was previously case-sensitive and did
13
+ not compare other data types. Ensure that the tracking number passed in
14
+ and each one from all packages are of a String type, and case-compared
15
+ so different casing does not affect matching.
16
+
17
+ ### Issues
18
+
19
+ - [ECOMMERCE-6870](https://jira.tools.weblinc.com/browse/ECOMMERCE-6870)
20
+
21
+ ### Pull Requests
22
+
23
+ - [4006](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4006/overview)
24
+
25
+ ## Improve Bulk Edit Publish With New Release UI
26
+
27
+ This UI was rendering slightly incongruent with the rest of the
28
+ application. It has been changed to work in more circumstances.
29
+
30
+ ### Issues
31
+
32
+ - [ECOMMERCE-6914](https://jira.tools.weblinc.com/browse/ECOMMERCE-6914)
33
+
34
+ ### Pull Requests
35
+
36
+ - [4036](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4036/overview)
37
+
38
+ ## Fix Product Categorization With Missing Indexes
39
+
40
+ When the Storefront index is missing,
41
+ `Search::Storefront::Product.find_categories` throws an exception due to
42
+ the **400 Bad Request** error it receives from the Elasticsearch server.
43
+ To prevent this and any other strange Elasticsearch errors from
44
+ affecting this method (which is not supposed to throw an exception),
45
+ rescue the base `Elasticsearch::Transport::Transport::ServerError` class
46
+ rather than any subclasses we find are thrown during this request.
47
+
48
+ ### Issues
49
+
50
+ - [ECOMMERCE-6850](https://jira.tools.weblinc.com/browse/ECOMMERCE-6850)
51
+
52
+ ### Pull Requests
53
+
54
+ - [4029](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4029/overview)
55
+
56
+ ## Fix Exports Index Not Displaying After Promo Code Export
57
+
58
+ When a list of promo codes is exported, the data file exports index page
59
+ had trouble rendering a link to the collection, since there's no index
60
+ page for promo codes. Workarea will now render the non-linked name of
61
+ the object being exported, instead of attempting to generate a URL that
62
+ doesn't exist.
63
+
64
+ ### Issues
65
+
66
+ - [ECOMMERCE-6911](https://jira.tools.weblinc.com/browse/ECOMMERCE-6911)
67
+
68
+ ### Pull Requests
69
+
70
+ - [4033](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4033/overview)
71
+
72
+ ## Add CI Scripts for Bamboo to the App Template
73
+
74
+ Create the `script/*` files used in Bamboo CI when a new application is
75
+ generated.
76
+
77
+ ### Issues
78
+
79
+ - [ECOMMERCE-6908](https://jira.tools.weblinc.com/browse/ECOMMERCE-6908)
80
+
81
+ ### Pull Requests
82
+
83
+ - [4023](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4023/overview)
84
+
85
+ ## Fix Headless Chrome Randomly Dropping Cookies In System Tests
86
+
87
+ System tests were frequently failing during checkout after the
88
+ order went blank. This was caused by the session being lost due
89
+ to headless chrome not persisting the cookies. Passing
90
+ `--enable-features=NetworkService,NetworkServiceInProcess` as a headless
91
+ Chrome option fixes this behavior.
92
+
93
+ **More Information:** https://bugs.chromium.org/p/chromedriver/issues/detail?id=2897#c4
94
+
95
+ ### Issues
96
+
97
+ - [ECOMMERCE-6929](https://jira.tools.weblinc.com/browse/ECOMMERCE-6929)
98
+
99
+ ### Pull Requests
100
+
101
+ - [4046](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4046/overview)
102
+
103
+ ## Fix Date/DateTime Picker UIs Default Setting on Page Load
104
+
105
+ Due to the issues outlined
106
+ [here](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#Timestamp_string)
107
+ Workarea cannot accurately set a default date, on page load, for date
108
+ or datetime pickers for all browsers. To get as close as possible,
109
+ Workarea now picks just the date out of the Ruby timestamp string and
110
+ uses that as the basis for the datepicker default date UI.
111
+
112
+ ### Issues
113
+
114
+ - [ECOMMERCE-6909](https://jira.tools.weblinc.com/browse/ECOMMERCE-6909)
115
+
116
+ ### Pull Requests
117
+
118
+ - [4025](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4025/overview)
119
+
120
+ ## Omit Blank Sorts From Product Search Index
121
+
122
+ Sorts configured in the product entries in Elasticsearch could
123
+ potentially get quite long and unruly if the product was categorized in
124
+ many places, but not set up for sorting in those categories. This causes
125
+ an error in Elasticsearch if allowed to grow out of control, since its
126
+ field limit for a single document is 1000. Workarea now removes any
127
+ categories in the `sorts` for which a product position in `product_ids`
128
+ cannot be found. This reduces the amount of noise in the documents and
129
+ prevents scaling errors like this one.
130
+
131
+ ### Issues
132
+
133
+ - [ECOMMERCE-6912](https://jira.tools.weblinc.com/browse/ECOMMERCE-6912)
134
+
135
+ ### Pull Requests
136
+
137
+ - [4032](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4032/overview)
138
+
@@ -0,0 +1,147 @@
1
+ ---
2
+ title: Workarea 3.3.28
3
+ excerpt: Patch release notes for Workarea 3.3.28.
4
+ ---
5
+
6
+ # Workarea 3.3.28
7
+
8
+ Patch release notes for Workarea 3.3.28.
9
+
10
+ ## Fix Exact Match Functionality Being Triggered By a Partial Name Match
11
+
12
+ Depending on how boosts and name phrase match storing are configured,
13
+ multiple "exact matches" can be found from a single partial match in
14
+ Elasticsearch. To prevent this, Workarea will only `return` the single
15
+ match if it is indeed a singleton, not if there are multiple exact
16
+ matches found.
17
+
18
+ ### Issues
19
+
20
+ - [ECOMMERCE-6934](https://jira.tools.weblinc.com/browse/ECOMMERCE-6934)
21
+
22
+ ### Pull Requests
23
+
24
+ - [4062](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4062/overview)
25
+
26
+ ## Backport Update to Payment Factory
27
+
28
+ After builds noticed inexplicable failing tests in v3.2.x when
29
+ installing **workarea-reviews**, it was discovered that the updates to
30
+ the `#capture_order` factory method didn't get backported to earlier
31
+ versions. This change allows workarea-reviews tests to pass against
32
+ v3.2.x, since it makes use of that method.
33
+
34
+ ### Issues
35
+
36
+ - [ECOMMERCE-6935](https://jira.tools.weblinc.com/browse/ECOMMERCE-6935)
37
+
38
+ ### Pull Requests
39
+
40
+ - [4074](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4074/overview)
41
+
42
+ ## Fix Chrome WebDriver Connection Issues in System Tests
43
+
44
+ After the update to Chrome 75, many builds experienced issues with
45
+ the `chromedriver` in system tests becoming disconnected from the actual
46
+ Chrome installation. It was eventually discovered that Chrome 75 enables
47
+ "W3C mode" by default, which is an implementation of the [W3C WebDriver
48
+ 1.0 Specification](https://www.w3.org/TR/webdriver1/). Unfortunately,
49
+ this update broke a lot of stuff, specifically with regards to the
50
+ console/logging APIs, which are not yet included in the spec. To resolve
51
+ this, Workarea has turned off W3C mode until it becomes a bit more stable.
52
+
53
+ This also adds configuration via ENV variables for which options and
54
+ args to pass to Chrome when running tests: `$WORKAREA_HEADLESS_CHROME_ARGS` and
55
+ `$WORKAREA_HEADLESS_CHROME_OPTIONS`.
56
+
57
+ `Workarea.config.headless_chrome_options` turns out to be poorly named
58
+ because the Selenium driver accepts both args and options, and both
59
+ may need to be configured to fix problems in Chrome. In a future minor
60
+ release, Workarea will allow both args and options to be defined in
61
+ `Workarea.config`.
62
+
63
+ ### Issues
64
+
65
+ - [ECOMMERCE-6940](https://jira.tools.weblinc.com/browse/ECOMMERCE-6940)
66
+
67
+ ### Pull Requests
68
+
69
+ - [4072](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4072/overview)
70
+
71
+ ## Improve Consistency of Order Pricing Display
72
+
73
+ When viewing an order summary in the storefront, the price of each item
74
+ matches its original price, with no discounts applied. This is somewhat
75
+ confusing as the totals don't add up to the subtotal of the order. The
76
+ order summary page now renders the `item.total_price` so that these
77
+ totals match up in the end.
78
+
79
+ Additionally, the wording surrounding item pricing has been altered to
80
+ coincide with the change in the price. Since items no longer reflect the
81
+ original unit price, but rather the total price, the wording has been
82
+ changed to "Qty 2: $20.00", rather than "2 @ $10.00 each".
83
+
84
+ ### Issues
85
+
86
+ - [ECOMMERCE-6809](https://jira.tools.weblinc.com/browse/ECOMMERCE-6809)
87
+
88
+ ### Pull Requests
89
+
90
+ - [4061](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4061/overview)
91
+
92
+ ## Prevent Double Application of Order-Level Discounts When Determining Packages
93
+
94
+ In the `Workarea::Packaging` class, the subtotal of all shippable items
95
+ already includes the order-level discounts after pricing is performed,
96
+ since `Order::Item#total_value` is not the total prior to discounts,
97
+ only tax and shipping. However, order-level discounts were being
98
+ summed and deducted from the `Packaging#total_value`, resulting in a
99
+ miscalculation of the total price of the Order. This problem doesn't
100
+ manifest itself until there are a sufficient number of shipping tiers
101
+ (at the very least, 3), because either the top or bottom tier will be
102
+ used anyway. Remove the code for subtracting order-level discounts from
103
+ the total value of the package, so that the proper shipping price will
104
+ be displayed to the user in checkout.
105
+
106
+ ### Issues
107
+
108
+ - [ECOMMERCE-6918](https://jira.tools.weblinc.com/browse/ECOMMERCE-6918)
109
+
110
+ ### Pull Requests
111
+
112
+ - [4051](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4051/overview)
113
+
114
+ ## Fix New Release Form Creating Duplicates
115
+
116
+ The "with a new release" selection on the release selector pops up a
117
+ mini form which prompts the user for the name of their new release. This
118
+ form is dismissed if the user clicks the button, but still allows
119
+ potential user input (including multiple submits), causing duplicate
120
+ releases to be accidentally created if one hits enter _and_ clicks the
121
+ "Add" button before the page refreshes. Prevent this by adding
122
+ `data-disable-with` to the button so that it can't be submitted twice in
123
+ the same request cycle.
124
+
125
+ ### Issues
126
+
127
+ - [ECOMMERCE-6837](https://jira.tools.weblinc.com/browse/ECOMMERCE-6837)
128
+
129
+ ### Pull Requests
130
+
131
+ - [4052](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4052/overview)
132
+
133
+ ## Fix Duplication in Search Suggestions Indexing
134
+
135
+ This is caused by not using the query ID as the ID for the suggestion in
136
+ its index after the new metrics engine in v3.4. Additionally, the
137
+ `BulkIndexSearches` job was no longer in the scheduler, it has been
138
+ re-added.
139
+
140
+ ### Issues
141
+
142
+ - [ECOMMERCE-6927](https://jira.tools.weblinc.com/browse/ECOMMERCE-6927)
143
+
144
+ ### Pull Requests
145
+
146
+ - [4049](https://stash.tools.weblinc.com/projects/WL/repos/workarea/pull-requests/4049/overview)
147
+