Skip to content

Commit 577eb34

Browse files
Merge branch 'main' into DEVDOCS-6664
2 parents 5730099 + a65328a commit 577eb34

File tree

10 files changed

+97
-44
lines changed

10 files changed

+97
-44
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Features
2+
3+
Below is a list of major BigCommerce platform features, detailing what support exists in Catalyst. One important note when considering Catalyst feature support is that Catalyst is focused on working with the [GraphQL Storefront API](/docs/storefront/graphql) and not the [REST Management API](/docs/rest-management). This means that some features will not be supported out of the box in Catalyst until the functionality is available in the GraphQL Storefront API. However, you can still build custom implementations when necessary by leveraging the REST Management API.
4+
5+
<Callout type="info">This list is not intended to be a direct feature parity comparison with [Stencil](/docs/storefront/stencil). However, it does provide a good overview when considering Catalyst vs Stencil.</Callout>
6+
7+
## Feature Support
8+
9+
- 🟢 **Green**: Natively supported in Catalyst
10+
- 🟡 **Yellow**: Partially supported but might be missing functionality
11+
- 🔴 **Red**: Not supported
12+
13+
<Callout type="info">Since you have complete ownership of the code with Catalyst, you can custom build implementations of yellow and red features if you would like to.</Callout>
14+
15+
| Feature | Supported | Notes |
16+
|---------|-----------|-------|
17+
| [ADA Compliance](https://support.bigcommerce.com/s/article/Accessibility-ADA-Compliance) | 🟢 | Our new design system for 1.0 was developed with constant Lighthouse testing for accessibility, but we are also commissioning a 3rd party accessibility audit and we will address any findings from that auditor. The audit results are expected in February. |
18+
| [Cookie Consent for GDPR/CCPA](https://support.bigcommerce.com/s/article/Security-and-Privacy-Settings) | 🟢 | Added in [Catalyst 1.3](/docs/storefront/catalyst/release-notes/1-3-0)|
19+
| [Product Reviews](https://support.bigcommerce.com/s/article/Customer-Groups) | 🟢 | Added in [Catalyst 1.4](/docs/storefront/catalyst/release-notes/1-4-0) |
20+
| [Customer Groups](https://support.bigcommerce.com/s/article/Customer-Groups) | 🟢 | Support for customer group product visibility and pricing, powered by our GraphQL API. |
21+
| [Gift Certificates](https://support.bigcommerce.com/s/article/Gift-Certificates) | 🟢 | Added in [Catalyst 1.3](/docs/storefront/catalyst/release-notes/1-3-0)|
22+
| [Google Analytics (GA4)](https://support.bigcommerce.com/s/article/Google-Analytics-4-Events) | 🟢 | Integrated using BODL (Big Open Data Layer standard. Extendable for other analytics providers. |
23+
| [Multi-storefront](https://support.bigcommerce.com/s/article/Multi-Storefront) | 🟢 | Catalyst is structured as a single-domain Next.js application, so it can only serve one domain per project out of the box. However, you can deploy multiple projects to serve multiple domains (similar to one-theme-per-domain on Stencil), and you can also wire up subpaths of the domain on Catalyst to serve either multi-language or separate channels. So, Catalyst exceeds Stencil in terms of the MSF scenarios it supports. Next.js itself does support multi-domain deployments and Catalyst could be customized to do this.<br/><br/>To learn more, check out the Catalyst Multi-storefront Guide |
24+
| My Account / Orders | 🟢 | Supports profiles, addresses, and order history. Tracking links not included yet; downloadable product links not supported. |
25+
| Native Analytics | 🟢 | We support three server-side sent events which are triggered in Catalyst middleware: visitStartedEvent, pageViewedEvent, and productViewedEvent. |
26+
| [Newsletter Subscription](https://support.bigcommerce.com/s/article/Collecting-Newsletter-Subscriptions?language=en_US) | 🟢 | Added in [Catalyst 1.4](/docs/storefront/catalyst/release-notes/1-4-0)|
27+
| Secure payment handling (for PCI DSS compliance) | 🟢 | Today, no payments information touches the Next.js application due to the use of redirected checkout, so the Next.js layer is kept out of PCI scope for the most part. As we figure out the path to add Saved Payment Methods into the My Account area, we will approach this with an embedded/iframe based approach to provide similar guarantees. |
28+
| [Persistent Cart](https://support.bigcommerce.com/s/article/Persistent-Cart) | 🟢 | Login mutation will be extended to automatically restore and merge carts just like Stencil. |
29+
| [Promotions](https://support.bigcommerce.com/s/article/Promotions-Video) | 🟢 | Promotional logic works in cart; some promo banners are not yet supported (separate item). |
30+
| Single Storefront Multi-currency | 🟢 | Added in #1912, only supports transactional currencies for now, not display-only currencies. |
31+
| Single Storefront Multi-geo | 🟢 | |
32+
| Single Storefront Multi-Lang | 🟢 | Supports: static string translation via language files, translated product catalog (either within a single channel, or across channels) via localized subpaths, uses next-intl as localization framework, localization of content pages when built with Makeswift using Makeswift's existing localization capabilities.<br/><br/>To learn more, check out our Catalyst Multi-Language Guide |
33+
| Synchronized login state between storefront and checkout; global logout | 🟢 | Enabled through Customer Access Token (CAT) used in Catalyst by default. |
34+
| Visual Editing (Page Builder equivalent) | 🟢 | As of 1.0 Makeswift is deeply integrated into Catalyst on a distributable version of Catalyst; customers have the choice of either using Makeswift or selecting a version of Catalyst with no editor built in. |
35+
| Wishlists | 🟢 | [Wishlist Catalyst documentation](/docs/storefront/catalyst/reference/wishlists) |
36+
| Out of Stock Messages | 🟢 |Added in [Catalyst 1.4](/docs/storefront/catalyst/release-notes/1-4-0) |
37+
| [B2B Open Source Buyer Portal](https://github.com/bigcommerce/b2b-buyer-portal) | 🟡 | There is an **experimental** integration available. See the [Catalyst + B2B Buyer Portal](/docs/storefront/catalyst/experiments/b2b) guide for more information. |
38+
| [App Support](https://support.bigcommerce.com/s/article/Apps-Video) | 🟡 | Back-office apps focused on backend and Control Panel functionality are supported in Catalyst. Additionally, any app that exposes APIs can be integrated with custom code. However, storefront apps that modify frontend storefront behavior most likely will not work with Catalyst. To learn more about app compatibility with Catalyst, read our [Building Catalyst compatible apps guide](/docs/integrations/apps/guide/catalyst-compatible-apps). |
39+
| Masquerading / Login as Customer | 🟡 |Supported by [Catalyst Customer Login app](https://github.com/bigcommerce/catalyst-customer-login) but not natively supported |
40+
| Order Downloads | 🟡 | Use custom digital product fulfillment pipeline. Like agencies do for Stencil today. |
41+
| Order Tracking Links | 🟡 | |
42+
| [Saved Payment Methods](https://support.bigcommerce.com/s/article/Enabling-Stored-Payment-Methods) | 🟡 | |
43+
| Sitemap | 🟡 | Catalyst does generate a sitemap for you, but it does not factor in routes that are not managed by BigCommerce. For example, it does not include routes that are created in Makeswift |
44+
| In-app search | 🟡 | Catalyst does support search for BigCommerce products, but it does not factor in content that is not managed by BigCommerce. For example, it does not include content that is created in Makeswift |
45+
| Session Syncing | 🟡 | Session can be synced from a headless storefront to a Stencil checkout. For example: you log in/out in headless then redirect to checkout. Session cannot be synced from a Stencil checkout to a headless storefront. For example: you log in/out in Stencil then redirect back. For more details, refer to the [Session Sync documentation](/docs/storefront/catalyst/development/session-sync). |
46+
| [Script Manager](https://support.bigcommerce.com/s/article/Using-Script-Manager) | 🟡 | Although we don't think frontend script injection is the right way for most solutions to integrate into Catalyst - we think most people would be better served by writing Server Components - we have added Scripts into GraphQL Storefront API so they can be rendered in Catalyst when it does make sense, such as for analytics pixels. It's important to note that scripts with handlebar expressions built for Stencil will not work in Catalyst.|
47+
| [Banners](https://support.bigcommerce.com/s/article/Creating-Editing-Banners) | 🔴 | Use [Makeswift](https://www.makeswift.com) (or an alternative) instead. |
48+
| Hosting by BigCommerce | 🔴 | Requires hosting on your own provider (ex. Vercel, AWS, Cloudflare, etc.). See the [Deploying a Catalyst storefront guide](/docs/storefront/catalyst/getting-started/deploying/overview) for more information. |
49+
| [Meta Pixel](https://support.bigcommerce.com/s/article/Meta-Pixel) | 🔴 | |
50+
| [Draft Orders](https://support.bigcommerce.com/s/article/Creating-a-Draft-Order) | 🔴 | Specifically, the ability for Catalyst to take a customer-facing Draft Order URL and apply it to the Catalyst session is not supported. |
51+
| [Order Messages](https://support.bigcommerce.com/s/article/Communicating-with-Customers#Messages) | 🔴 | Specfically, the ability for a customer to add additional messages on the order details page after checkout is not supported. |
52+
| Promotional Banners | 🔴 | |
53+
| Returns / RMA | 🔴 | Recommended to use partner solutions (e.g., Happy Returns, Returnly, Loop Returns, AfterShip). |
54+
| [Abandoned Cart](https://support.bigcommerce.com/s/article/Using-the-Abandoned-Cart-Saver?language=en_US) | 🔴 | Specifically, the ability for Catalyst to take a customer-facing Abandoned Cart URL and apply it to the Catalyst cart is not supported. |
55+
| File Upload Product Option Type | 🔴 | |
56+
| Product Videos | 🔴 | Can be custom-built using the GraphQL Storefront API |
57+
| Express Wallet Buttons | 🔴 | Can be custom-built using the GraphQL Storefront API |
58+
| [Gift Wrapping](https://support.bigcommerce.com/s/article/Gift-Wrapping) | 🔴 | Can be built using the GraphQL Storefront API by querying gift wrapping options ([example here](docs/storefront/graphql/examples/products#get-product-gift-wrapping-options)) and passing them to the [Get a cart](/docs/storefront/cart-checkout/guide/graphql-storefront#get-a-cart) query |

docs/storefront/catalyst/content-management/internationalization/multi-language/overview.mdx renamed to docs/storefront/catalyst/features/localization/multi-language/overview.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Catalyst supports translating content into multiple languages on a single storef
44

55
This reference describes tools for managing translations for dynamic product catalog data. It includes managing language settings, detecting shopper preferences based on browser settings or shopper input, and switching between languages on the storefront.
66

7-
For information on how to manage translations for the storefront theme, see the [Static Translations](/docs/storefront/catalyst/content-management/internationalization/static-translations) guide.
7+
For information on how to manage translations for the storefront theme, see the [Static Translations](/docs/storefront/catalyst/features/localization/static-translations) guide.
88

99
## Content management
1010

@@ -90,7 +90,7 @@ To render dynamic product data, GraphQL Storefront API supports fetching languag
9090

9191
### Translate checkout & transactional emails
9292

93-
You can localize your checkout page by translating fixed text elements, known as static strings, into multiple languages. Static string translations are managed using [JSON files in your Catalyst project](/docs/storefront/catalyst/content-management/internationalization/static-translations), where each file contains the language-specific translations. For translation keys that checkout supports, see the [Enabling Multi-Language Checkout](https://developer.bigcommerce.com/docs/storefront/cart-checkout/localization#adding-your-own-translation-values) article. You can also use translation keys to translate emails using the [Email Template](https://developer.bigcommerce.com/docs/rest-content/email-templates#update-a-template) endpoints of the REST Content API.
93+
You can localize your checkout page by translating fixed text elements, known as static strings, into multiple languages. Static string translations are managed using [JSON files in your Catalyst project](/docs/storefront/catalyst/features/localization/static-translations), where each file contains the language-specific translations. For translation keys that checkout supports, see the [Enabling Multi-Language Checkout](https://developer.bigcommerce.com/docs/storefront/cart-checkout/localization#adding-your-own-translation-values) article. You can also use translation keys to translate emails using the [Email Template](https://developer.bigcommerce.com/docs/rest-content/email-templates#update-a-template) endpoints of the REST Content API.
9494

9595
By default, BigCommerce offers translations for the checkout page and emails in 19 languages. You can view the [full list of supported languages](https://developer.bigcommerce.com/docs/storefront/cart-checkout/localization#adding-your-own-translation-values) that we automatically provide.
9696

docs/storefront/catalyst/content-management/internationalization/multi-language/setup.mdx renamed to docs/storefront/catalyst/features/localization/multi-language/setup.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,9 @@ Let’s explore more of how this works! Static string translations are already p
9393

9494
<Video src={"https://storage.googleapis.com/bigcommerce-production-dev-center/videos/catalyst/static%20french%20translations.mov"} />
9595

96-
As you’ve noticed, after you enable a supported locale, the text for some components on your page will already be translated into this language. But if your locale is unsupported, you’ll need to [define your own static string translations](/docs/storefront/catalyst/content-management/internationalization/static-translations#translation-file) in this directory.
96+
As you’ve noticed, after you enable a supported locale, the text for some components on your page will already be translated into this language. But if your locale is unsupported, you’ll need to [define your own static string translations](/docs/storefront/catalyst/features/localization/static-translations#translation-file) in this directory.
9797

98-
When you create more components, you’ll want to access the translations from your file. Learn more about [how to use the translations](/docs/storefront/catalyst/content-management/internationalization/static-translations#using-keys-in-react-components) inside your Client and Server Components.
98+
When you create more components, you’ll want to access the translations from your file. Learn more about [how to use the translations](/docs/storefront/catalyst/features/localization/static-translations#using-keys-in-react-components) inside your Client and Server Components.
9999

100100
## Translating dynamic data from BigCommerce
101101

docs/storefront/catalyst/content-management/internationalization/multi-storefront/overview.mdx renamed to docs/storefront/catalyst/features/localization/multi-storefront/overview.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ The storefront content to localize includes the following:
2424

2525
Learn more in the [Getting Started with Localization on Multi-Storefronts](https://support.bigcommerce.com/s/article/Getting-Started-with-Localization-on-Multi-Storefronts) support article.
2626

27-
You can localize the storefront theme using [static translations](/docs/storefront/catalyst/content-management/internationalization/static-translations).
27+
You can localize the storefront theme using [static translations](/docs/storefront/catalyst/features/localization/static-translations).
2828

2929
## Locale-specific URLs
3030

docs/storefront/catalyst/content-management/internationalization/multi-storefront/setup.mdx renamed to docs/storefront/catalyst/features/localization/multi-storefront/setup.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,13 @@ One current limitation is that you can only assign a specific locale to one stor
9595

9696
### Static data
9797

98-
Each locale that we want to include on our storefronts – in our case `en`, `fr`, and `de` – has text elements that need language translations. Learn more about how to [translate those text elements into multiple languages](/docs/storefront/catalyst/content-management/internationalization/multi-language/setup#translating-static-strings) in the tutorial.
98+
Each locale that we want to include on our storefronts – in our case `en`, `fr`, and `de` – has text elements that need language translations. Learn more about how to [translate those text elements into multiple languages](/docs/storefront/catalyst/features/localization/multi-language/setup#translating-static-strings) in the tutorial.
9999

100100
If you're using Makeswift, you'll need to add the same locales that you added in your Control Panel.
101101

102102
![Makeswift locales](https://storage.googleapis.com/bigcommerce-production-dev-center/images/catalyst/multi-storefront/makeswift%20locales.png)
103103

104-
For more details on customizing content in Makeswift, check out the [Translating Makeswift content](/docs/storefront/catalyst/content-management/internationalization/multi-language/setup#translating-makeswift-content) section.
104+
For more details on customizing content in Makeswift, check out the [Translating Makeswift content](/docs/storefront/catalyst/features/localization/multi-language/setup#translating-makeswift-content) section.
105105

106106

107107
### Dynamic data
@@ -150,7 +150,7 @@ When you visit the “Shop All” category, you should see products you added to
150150

151151
<Video src={"https://storage.googleapis.com/bigcommerce-production-dev-center/videos/catalyst/Products%20MSF%20Catalyst.mov"} />
152152

153-
Learn how to translate the products and categories into French and German in the [Localizing a Storefront into Multiple Languages](/docs/storefront/catalyst/content-management/internationalization/multi-language/setup#translating-dynamic-data-from-bigcommerce) tutorial.
153+
Learn how to translate the products and categories into French and German in the [Localizing a Storefront into Multiple Languages](/docs/storefront/catalyst/features/localization/multi-language/setup#translating-dynamic-data-from-bigcommerce) tutorial.
154154

155155
#### Pricing
156156

docs/storefront/catalyst/content-management/internationalization/overview.mdx renamed to docs/storefront/catalyst/features/localization/overview.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Internationalization
1+
# Localization
22

33
You can localize your Catalyst storefront so that it appears in the shopper's preferred culture or language throughout their browsing and checkout experience.
44

@@ -12,7 +12,7 @@ Catalyst supports the following scenarios:
1212

1313
This approach is particularly common if you want unique shopping experiences for different countries like France and Germany. While each storefront is customized for its target audience, merchants often interlink the sites, enabling shoppers to choose their preferred country's website for purchases.
1414

15-
For how to implement this use case, see the [Catalyst Multi-Storefront Guide](/docs/storefront/catalyst/content-management/internationalization/multi-storefront/setup).
15+
For how to implement this use case, see the [Catalyst Multi-Storefront Guide](/docs/storefront/catalyst/features/localization/multi-storefront/setup).
1616
<br />
1717

1818
1. **Single storefront setup for multi-language**: You are selling within a country and would like to accommodate multiple languages within that country.
@@ -21,7 +21,7 @@ Catalyst supports the following scenarios:
2121

2222
With a single storefront setup, the shopper's experience remains consistent, but the content is displayed in their preferred language. This use case is particularly common in multilingual countries like Canada, where the same storefront serves shoppers in two primary languages without altering the overall user experience.
2323

24-
For how to implement this use case, see the [Catalyst Multi-Language Guide](/docs/storefront/catalyst/content-management/internationalization/multi-language/setup).
24+
For how to implement this use case, see the [Catalyst Multi-Language Guide](/docs/storefront/catalyst/features/localization/multi-language/setup).
2525

2626
Catalyst also allows you to combine both approaches. For example, you can create multiple storefronts for regions like France, the UK, and Belgium, while further customizing the Belgian storefront to support three languages within a single store.
2727

docs/storefront/catalyst/content-management/internationalization/static-translations.mdx renamed to docs/storefront/catalyst/features/localization/static-translations.mdx

File renamed without changes.

0 commit comments

Comments
 (0)