workarea 3.4.16 → 3.4.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (572) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +81 -0
  3. metadata +10 -579
  4. data/docs/Gemfile +0 -8
  5. data/docs/Gemfile.lock +0 -130
  6. data/docs/bin/middleman +0 -29
  7. data/docs/config.rb +0 -87
  8. data/docs/config.ru +0 -7
  9. data/docs/data/articles.yml +0 -157
  10. data/docs/package.json +0 -15
  11. data/docs/source/404.html.erb +0 -13
  12. data/docs/source/articles/access-routes-in-javascript.html.md +0 -33
  13. data/docs/source/articles/add-a-content-area.html.md +0 -169
  14. data/docs/source/articles/add-a-content-block-type.html.md +0 -334
  15. data/docs/source/articles/add-a-report.html.md +0 -202
  16. data/docs/source/articles/add-css-through-the-admin-ui.html.md +0 -30
  17. data/docs/source/articles/add-javascript-through-a-manifest.html.md +0 -367
  18. data/docs/source/articles/add-javascript-through-a-view.html.md +0 -80
  19. data/docs/source/articles/add-javascript-through-the-admin-ui.html.md +0 -30
  20. data/docs/source/articles/add-metrics.html.md +0 -58
  21. data/docs/source/articles/add-or-replace-a-pricing-calculator.html.md +0 -150
  22. data/docs/source/articles/add-remove-or-change-a-mongoid-validation.html.md +0 -147
  23. data/docs/source/articles/add-remove-or-change-a-product-template.html.md +0 -142
  24. data/docs/source/articles/add-remove-sort-and-group-storefront-search-filters.html.md +0 -483
  25. data/docs/source/articles/add-stylesheets-through-a-manifest.html.md +0 -276
  26. data/docs/source/articles/add-system-content.html.md +0 -138
  27. data/docs/source/articles/analytics-overview.html.md +0 -51
  28. data/docs/source/articles/analyze-storefront-search-results.html.md +0 -261
  29. data/docs/source/articles/api-overview.html.md +0 -35
  30. data/docs/source/articles/appending.html.md +0 -506
  31. data/docs/source/articles/application-document.html.md +0 -88
  32. data/docs/source/articles/automated-javascript-testing.html.md +0 -162
  33. data/docs/source/articles/b2b-overview.html.md +0 -64
  34. data/docs/source/articles/browser-and-device-support.html.md +0 -47
  35. data/docs/source/articles/change-product-placeholder-image.html.md +0 -39
  36. data/docs/source/articles/change-storefront-search-results.html.md +0 -283
  37. data/docs/source/articles/change-the-storefront-product-pricing-ui.html.md +0 -348
  38. data/docs/source/articles/change-the-storefront-search-filters-ui.html.md +0 -103
  39. data/docs/source/articles/checkout.html.md +0 -479
  40. data/docs/source/articles/commerce-model.html.md +0 -164
  41. data/docs/source/articles/configuration-for-hosting.html.md +0 -106
  42. data/docs/source/articles/configuration.html.md +0 -406
  43. data/docs/source/articles/configure-a-payment-gateway.html.md +0 -58
  44. data/docs/source/articles/configure-asset-storage.html.md +0 -29
  45. data/docs/source/articles/configure-asset-types.html.md +0 -18
  46. data/docs/source/articles/configure-contact-form-subjects-list.html.md +0 -24
  47. data/docs/source/articles/configure-imageoptim.html.md +0 -23
  48. data/docs/source/articles/configure-locales.html.md +0 -45
  49. data/docs/source/articles/configure-logins-and-authentication.html.md +0 -42
  50. data/docs/source/articles/configure-low-inventory-threshold.html.md +0 -26
  51. data/docs/source/articles/configure-product-image-sizes-and-processing.html.md +0 -28
  52. data/docs/source/articles/content.html.md +0 -554
  53. data/docs/source/articles/contentable.html.md +0 -41
  54. data/docs/source/articles/contribute-code.html.md +0 -69
  55. data/docs/source/articles/contribute-documentation.html.md +0 -60
  56. data/docs/source/articles/create-a-custom-discount.html.md +0 -234
  57. data/docs/source/articles/create-a-new-app.html.md +0 -131
  58. data/docs/source/articles/create-a-plugin.html.md +0 -19
  59. data/docs/source/articles/create-a-style-guide.html.md +0 -71
  60. data/docs/source/articles/create-a-theme.html.md +0 -134
  61. data/docs/source/articles/css-architectural-overview.html.md +0 -89
  62. data/docs/source/articles/customize-a-helper.html.md +0 -91
  63. data/docs/source/articles/decoration.html.md +0 -415
  64. data/docs/source/articles/define-and-configure-inventory-policies.html.md +0 -107
  65. data/docs/source/articles/documentation-style-guide.html.md +0 -48
  66. data/docs/source/articles/documentation.html.md +0 -54
  67. data/docs/source/articles/domain-modeling.html.md +0 -82
  68. data/docs/source/articles/error-pages.html.md.erb +0 -95
  69. data/docs/source/articles/extension-overview.html.md +0 -152
  70. data/docs/source/articles/favicon-support.html.md +0 -112
  71. data/docs/source/articles/feature-spec-helper-stylesheet.html.md +0 -25
  72. data/docs/source/articles/featurejs-and-feature-spec-helper.html.md +0 -20
  73. data/docs/source/articles/help-and-support.html.md +0 -34
  74. data/docs/source/articles/html-fragment-caching.html.md +0 -46
  75. data/docs/source/articles/http-caching.html.md +0 -43
  76. data/docs/source/articles/i18n.html.md +0 -35
  77. data/docs/source/articles/images-flow.html.md +0 -10
  78. data/docs/source/articles/index-storefront-search-documents.html.md +0 -104
  79. data/docs/source/articles/infrastructure.html.md +0 -46
  80. data/docs/source/articles/installing.html.md +0 -61
  81. data/docs/source/articles/integrate-a-payment-gateway.html.md +0 -124
  82. data/docs/source/articles/integrate-a-web-analytics-provider.html.md +0 -35
  83. data/docs/source/articles/integrate-an-inventory-management-system.html.md +0 -88
  84. data/docs/source/articles/integrating-with-other-software.html.md +0 -59
  85. data/docs/source/articles/inventory.html.md +0 -352
  86. data/docs/source/articles/javascript-coding-standards.html.md +0 -30
  87. data/docs/source/articles/javascript-modules.html.md +0 -174
  88. data/docs/source/articles/javascript-overview.html.md +0 -62
  89. data/docs/source/articles/javascript-reference-documentation.html.md +0 -51
  90. data/docs/source/articles/javascript-templates.html.md +0 -52
  91. data/docs/source/articles/low-level-caching.html.md +0 -25
  92. data/docs/source/articles/maintain-a-plugin.html.md +0 -12
  93. data/docs/source/articles/maintenance-policy.html.md +0 -79
  94. data/docs/source/articles/navigable.html.md +0 -51
  95. data/docs/source/articles/navigating-the-code.html.md +0 -149
  96. data/docs/source/articles/navigation.html.md +0 -386
  97. data/docs/source/articles/order-life-cycle.html.md +0 -546
  98. data/docs/source/articles/order-pricing.html.md +0 -389
  99. data/docs/source/articles/orders-and-items.html.md +0 -210
  100. data/docs/source/articles/orders.html.md +0 -66
  101. data/docs/source/articles/overriding.html.md +0 -155
  102. data/docs/source/articles/overview.html.md +0 -43
  103. data/docs/source/articles/plugins-overview.html.md +0 -12
  104. data/docs/source/articles/prerequisites-and-dependencies.html.md +0 -202
  105. data/docs/source/articles/products.html.md.erb +0 -1270
  106. data/docs/source/articles/progressive-web-application-support.html.md +0 -148
  107. data/docs/source/articles/rails-asset-manifests.html.md +0 -33
  108. data/docs/source/articles/rails-asset-view-helpers.html.md +0 -25
  109. data/docs/source/articles/reading-data.html.md +0 -10
  110. data/docs/source/articles/releasable.html.md +0 -37
  111. data/docs/source/articles/report-a-bug.html.md +0 -75
  112. data/docs/source/articles/ruby-coding-standards.html.md +0 -10
  113. data/docs/source/articles/run-sidekiq-in-a-local-environment.html.md +0 -40
  114. data/docs/source/articles/searching.html.md +0 -1005
  115. data/docs/source/articles/security-policy.html.md +0 -42
  116. data/docs/source/articles/seeds.html.md +0 -345
  117. data/docs/source/articles/shipping.html.md +0 -756
  118. data/docs/source/articles/sort-and-exclude-product-options.html.md +0 -47
  119. data/docs/source/articles/storefront-search-features.html.md +0 -568
  120. data/docs/source/articles/storefront-searches.html.md +0 -126
  121. data/docs/source/articles/style-guides.html.md +0 -21
  122. data/docs/source/articles/stylesheet-coding-standards.html.md +0 -24
  123. data/docs/source/articles/stylesheets-overview.html.md +0 -67
  124. data/docs/source/articles/swappable-list-data-structure.html.md +0 -81
  125. data/docs/source/articles/system-emails.html.md +0 -102
  126. data/docs/source/articles/taggable.html.md +0 -8
  127. data/docs/source/articles/test-a-credit-card-transaction.html.md +0 -16
  128. data/docs/source/articles/test-if-a-plugin-is-installed.html.md +0 -34
  129. data/docs/source/articles/testing.html.md +0 -914
  130. data/docs/source/articles/themes-overview.html.md +0 -155
  131. data/docs/source/articles/translate-administrable-content.html.md +0 -14
  132. data/docs/source/articles/translate-javascript-content.html.md +0 -16
  133. data/docs/source/articles/translate-or-customize-message-content.html.md +0 -29
  134. data/docs/source/articles/translate-or-customize-static-content.html.md +0 -30
  135. data/docs/source/articles/use-an-existing-workarea-app.html.md +0 -108
  136. data/docs/source/articles/view-models.html.md +0 -509
  137. data/docs/source/articles/views.html.md +0 -14
  138. data/docs/source/articles/workers.html.md +0 -613
  139. data/docs/source/articles/writing-data.html.md +0 -10
  140. data/docs/source/cli.html.md +0 -163
  141. data/docs/source/favicon.ico +0 -0
  142. data/docs/source/images/3-variants-1-option.png +0 -0
  143. data/docs/source/images/3-variants-3-options.png +0 -0
  144. data/docs/source/images/3-years-primary-image.png +0 -0
  145. data/docs/source/images/404-storefront-error-page.png +0 -0
  146. data/docs/source/images/404-system-content-admin.png +0 -0
  147. data/docs/source/images/404.jpg +0 -0
  148. data/docs/source/images/5-years-primary-image.png +0 -0
  149. data/docs/source/images/activity-dashboard.png +0 -0
  150. data/docs/source/images/activity-for-object.png +0 -0
  151. data/docs/source/images/activity-ui.png +0 -0
  152. data/docs/source/images/adding-captioned-image-block-custom-icon.png +0 -0
  153. data/docs/source/images/adding-captioned-image-block-default-icon.png +0 -0
  154. data/docs/source/images/admin-alerts-ui.png +0 -0
  155. data/docs/source/images/admin-category-range-filters.png +0 -0
  156. data/docs/source/images/admin-for-3-column-hero.png +0 -0
  157. data/docs/source/images/admin-help-index.png +0 -0
  158. data/docs/source/images/admin-help-ui.png +0 -0
  159. data/docs/source/images/admin-javascript.png +0 -0
  160. data/docs/source/images/admin-notification-for-deactivated-discount.png +0 -0
  161. data/docs/source/images/admin-notifications-ui.png +0 -0
  162. data/docs/source/images/admin-product-show-page.png +0 -0
  163. data/docs/source/images/admin-products-index-page.png +0 -0
  164. data/docs/source/images/admin-range-filters.png +0 -0
  165. data/docs/source/images/admin-style-guides-navigation.png +0 -0
  166. data/docs/source/images/after-re-seeding.png +0 -0
  167. data/docs/source/images/after-seeding-localhost-3000.png +0 -0
  168. data/docs/source/images/after-seeding.png +0 -0
  169. data/docs/source/images/arrow.svg +0 -1
  170. data/docs/source/images/arrow_white.svg +0 -1
  171. data/docs/source/images/aws-resource-map.png +0 -0
  172. data/docs/source/images/backordered-until-output-on-inventory-sku-card.png +0 -0
  173. data/docs/source/images/before-seeding-localhost-3000.png +0 -0
  174. data/docs/source/images/before-seeding.png +0 -0
  175. data/docs/source/images/browsing-workarea-versions-on-the-web.png +0 -0
  176. data/docs/source/images/bulk-asset-upload-on-assets-index-page.png +0 -0
  177. data/docs/source/images/bulk-asset-upload-while-editing-content.png +0 -0
  178. data/docs/source/images/bundle-show-workarea-core.png +0 -0
  179. data/docs/source/images/bundle-show-workarea.png +0 -0
  180. data/docs/source/images/calendar-for-backordered-until-field.png +0 -0
  181. data/docs/source/images/captioned-image-block-in-storefront.png +0 -0
  182. data/docs/source/images/captioned-image-content-block-storefront-component-style-guide.png +0 -0
  183. data/docs/source/images/cart-system-content-in-admin.png +0 -0
  184. data/docs/source/images/cart-system-content-in-storefront.png +0 -0
  185. data/docs/source/images/checkout-addresses-guest.png +0 -0
  186. data/docs/source/images/checkout-addresses-user.png +0 -0
  187. data/docs/source/images/checkout-confirmation.png +0 -0
  188. data/docs/source/images/checkout-flow-0.png +0 -0
  189. data/docs/source/images/checkout-flow-1.png +0 -0
  190. data/docs/source/images/checkout-flow-2.png +0 -0
  191. data/docs/source/images/checkout-flow-3.png +0 -0
  192. data/docs/source/images/checkout-flow-4.png +0 -0
  193. data/docs/source/images/checkout-payment-guest.png +0 -0
  194. data/docs/source/images/checkout-payment-user.png +0 -0
  195. data/docs/source/images/checkout-shipping.png +0 -0
  196. data/docs/source/images/color-picker-component-admin-style-guide.png +0 -0
  197. data/docs/source/images/color-picker-component-on-content-editing-screen.png +0 -0
  198. data/docs/source/images/commerce-model-carts-orders.png +0 -0
  199. data/docs/source/images/commerce-model-order-pricing.png +0 -0
  200. data/docs/source/images/commerce-model.png +0 -0
  201. data/docs/source/images/configuring-an-index-pattern-in-kibana.png +0 -0
  202. data/docs/source/images/content-block-presets.png +0 -0
  203. data/docs/source/images/content-search-customization.png +0 -0
  204. data/docs/source/images/country-with-region-data-in-address-form.png +0 -0
  205. data/docs/source/images/country-without-region-data-in-address-form.png +0 -0
  206. data/docs/source/images/create-content-block-preset-ui.png +0 -0
  207. data/docs/source/images/credit-card-icons.png +0 -0
  208. data/docs/source/images/css-added-through-admin.png +0 -0
  209. data/docs/source/images/css-admin-ui.png +0 -0
  210. data/docs/source/images/current-configuration-shown-in-admin-settings.png +0 -0
  211. data/docs/source/images/customer-impersonation-in-admin.png +0 -0
  212. data/docs/source/images/customer-impersonation-in-store-front.png +0 -0
  213. data/docs/source/images/date-filter-same-day.png +0 -0
  214. data/docs/source/images/developer-toolbar-in-store-front.png +0 -0
  215. data/docs/source/images/discounts-sorted-by-most-redeemed.png +0 -0
  216. data/docs/source/images/edit-help-article.png +0 -0
  217. data/docs/source/images/editing-content-for-search-customization.png +0 -0
  218. data/docs/source/images/editing-dynamic-captioned-image-block.png +0 -0
  219. data/docs/source/images/editing-product-fields-in-the-admin.png +0 -0
  220. data/docs/source/images/editing-search-system-content.png +0 -0
  221. data/docs/source/images/editing-static-captioned-image-block-custom-icon.png +0 -0
  222. data/docs/source/images/editing-static-captioned-image-block-default-icon.png +0 -0
  223. data/docs/source/images/external.svg +0 -1
  224. data/docs/source/images/favicon_16.png +0 -0
  225. data/docs/source/images/favicon_180.png +0 -0
  226. data/docs/source/images/favicon_32.png +0 -0
  227. data/docs/source/images/filters-all.png +0 -0
  228. data/docs/source/images/filters-control.png +0 -0
  229. data/docs/source/images/filters-custom.png +0 -0
  230. data/docs/source/images/filters-groups.png +0 -0
  231. data/docs/source/images/filters-material.png +0 -0
  232. data/docs/source/images/filters-omitted.png +0 -0
  233. data/docs/source/images/filters-pinned.png +0 -0
  234. data/docs/source/images/filters-range.png +0 -0
  235. data/docs/source/images/filters-sorted.png +0 -0
  236. data/docs/source/images/filters-wrapping-to-second-line-in-admin.png +0 -0
  237. data/docs/source/images/generic-product-template-images-no-options-selected.png +0 -0
  238. data/docs/source/images/generic-product-template-images-options-selected.png +0 -0
  239. data/docs/source/images/generic-template.png +0 -0
  240. data/docs/source/images/hosting.svg +0 -1
  241. data/docs/source/images/image-group-content-block-in-storefront.png +0 -0
  242. data/docs/source/images/images.svg +0 -1
  243. data/docs/source/images/import-export-screenshot.png +0 -0
  244. data/docs/source/images/invalid-display.png +0 -0
  245. data/docs/source/images/itcss.png +0 -0
  246. data/docs/source/images/kibana-dev-tools-console.png +0 -0
  247. data/docs/source/images/layout-content-admin-with-2-areas.png +0 -0
  248. data/docs/source/images/layout-content-admin-with-3-areas.png +0 -0
  249. data/docs/source/images/link-to-search-system-content.png +0 -0
  250. data/docs/source/images/logo.svg +0 -1
  251. data/docs/source/images/menu.svg +0 -2
  252. data/docs/source/images/mongo-replica-set.svg +0 -1
  253. data/docs/source/images/multi-column-hero-blocks.png +0 -0
  254. data/docs/source/images/option-selects-product-template-images-options-selected.png +0 -0
  255. data/docs/source/images/option-selects-template.png +0 -0
  256. data/docs/source/images/option-thumbnails-template.png +0 -0
  257. data/docs/source/images/order-item-total-price-diagram.png +0 -0
  258. data/docs/source/images/order-pricing-cart-example.png +0 -0
  259. data/docs/source/images/order-pricing-example-adjustments.png +0 -0
  260. data/docs/source/images/order-pricing-example-totals.png +0 -0
  261. data/docs/source/images/order-pricing-placed-order-example.png +0 -0
  262. data/docs/source/images/order-shipping-total-diagram.png +0 -0
  263. data/docs/source/images/order-show-with-multiple-tenders.png +0 -0
  264. data/docs/source/images/order-subtotal-price-diagram.png +0 -0
  265. data/docs/source/images/order-tax-total-diagram.png +0 -0
  266. data/docs/source/images/order-total-price-diagram.png +0 -0
  267. data/docs/source/images/order-total-value-diagram.png +0 -0
  268. data/docs/source/images/orders-dashboard-links.png +0 -0
  269. data/docs/source/images/oval.svg +0 -1
  270. data/docs/source/images/payment-icon-storefront-style-guide.png +0 -0
  271. data/docs/source/images/people-dashboard-links.png +0 -0
  272. data/docs/source/images/price-adjustments-diagram.png +0 -0
  273. data/docs/source/images/price-display-no-options.png +0 -0
  274. data/docs/source/images/price-display-options-selected.png +0 -0
  275. data/docs/source/images/pricing-calculators-diagram.png +0 -0
  276. data/docs/source/images/product-list-content-block-admin.png +0 -0
  277. data/docs/source/images/product-list-content-block-in-store-front.png +0 -0
  278. data/docs/source/images/promo-products-excluded-autocomplete-results-after.png +0 -0
  279. data/docs/source/images/promo-products-excluded-featured-category-results-after.png +0 -0
  280. data/docs/source/images/promo-products-excluded-recommendations-results-after.png +0 -0
  281. data/docs/source/images/promo-products-excluded-search-category-results-after.png +0 -0
  282. data/docs/source/images/promo-products-excluded-search-results-after.png +0 -0
  283. data/docs/source/images/promo-products-included-autocomplete-results-before.png +0 -0
  284. data/docs/source/images/promo-products-included-featured-category-results-before.png +0 -0
  285. data/docs/source/images/promo-products-included-recommendations-results-before.png +0 -0
  286. data/docs/source/images/promo-products-included-search-category-results-before.png +0 -0
  287. data/docs/source/images/promo-products-included-search-results-before.png +0 -0
  288. data/docs/source/images/rails-version-constraint.png +0 -0
  289. data/docs/source/images/re-enable-discount.png +0 -0
  290. data/docs/source/images/reading-data.svg +0 -1
  291. data/docs/source/images/readme-hero.png +0 -0
  292. data/docs/source/images/redesigned-customized-sort-for-search-results.png +0 -0
  293. data/docs/source/images/reviews-summary-above-share-buttons.png +0 -0
  294. data/docs/source/images/reviews-summary-below-product-name.png +0 -0
  295. data/docs/source/images/reviews-summary-below-share-buttons.png +0 -0
  296. data/docs/source/images/reviews-summary-removed.png +0 -0
  297. data/docs/source/images/rsa-fingerprint-for-stash.png +0 -0
  298. data/docs/source/images/ruby-version-constraint.png +0 -0
  299. data/docs/source/images/script-tag-added-through-admin.png +0 -0
  300. data/docs/source/images/search-analysis-admin-alternate-rendering.png +0 -0
  301. data/docs/source/images/search-analysis-admin.png +0 -0
  302. data/docs/source/images/search-quality-report.png +0 -0
  303. data/docs/source/images/search.svg +0 -1
  304. data/docs/source/images/searching-for-cart-system-content-in-admin.png +0 -0
  305. data/docs/source/images/searching-for-layout-system-content-in-admin.png +0 -0
  306. data/docs/source/images/seeded-admin.png +0 -0
  307. data/docs/source/images/seeds-from-plugins.png +0 -0
  308. data/docs/source/images/seo-metadata-automation-ui.png +0 -0
  309. data/docs/source/images/show-password-button.png +0 -0
  310. data/docs/source/images/storefront-autocomplete.png +0 -0
  311. data/docs/source/images/storefront-category-summary-content-block.png +0 -0
  312. data/docs/source/images/storefront-category.png +0 -0
  313. data/docs/source/images/storefront-product-after-overriding.png +0 -0
  314. data/docs/source/images/storefront-product-before-overriding.png +0 -0
  315. data/docs/source/images/storefront-product-browse-page.png +0 -0
  316. data/docs/source/images/storefront-product-recommendations.png +0 -0
  317. data/docs/source/images/storefront-product-show-page.png +0 -0
  318. data/docs/source/images/storefront-requests-and-search-requests.png +0 -0
  319. data/docs/source/images/storefront-search-request-handling.png +0 -0
  320. data/docs/source/images/storefront-search-response-creation.png +0 -0
  321. data/docs/source/images/storefront-search.png +0 -0
  322. data/docs/source/images/storefront-style-guides-navigation.png +0 -0
  323. data/docs/source/images/styles.css +0 -3
  324. data/docs/source/images/tax-categories-ui.png +0 -0
  325. data/docs/source/images/tax-rates-ui.png +0 -0
  326. data/docs/source/images/unpurchasable-product.png +0 -0
  327. data/docs/source/images/url-redirects-filtering.png +0 -0
  328. data/docs/source/images/utility-nav-area-in-admin.png +0 -0
  329. data/docs/source/images/utility-nav-area-in-storefront.png +0 -0
  330. data/docs/source/images/validation-message-in-storefront.png +0 -0
  331. data/docs/source/images/view-model-interface.png +0 -0
  332. data/docs/source/images/viewing-workarea-version-in-source.png +0 -0
  333. data/docs/source/images/workarea.svg +0 -1
  334. data/docs/source/images/worst-performing-searches-on-results-customization-page.png +0 -0
  335. data/docs/source/images/writing-data.svg +0 -1
  336. data/docs/source/index.html.erb +0 -166
  337. data/docs/source/javascripts/jquery.js +0 -2
  338. data/docs/source/javascripts/lunr.js +0 -7
  339. data/docs/source/javascripts/site.js +0 -299
  340. data/docs/source/javascripts/vendor/highlight.pack.js +0 -2
  341. data/docs/source/layouts/article.erb +0 -106
  342. data/docs/source/layouts/bare.erb +0 -46
  343. data/docs/source/layouts/layout.erb +0 -43
  344. data/docs/source/release-notes/workarea-3-0-0.html.md +0 -146
  345. data/docs/source/release-notes/workarea-3-0-1.html.md +0 -161
  346. data/docs/source/release-notes/workarea-3-0-10.html.md +0 -39
  347. data/docs/source/release-notes/workarea-3-0-11.html.md +0 -277
  348. data/docs/source/release-notes/workarea-3-0-12.html.md +0 -14
  349. data/docs/source/release-notes/workarea-3-0-13.html.md +0 -153
  350. data/docs/source/release-notes/workarea-3-0-14.html.md +0 -93
  351. data/docs/source/release-notes/workarea-3-0-15.html.md +0 -107
  352. data/docs/source/release-notes/workarea-3-0-16.html.md +0 -36
  353. data/docs/source/release-notes/workarea-3-0-17.html.md +0 -141
  354. data/docs/source/release-notes/workarea-3-0-18.html.md +0 -123
  355. data/docs/source/release-notes/workarea-3-0-19.html.md +0 -160
  356. data/docs/source/release-notes/workarea-3-0-2.html.md +0 -222
  357. data/docs/source/release-notes/workarea-3-0-20.html.md +0 -95
  358. data/docs/source/release-notes/workarea-3-0-21.html.md +0 -168
  359. data/docs/source/release-notes/workarea-3-0-22.html.md +0 -268
  360. data/docs/source/release-notes/workarea-3-0-23.html.md +0 -173
  361. data/docs/source/release-notes/workarea-3-0-24.html.md +0 -19
  362. data/docs/source/release-notes/workarea-3-0-25.html.md +0 -26
  363. data/docs/source/release-notes/workarea-3-0-26.html.md +0 -199
  364. data/docs/source/release-notes/workarea-3-0-27.html.md +0 -113
  365. data/docs/source/release-notes/workarea-3-0-28.html.md +0 -39
  366. data/docs/source/release-notes/workarea-3-0-29.html.md +0 -73
  367. data/docs/source/release-notes/workarea-3-0-3.html.md +0 -35
  368. data/docs/source/release-notes/workarea-3-0-30.html.md +0 -186
  369. data/docs/source/release-notes/workarea-3-0-31.html.md +0 -125
  370. data/docs/source/release-notes/workarea-3-0-32.html.md +0 -73
  371. data/docs/source/release-notes/workarea-3-0-33.html.md +0 -137
  372. data/docs/source/release-notes/workarea-3-0-34.html.md +0 -203
  373. data/docs/source/release-notes/workarea-3-0-35.html.md +0 -205
  374. data/docs/source/release-notes/workarea-3-0-36.html.md +0 -105
  375. data/docs/source/release-notes/workarea-3-0-37.html.md +0 -144
  376. data/docs/source/release-notes/workarea-3-0-38.html.md +0 -73
  377. data/docs/source/release-notes/workarea-3-0-39.html.md +0 -77
  378. data/docs/source/release-notes/workarea-3-0-4.html.md +0 -14
  379. data/docs/source/release-notes/workarea-3-0-40.html.md +0 -130
  380. data/docs/source/release-notes/workarea-3-0-41.html.md +0 -70
  381. data/docs/source/release-notes/workarea-3-0-42.html.md +0 -52
  382. data/docs/source/release-notes/workarea-3-0-43.html.md +0 -72
  383. data/docs/source/release-notes/workarea-3-0-44.html.md +0 -93
  384. data/docs/source/release-notes/workarea-3-0-45.html.md +0 -61
  385. data/docs/source/release-notes/workarea-3-0-46.html.md +0 -171
  386. data/docs/source/release-notes/workarea-3-0-47.html.md +0 -130
  387. data/docs/source/release-notes/workarea-3-0-48.html.md +0 -160
  388. data/docs/source/release-notes/workarea-3-0-49.html.md +0 -28
  389. data/docs/source/release-notes/workarea-3-0-5.html.md +0 -225
  390. data/docs/source/release-notes/workarea-3-0-50.html.md +0 -74
  391. data/docs/source/release-notes/workarea-3-0-51.html.md +0 -61
  392. data/docs/source/release-notes/workarea-3-0-52.html.md +0 -76
  393. data/docs/source/release-notes/workarea-3-0-53.html.md +0 -126
  394. data/docs/source/release-notes/workarea-3-0-54.html.md +0 -112
  395. data/docs/source/release-notes/workarea-3-0-55.html.md +0 -105
  396. data/docs/source/release-notes/workarea-3-0-56.html.md +0 -56
  397. data/docs/source/release-notes/workarea-3-0-57.html.md +0 -82
  398. data/docs/source/release-notes/workarea-3-0-58.html.md +0 -153
  399. data/docs/source/release-notes/workarea-3-0-59.html.md +0 -78
  400. data/docs/source/release-notes/workarea-3-0-6.html.md +0 -165
  401. data/docs/source/release-notes/workarea-3-0-60.html.md +0 -43
  402. data/docs/source/release-notes/workarea-3-0-61.html.md +0 -46
  403. data/docs/source/release-notes/workarea-3-0-62.html.md +0 -23
  404. data/docs/source/release-notes/workarea-3-0-63.html.md +0 -25
  405. data/docs/source/release-notes/workarea-3-0-64.html.md +0 -25
  406. data/docs/source/release-notes/workarea-3-0-65.html.md +0 -37
  407. data/docs/source/release-notes/workarea-3-0-7.html.md +0 -207
  408. data/docs/source/release-notes/workarea-3-0-8.html.md +0 -337
  409. data/docs/source/release-notes/workarea-3-0-9.html.md +0 -196
  410. data/docs/source/release-notes/workarea-3-1-0.html.md +0 -414
  411. data/docs/source/release-notes/workarea-3-1-1.html.md +0 -139
  412. data/docs/source/release-notes/workarea-3-1-10.html.md +0 -19
  413. data/docs/source/release-notes/workarea-3-1-11.html.md +0 -27
  414. data/docs/source/release-notes/workarea-3-1-12.html.md +0 -216
  415. data/docs/source/release-notes/workarea-3-1-13.html.md +0 -113
  416. data/docs/source/release-notes/workarea-3-1-14.html.md +0 -39
  417. data/docs/source/release-notes/workarea-3-1-15.html.md +0 -107
  418. data/docs/source/release-notes/workarea-3-1-16.html.md +0 -188
  419. data/docs/source/release-notes/workarea-3-1-17.html.md +0 -141
  420. data/docs/source/release-notes/workarea-3-1-18.html.md +0 -73
  421. data/docs/source/release-notes/workarea-3-1-19.html.md +0 -137
  422. data/docs/source/release-notes/workarea-3-1-2.html.md +0 -55
  423. data/docs/source/release-notes/workarea-3-1-20.html.md +0 -203
  424. data/docs/source/release-notes/workarea-3-1-21.html.md +0 -205
  425. data/docs/source/release-notes/workarea-3-1-22.html.md +0 -121
  426. data/docs/source/release-notes/workarea-3-1-23.html.md +0 -144
  427. data/docs/source/release-notes/workarea-3-1-24.html.md +0 -94
  428. data/docs/source/release-notes/workarea-3-1-25.html.md +0 -77
  429. data/docs/source/release-notes/workarea-3-1-26.html.md +0 -130
  430. data/docs/source/release-notes/workarea-3-1-27.html.md +0 -70
  431. data/docs/source/release-notes/workarea-3-1-28.html.md +0 -52
  432. data/docs/source/release-notes/workarea-3-1-29.html.md +0 -44
  433. data/docs/source/release-notes/workarea-3-1-3.html.md +0 -185
  434. data/docs/source/release-notes/workarea-3-1-30.html.md +0 -72
  435. data/docs/source/release-notes/workarea-3-1-31.html.md +0 -93
  436. data/docs/source/release-notes/workarea-3-1-32.html.md +0 -61
  437. data/docs/source/release-notes/workarea-3-1-33.html.md +0 -171
  438. data/docs/source/release-notes/workarea-3-1-34.html.md +0 -130
  439. data/docs/source/release-notes/workarea-3-1-35.html.md +0 -179
  440. data/docs/source/release-notes/workarea-3-1-36.html.md +0 -28
  441. data/docs/source/release-notes/workarea-3-1-37.html.md +0 -74
  442. data/docs/source/release-notes/workarea-3-1-38.html.md +0 -61
  443. data/docs/source/release-notes/workarea-3-1-39.html.md +0 -96
  444. data/docs/source/release-notes/workarea-3-1-4.html.md +0 -148
  445. data/docs/source/release-notes/workarea-3-1-40.html.md +0 -126
  446. data/docs/source/release-notes/workarea-3-1-41.html.md +0 -128
  447. data/docs/source/release-notes/workarea-3-1-42.html.md +0 -105
  448. data/docs/source/release-notes/workarea-3-1-43.html.md +0 -37
  449. data/docs/source/release-notes/workarea-3-1-44.html.md +0 -82
  450. data/docs/source/release-notes/workarea-3-1-45.html.md +0 -153
  451. data/docs/source/release-notes/workarea-3-1-46.html.md +0 -91
  452. data/docs/source/release-notes/workarea-3-1-47.html.md +0 -65
  453. data/docs/source/release-notes/workarea-3-1-48.html.md +0 -46
  454. data/docs/source/release-notes/workarea-3-1-49.html.md +0 -23
  455. data/docs/source/release-notes/workarea-3-1-5.html.md +0 -169
  456. data/docs/source/release-notes/workarea-3-1-50.html.md +0 -42
  457. data/docs/source/release-notes/workarea-3-1-51.html.md +0 -25
  458. data/docs/source/release-notes/workarea-3-1-52.html.md +0 -57
  459. data/docs/source/release-notes/workarea-3-1-6.html.md +0 -117
  460. data/docs/source/release-notes/workarea-3-1-7.html.md +0 -176
  461. data/docs/source/release-notes/workarea-3-1-8.html.md +0 -283
  462. data/docs/source/release-notes/workarea-3-1-9.html.md +0 -212
  463. data/docs/source/release-notes/workarea-3-2-0.html.md +0 -1705
  464. data/docs/source/release-notes/workarea-3-2-1.html.md +0 -216
  465. data/docs/source/release-notes/workarea-3-2-10.html.md +0 -237
  466. data/docs/source/release-notes/workarea-3-2-11.html.md +0 -121
  467. data/docs/source/release-notes/workarea-3-2-12.html.md +0 -145
  468. data/docs/source/release-notes/workarea-3-2-13.html.md +0 -138
  469. data/docs/source/release-notes/workarea-3-2-14.html.md +0 -77
  470. data/docs/source/release-notes/workarea-3-2-15.html.md +0 -130
  471. data/docs/source/release-notes/workarea-3-2-16.html.md +0 -111
  472. data/docs/source/release-notes/workarea-3-2-17.html.md +0 -52
  473. data/docs/source/release-notes/workarea-3-2-18.html.md +0 -44
  474. data/docs/source/release-notes/workarea-3-2-19.html.md +0 -72
  475. data/docs/source/release-notes/workarea-3-2-2.html.md +0 -145
  476. data/docs/source/release-notes/workarea-3-2-20.html.md +0 -93
  477. data/docs/source/release-notes/workarea-3-2-21.html.md +0 -61
  478. data/docs/source/release-notes/workarea-3-2-22.html.md +0 -154
  479. data/docs/source/release-notes/workarea-3-2-23.html.md +0 -130
  480. data/docs/source/release-notes/workarea-3-2-24.html.md +0 -200
  481. data/docs/source/release-notes/workarea-3-2-25.html.md +0 -28
  482. data/docs/source/release-notes/workarea-3-2-26.html.md +0 -94
  483. data/docs/source/release-notes/workarea-3-2-27.html.md +0 -61
  484. data/docs/source/release-notes/workarea-3-2-28.html.md +0 -96
  485. data/docs/source/release-notes/workarea-3-2-29.html.md +0 -126
  486. data/docs/source/release-notes/workarea-3-2-30.html.md +0 -112
  487. data/docs/source/release-notes/workarea-3-2-31.html.md +0 -105
  488. data/docs/source/release-notes/workarea-3-2-32.html.md +0 -56
  489. data/docs/source/release-notes/workarea-3-2-33.html.md +0 -82
  490. data/docs/source/release-notes/workarea-3-2-34.html.md +0 -153
  491. data/docs/source/release-notes/workarea-3-2-35.html.md +0 -91
  492. data/docs/source/release-notes/workarea-3-2-36.html.md +0 -118
  493. data/docs/source/release-notes/workarea-3-2-37.html.md +0 -46
  494. data/docs/source/release-notes/workarea-3-2-38.html.md +0 -23
  495. data/docs/source/release-notes/workarea-3-2-39.html.md +0 -42
  496. data/docs/source/release-notes/workarea-3-2-4.html.md +0 -109
  497. data/docs/source/release-notes/workarea-3-2-40.html.md +0 -25
  498. data/docs/source/release-notes/workarea-3-2-41.html.md +0 -90
  499. data/docs/source/release-notes/workarea-3-2-5.html.md +0 -186
  500. data/docs/source/release-notes/workarea-3-2-6.html.md +0 -173
  501. data/docs/source/release-notes/workarea-3-2-7.html.md +0 -89
  502. data/docs/source/release-notes/workarea-3-2-8.html.md +0 -137
  503. data/docs/source/release-notes/workarea-3-2-9.html.md +0 -219
  504. data/docs/source/release-notes/workarea-3-3-0.html.md +0 -1272
  505. data/docs/source/release-notes/workarea-3-3-1.html.md +0 -324
  506. data/docs/source/release-notes/workarea-3-3-10.html.md +0 -69
  507. data/docs/source/release-notes/workarea-3-3-11.html.md +0 -72
  508. data/docs/source/release-notes/workarea-3-3-12.html.md +0 -136
  509. data/docs/source/release-notes/workarea-3-3-13.html.md +0 -61
  510. data/docs/source/release-notes/workarea-3-3-14.html.md +0 -196
  511. data/docs/source/release-notes/workarea-3-3-15.html.md +0 -167
  512. data/docs/source/release-notes/workarea-3-3-16.html.md +0 -234
  513. data/docs/source/release-notes/workarea-3-3-17.html.md +0 -82
  514. data/docs/source/release-notes/workarea-3-3-18.html.md +0 -165
  515. data/docs/source/release-notes/workarea-3-3-19.html.md +0 -106
  516. data/docs/source/release-notes/workarea-3-3-2.html.md +0 -72
  517. data/docs/source/release-notes/workarea-3-3-20.html.md +0 -116
  518. data/docs/source/release-notes/workarea-3-3-21.html.md +0 -228
  519. data/docs/source/release-notes/workarea-3-3-22.html.md +0 -125
  520. data/docs/source/release-notes/workarea-3-3-23.html.md +0 -154
  521. data/docs/source/release-notes/workarea-3-3-24.html.md +0 -70
  522. data/docs/source/release-notes/workarea-3-3-25.html.md +0 -114
  523. data/docs/source/release-notes/workarea-3-3-26.html.md +0 -260
  524. data/docs/source/release-notes/workarea-3-3-27.html.md +0 -138
  525. data/docs/source/release-notes/workarea-3-3-28.html.md +0 -147
  526. data/docs/source/release-notes/workarea-3-3-29.html.md +0 -63
  527. data/docs/source/release-notes/workarea-3-3-3.html.md +0 -153
  528. data/docs/source/release-notes/workarea-3-3-30.html.md +0 -102
  529. data/docs/source/release-notes/workarea-3-3-31.html.md +0 -57
  530. data/docs/source/release-notes/workarea-3-3-32.html.md +0 -44
  531. data/docs/source/release-notes/workarea-3-3-33.html.md +0 -114
  532. data/docs/source/release-notes/workarea-3-3-34.html.md +0 -29
  533. data/docs/source/release-notes/workarea-3-3-4.html.md +0 -332
  534. data/docs/source/release-notes/workarea-3-3-5.html.md +0 -242
  535. data/docs/source/release-notes/workarea-3-3-6.html.md +0 -100
  536. data/docs/source/release-notes/workarea-3-3-7.html.md +0 -148
  537. data/docs/source/release-notes/workarea-3-3-8.html.md +0 -163
  538. data/docs/source/release-notes/workarea-3-3-9.html.md +0 -93
  539. data/docs/source/release-notes/workarea-3-4-0.html.md +0 -580
  540. data/docs/source/release-notes/workarea-3-4-1.html.md +0 -150
  541. data/docs/source/release-notes/workarea-3-4-10.html.md +0 -72
  542. data/docs/source/release-notes/workarea-3-4-11.html.md +0 -60
  543. data/docs/source/release-notes/workarea-3-4-12.html.md +0 -155
  544. data/docs/source/release-notes/workarea-3-4-15.html.md +0 -100
  545. data/docs/source/release-notes/workarea-3-4-16.html.md +0 -88
  546. data/docs/source/release-notes/workarea-3-4-2.html.md +0 -188
  547. data/docs/source/release-notes/workarea-3-4-3.html.md +0 -136
  548. data/docs/source/release-notes/workarea-3-4-4.html.md +0 -114
  549. data/docs/source/release-notes/workarea-3-4-5.html.md +0 -275
  550. data/docs/source/release-notes/workarea-3-4-6.html.md +0 -169
  551. data/docs/source/release-notes/workarea-3-4-7.html.md +0 -162
  552. data/docs/source/release-notes/workarea-3-4-8.html.md +0 -95
  553. data/docs/source/release-notes/workarea-3-4-9.html.md +0 -135
  554. data/docs/source/release-notes.html.md +0 -261
  555. data/docs/source/search.html.erb +0 -34
  556. data/docs/source/shared/_header.erb +0 -61
  557. data/docs/source/shared/_svgs.erb +0 -17
  558. data/docs/source/style_guide/index.html.erb +0 -382
  559. data/docs/source/stylesheets/_base.scss +0 -125
  560. data/docs/source/stylesheets/_components.scss +0 -669
  561. data/docs/source/stylesheets/_helpers.scss +0 -10
  562. data/docs/source/stylesheets/_opinions.scss +0 -42
  563. data/docs/source/stylesheets/_settings.scss +0 -56
  564. data/docs/source/stylesheets/_typography.scss +0 -119
  565. data/docs/source/stylesheets/site.css.scss +0 -14
  566. data/docs/source/stylesheets/vendor/_avalanche.scss +0 -328
  567. data/docs/source/stylesheets/vendor/_normalize.scss +0 -341
  568. data/docs/source/stylesheets/vendor/highlight/_tomorrow_night_blue.scss +0 -75
  569. data/docs/source/upgrade-guides/workarea-3-4-0.html.md +0 -152
  570. data/docs/source/upgrade-guides.html.md +0 -18
  571. data/docs/workarea_renderer.rb +0 -8
  572. data/docs/yarn.lock +0 -2522
@@ -1,106 +0,0 @@
1
- ---
2
- title: Configuration for Hosting
3
- excerpt: How to configure Workarea for hosting in practice.
4
- ---
5
-
6
- # Configuration for Hosting
7
-
8
- Here's what you'll need to configure Workarea for hosting. It'll outline commonly set configurations and why. To learn more about Workarea infrastructure configuration, check out the code here: [https://github.com/workarea-commerce/workarea/tree/master/core/lib/workarea/configuration](https://github.com/workarea-commerce/workarea/tree/master/core/lib/workarea/configuration).
9
-
10
- ## Application
11
-
12
- ### Web
13
-
14
- Workarea ships with a [default Puma configuration](https://github.com/workarea-commerce/workarea/blob/master/core/lib/workarea/configuration/puma.rb) out-of-the-box. If you want to configure this, remove the custom Workarea config from your `config/puma.rb`. Workarea will respect the following Puma environment variables if set:
15
-
16
- | Name | Default | Notes |
17
- |---|---|---|
18
- | `PORT` | `3000` | - |
19
- | `RAILS_MAX_THREADS` | `5` | - |
20
- | `RAILS_ENV` | `development` | - |
21
- | `WEB_CONCURRENCY` | | - |
22
-
23
- ### Sidekiq
24
-
25
- Workarea will automatically configure Sidekiq based on the other Workarea configuration (like Redis).
26
-
27
- | Name | Default | Notes |
28
- |---|---|---|
29
- | `WORKAREA_SIDEKIQ_CONCURRENCY` | Dynamic | Based on number of processes |
30
- | `WORKAREA_SIDEKIQ_DEFAULT_TIMEOUT` | `5` |
31
-
32
- _Note:_ Workarea will not try to configure Sidekiq if `config/sidekiq.yml` or `config/sidekiq.yml.erb` are present.
33
-
34
- ## Databases
35
-
36
- ### MongoDB
37
-
38
- Workarea automatically configures Mongoid for you with the recommended settings. No further action is required. However, settings provided in `config/mongoid.yml` will override the default Workarea configuration. Doing this is discouraged.
39
-
40
- Workarea uses two different instances of `Mongoid::Client`, one for primary application use, and one specifically for metrics collection. This is done to allow sharding metrics/reporting from standard application use.
41
-
42
- | Name | Default | Notes |
43
- |---|---|---|
44
- | `WORKAREA_MONGOID_HOST_0` | `localhost:27017` | increment `0` for each host |
45
- | `WORKAREA_MONGOID_OPTIONS` | `{}` | JSON-serialized [options for Mongoid](https://docs.mongodb.com/mongoid/current/tutorials/mongoid-installation/#anatomy-of-a-mongoid-config) |
46
- | `WORKAREA_MONGOID_METRICS_HOST_0` | `localhost:27017` | increment `0` for each host |
47
- | `WORKAREA_MONGOID_METRICS_OPTIONS` | `{}` | JSON-serialized [options for Mongoid](https://docs.mongodb.com/mongoid/current/tutorials/mongoid-installation/#anatomy-of-a-mongoid-config) |
48
-
49
- You can configure hosts using `WORKAREA_MONGOID_HOST_*` environment variables. You can add as many hosts as desired, just be sure to end the environment variable names with digits, e.g. `WORKAREA_MONGOID_HOST_0`, `WORKAREA_MONGOID_HOST_1`, `WORKAREA_MONGOID_HOST_2`, etc.
50
-
51
- ### Elasticsearch
52
-
53
- You can set an arbitrary number of Elasticsearch hosts for Workarea to use, or simply specify one (perhaps behind a load balancer).
54
-
55
- | Name | Default | Notes |
56
- |---|---|---|
57
- | `WORKAREA_ELASTICSEARCH_URL_0` | `localhost:9200` | increment `0` for each host |
58
- | `WORKAREA_ELASTICSEARCH_URL` | `localhost:9200` | used if the digit-trailing vars are blank |
59
-
60
- You can configure hosts using `WORKAREA_ELASTICSEARCH_URL_*` environment variables. You can add as many hosts as desired, just be sure to end the environment variable names with digits, e.g. `WORKAREA_ELASTICSEARCH_URL_0`, `WORKAREA_ELASTICSEARCH_URL_1`, `WORKAREA_ELASTICSEARCH_URL_2`, etc.
61
-
62
- ### Redis
63
-
64
- While only one instance of Redis is _required_ to run Workarea, you can run two for distributing load. The first would be for persistent data like the Sidekiq queue or recommendations. The second is for ephemeral data like cache.
65
-
66
- | Name | Default | Notes |
67
- |---|---|---|
68
- | `WORKAREA_REDIS_HOST` | `localhost` | host for persistent Redis |
69
- | `WORKAREA_REDIS_PORT` | `6379` | port for persistent Redis |
70
- | `WORKAREA_REDIS_DB` | `0` | database for persistent Redis |
71
- | `WORKAREA_REDIS_CACHE_HOST` | `localhost` | host for ephemeral Redis |
72
- | `WORKAREA_REDIS_CACHE_PORT` | `6379` | port for ephemeral Redis |
73
- | `WORKAREA_REDIS_CACHE_DB` | `0` | database for ephemeral Redis |
74
-
75
- ## Miscellaneous
76
-
77
- ### Assets
78
-
79
- You'll need at least one S3 bucket setup to run Workarea. An optional second (called the "integration" bucket in the code) can be configured for integrating with other systems, like flat-file exports, image imports, etc.
80
-
81
- | Name | Default | Notes |
82
- |---|---|---|
83
- | `WORKAREA_S3_REGION` | `us-east-1` | - |
84
- | `WORKAREA_S3_ACCESS_KEY_ID` | | if this is blank _and_ the secret access key is blank, Workarea will use the IAM profile |
85
- | `WORKAREA_S3_SECRET_ACCESS_KEY` | | if this is blank _and_ the access key ID is blank, Workarea will use the IAM profile |
86
- | `WORKAREA_S3_BUCKET_NAME` | | - |
87
- | `WORKAREA_S3_INTEGRATION_REGION` | | (optional) |
88
- | `WORKAREA_S3_INTEGRATION_ACCESS_KEY_ID` | | (optional) |
89
- | `WORKAREA_S3_INTEGRATION_SECRET_ACCESS_KEY` | | (optional) |
90
- | `WORKAREA_S3_INTEGRATION_BUCKET_NAME` | | (optional) |
91
-
92
- ### Asset Host
93
-
94
- Workarea ships with support for the asset host as an environment variable. This sets the Rails configurations to this value.
95
-
96
- | Name | Default | Notes |
97
- |---|---|---|
98
- | `WORKAREA_ASSET_HOST` | | set this to your CDN |
99
-
100
- ### Logstash
101
-
102
- Workarea depends on the [logstasher gem](https://github.com/shadabahmed/logstasher) to provide [Logstash](https://www.elastic.co/products/logstash) support out-of-the-box. This will only be enabled if the environment variable is set.
103
-
104
- | Name | Default | Notes |
105
- |---|---|---|
106
- | `WORKAREA_LOGSTASH` | | set this to `true` to enable `logstasher` |
@@ -1,406 +0,0 @@
1
- ---
2
- title: Configuration
3
- excerpt: Every Workarea application has Ruby and JavaScript configurations, which consist of customizable named values that provide designed extension points for the application and its installed plugins. Configuration, as an extension technique, is the proces
4
- ---
5
-
6
- # Configuration
7
-
8
- Every Workarea application has Ruby and JavaScript configurations, which consist of customizable named values that provide designed extension points for the application and its installed plugins. <dfn>Configuration</dfn>, as an extension technique, is the process of customizing configuration keys, known informally as <dfn>configs</dfn>, and their values.
9
-
10
- Configuration allows _developers_ to customize an application beyond the capabilities of administrators. Because configs are _designed_ extension points, configuration is less expensive than other extension techniques, which require developers to extend the platform beyond its original design.
11
-
12
- ## Configuration Objects
13
-
14
- Ruby and JavaScript configuration objects provide access to the current configuration of the application and allow developers to change the configuration.
15
-
16
- ### Ruby Configuration Object
17
-
18
- Use `Workarea.config` to access the current Ruby configuration. The configuration object is hash-like (composed of keys and values) and also provides an accessor method for each key. This configuration object is actually a member of the Rails configuration, which is covered in more detail below.
19
-
20
- The following example, which I ran in a Rails console, lists all the configs for my sample application.
21
-
22
- ```ruby
23
- puts Workarea.config.keys.sort
24
- # activity_excluded_types
25
- # activity_size_on_dashboard
26
- # address_attributes
27
- # admin_break_points
28
- # admin_max_most_visited
29
- # admin_max_recently_visited
30
- # admin_session_timeout
31
- # admin_visit_excluded_paths
32
- # allowed_login_attempts
33
- # analytics_timezone
34
- # asset_store
35
- # asset_types
36
- # blog_entries_on_index
37
- # bulk_action_expiration
38
- # cache_expirations
39
- # cart_recommendations_count
40
- # category_summary_product_count
41
- # checkout_expiration
42
- # checkout_steps
43
- # clothing_swatch_size
44
- # ... (truncated)
45
- # user_activity_display_size
46
- ```
47
-
48
- The config object contains _all_ platform configs, including those added as extensions by installed plugins.
49
-
50
- The next example examines the values of several keys, demonstrating the varying complexity of configuration values.
51
-
52
- ```ruby
53
- Workarea.config.blog_entries_on_index
54
- # => 4
55
-
56
- Workarea.config.max_admin_bookmarks
57
- # => 10
58
-
59
- Workarea.config.product_templates
60
- # => [:test_product, :package, :family, :clothing]
61
-
62
- Workarea.config.shipping_origin
63
- # => {:country=>"US", :state=>"PA", :city=>"Philadelphia", :zip=>"19106"}
64
-
65
- Workarea.config.pricing_calculators
66
- # => #<Workarea::SwappableList:0x007f508b94d670 @source=["Workarea::Pricing::Calculators::ItemCalculator", "Workarea::Pricing::Calculators::CustomizationsCalculator", "Workarea::Pricing::Calculators::DiscountCalculator", "Workarea::Pricing::Calculators::TaxCalculator"]>
67
-
68
- Workarea.config.elasticsearch_mappings.storefront
69
- # => {:category=>{:properties=>{:query=>{:type=>"percolator"}}}, :storefront=>{:dynamic_templates=>[{:facets=>{:path_match=>"facets.*", :mapping=>{:type=>"keyword"}}}, {:numeric=>{:path_match=>"numeric.*", :mapping=>{:type=>"float"}}}, {:keywords=>{:path_match=>"keywords.*", :mapping=>{:type=>"keyword"}}}, {:sorts=>{:path_match=>"sorts.*", :mapping=>{:type=>"float"}}}, {:content=>{:path_match=>"content.*", :mapping=>{:type=>"text", :analyzer=>"text_analyzer"}}}, {:cache=>{:path_match=>"cache.*", :mapping=>{:index=>false}}}], :properties=>{:id=>{:type=>"keyword"}, :type=>{:type=>"keyword"}, :slug=>{:type=>"keyword"}, :suggestion_content=>{:type=>"string", :analyzer=>"text_analyzer"}, "facets.category_id"=>{:type=>"keyword"}, "facets.on_sale"=>{:type=>"keyword"}}}}
70
- ```
71
-
72
- The Ruby configuration is also exposed through the _Settings_ dashboard in the Admin (_/admin/dashboards/settings_).
73
-
74
- ![Current configuration shown in Admin Settings](images/current-configuration-shown-in-admin-settings.png)
75
-
76
- ### JavaScript Configuration Object
77
-
78
- Use `WORKAREA.config` to access the current JavaScript configuration.
79
-
80
- The following example, which I ran in a browser console, lists all the configs for my sample application in lexicographical order.
81
-
82
- ```js
83
- console.log(Object.keys(WORKAREA.config).sort().join('\n'))
84
- // categorizedAutocompleteFields
85
- // contentBlocks
86
- // contentEditorForms
87
- // dashboardCharts
88
- // date
89
- // datepickerFields
90
- // datetimepicker
91
- // deletionForms
92
- // dropzones
93
- // formSubmittingControls
94
- // forms
95
- // helpLookupButtons
96
- // imageFileExtensions
97
- // messages
98
- // productImagesSortable
99
- // recommendationsSortables
100
- // remoteSelects
101
- // storefrontBreakPoints
102
- // tooltipster
103
- // validationErrorAnalyticsThrottle
104
- // wysiwygs
105
- ```
106
-
107
- The config object contains _all_ platform configs relevant to the current page, including those added as extensions by installed plugins. The configuration object is specific to the current UI (e.g. Admin, Storefront), since each UI has its own JavaScript manifests, which load different JavaScript config files.
108
-
109
- ### Accessing the Ruby Configuration in JavaScript
110
-
111
- The Admin and Storefront configuration files, _workarea-admin/app/assets/javascripts/workarea/admin/config.js.erb_ and _workarea-storefront/app/assets/javascripts/workarea/storefront/config.js.erb_, are processed by ERB during compilation, providing access to the application's Ruby configuration.
112
-
113
- The following example demonstrates how responsive break points sizes are read from a Ruby config in order to write them to a JavaScript config.
114
-
115
- ```js
116
- <%# workarea-storefront/app/assets/javascripts/workarea/storefront/config.js.erb %>
117
-
118
- <%# ... %>
119
-
120
- WORKAREA.config.storefrontBreakPoints = {
121
- sizes: {
122
- <% Workarea.config.storefront_break_points.each do |name, size| %>
123
- '<%= name %>': <%= size %>,
124
- <% end %>
125
- },
126
-
127
- ie9Matches: [
128
- 'small',
129
- 'medium',
130
- 'wide'
131
- ]
132
- };
133
-
134
- <%# ... %>
135
- ```
136
-
137
- The same values are therefore accessible through Ruby and JavaScript.
138
-
139
- ```ruby
140
- # Storefront break points in Ruby
141
-
142
- Workarea.config.storefront_break_points
143
- # => {:small=>320, :medium=>760, :wide=>960, :x_wide=>1160}
144
- ```
145
-
146
- ```js
147
- // Storefront break points in JavaScript
148
-
149
- console.log(JSON.stringify(WORKAREA.config.storefrontBreakPoints.sizes))
150
- // => {"small":320,"medium":760,"wide":960,"x_wide":1160}
151
- ```
152
-
153
- ## Configuring an App in Ruby
154
-
155
- To configure an app in Ruby, modify config values or add config keys from within an initializer or an environment-specific configuration file. It is also possible to modify the configuration temporarily, which is useful for testing (see below).
156
-
157
- ### Initializers & Environment Files
158
-
159
- Write Workarea configuration code anywhere you would write Rails configuration code, most likely within an initializer or an environment-specific config file. The boilerplate for a Workarea application includes the following initializer.
160
-
161
- ```ruby
162
- # config/initializers/workarea.rb
163
-
164
- Workarea.configure do |config|
165
- # Basic site info
166
- config.site_name = 'Board Game Supercenter'
167
- config.host = 'board-game-supercenter.dev'
168
- config.email_to = 'customerservice@board-game-supercenter.dev'
169
- config.email_from = 'noreply@board-game-supercenter.dev'
170
- end
171
- ```
172
-
173
- The `Workarea.configure` method yields the Workarea configuration object to its block, providing a convenient interface for bulk configuration. Application developers typically write their configuration code within this block.
174
-
175
- Rails also provides environment-specific files, such as _config/environments/development.rb_ and _config/environments/production.rb_. Write environment-specific configuration code within the appropriate environment file.
176
-
177
- The plugins I looked at are less consistent than applications in where they write their configuration code. When writing configuration code within a plugin, I recommend using initializers that describe the type of configuration, such as _config/initializers/seeds.rb_ and _config/initializers/assets.rb_. Or, for small plugins, use a single generic initializer, such as _config/initializers/workarea.rb_.
178
-
179
- Some existing plugins write configuration code in the _engine.rb_ file, within inline intializers. Avoid that technique in new plugins—such initializers run _after_ the application's initializers, making it more difficult for an application to override values specified in the plugin.
180
-
181
- ### Modifying Values
182
-
183
- Within your initializer, modify existing configuration values as needed by assigning a new value or manipulating the existing value, as shown in the following examples.
184
-
185
- ```ruby
186
- Workarea.config.blog_entries_on_index = 5
187
-
188
- Workarea.config.seeds.push('Workarea::SharesSeeds')
189
-
190
- Workarea.config.seeds << 'Workarea::ReviewSeeds'
191
-
192
- Workarea.configure do |config|
193
- config.jump_to_navigation.merge!('Reviews' => :reviews_path)
194
- end
195
-
196
- Workarea.config.seeds.insert_after('Workarea::ProductsSeeds', 'Workarea::PackageProductSeeds')
197
-
198
- Workarea.configure do |config|
199
- config.product_templates += %i(package family)
200
- end
201
-
202
- Workarea.config.product_templates << :clothing
203
-
204
- Workarea.configure do |config|
205
- config.storefront_search_middleware.swap(
206
- 'Workarea::Search::StorefrontSearch::Template',
207
- 'Workarea::Search::StorefrontSearch::TemplateWithContent'
208
- )
209
- end
210
-
211
- Workarea.config.clothing_swatch_size ||= '44x'
212
-
213
- Workarea.config.product_copy_default_attributes ||= {}
214
- Workarea.config.product_copy_default_attributes.merge!(
215
- total_reviews: 0,
216
- average_rating: nil
217
- )
218
- ```
219
-
220
- ### Adding Keys
221
-
222
- A plugin may add new configuration keys to provide applications with extension points for the functionality provided by the plugin. To add a new key, simply assign a value to it.
223
-
224
- ```ruby
225
- Workarea.config.and_now_for_something_completely_different = 'Anthologies are cool'
226
- ```
227
-
228
- ### Temporary Configuration (Testing)
229
-
230
- In the context of tests, it can be useful to change a config temporarily, perhaps for the duration of a single test or assertion. Use `Workarea.with_config` with a block to set or modify a config for the duration of the block. The following test case demonstrates this concept.
231
-
232
- ```ruby
233
- # workarea-core-3.1.0/test/queries/workarea/search/pagination_test.rb
234
- require 'test_helper'
235
-
236
- module Workarea
237
- module Search
238
- class PaginationTest < TestCase
239
- # ...
240
-
241
- def test_from
242
- Workarea.with_config do |config|
243
- config.per_page = 30
244
- assert_equal(0, Paginate.new(page: 1).from)
245
- end
246
-
247
- Workarea.with_config do |config|
248
- config.per_page = 15
249
- assert_equal(15, Paginate.new(page: 2).from)
250
- end
251
-
252
- Workarea.with_config do |config|
253
- config.per_page = 45
254
- assert_equal(90, Paginate.new(page: 3).from)
255
- end
256
- end
257
-
258
- def test_size
259
- Workarea.with_config do |config|
260
- config.per_page = 30
261
-
262
- search = Paginate.new(page: 2)
263
- assert_equal(30, search.size)
264
- end
265
- end
266
- end
267
- end
268
- end
269
- ```
270
-
271
- ## Configuring an App in JavaScript
272
-
273
- To configure an app in JavaScript, modify config values or add config keys from within a JavaScript config file and [append](appending.html) the config file to an append point within the relevant manifest to include it on the page. <sup><a href="#notes" id="note-1-context">[1]</a></sup>
274
-
275
- The following examples for the fictional store <cite>Board Game Supercenter</cite> demonstrate appending an application-specific JavaScript config file in the Storefront.
276
-
277
- ```js
278
- // board_game_supercenter/app/assets/javascripts/workarea/storefront/board_game_supercenter/config.js
279
-
280
- WORKAREA.config.messages.delay = 5000;
281
- ```
282
-
283
-
284
- ```js
285
- # board_game_supercenter/config/initializers/appends.rb
286
-
287
- Workarea.append_javascripts(
288
- 'storefront.config',
289
- 'workarea/storefront/board_game_supercenter/config'
290
- )
291
- ```
292
-
293
- Similarly, the following examples append an Admin config file for the fictional <cite>Workarea Loyalty</cite> plugin.
294
-
295
- ```js
296
- // workarea-loyalty/app/assets/javascripts/workarea/admin/loyalty/config.js
297
-
298
- WORKAREA.config.loyaltyBadges = {
299
- events: ['hover']
300
- }
301
- ```
302
-
303
-
304
- ```ruby
305
- # workarea-loyalty/config/initializers/appends.rb
306
-
307
- Workarea.append_javascripts(
308
- 'admin.config',
309
- 'workarea/admin/loyalty/config'
310
- )
311
- ```
312
-
313
- If you need access to the Ruby config object within your JavaScript config file, use a file ending in _.js.erb_ instead. See example above.
314
-
315
- ## Rails Configuration
316
-
317
- You should also be familiar with [configuring your Rails application](http://guides.rubyonrails.org/configuring.html), since Workarea depends on several Rails configuration values.
318
-
319
- Use `Rails.application.config` or `Rails.configuration` to access the Rails configuration object. The Ruby configuration for Workarea is actually a member of the Rails configuration.
320
-
321
- ```ruby
322
- Workarea.config == Rails.application.config.workarea
323
- # => true
324
-
325
- Workarea.config == Rails.configuration.workarea
326
- # => true
327
- ```
328
-
329
- However, Workarea makes use of additional Rails configs that live outside the Workarea-specific configuration. Two important examples are the application time zone and locales, each covered below.
330
-
331
- ### Configuring the Application Time Zone
332
-
333
- [Since Workarea 3.2.0](workarea-3-2-0.html#uses-rails-time-zone-to-display-all-dates-times), you must configure a time zone for the admin side of your Workarea application. Set `config.time_zone` in your Rails general configuration in `config/application.rb`.
334
-
335
- ```ruby
336
- # config/application.rb
337
-
338
- module YourApp
339
- class Application < Rails::Application
340
- # ...
341
- config.time_zone = 'Eastern Time (US & Canada)'
342
- # ...
343
- end
344
- end
345
- ```
346
-
347
- Rails provides a command to list the time zones it recognizes, which is demonstrated in the following shell session:
348
-
349
- ```bash
350
- $ bin/rails -T time
351
- rails time:zones[country_or_offset] # List all time zones, list by two-letter country code (`rails time:zones[US]`), or list by UTC offset (`rails time:zones[-8]`)
352
- $ bin/rails time:zones
353
-
354
- * UTC -11:00 *
355
- American Samoa
356
- International Date Line West
357
- Midway Island
358
-
359
- … more …
360
-
361
- * UTC +13:00 *
362
- Nuku'alofa
363
- Samoa
364
- Tokelau Is.
365
-
366
- $ bin/rails time:zones[US]
367
-
368
- * UTC -10:00 *
369
- America/Adak
370
- Hawaii
371
-
372
- … more …
373
-
374
- * UTC -05:00 *
375
- America/Detroit
376
- America/Indiana/Marengo
377
- America/Indiana/Petersburg
378
- America/Indiana/Vevay
379
- America/Indiana/Vincennes
380
- America/Indiana/Winamac
381
- America/Kentucky/Louisville
382
- America/Kentucky/Monticello
383
- Eastern Time (US & Canada)
384
- Indiana (East)
385
-
386
- $ bin/rails time:zones[-5]
387
-
388
- * UTC -05:00 *
389
- Bogota
390
- Eastern Time (US & Canada)
391
- Indiana (East)
392
- Lima
393
- Quito
394
-
395
- $
396
- ```
397
-
398
- ### Configuring Locales
399
-
400
- Other important Rails configurations are the _available locales_, _default locale_, and _locale fallbacks_. All of Workarea's user interfaces are internationalized and therefore depend on these values.
401
-
402
- Review the [Configure Locales](configure-locales.html) guide for coverage of this topic.
403
-
404
- ## Notes
405
-
406
- [1] Alternatively, if you are working in an application that is [overriding](overriding.html) the relevant manifest, you can require the config file within your manifest override.
@@ -1,58 +0,0 @@
1
- ---
2
- title: Configure a Payment Gateway
3
- excerpt: Workarea provides the following configurations for your payment gateway integration. See Integrate a Payment Gateway to learn more about integrating a payment gateway with Workarea.
4
- ---
5
-
6
- # Configure a Payment Gateway
7
-
8
- Workarea provides the following configurations for your payment gateway integration. See [Integrate a Payment Gateway](integrate-a-payment-gateway.html) to learn more about integrating a payment gateway with Workarea.
9
-
10
- | Config | Description |
11
- | --- | --- |
12
- | `config.gateways.credit_card` | Set credit card gateway |
13
- | `config.gateways.paypal` | Set Paypal gateway (if using the Paypal plugin) |
14
- | `config.credit_card_issuers` | Map of ActiveMerchant credit card issuer to friendly display name of issuer. Used to display issuer name and issuer icon in views. Unknown values will display as titleized version of the ActiveMerchant key passed. |
15
- | `config.tender_types` | The available tender types for purchase/refund, used in order to determine purchase precedence and in reverse for refund precedence |
16
-
17
- your\_app/config/initializers/workarea.rb:
18
-
19
- ```
20
- # ...
21
-
22
- Workarea.configure do |config|
23
-
24
- # ...
25
-
26
- # Default bogus gateway
27
- config.gateways.credit_card = ActiveMerchant::Billing::BogusGateway.new
28
-
29
- # config.gateways.credit_card = ActiveMerchant::Billing::CyberSourceGateway.new(
30
- # login: 'XXXX',
31
- # password: 'XXXX',
32
- # test: true
33
- # )
34
-
35
- config.gateways.paypal = ActiveMerchant::Billing::PaypalExpressGateway.new(
36
- login: 'XXXX',
37
- password: 'XXXX',
38
- signature: 'XXXX'
39
- )
40
-
41
- credit_card_issuers = Hash.new { |hash, key| key.titleize }
42
- config.credit_card_issuers = credit_card_issuers.merge(
43
- 'visa' => 'Visa',
44
- 'diners_club' => "Diner's Club",
45
- 'master' => 'MasterCard',
46
- 'discover' => 'Discover',
47
- 'american_express' => 'American Express',
48
- 'bogus' => 'Test Card'
49
- )
50
-
51
- config.tender_types = [:store_credit, :credit_card]
52
-
53
- # ...
54
-
55
- end
56
- ```
57
-
58
-
@@ -1,29 +0,0 @@
1
- ---
2
- title: Configure Asset Storage
3
- excerpt: Asset storage configuration determines where product images, content images, admin uploads, etc are stored.
4
- ---
5
-
6
- # Configure Asset Storage
7
-
8
- Asset storage configuration determines where product images, content images, admin uploads, etc are stored.
9
-
10
- The configuration created here is passed through to the Dragonfly app. Full documentation on Dragonfly storage can be found at [the official Dragonfly documentation](http://markevans.github.io/dragonfly/data-stores)
11
-
12
- your\_app/config/initializers/workarea.rb:
13
-
14
- ```
15
- Workarea.configure do |config|
16
- # Store assets on the local filesystem (default)
17
- config.asset_store = :file_system, {
18
- root_path: '/tmp/workarea',
19
- server_root: '/tmp/workarea'
20
- }
21
-
22
- # Store assets on S3
23
- # config.asset_store = :s3, {
24
- # bucket_name: 'XXXX',
25
- # access_key_id: 'XXXX',
26
- # secret_access_key: 'XXXX'
27
- # }
28
- end
29
- ```
@@ -1,18 +0,0 @@
1
- ---
2
- title: Configure Asset Types
3
- excerpt: You can configure the different types of available Content::Assets.
4
- ---
5
-
6
- # Configure Asset Types
7
-
8
- You can configure the different types of available `Content::Assets`.
9
-
10
- your\_app/config/initializers/workarea.rb:
11
-
12
- ```
13
- Workarea.configure do |config|
14
- config.asset_types = %w(image pdf flash video audio text)
15
- end
16
- ```
17
-
18
-
@@ -1,24 +0,0 @@
1
- ---
2
- title: Configure Contact Form Subjects List
3
- excerpt: Use config.inquiry_subjects to configure the subject line options presented to users in the contact form. The value is a hash in the form { 'slug' => 'description' }.
4
- ---
5
-
6
- # Configure Contact Form Subjects List
7
-
8
- Use `config.inquiry_subjects` to configure the subject line options presented to users in the contact form. The value is a hash in the form `{ 'slug' => 'description' }`.
9
-
10
- your\_app/config/initializers/workarea.rb:
11
-
12
- ```
13
- Workarea.configure do |config|
14
- config.inquiry_subjects = {
15
- 'orders' => 'Orders',
16
- 'returns' => 'Returns and Exchanges',
17
- 'products' => 'Product Information',
18
- 'feedback' => 'Feedback',
19
- 'general' => 'General Inquiry'
20
- }
21
- end
22
- ```
23
-
24
-
@@ -1,23 +0,0 @@
1
- ---
2
- title: Configure ImageOptim
3
- excerpt: Workarea uses the image_optim gem to optimize images. It will grab the global Rails image_optim config when looking for configuration.
4
- ---
5
-
6
- # Configure ImageOptim
7
-
8
- Workarea uses the image\_optim gem to optimize images. It will grab the global Rails image\_optim config when looking for configuration.
9
-
10
- your\_app/config/initializers/image\_optim.rb:
11
-
12
- ```
13
- My::Application.configure do
14
- # These are the default values
15
- config.assets.image_optim = {
16
- pack: true,
17
- pngout: false,
18
- svgo: false
19
- }
20
- end
21
- ```
22
-
23
-