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.
- checksums.yaml +7 -0
- data/.rubocop.yml +326 -0
- data/CHANGELOG.md +20501 -0
- data/README.md +163 -0
- data/docker-compose.yml +27 -0
- data/docs/Gemfile +8 -0
- data/docs/bin/middleman +29 -0
- data/docs/config.rb +87 -0
- data/docs/config.ru +7 -0
- data/docs/data/articles.yml +157 -0
- data/docs/package.json +15 -0
- data/docs/source/404.html.erb +13 -0
- data/docs/source/articles/access-routes-in-javascript.html.md +33 -0
- data/docs/source/articles/add-a-content-area.html.md +169 -0
- data/docs/source/articles/add-a-content-block-type.html.md +334 -0
- data/docs/source/articles/add-a-report.html.md +202 -0
- data/docs/source/articles/add-css-through-the-admin-ui.html.md +30 -0
- data/docs/source/articles/add-javascript-through-a-manifest.html.md +367 -0
- data/docs/source/articles/add-javascript-through-a-view.html.md +80 -0
- data/docs/source/articles/add-javascript-through-the-admin-ui.html.md +30 -0
- data/docs/source/articles/add-metrics.html.md +58 -0
- data/docs/source/articles/add-or-replace-a-pricing-calculator.html.md +150 -0
- data/docs/source/articles/add-remove-or-change-a-mongoid-validation.html.md +147 -0
- data/docs/source/articles/add-remove-or-change-a-product-template.html.md +142 -0
- data/docs/source/articles/add-remove-sort-and-group-storefront-search-filters.html.md +483 -0
- data/docs/source/articles/add-stylesheets-through-a-manifest.html.md +276 -0
- data/docs/source/articles/add-system-content.html.md +138 -0
- data/docs/source/articles/analytics-overview.html.md +51 -0
- data/docs/source/articles/analyze-storefront-search-results.html.md +261 -0
- data/docs/source/articles/api-overview.html.md +35 -0
- data/docs/source/articles/appending.html.md +506 -0
- data/docs/source/articles/application-document.html.md +88 -0
- data/docs/source/articles/automated-javascript-testing.html.md +162 -0
- data/docs/source/articles/b2b-overview.html.md +64 -0
- data/docs/source/articles/browser-and-device-support.html.md +47 -0
- data/docs/source/articles/change-product-placeholder-image.html.md +39 -0
- data/docs/source/articles/change-storefront-search-results.html.md +283 -0
- data/docs/source/articles/change-the-storefront-product-pricing-ui.html.md +348 -0
- data/docs/source/articles/change-the-storefront-search-filters-ui.html.md +103 -0
- data/docs/source/articles/checkout.html.md +479 -0
- data/docs/source/articles/commerce-model.html.md +164 -0
- data/docs/source/articles/configuration-for-hosting.html.md +106 -0
- data/docs/source/articles/configuration.html.md +406 -0
- data/docs/source/articles/configure-a-payment-gateway.html.md +58 -0
- data/docs/source/articles/configure-asset-storage.html.md +29 -0
- data/docs/source/articles/configure-asset-types.html.md +18 -0
- data/docs/source/articles/configure-contact-form-subjects-list.html.md +24 -0
- data/docs/source/articles/configure-imageoptim.html.md +23 -0
- data/docs/source/articles/configure-locales.html.md +45 -0
- data/docs/source/articles/configure-logins-and-authentication.html.md +42 -0
- data/docs/source/articles/configure-low-inventory-threshold.html.md +26 -0
- data/docs/source/articles/configure-product-image-sizes-and-processing.html.md +28 -0
- data/docs/source/articles/content.html.md +554 -0
- data/docs/source/articles/contentable.html.md +41 -0
- data/docs/source/articles/contribute-code.html.md +69 -0
- data/docs/source/articles/contribute-documentation.html.md +60 -0
- data/docs/source/articles/create-a-custom-discount.html.md +234 -0
- data/docs/source/articles/create-a-new-app.html.md +131 -0
- data/docs/source/articles/create-a-plugin.html.md +19 -0
- data/docs/source/articles/create-a-style-guide.html.md +71 -0
- data/docs/source/articles/create-a-theme.html.md +134 -0
- data/docs/source/articles/css-architectural-overview.html.md +89 -0
- data/docs/source/articles/customize-a-helper.html.md +91 -0
- data/docs/source/articles/decoration.html.md +415 -0
- data/docs/source/articles/define-and-configure-inventory-policies.html.md +107 -0
- data/docs/source/articles/documentation-style-guide.html.md +48 -0
- data/docs/source/articles/documentation.html.md +54 -0
- data/docs/source/articles/domain-modeling.html.md +82 -0
- data/docs/source/articles/error-pages.html.md.erb +95 -0
- data/docs/source/articles/extension-overview.html.md +152 -0
- data/docs/source/articles/favicon-support.html.md +112 -0
- data/docs/source/articles/feature-spec-helper-stylesheet.html.md +25 -0
- data/docs/source/articles/featurejs-and-feature-spec-helper.html.md +20 -0
- data/docs/source/articles/help-and-support.html.md +34 -0
- data/docs/source/articles/html-fragment-caching.html.md +46 -0
- data/docs/source/articles/http-caching.html.md +43 -0
- data/docs/source/articles/i18n.html.md +35 -0
- data/docs/source/articles/images-flow.html.md +10 -0
- data/docs/source/articles/index-storefront-search-documents.html.md +104 -0
- data/docs/source/articles/infrastructure.html.md +46 -0
- data/docs/source/articles/installing.html.md +61 -0
- data/docs/source/articles/integrate-a-payment-gateway.html.md +124 -0
- data/docs/source/articles/integrate-a-web-analytics-provider.html.md +35 -0
- data/docs/source/articles/integrate-an-inventory-management-system.html.md +88 -0
- data/docs/source/articles/integrating-with-other-software.html.md +59 -0
- data/docs/source/articles/inventory.html.md +352 -0
- data/docs/source/articles/javascript-coding-standards.html.md +30 -0
- data/docs/source/articles/javascript-modules.html.md +174 -0
- data/docs/source/articles/javascript-overview.html.md +62 -0
- data/docs/source/articles/javascript-reference-documentation.html.md +51 -0
- data/docs/source/articles/javascript-templates.html.md +52 -0
- data/docs/source/articles/low-level-caching.html.md +25 -0
- data/docs/source/articles/maintain-a-plugin.html.md +12 -0
- data/docs/source/articles/maintenance-policy.html.md +79 -0
- data/docs/source/articles/navigable.html.md +51 -0
- data/docs/source/articles/navigating-the-code.html.md +149 -0
- data/docs/source/articles/navigation.html.md +386 -0
- data/docs/source/articles/order-life-cycle.html.md +546 -0
- data/docs/source/articles/order-pricing.html.md +389 -0
- data/docs/source/articles/orders-and-items.html.md +210 -0
- data/docs/source/articles/orders.html.md +66 -0
- data/docs/source/articles/overriding.html.md +155 -0
- data/docs/source/articles/overview.html.md +43 -0
- data/docs/source/articles/plugins-overview.html.md +12 -0
- data/docs/source/articles/prerequisites-and-dependencies.html.md +202 -0
- data/docs/source/articles/products.html.md.erb +1270 -0
- data/docs/source/articles/progressive-web-application-support.html.md +148 -0
- data/docs/source/articles/rails-asset-manifests.html.md +33 -0
- data/docs/source/articles/rails-asset-view-helpers.html.md +25 -0
- data/docs/source/articles/reading-data.html.md +10 -0
- data/docs/source/articles/releasable.html.md +37 -0
- data/docs/source/articles/report-a-bug.html.md +75 -0
- data/docs/source/articles/ruby-coding-standards.html.md +10 -0
- data/docs/source/articles/run-sidekiq-in-a-local-environment.html.md +40 -0
- data/docs/source/articles/searching.html.md +1005 -0
- data/docs/source/articles/security-policy.html.md +42 -0
- data/docs/source/articles/seeds.html.md +345 -0
- data/docs/source/articles/shipping.html.md +756 -0
- data/docs/source/articles/sort-and-exclude-product-options.html.md +47 -0
- data/docs/source/articles/storefront-search-features.html.md +568 -0
- data/docs/source/articles/storefront-searches.html.md +126 -0
- data/docs/source/articles/style-guides.html.md +21 -0
- data/docs/source/articles/stylesheet-coding-standards.html.md +24 -0
- data/docs/source/articles/stylesheets-overview.html.md +67 -0
- data/docs/source/articles/swappable-list-data-structure.html.md +81 -0
- data/docs/source/articles/system-emails.html.md +102 -0
- data/docs/source/articles/taggable.html.md +8 -0
- data/docs/source/articles/test-a-credit-card-transaction.html.md +16 -0
- data/docs/source/articles/test-if-a-plugin-is-installed.html.md +34 -0
- data/docs/source/articles/testing.html.md +914 -0
- data/docs/source/articles/themes-overview.html.md +155 -0
- data/docs/source/articles/translate-administrable-content.html.md +14 -0
- data/docs/source/articles/translate-javascript-content.html.md +16 -0
- data/docs/source/articles/translate-or-customize-message-content.html.md +29 -0
- data/docs/source/articles/translate-or-customize-static-content.html.md +30 -0
- data/docs/source/articles/use-an-existing-workarea-app.html.md +108 -0
- data/docs/source/articles/view-models.html.md +509 -0
- data/docs/source/articles/views.html.md +14 -0
- data/docs/source/articles/workers.html.md +613 -0
- data/docs/source/articles/writing-data.html.md +10 -0
- data/docs/source/cli.html.md +163 -0
- data/docs/source/favicon.ico +0 -0
- data/docs/source/images/3-variants-1-option.png +0 -0
- data/docs/source/images/3-variants-3-options.png +0 -0
- data/docs/source/images/3-years-primary-image.png +0 -0
- data/docs/source/images/404-storefront-error-page.png +0 -0
- data/docs/source/images/404-system-content-admin.png +0 -0
- data/docs/source/images/404.jpg +0 -0
- data/docs/source/images/5-years-primary-image.png +0 -0
- data/docs/source/images/activity-dashboard.png +0 -0
- data/docs/source/images/activity-for-object.png +0 -0
- data/docs/source/images/activity-ui.png +0 -0
- data/docs/source/images/adding-captioned-image-block-custom-icon.png +0 -0
- data/docs/source/images/adding-captioned-image-block-default-icon.png +0 -0
- data/docs/source/images/admin-alerts-ui.png +0 -0
- data/docs/source/images/admin-category-range-filters.png +0 -0
- data/docs/source/images/admin-for-3-column-hero.png +0 -0
- data/docs/source/images/admin-help-index.png +0 -0
- data/docs/source/images/admin-help-ui.png +0 -0
- data/docs/source/images/admin-javascript.png +0 -0
- data/docs/source/images/admin-notification-for-deactivated-discount.png +0 -0
- data/docs/source/images/admin-notifications-ui.png +0 -0
- data/docs/source/images/admin-product-show-page.png +0 -0
- data/docs/source/images/admin-products-index-page.png +0 -0
- data/docs/source/images/admin-range-filters.png +0 -0
- data/docs/source/images/admin-style-guides-navigation.png +0 -0
- data/docs/source/images/after-re-seeding.png +0 -0
- data/docs/source/images/after-seeding-localhost-3000.png +0 -0
- data/docs/source/images/after-seeding.png +0 -0
- data/docs/source/images/arrow.svg +1 -0
- data/docs/source/images/arrow_white.svg +1 -0
- data/docs/source/images/aws-resource-map.png +0 -0
- data/docs/source/images/backordered-until-output-on-inventory-sku-card.png +0 -0
- data/docs/source/images/before-seeding-localhost-3000.png +0 -0
- data/docs/source/images/before-seeding.png +0 -0
- data/docs/source/images/browsing-workarea-versions-on-the-web.png +0 -0
- data/docs/source/images/bulk-asset-upload-on-assets-index-page.png +0 -0
- data/docs/source/images/bulk-asset-upload-while-editing-content.png +0 -0
- data/docs/source/images/bundle-show-workarea-core.png +0 -0
- data/docs/source/images/bundle-show-workarea.png +0 -0
- data/docs/source/images/calendar-for-backordered-until-field.png +0 -0
- data/docs/source/images/captioned-image-block-in-storefront.png +0 -0
- data/docs/source/images/captioned-image-content-block-storefront-component-style-guide.png +0 -0
- data/docs/source/images/cart-system-content-in-admin.png +0 -0
- data/docs/source/images/cart-system-content-in-storefront.png +0 -0
- data/docs/source/images/checkout-addresses-guest.png +0 -0
- data/docs/source/images/checkout-addresses-user.png +0 -0
- data/docs/source/images/checkout-confirmation.png +0 -0
- data/docs/source/images/checkout-flow-0.png +0 -0
- data/docs/source/images/checkout-flow-1.png +0 -0
- data/docs/source/images/checkout-flow-2.png +0 -0
- data/docs/source/images/checkout-flow-3.png +0 -0
- data/docs/source/images/checkout-flow-4.png +0 -0
- data/docs/source/images/checkout-payment-guest.png +0 -0
- data/docs/source/images/checkout-payment-user.png +0 -0
- data/docs/source/images/checkout-shipping.png +0 -0
- data/docs/source/images/color-picker-component-admin-style-guide.png +0 -0
- data/docs/source/images/color-picker-component-on-content-editing-screen.png +0 -0
- data/docs/source/images/commerce-model-carts-orders.png +0 -0
- data/docs/source/images/commerce-model-order-pricing.png +0 -0
- data/docs/source/images/commerce-model.png +0 -0
- data/docs/source/images/configuring-an-index-pattern-in-kibana.png +0 -0
- data/docs/source/images/content-block-presets.png +0 -0
- data/docs/source/images/content-search-customization.png +0 -0
- data/docs/source/images/country-with-region-data-in-address-form.png +0 -0
- data/docs/source/images/country-without-region-data-in-address-form.png +0 -0
- data/docs/source/images/create-content-block-preset-ui.png +0 -0
- data/docs/source/images/credit-card-icons.png +0 -0
- data/docs/source/images/css-added-through-admin.png +0 -0
- data/docs/source/images/css-admin-ui.png +0 -0
- data/docs/source/images/current-configuration-shown-in-admin-settings.png +0 -0
- data/docs/source/images/customer-impersonation-in-admin.png +0 -0
- data/docs/source/images/customer-impersonation-in-store-front.png +0 -0
- data/docs/source/images/date-filter-same-day.png +0 -0
- data/docs/source/images/developer-toolbar-in-store-front.png +0 -0
- data/docs/source/images/discounts-sorted-by-most-redeemed.png +0 -0
- data/docs/source/images/edit-help-article.png +0 -0
- data/docs/source/images/editing-content-for-search-customization.png +0 -0
- data/docs/source/images/editing-dynamic-captioned-image-block.png +0 -0
- data/docs/source/images/editing-product-fields-in-the-admin.png +0 -0
- data/docs/source/images/editing-search-system-content.png +0 -0
- data/docs/source/images/editing-static-captioned-image-block-custom-icon.png +0 -0
- data/docs/source/images/editing-static-captioned-image-block-default-icon.png +0 -0
- data/docs/source/images/external.svg +1 -0
- data/docs/source/images/favicon_16.png +0 -0
- data/docs/source/images/favicon_180.png +0 -0
- data/docs/source/images/favicon_32.png +0 -0
- data/docs/source/images/filters-all.png +0 -0
- data/docs/source/images/filters-control.png +0 -0
- data/docs/source/images/filters-custom.png +0 -0
- data/docs/source/images/filters-groups.png +0 -0
- data/docs/source/images/filters-material.png +0 -0
- data/docs/source/images/filters-omitted.png +0 -0
- data/docs/source/images/filters-pinned.png +0 -0
- data/docs/source/images/filters-range.png +0 -0
- data/docs/source/images/filters-sorted.png +0 -0
- data/docs/source/images/filters-wrapping-to-second-line-in-admin.png +0 -0
- data/docs/source/images/generic-product-template-images-no-options-selected.png +0 -0
- data/docs/source/images/generic-product-template-images-options-selected.png +0 -0
- data/docs/source/images/generic-template.png +0 -0
- data/docs/source/images/hosting.svg +1 -0
- data/docs/source/images/image-group-content-block-in-storefront.png +0 -0
- data/docs/source/images/images.svg +1 -0
- data/docs/source/images/import-export-screenshot.png +0 -0
- data/docs/source/images/invalid-display.png +0 -0
- data/docs/source/images/itcss.png +0 -0
- data/docs/source/images/kibana-dev-tools-console.png +0 -0
- data/docs/source/images/layout-content-admin-with-2-areas.png +0 -0
- data/docs/source/images/layout-content-admin-with-3-areas.png +0 -0
- data/docs/source/images/link-to-search-system-content.png +0 -0
- data/docs/source/images/logo.svg +1 -0
- data/docs/source/images/menu.svg +2 -0
- data/docs/source/images/mongo-replica-set.svg +1 -0
- data/docs/source/images/multi-column-hero-blocks.png +0 -0
- data/docs/source/images/option-selects-product-template-images-options-selected.png +0 -0
- data/docs/source/images/option-selects-template.png +0 -0
- data/docs/source/images/option-thumbnails-template.png +0 -0
- data/docs/source/images/order-item-total-price-diagram.png +0 -0
- data/docs/source/images/order-pricing-cart-example.png +0 -0
- data/docs/source/images/order-pricing-example-adjustments.png +0 -0
- data/docs/source/images/order-pricing-example-totals.png +0 -0
- data/docs/source/images/order-pricing-placed-order-example.png +0 -0
- data/docs/source/images/order-shipping-total-diagram.png +0 -0
- data/docs/source/images/order-show-with-multiple-tenders.png +0 -0
- data/docs/source/images/order-subtotal-price-diagram.png +0 -0
- data/docs/source/images/order-tax-total-diagram.png +0 -0
- data/docs/source/images/order-total-price-diagram.png +0 -0
- data/docs/source/images/order-total-value-diagram.png +0 -0
- data/docs/source/images/orders-dashboard-links.png +0 -0
- data/docs/source/images/oval.svg +1 -0
- data/docs/source/images/payment-icon-storefront-style-guide.png +0 -0
- data/docs/source/images/people-dashboard-links.png +0 -0
- data/docs/source/images/price-adjustments-diagram.png +0 -0
- data/docs/source/images/price-display-no-options.png +0 -0
- data/docs/source/images/price-display-options-selected.png +0 -0
- data/docs/source/images/pricing-calculators-diagram.png +0 -0
- data/docs/source/images/product-list-content-block-admin.png +0 -0
- data/docs/source/images/product-list-content-block-in-store-front.png +0 -0
- data/docs/source/images/promo-products-excluded-autocomplete-results-after.png +0 -0
- data/docs/source/images/promo-products-excluded-featured-category-results-after.png +0 -0
- data/docs/source/images/promo-products-excluded-recommendations-results-after.png +0 -0
- data/docs/source/images/promo-products-excluded-search-category-results-after.png +0 -0
- data/docs/source/images/promo-products-excluded-search-results-after.png +0 -0
- data/docs/source/images/promo-products-included-autocomplete-results-before.png +0 -0
- data/docs/source/images/promo-products-included-featured-category-results-before.png +0 -0
- data/docs/source/images/promo-products-included-recommendations-results-before.png +0 -0
- data/docs/source/images/promo-products-included-search-category-results-before.png +0 -0
- data/docs/source/images/promo-products-included-search-results-before.png +0 -0
- data/docs/source/images/rails-version-constraint.png +0 -0
- data/docs/source/images/re-enable-discount.png +0 -0
- data/docs/source/images/reading-data.svg +1 -0
- data/docs/source/images/readme-hero.png +0 -0
- data/docs/source/images/redesigned-customized-sort-for-search-results.png +0 -0
- data/docs/source/images/reviews-summary-above-share-buttons.png +0 -0
- data/docs/source/images/reviews-summary-below-product-name.png +0 -0
- data/docs/source/images/reviews-summary-below-share-buttons.png +0 -0
- data/docs/source/images/reviews-summary-removed.png +0 -0
- data/docs/source/images/rsa-fingerprint-for-stash.png +0 -0
- data/docs/source/images/ruby-version-constraint.png +0 -0
- data/docs/source/images/script-tag-added-through-admin.png +0 -0
- data/docs/source/images/search-analysis-admin-alternate-rendering.png +0 -0
- data/docs/source/images/search-analysis-admin.png +0 -0
- data/docs/source/images/search-quality-report.png +0 -0
- data/docs/source/images/search.svg +1 -0
- data/docs/source/images/searching-for-cart-system-content-in-admin.png +0 -0
- data/docs/source/images/searching-for-layout-system-content-in-admin.png +0 -0
- data/docs/source/images/seeded-admin.png +0 -0
- data/docs/source/images/seeds-from-plugins.png +0 -0
- data/docs/source/images/seo-metadata-automation-ui.png +0 -0
- data/docs/source/images/show-password-button.png +0 -0
- data/docs/source/images/storefront-autocomplete.png +0 -0
- data/docs/source/images/storefront-category-summary-content-block.png +0 -0
- data/docs/source/images/storefront-category.png +0 -0
- data/docs/source/images/storefront-product-after-overriding.png +0 -0
- data/docs/source/images/storefront-product-before-overriding.png +0 -0
- data/docs/source/images/storefront-product-browse-page.png +0 -0
- data/docs/source/images/storefront-product-recommendations.png +0 -0
- data/docs/source/images/storefront-product-show-page.png +0 -0
- data/docs/source/images/storefront-requests-and-search-requests.png +0 -0
- data/docs/source/images/storefront-search-request-handling.png +0 -0
- data/docs/source/images/storefront-search-response-creation.png +0 -0
- data/docs/source/images/storefront-search.png +0 -0
- data/docs/source/images/storefront-style-guides-navigation.png +0 -0
- data/docs/source/images/styles.css +3 -0
- data/docs/source/images/tax-categories-ui.png +0 -0
- data/docs/source/images/tax-rates-ui.png +0 -0
- data/docs/source/images/unpurchasable-product.png +0 -0
- data/docs/source/images/url-redirects-filtering.png +0 -0
- data/docs/source/images/utility-nav-area-in-admin.png +0 -0
- data/docs/source/images/utility-nav-area-in-storefront.png +0 -0
- data/docs/source/images/validation-message-in-storefront.png +0 -0
- data/docs/source/images/view-model-interface.png +0 -0
- data/docs/source/images/viewing-workarea-version-in-source.png +0 -0
- data/docs/source/images/workarea.svg +1 -0
- data/docs/source/images/worst-performing-searches-on-results-customization-page.png +0 -0
- data/docs/source/images/writing-data.svg +1 -0
- data/docs/source/index.html.erb +167 -0
- data/docs/source/javascripts/jquery.js +2 -0
- data/docs/source/javascripts/lunr.js +7 -0
- data/docs/source/javascripts/site.js +299 -0
- data/docs/source/javascripts/vendor/highlight.pack.js +2 -0
- data/docs/source/layouts/article.erb +106 -0
- data/docs/source/layouts/bare.erb +46 -0
- data/docs/source/layouts/layout.erb +43 -0
- data/docs/source/release-notes.html.md +258 -0
- data/docs/source/release-notes/workarea-3-0-0.html.md +146 -0
- data/docs/source/release-notes/workarea-3-0-1.html.md +161 -0
- data/docs/source/release-notes/workarea-3-0-10.html.md +39 -0
- data/docs/source/release-notes/workarea-3-0-11.html.md +277 -0
- data/docs/source/release-notes/workarea-3-0-12.html.md +14 -0
- data/docs/source/release-notes/workarea-3-0-13.html.md +153 -0
- data/docs/source/release-notes/workarea-3-0-14.html.md +93 -0
- data/docs/source/release-notes/workarea-3-0-15.html.md +107 -0
- data/docs/source/release-notes/workarea-3-0-16.html.md +36 -0
- data/docs/source/release-notes/workarea-3-0-17.html.md +141 -0
- data/docs/source/release-notes/workarea-3-0-18.html.md +123 -0
- data/docs/source/release-notes/workarea-3-0-19.html.md +160 -0
- data/docs/source/release-notes/workarea-3-0-2.html.md +222 -0
- data/docs/source/release-notes/workarea-3-0-20.html.md +95 -0
- data/docs/source/release-notes/workarea-3-0-21.html.md +168 -0
- data/docs/source/release-notes/workarea-3-0-22.html.md +268 -0
- data/docs/source/release-notes/workarea-3-0-23.html.md +173 -0
- data/docs/source/release-notes/workarea-3-0-24.html.md +19 -0
- data/docs/source/release-notes/workarea-3-0-25.html.md +26 -0
- data/docs/source/release-notes/workarea-3-0-26.html.md +199 -0
- data/docs/source/release-notes/workarea-3-0-27.html.md +113 -0
- data/docs/source/release-notes/workarea-3-0-28.html.md +39 -0
- data/docs/source/release-notes/workarea-3-0-29.html.md +73 -0
- data/docs/source/release-notes/workarea-3-0-3.html.md +35 -0
- data/docs/source/release-notes/workarea-3-0-30.html.md +186 -0
- data/docs/source/release-notes/workarea-3-0-31.html.md +125 -0
- data/docs/source/release-notes/workarea-3-0-32.html.md +73 -0
- data/docs/source/release-notes/workarea-3-0-33.html.md +137 -0
- data/docs/source/release-notes/workarea-3-0-34.html.md +203 -0
- data/docs/source/release-notes/workarea-3-0-35.html.md +205 -0
- data/docs/source/release-notes/workarea-3-0-36.html.md +105 -0
- data/docs/source/release-notes/workarea-3-0-37.html.md +144 -0
- data/docs/source/release-notes/workarea-3-0-38.html.md +73 -0
- data/docs/source/release-notes/workarea-3-0-39.html.md +77 -0
- data/docs/source/release-notes/workarea-3-0-4.html.md +14 -0
- data/docs/source/release-notes/workarea-3-0-40.html.md +130 -0
- data/docs/source/release-notes/workarea-3-0-41.html.md +70 -0
- data/docs/source/release-notes/workarea-3-0-42.html.md +52 -0
- data/docs/source/release-notes/workarea-3-0-43.html.md +72 -0
- data/docs/source/release-notes/workarea-3-0-44.html.md +93 -0
- data/docs/source/release-notes/workarea-3-0-45.html.md +61 -0
- data/docs/source/release-notes/workarea-3-0-46.html.md +171 -0
- data/docs/source/release-notes/workarea-3-0-47.html.md +130 -0
- data/docs/source/release-notes/workarea-3-0-48.html.md +160 -0
- data/docs/source/release-notes/workarea-3-0-49.html.md +28 -0
- data/docs/source/release-notes/workarea-3-0-5.html.md +225 -0
- data/docs/source/release-notes/workarea-3-0-50.html.md +74 -0
- data/docs/source/release-notes/workarea-3-0-51.html.md +61 -0
- data/docs/source/release-notes/workarea-3-0-52.html.md +76 -0
- data/docs/source/release-notes/workarea-3-0-53.html.md +126 -0
- data/docs/source/release-notes/workarea-3-0-54.html.md +112 -0
- data/docs/source/release-notes/workarea-3-0-55.html.md +105 -0
- data/docs/source/release-notes/workarea-3-0-56.html.md +56 -0
- data/docs/source/release-notes/workarea-3-0-57.html.md +82 -0
- data/docs/source/release-notes/workarea-3-0-58.html.md +153 -0
- data/docs/source/release-notes/workarea-3-0-59.html.md +78 -0
- data/docs/source/release-notes/workarea-3-0-6.html.md +165 -0
- data/docs/source/release-notes/workarea-3-0-60.html.md +43 -0
- data/docs/source/release-notes/workarea-3-0-61.html.md +46 -0
- data/docs/source/release-notes/workarea-3-0-62.html.md +23 -0
- data/docs/source/release-notes/workarea-3-0-63.html.md +25 -0
- data/docs/source/release-notes/workarea-3-0-64.html.md +25 -0
- data/docs/source/release-notes/workarea-3-0-65.html.md +37 -0
- data/docs/source/release-notes/workarea-3-0-7.html.md +207 -0
- data/docs/source/release-notes/workarea-3-0-8.html.md +337 -0
- data/docs/source/release-notes/workarea-3-0-9.html.md +196 -0
- data/docs/source/release-notes/workarea-3-1-0.html.md +414 -0
- data/docs/source/release-notes/workarea-3-1-1.html.md +139 -0
- data/docs/source/release-notes/workarea-3-1-10.html.md +19 -0
- data/docs/source/release-notes/workarea-3-1-11.html.md +27 -0
- data/docs/source/release-notes/workarea-3-1-12.html.md +216 -0
- data/docs/source/release-notes/workarea-3-1-13.html.md +113 -0
- data/docs/source/release-notes/workarea-3-1-14.html.md +39 -0
- data/docs/source/release-notes/workarea-3-1-15.html.md +107 -0
- data/docs/source/release-notes/workarea-3-1-16.html.md +188 -0
- data/docs/source/release-notes/workarea-3-1-17.html.md +141 -0
- data/docs/source/release-notes/workarea-3-1-18.html.md +73 -0
- data/docs/source/release-notes/workarea-3-1-19.html.md +137 -0
- data/docs/source/release-notes/workarea-3-1-2.html.md +55 -0
- data/docs/source/release-notes/workarea-3-1-20.html.md +203 -0
- data/docs/source/release-notes/workarea-3-1-21.html.md +205 -0
- data/docs/source/release-notes/workarea-3-1-22.html.md +121 -0
- data/docs/source/release-notes/workarea-3-1-23.html.md +144 -0
- data/docs/source/release-notes/workarea-3-1-24.html.md +94 -0
- data/docs/source/release-notes/workarea-3-1-25.html.md +77 -0
- data/docs/source/release-notes/workarea-3-1-26.html.md +130 -0
- data/docs/source/release-notes/workarea-3-1-27.html.md +70 -0
- data/docs/source/release-notes/workarea-3-1-28.html.md +52 -0
- data/docs/source/release-notes/workarea-3-1-29.html.md +44 -0
- data/docs/source/release-notes/workarea-3-1-3.html.md +185 -0
- data/docs/source/release-notes/workarea-3-1-30.html.md +72 -0
- data/docs/source/release-notes/workarea-3-1-31.html.md +93 -0
- data/docs/source/release-notes/workarea-3-1-32.html.md +61 -0
- data/docs/source/release-notes/workarea-3-1-33.html.md +171 -0
- data/docs/source/release-notes/workarea-3-1-34.html.md +130 -0
- data/docs/source/release-notes/workarea-3-1-35.html.md +179 -0
- data/docs/source/release-notes/workarea-3-1-36.html.md +28 -0
- data/docs/source/release-notes/workarea-3-1-37.html.md +74 -0
- data/docs/source/release-notes/workarea-3-1-38.html.md +61 -0
- data/docs/source/release-notes/workarea-3-1-39.html.md +96 -0
- data/docs/source/release-notes/workarea-3-1-4.html.md +148 -0
- data/docs/source/release-notes/workarea-3-1-40.html.md +126 -0
- data/docs/source/release-notes/workarea-3-1-41.html.md +128 -0
- data/docs/source/release-notes/workarea-3-1-42.html.md +105 -0
- data/docs/source/release-notes/workarea-3-1-43.html.md +37 -0
- data/docs/source/release-notes/workarea-3-1-44.html.md +82 -0
- data/docs/source/release-notes/workarea-3-1-45.html.md +153 -0
- data/docs/source/release-notes/workarea-3-1-46.html.md +91 -0
- data/docs/source/release-notes/workarea-3-1-47.html.md +65 -0
- data/docs/source/release-notes/workarea-3-1-48.html.md +46 -0
- data/docs/source/release-notes/workarea-3-1-49.html.md +23 -0
- data/docs/source/release-notes/workarea-3-1-5.html.md +169 -0
- data/docs/source/release-notes/workarea-3-1-50.html.md +42 -0
- data/docs/source/release-notes/workarea-3-1-51.html.md +25 -0
- data/docs/source/release-notes/workarea-3-1-52.html.md +57 -0
- data/docs/source/release-notes/workarea-3-1-6.html.md +117 -0
- data/docs/source/release-notes/workarea-3-1-7.html.md +176 -0
- data/docs/source/release-notes/workarea-3-1-8.html.md +283 -0
- data/docs/source/release-notes/workarea-3-1-9.html.md +212 -0
- data/docs/source/release-notes/workarea-3-2-0.html.md +1705 -0
- data/docs/source/release-notes/workarea-3-2-1.html.md +216 -0
- data/docs/source/release-notes/workarea-3-2-10.html.md +237 -0
- data/docs/source/release-notes/workarea-3-2-11.html.md +121 -0
- data/docs/source/release-notes/workarea-3-2-12.html.md +145 -0
- data/docs/source/release-notes/workarea-3-2-13.html.md +138 -0
- data/docs/source/release-notes/workarea-3-2-14.html.md +77 -0
- data/docs/source/release-notes/workarea-3-2-15.html.md +130 -0
- data/docs/source/release-notes/workarea-3-2-16.html.md +111 -0
- data/docs/source/release-notes/workarea-3-2-17.html.md +52 -0
- data/docs/source/release-notes/workarea-3-2-18.html.md +44 -0
- data/docs/source/release-notes/workarea-3-2-19.html.md +72 -0
- data/docs/source/release-notes/workarea-3-2-2.html.md +145 -0
- data/docs/source/release-notes/workarea-3-2-20.html.md +93 -0
- data/docs/source/release-notes/workarea-3-2-21.html.md +61 -0
- data/docs/source/release-notes/workarea-3-2-22.html.md +154 -0
- data/docs/source/release-notes/workarea-3-2-23.html.md +130 -0
- data/docs/source/release-notes/workarea-3-2-24.html.md +200 -0
- data/docs/source/release-notes/workarea-3-2-25.html.md +28 -0
- data/docs/source/release-notes/workarea-3-2-26.html.md +94 -0
- data/docs/source/release-notes/workarea-3-2-27.html.md +61 -0
- data/docs/source/release-notes/workarea-3-2-28.html.md +96 -0
- data/docs/source/release-notes/workarea-3-2-29.html.md +126 -0
- data/docs/source/release-notes/workarea-3-2-30.html.md +112 -0
- data/docs/source/release-notes/workarea-3-2-31.html.md +105 -0
- data/docs/source/release-notes/workarea-3-2-32.html.md +56 -0
- data/docs/source/release-notes/workarea-3-2-33.html.md +82 -0
- data/docs/source/release-notes/workarea-3-2-34.html.md +153 -0
- data/docs/source/release-notes/workarea-3-2-35.html.md +91 -0
- data/docs/source/release-notes/workarea-3-2-36.html.md +118 -0
- data/docs/source/release-notes/workarea-3-2-37.html.md +46 -0
- data/docs/source/release-notes/workarea-3-2-38.html.md +23 -0
- data/docs/source/release-notes/workarea-3-2-39.html.md +42 -0
- data/docs/source/release-notes/workarea-3-2-4.html.md +109 -0
- data/docs/source/release-notes/workarea-3-2-40.html.md +25 -0
- data/docs/source/release-notes/workarea-3-2-41.html.md +90 -0
- data/docs/source/release-notes/workarea-3-2-5.html.md +186 -0
- data/docs/source/release-notes/workarea-3-2-6.html.md +173 -0
- data/docs/source/release-notes/workarea-3-2-7.html.md +89 -0
- data/docs/source/release-notes/workarea-3-2-8.html.md +137 -0
- data/docs/source/release-notes/workarea-3-2-9.html.md +219 -0
- data/docs/source/release-notes/workarea-3-3-0.html.md +1272 -0
- data/docs/source/release-notes/workarea-3-3-1.html.md +324 -0
- data/docs/source/release-notes/workarea-3-3-10.html.md +69 -0
- data/docs/source/release-notes/workarea-3-3-11.html.md +72 -0
- data/docs/source/release-notes/workarea-3-3-12.html.md +136 -0
- data/docs/source/release-notes/workarea-3-3-13.html.md +61 -0
- data/docs/source/release-notes/workarea-3-3-14.html.md +196 -0
- data/docs/source/release-notes/workarea-3-3-15.html.md +167 -0
- data/docs/source/release-notes/workarea-3-3-16.html.md +234 -0
- data/docs/source/release-notes/workarea-3-3-17.html.md +82 -0
- data/docs/source/release-notes/workarea-3-3-18.html.md +165 -0
- data/docs/source/release-notes/workarea-3-3-19.html.md +106 -0
- data/docs/source/release-notes/workarea-3-3-2.html.md +72 -0
- data/docs/source/release-notes/workarea-3-3-20.html.md +116 -0
- data/docs/source/release-notes/workarea-3-3-21.html.md +228 -0
- data/docs/source/release-notes/workarea-3-3-22.html.md +125 -0
- data/docs/source/release-notes/workarea-3-3-23.html.md +154 -0
- data/docs/source/release-notes/workarea-3-3-24.html.md +70 -0
- data/docs/source/release-notes/workarea-3-3-25.html.md +114 -0
- data/docs/source/release-notes/workarea-3-3-26.html.md +260 -0
- data/docs/source/release-notes/workarea-3-3-27.html.md +138 -0
- data/docs/source/release-notes/workarea-3-3-28.html.md +147 -0
- data/docs/source/release-notes/workarea-3-3-29.html.md +63 -0
- data/docs/source/release-notes/workarea-3-3-3.html.md +153 -0
- data/docs/source/release-notes/workarea-3-3-30.html.md +102 -0
- data/docs/source/release-notes/workarea-3-3-31.html.md +57 -0
- data/docs/source/release-notes/workarea-3-3-32.html.md +44 -0
- data/docs/source/release-notes/workarea-3-3-33.html.md +114 -0
- data/docs/source/release-notes/workarea-3-3-4.html.md +332 -0
- data/docs/source/release-notes/workarea-3-3-5.html.md +242 -0
- data/docs/source/release-notes/workarea-3-3-6.html.md +100 -0
- data/docs/source/release-notes/workarea-3-3-7.html.md +148 -0
- data/docs/source/release-notes/workarea-3-3-8.html.md +163 -0
- data/docs/source/release-notes/workarea-3-3-9.html.md +93 -0
- data/docs/source/release-notes/workarea-3-4-0.html.md +580 -0
- data/docs/source/release-notes/workarea-3-4-1.html.md +150 -0
- data/docs/source/release-notes/workarea-3-4-10.html.md +72 -0
- data/docs/source/release-notes/workarea-3-4-11.html.md +60 -0
- data/docs/source/release-notes/workarea-3-4-12.html.md +155 -0
- data/docs/source/release-notes/workarea-3-4-2.html.md +188 -0
- data/docs/source/release-notes/workarea-3-4-3.html.md +136 -0
- data/docs/source/release-notes/workarea-3-4-4.html.md +114 -0
- data/docs/source/release-notes/workarea-3-4-5.html.md +275 -0
- data/docs/source/release-notes/workarea-3-4-6.html.md +169 -0
- data/docs/source/release-notes/workarea-3-4-7.html.md +162 -0
- data/docs/source/release-notes/workarea-3-4-8.html.md +95 -0
- data/docs/source/release-notes/workarea-3-4-9.html.md +135 -0
- data/docs/source/search.html.erb +34 -0
- data/docs/source/shared/_header.erb +61 -0
- data/docs/source/shared/_svgs.erb +17 -0
- data/docs/source/style_guide/index.html.erb +382 -0
- data/docs/source/stylesheets/_base.scss +125 -0
- data/docs/source/stylesheets/_components.scss +669 -0
- data/docs/source/stylesheets/_helpers.scss +10 -0
- data/docs/source/stylesheets/_opinions.scss +42 -0
- data/docs/source/stylesheets/_settings.scss +56 -0
- data/docs/source/stylesheets/_typography.scss +119 -0
- data/docs/source/stylesheets/site.css.scss +14 -0
- data/docs/source/stylesheets/vendor/_avalanche.scss +328 -0
- data/docs/source/stylesheets/vendor/_normalize.scss +341 -0
- data/docs/source/stylesheets/vendor/highlight/_tomorrow_night_blue.scss +75 -0
- data/docs/source/upgrade-guides.html.md +18 -0
- data/docs/source/upgrade-guides/workarea-3-4-0.html.md +152 -0
- data/docs/workarea_renderer.rb +8 -0
- data/docs/yarn.lock +2522 -0
- metadata +669 -0
data/README.md
ADDED
@@ -0,0 +1,163 @@
|
|
1
|
+
Workarea Commerce Platform
|
2
|
+
================================================================================
|
3
|
+
[](https://travis-ci.com/workarea-commerce/workarea)
|
4
|
+
[](CODE_OF_CONDUCT.md)
|
5
|
+
|
6
|
+
[Workarea](https://www.workarea.com) is an enterprise-grade commerce platform written in [Ruby on Rails](https://rubyonrails.org). It uses [MongoDB](https://www.mongodb.com), [Elasticsearch](https://www.elastic.co/products/elasticsearch), and [Redis](https://redis.io). Workarea also uses a whole lot of gems you can see in [our gemspec](https://github.com/weblinc/workarea/blob/master/core/workarea-core.gemspec).
|
7
|
+
|
8
|
+
[Workarea Commerce Cloud](https://www.workarea.com/pages/commerce-cloud)
|
9
|
+
[Documentation](https://developer.workarea.com)
|
10
|
+
[Demo](https://github.com/workarea-commerce/workarea#demo)
|
11
|
+
[Getting Started](https://github.com/workarea-commerce/workarea#getting-started)
|
12
|
+
[Plugins](https://github.com/workarea-commerce/workarea#plugins)
|
13
|
+
[Deploying](https://github.com/workarea-commerce/workarea#deploying)
|
14
|
+
[Contributing](https://github.com/workarea-commerce/workarea#contributing)
|
15
|
+
[Slack](https://www.workarea.com/slack)
|
16
|
+
|
17
|
+

|
18
|
+
|
19
|
+
Features
|
20
|
+
--------------------------------------------------------------------------------
|
21
|
+
Workarea combines commerce, content, search, and insights into a unified platform to enable merchants to move faster and work smarter. Out-of-the-box features include:
|
22
|
+
|
23
|
+
**Storefront**
|
24
|
+
* Mobile-first frontend
|
25
|
+
* Localization support
|
26
|
+
* First-class SEO
|
27
|
+
* Built-in analytics
|
28
|
+
* Cart and checkout
|
29
|
+
* Customer accounts
|
30
|
+
* Discounts
|
31
|
+
* Basic taxes
|
32
|
+
* Shipping services
|
33
|
+
|
34
|
+
**Content**
|
35
|
+
* Responsive CMS
|
36
|
+
* Asset management
|
37
|
+
* Localized content
|
38
|
+
* Intelligent merchandising
|
39
|
+
* Content-based navigation
|
40
|
+
|
41
|
+
**Search**
|
42
|
+
* Product search
|
43
|
+
* Search-driven categories
|
44
|
+
* Filtering and sorting
|
45
|
+
* Search merchandising
|
46
|
+
* Results tuning
|
47
|
+
* Advanced reporting
|
48
|
+
|
49
|
+
**Insights**
|
50
|
+
* Robust dashboards
|
51
|
+
* Sales reports
|
52
|
+
* Trending reports
|
53
|
+
* Search reports
|
54
|
+
* Advanced insights
|
55
|
+
|
56
|
+
**Admin**
|
57
|
+
* Site planning and automation
|
58
|
+
* Workflows for common tasks
|
59
|
+
* Inline insights
|
60
|
+
* Search-first administration
|
61
|
+
* Commenting
|
62
|
+
* Audit logs for changes
|
63
|
+
|
64
|
+
|
65
|
+
Demo
|
66
|
+
--------------------------------------------------------------------------------
|
67
|
+
|
68
|
+
You can run a demo version of workarea by running the following command in your terminal:
|
69
|
+
|
70
|
+
```bash
|
71
|
+
curl -s https://raw.githubusercontent.com/workarea-commerce/workarea-demo/master/bin/install | bash
|
72
|
+
```
|
73
|
+
|
74
|
+
This will run a script that does the following:
|
75
|
+
|
76
|
+
* clone the [workarea-demo](https://github.com/workarea-commerce/workarea-demo) repository.
|
77
|
+
* build a Docker image for the application
|
78
|
+
* start containers for the application and required services
|
79
|
+
* seed the database
|
80
|
+
* start the application server
|
81
|
+
|
82
|
+
It requires you have Docker installed and running. Once complete, you can visit `http://localhost:3000` to view your app. The seed data provides an admin user with an email/password of `user@workarea.com/w0rkArea!`.
|
83
|
+
|
84
|
+
Getting Started
|
85
|
+
--------------------------------------------------------------------------------
|
86
|
+
We'll assume you have [Docker desktop](https://www.docker.com/products/docker-desktop) and [Ruby >= 2.4.0, < 2.7.0](https://github.com/rbenv/rbenv#installation) installed.
|
87
|
+
|
88
|
+
1. Add the `workarea` gem to the `Gemfile` in your Rails 5.2 app:
|
89
|
+
|
90
|
+
gem 'workarea', '~> 3.4.6'
|
91
|
+
|
92
|
+
2. Install the gems:
|
93
|
+
|
94
|
+
$ bundle install
|
95
|
+
|
96
|
+
3. Start the workarea services (uses Docker):
|
97
|
+
|
98
|
+
$ bin/rails workarea:services:up
|
99
|
+
|
100
|
+
4. Run the Workarea Rails generator:
|
101
|
+
|
102
|
+
$ bin/rails generate workarea:install
|
103
|
+
|
104
|
+
This generator will mount the Workarea engines in `config/routes.rb`, and add Workarea seeds to `db/seeds.rb`.
|
105
|
+
|
106
|
+
5. Run the database seeds:
|
107
|
+
|
108
|
+
$ bin/rails db:seed
|
109
|
+
|
110
|
+
5. Run the Rails server:
|
111
|
+
|
112
|
+
$ bin/rails server
|
113
|
+
|
114
|
+
6. Visit `http://localhost:3000` in a browser and you'll see your Workarea storefront.
|
115
|
+
|
116
|
+
For more information on getting started, see the [quick start](https://developer.workarea.com/articles/create-a-new-app.html) guide.
|
117
|
+
|
118
|
+
|
119
|
+
Plugins
|
120
|
+
--------------------------------------------------------------------------------
|
121
|
+
Workarea extends functionality with a library of plugins. These plugins add everything from additional content blocks, to wish lists, to payment gateway integrations and more. Here are some of the most popular plugins:
|
122
|
+
|
123
|
+
| Plugin | Description |
|
124
|
+
| --- | --- |
|
125
|
+
| [API](https://github.com/workarea-commerce/workarea-api) | Provides APIs for storefront and admin |
|
126
|
+
| [Blog](https://github.com/workarea-commerce/workarea-blog) | Integrated blogging |
|
127
|
+
| [Reviews](https://github.com/workarea-commerce/workarea-reviews) | Adds product reviews |
|
128
|
+
| [Google Analytics](https://github.com/workarea-commerce/workarea-google-analytics) | Integrates GA with Workarea's analytics |
|
129
|
+
| [Paypal](https://github.com/workarea-commerce/workarea-paypal) | Adds Paypal checkout |
|
130
|
+
| [Wish Lists](https://github.com/workarea-commerce/workarea-wish-lists) | Adds customer wish lists |
|
131
|
+
| [Sitemaps](https://github.com/workarea-commerce/workarea-sitemaps) | Autogenerating sitemaps |
|
132
|
+
| [Share](https://github.com/workarea-commerce/workarea-share) | Adds page sharing via social media or email |
|
133
|
+
| [Google Tag Manager](https://github.com/workarea-commerce/workarea-tag-manager) | Adds [Google Tag Manager](https://marketingplatform.google.com/about/tag-manager/) |
|
134
|
+
| [Package Products](https://github.com/workarea-commerce/workarea-package-products) | Allows displaying products as a group in browse and details pages |
|
135
|
+
| [Gift Cards](https://github.com/workarea-commerce/workarea-gift-cards) | Adds Workarea-native digital gift cards |
|
136
|
+
|
137
|
+
Deploying
|
138
|
+
--------------------------------------------------------------------------------
|
139
|
+
Workarea is fairly complex application to host, we recommend our [Commerce Cloud](https://www.workarea.com/pages/commerce-cloud) hosting.
|
140
|
+
|
141
|
+
If you'd like to host on your own, we have some documentation to help:
|
142
|
+
|
143
|
+
* [Required infrastructure](https://developer.workarea.com/articles/infrastructure.html)
|
144
|
+
* [Configuring Workarea for hosting](https://developer.workarea.com/articles/configuration-for-hosting.html)
|
145
|
+
|
146
|
+
|
147
|
+
Contributing
|
148
|
+
--------------------------------------------------------------------------------
|
149
|
+
All contributors in any way are expected to follow the [code of conduct](https://github.com/workarea-commerce/workarea/blob/master/CODE_OF_CONDUCT.md).
|
150
|
+
|
151
|
+
### Looking for how to contribute code?
|
152
|
+
We encourage you to contribute to Workarea! Check out our [articles on contribution](https://developer.workarea.com/articles/contribute-code.html) on [https://developer.workarea.com](https://developer.workarea.com).
|
153
|
+
|
154
|
+
### Looking for how to submit a bug?
|
155
|
+
Please check out our [article on how to submit a bug](https://developer.workarea.com/articles/report-a-bug.html) for how to proceed
|
156
|
+
|
157
|
+
### Looking for how to report a security vulnerability?
|
158
|
+
Please check out our [security policy](https://developer.workarea.com/articles/security-policy.html) for how to proceed.
|
159
|
+
|
160
|
+
|
161
|
+
License
|
162
|
+
--------------------------------------------------------------------------------
|
163
|
+
Workarea Commerce Platform is released under the [Business Software License](https://github.com/workarea-commerce/workarea/blob/master/LICENSE)
|
data/docker-compose.yml
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
version: '3'
|
2
|
+
services:
|
3
|
+
mongo:
|
4
|
+
image: "mongo:${MONGODB_VERSION}"
|
5
|
+
volumes:
|
6
|
+
- mongo:/data/db
|
7
|
+
ports:
|
8
|
+
- '127.0.0.1:${MONGODB_PORT}:27017'
|
9
|
+
|
10
|
+
redis:
|
11
|
+
image: "redis:${REDIS_VERSION}"
|
12
|
+
volumes:
|
13
|
+
- redis:/data
|
14
|
+
ports:
|
15
|
+
- '127.0.0.1:${REDIS_PORT}:6379'
|
16
|
+
|
17
|
+
elasticsearch:
|
18
|
+
image: "elasticsearch:${ELASTICSEARCH_VERSION}"
|
19
|
+
ports:
|
20
|
+
- '127.0.0.1:${ELASTICSEARCH_PORT}:9200'
|
21
|
+
volumes:
|
22
|
+
- elasticsearch:/usr/share/elasticsearch/data
|
23
|
+
|
24
|
+
volumes:
|
25
|
+
mongo:
|
26
|
+
redis:
|
27
|
+
elasticsearch:
|
data/docs/Gemfile
ADDED
data/docs/bin/middleman
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
#
|
5
|
+
# This file was generated by Bundler.
|
6
|
+
#
|
7
|
+
# The application 'middleman' is installed as part of a gem, and
|
8
|
+
# this file is here to facilitate running it.
|
9
|
+
#
|
10
|
+
|
11
|
+
require "pathname"
|
12
|
+
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
|
13
|
+
Pathname.new(__FILE__).realpath)
|
14
|
+
|
15
|
+
bundle_binstub = File.expand_path("../bundle", __FILE__)
|
16
|
+
|
17
|
+
if File.file?(bundle_binstub)
|
18
|
+
if File.read(bundle_binstub, 150) =~ /This file was generated by Bundler/
|
19
|
+
load(bundle_binstub)
|
20
|
+
else
|
21
|
+
abort("Your `bin/bundle` was not generated by Bundler, so this binstub cannot run.
|
22
|
+
Replace `bin/bundle` by running `bundle binstubs bundler --force`, then run this command again.")
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
require "rubygems"
|
27
|
+
require "bundler/setup"
|
28
|
+
|
29
|
+
load Gem.bin_path("middleman-cli", "middleman")
|
data/docs/config.rb
ADDED
@@ -0,0 +1,87 @@
|
|
1
|
+
require_relative './workarea_renderer'
|
2
|
+
|
3
|
+
# Activate and configure extensions
|
4
|
+
# https://middlemanapp.com/advanced/configuration/#configuring-extensions
|
5
|
+
|
6
|
+
set :markdown_engine, :redcarpet
|
7
|
+
set :markdown, fenced_code_blocks: true, tables: true, no_intra_emphasis: true, renderer: WorkareaRenderer
|
8
|
+
|
9
|
+
set :relative_links, true
|
10
|
+
|
11
|
+
set :feedback_url, 'https://docs.google.com/forms/d/e/1FAIpQLSdwBiHq_F8TVPAcBQFGf9e--yCE6rbGvGuiAF-W2lB2zrRbtg/viewform?usp=pp_url&entry.1298659050='
|
12
|
+
|
13
|
+
activate :search do |search|
|
14
|
+
search.resources = Dir['source/**/*.html*'].map do |path|
|
15
|
+
path.split('/').drop(1).join('/').gsub(/\.erb|\.md/, '')
|
16
|
+
end
|
17
|
+
|
18
|
+
search.fields = {
|
19
|
+
title: { boost: 100, store: true, required: true },
|
20
|
+
content: { boost: 50 },
|
21
|
+
excerpt: { index: false, store: true },
|
22
|
+
url: { index: false, store: true }
|
23
|
+
}
|
24
|
+
end
|
25
|
+
|
26
|
+
activate :navtree do |options|
|
27
|
+
options.automatic_tree_updates = false
|
28
|
+
end
|
29
|
+
|
30
|
+
# Layouts
|
31
|
+
# https://middlemanapp.com/basics/layouts/
|
32
|
+
|
33
|
+
# Per-page layout changes
|
34
|
+
page '/*.xml', layout: false
|
35
|
+
page '/*.json', layout: false
|
36
|
+
page '/*.txt', layout: false
|
37
|
+
|
38
|
+
# With alternative layout
|
39
|
+
page '/articles/*', layout: 'article'
|
40
|
+
page '/release-notes/*', layout: 'bare'
|
41
|
+
page '/upgrade-guides/*', layout: 'bare'
|
42
|
+
|
43
|
+
# Proxy pages
|
44
|
+
# https://middlemanapp.com/advanced/dynamic-pages/
|
45
|
+
|
46
|
+
# proxy(
|
47
|
+
# '/this-page-has-no-template.html',
|
48
|
+
# '/template-file.html',
|
49
|
+
# locals: {
|
50
|
+
# which_fake_page: 'Rendering a fake page with a local variable'
|
51
|
+
# },
|
52
|
+
# )
|
53
|
+
|
54
|
+
# Helpers
|
55
|
+
# Methods defined in the helpers block are available in templates
|
56
|
+
# https://middlemanapp.com/basics/helper-methods/
|
57
|
+
|
58
|
+
helpers do
|
59
|
+
def body_classes(classes = '')
|
60
|
+
['body', current_page.data.body_class, classes].join(' ')
|
61
|
+
end
|
62
|
+
|
63
|
+
def recent_articles(size = 5)
|
64
|
+
files = Dir['source/{articles,hosting}/**/*.md']
|
65
|
+
.map { |p| File.new(p) }
|
66
|
+
.sort { |y, x| x.ctime <=> y.ctime }
|
67
|
+
|
68
|
+
files.take(size).map do |file|
|
69
|
+
sitemap.resources.find { |r| file.path.include?(r.path) }
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
# Build-specific configuration
|
75
|
+
# https://middlemanapp.com/advanced/configuration/#environment-specific-settings
|
76
|
+
|
77
|
+
configure :build do
|
78
|
+
activate :minify_css
|
79
|
+
activate :minify_javascript
|
80
|
+
activate :relative_assets
|
81
|
+
|
82
|
+
# Keep this here, as per:
|
83
|
+
# https://github.com/middleman/middleman-autoprefixer/issues/33
|
84
|
+
activate :autoprefixer do |prefix|
|
85
|
+
prefix.browsers = "last 2 versions"
|
86
|
+
end
|
87
|
+
end
|
data/docs/config.ru
ADDED
@@ -0,0 +1,157 @@
|
|
1
|
+
introduction:
|
2
|
+
overview.html.md: /articles/overview.html.md
|
3
|
+
api-overview.html.md: /articles/api-overview.html.md
|
4
|
+
b2b-overview.html.md: /articles/b2b-overview.html.md
|
5
|
+
developing-on-workarea:
|
6
|
+
quick-start:
|
7
|
+
create-a-new-app.html.md: /articles/create-a-new-app.html.md
|
8
|
+
use-an-existing-workarea-app.html.md: /articles/use-an-existing-workarea-app.html.md
|
9
|
+
installing.html.md: /articles/installing.html.md
|
10
|
+
navigating-the-code.html.md: /articles/navigating-the-code.html.md
|
11
|
+
seeds.html.md: /articles/seeds.html.md
|
12
|
+
integrating-with-other-software: /articles/integrating-with-other-software.html.md
|
13
|
+
common-tasks:
|
14
|
+
run-sidekiq-in-a-local-environment: /articles/run-sidekiq-in-a-local-environment.html.md
|
15
|
+
add-remove-or-change-a-mongoid-validation.html.md: /articles/add-remove-or-change-a-mongoid-validation.html.md
|
16
|
+
add-metrics.html.md: /articles/add-metrics.html.md
|
17
|
+
add-a-report.html.md: /articles/add-a-report.html.md
|
18
|
+
hosting-workarea:
|
19
|
+
infrastructure.html.md: /articles/infrastructure.html.md
|
20
|
+
configuration-for-hosting.html.md: /articles/configuration-for-hosting.html.md
|
21
|
+
application-architecture:
|
22
|
+
prerequisites-and-dependencies.html.md: /articles/prerequisites-and-dependencies.html.md
|
23
|
+
domain-modeling.html.md: /articles/domain-modeling.html.md
|
24
|
+
testing.html.md: /articles/testing.html.md
|
25
|
+
view-models.html.md: /articles/view-models.html.md
|
26
|
+
workers.html.md: /articles/workers.html.md
|
27
|
+
caching:
|
28
|
+
http-caching.html.md: /articles/http-caching.html.md
|
29
|
+
html-fragment-caching.html.md: /articles/html-fragment-caching.html.md
|
30
|
+
low-level-caching.html.md: /articles/low-level-caching.html.md
|
31
|
+
diagrams:
|
32
|
+
commerce-model.html.md: /articles/commerce-model.html.md
|
33
|
+
writing-data.html.md: /articles/writing-data.html.md
|
34
|
+
reading-data.html.md: /articles/reading-data.html.md
|
35
|
+
images-flow.html.md: /articles/images-flow.html.md
|
36
|
+
extension:
|
37
|
+
extension-overview.html.md: /articles/extension-overview.html.md
|
38
|
+
appending.html.md: /articles/appending.html.md
|
39
|
+
decoration.html.md: /articles/decoration.html.md
|
40
|
+
overriding.html.md: /articles/overriding.html.md
|
41
|
+
configuration.html.md: /articles/configuration.html.md
|
42
|
+
misc:
|
43
|
+
application-document.html.md: /articles/application-document.html.md
|
44
|
+
releasable.html.md: /articles/releasable.html.md
|
45
|
+
swappable-list-data-structure.html.md: /articles/swappable-list-data-structure.html.md
|
46
|
+
plugins:
|
47
|
+
plugins-overview.html.md: /articles/plugins-overview.html.md
|
48
|
+
create-a-plugin.html.md: /articles/create-a-plugin.html.md
|
49
|
+
maintain-a-plugin.html.md: /articles/maintain-a-plugin.html.md
|
50
|
+
test-if-a-plugin-is-installed.html.md: /articles/test-if-a-plugin-is-installed.html.md
|
51
|
+
products:
|
52
|
+
products.html.md: /articles/products.html.md
|
53
|
+
sort-and-exclude-product-options.html.md: /articles/sort-and-exclude-product-options.html.md
|
54
|
+
change-the-storefront-product-pricing-ui.html.md: /articles/change-the-storefront-product-pricing-ui.html.md
|
55
|
+
configure-low-inventory-threshold.html.md: /articles/configure-low-inventory-threshold.html.md
|
56
|
+
search:
|
57
|
+
searching.html.md: /articles/searching.html.md
|
58
|
+
storefront-search-features.html.md: /articles/storefront-search-features.html.md
|
59
|
+
storefront-searches.html.md: /articles/storefront-searches.html.md
|
60
|
+
analyze-storefront-search-results.html.md: /articles/analyze-storefront-search-results.html.md
|
61
|
+
change-storefront-search-results.html.md: /articles/change-storefront-search-results.html.md
|
62
|
+
index-storefront-search-documents.html.md: /articles/index-storefront-search-documents.html.md
|
63
|
+
add-remove-sort-and-group-storefront-search-filters.html.md: /articles/add-remove-sort-and-group-storefront-search-filters.html.md
|
64
|
+
change-the-storefront-search-filters-ui.html.md: /articles/change-the-storefront-search-filters-ui.html.md
|
65
|
+
cart-and-checkout:
|
66
|
+
checkout.html.md: /articles/checkout.html.md
|
67
|
+
configure-a-payment-gateway.html.md: /articles/configure-a-payment-gateway.html.md
|
68
|
+
integrate-a-payment-gateway.html.md: /articles/integrate-a-payment-gateway.html.md
|
69
|
+
test-a-credit-card-transaction.html.md: /articles/test-a-credit-card-transaction.html.md
|
70
|
+
orders:
|
71
|
+
orders.html.md: /articles/orders.html.md
|
72
|
+
orders-and-items.html.md: /articles/orders-and-items.html.md
|
73
|
+
order-life-cycle.html.md: /articles/order-life-cycle.html.md
|
74
|
+
shipping.html.md: /articles/shipping.html.md
|
75
|
+
users:
|
76
|
+
configure-logins-and-authentication.html.md: /articles/configure-logins-and-authentication.html.md
|
77
|
+
navigation:
|
78
|
+
navigation.html.md: /articles/navigation.html.md
|
79
|
+
navigable.html.md: /articles/navigable.html.md
|
80
|
+
content:
|
81
|
+
content.html.md: /articles/content.html.md
|
82
|
+
contentable.html.md: /articles/contentable.html.md
|
83
|
+
add-a-content-area.html.md: /articles/add-a-content-area.html.md
|
84
|
+
add-a-content-block-type.html.md: /articles/add-a-content-block-type.html.md
|
85
|
+
add-system-content.html.md: /articles/add-system-content.html.md
|
86
|
+
themes:
|
87
|
+
themes-overview.html.md: /articles/themes-overview.html.md
|
88
|
+
create-a-theme.html.md: /articles/create-a-theme.html.md
|
89
|
+
pricing:
|
90
|
+
order-pricing.html.md: /articles/order-pricing.html.md
|
91
|
+
add-or-replace-a-pricing-calculator.html.md: /articles/add-or-replace-a-pricing-calculator.html.md
|
92
|
+
change-the-storefront-product-pricing-ui.html.md: /articles/change-the-storefront-product-pricing-ui.html.md
|
93
|
+
create-a-custom-discount.html.md: /articles/create-a-custom-discount.html.md
|
94
|
+
inventory:
|
95
|
+
inventory.html.md: /articles/inventory.html.md
|
96
|
+
integrate-an-inventory-management-system.html.md: /articles/integrate-an-inventory-management-system.html.md
|
97
|
+
define-and-configure-inventory-policies.html.md: /articles/define-and-configure-inventory-policies.html.md
|
98
|
+
storefronts:
|
99
|
+
views:
|
100
|
+
views.html.md: /articles/views.html.md
|
101
|
+
style-guides.html.md: /articles/style-guides.html.md
|
102
|
+
create-a-style-guide.html.md: /articles/create-a-style-guide.html.md
|
103
|
+
add-remove-or-change-a-product-template.html.md: /articles/add-remove-or-change-a-product-template.html.md
|
104
|
+
error-pages.html.md: /articles/error-pages.html.md
|
105
|
+
customize-a-helper.html.md: /articles/customize-a-helper.html.md
|
106
|
+
rails-asset-view-helpers.html.md: /articles/rails-asset-view-helpers.html.md
|
107
|
+
system-emails.html.md: /articles/system-emails.html.md
|
108
|
+
configure-contact-form-subjects-list.html.md: /articles/configure-contact-form-subjects-list.html.md
|
109
|
+
stylesheets:
|
110
|
+
css-architectural-overview.html.md: /articles/css-architectural-overview.html.md
|
111
|
+
stylesheets-overview.html.md: /articles/stylesheets-overview.html.md
|
112
|
+
add-stylesheets-through-a-manifest.html.md: /articles/add-stylesheets-through-a-manifest.html.md
|
113
|
+
add-css-through-the-admin-ui.html.md: /articles/add-css-through-the-admin-ui.html.md
|
114
|
+
feature-spec-helper-stylesheet.html.md: /articles/feature-spec-helper-stylesheet.html.md
|
115
|
+
javascripts:
|
116
|
+
javascript-overview.html.md: /articles/javascript-overview.html.md
|
117
|
+
javascript-reference-documentation.html.md: /articles/javascript-reference-documentation.html.md
|
118
|
+
javascript-modules.html.md: /articles/javascript-modules.html.md
|
119
|
+
javascript-templates.html.md: /articles/javascript-templates.html.md
|
120
|
+
access-routes-in-javascript.html.md: /articles/access-routes-in-javascript.html.md
|
121
|
+
analytics-overview.html.md: /articles/analytics-overview.html.md
|
122
|
+
integrate-a-web-analytics-provider.html.md: /articles/integrate-a-web-analytics-provider.html.md
|
123
|
+
add-javascript-through-a-manifest.html.md: /articles/add-javascript-through-a-manifest.html.md
|
124
|
+
add-javascript-through-a-view.html.md: /articles/add-javascript-through-a-view.html.md
|
125
|
+
add-javascript-through-the-admin-ui.html.md: /articles/add-javascript-through-the-admin-ui.html.md
|
126
|
+
featurejs-and-feature-spec-helper.html.md: /articles/featurejs-and-feature-spec-helper.html.md
|
127
|
+
automated-javascript-testing.html.md: /articles/automated-javascript-testing.html.md
|
128
|
+
browser-and-device-support.html.md: /articles/browser-and-device-support.html.md
|
129
|
+
progressive-web-application-support.html.md: /articles/progressive-web-application-support.html.md
|
130
|
+
assets:
|
131
|
+
rails-asset-manifests.html.md: /articles/rails-asset-manifests.html.md
|
132
|
+
configure-asset-types.html.md: /articles/configure-asset-types.html.md
|
133
|
+
configure-product-image-sizes-and-processing.html.md: /articles/configure-product-image-sizes-and-processing.html.md
|
134
|
+
configure-imageoptim.html.md: /articles/configure-imageoptim.html.md
|
135
|
+
favicon-support.html.md: /articles/favicon-support.html.md
|
136
|
+
change-product-placeholder-image.html.md: /articles/change-product-placeholder-image.html.md
|
137
|
+
configure-asset-storage.html.md: /articles/configure-asset-storage.html.md
|
138
|
+
internationalization:
|
139
|
+
i18n.html.md: /articles/i18n.html.md
|
140
|
+
configure-locales.html.md: /articles/configure-locales.html.md
|
141
|
+
translate-or-customize-static-content.html.md: /articles/translate-or-customize-static-content.html.md
|
142
|
+
translate-or-customize-message-content.html.md: /articles/translate-or-customize-message-content.html.md
|
143
|
+
translate-administrable-content.html.md: /articles/translate-administrable-content.html.md
|
144
|
+
translate-javascript-content.html.md: /articles/translate-javascript-content.html.md
|
145
|
+
contribute:
|
146
|
+
contribute-code.html.md: /articles/contribute-code.html.md
|
147
|
+
contribute-documentation.html.md: /articles/contribute-documentation.html.md
|
148
|
+
documentation.html.md: /articles/documentation.html.md
|
149
|
+
documentation-style-guide.html.md: /articles/documentation-style-guide.html.md
|
150
|
+
report-a-bug.html.md: /articles/report-a-bug.html.md
|
151
|
+
coding-standards:
|
152
|
+
ruby-coding-standards.html.md: /articles/ruby-coding-standards.html.md
|
153
|
+
javascript-coding-standards.html.md: /articles/javascript-coding-standards.html.md
|
154
|
+
stylesheet-coding-standards.html.md: /articles/stylesheet-coding-standards.html.md
|
155
|
+
policies:
|
156
|
+
maintenance-policy.html.md: /articles/maintenance-policy.html.md
|
157
|
+
security-policy.html.md: /articles/security-policy.html.md
|