-
Notifications
You must be signed in to change notification settings - Fork 56
[CATALYST-1681] Add Supported Features #1236
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
630fd26
5a1386d
9e275c7
f226222
4d8bb36
f79291a
95f3f03
e08fbe4
c4a9bb1
f8712ea
0325176
5fc2888
2fe96d7
6e7f3d4
5ff4d65
fe7a39c
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,58 @@ | ||
| # Feature Support | ||
|
|
||
| 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. | ||
|
|
||
| <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> | ||
|
|
||
| ## Feature Support Status Legend | ||
|
|
||
| - 🟢 **Green**: Natively supported in Catalyst | ||
| - 🟡 **Yellow**: Partially supported but might be missing functionality | ||
| - 🔴 **Red**: Not supported | ||
|
|
||
| <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> | ||
|
|
||
| | Feature | Supported | Notes | | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The table seems to be organized specifically with unsupported first. Just a note that that was counterintuitive to me.
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yeah that was intentional although I debated about it. I assume the most important thing someone wants to know is what is not supported vs what is. That's why I put it at the top. I'm curious to see what other feedback we get on that
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Seemingly missing from the table: Out of Stock Messages, Pick List options, Open Graph, CAPTCHA, Tax inclusive/exclusive display
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I know out of stock messages are there now. Do you know right of hand if the rest of the ones listed here ones that aren't supported yet? |
||
| |---------|-----------|-------| | ||
| | [Banners](https://support.bigcommerce.com/s/article/Creating-Editing-Banners) | 🔴 | Use [Makeswift](https://www.makeswift.com) (or an alternative) instead. | | ||
| | 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. | | ||
| | [Meta Pixel](https://support.bigcommerce.com/s/article/Meta-Pixel) | 🔴 | | | ||
| | [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. | | ||
jamesqquick marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| | [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. | | ||
| | Promotional Banners | 🔴 | | | ||
| | Returns / RMA | 🔴 | Recommended to use partner solutions (e.g., Happy Returns, Returnly, Loop Returns, AfterShip). | | ||
| | [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. | | ||
jamesqquick marked this conversation as resolved.
Show resolved
Hide resolved
jamesqquick marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| | File Upload Product Option Type | 🔴 | | | ||
| | Product Videos | 🔴 | Can be custom-built using the GraphQL Storefront API | | ||
| | Express Wallet Buttons | 🔴 | Can be custom-built using the GraphQL Storefront API | | ||
| | [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. | | ||
| | [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). | | ||
| | [Gift Wrapping](https://support.bigcommerce.com/s/article/Gift-Wrapping) | 🟡 | | | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think this can be done through Shared Product Options, but @matthewvolk you might know more here.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm not sure whether they're through Shared Product Options or not but Gift Wrapping can definitely be queried through SF GQL:
|
||
| | Masquerading / Login as Customer | 🟡 |Supported by [Catalyst Customer Login app](https://github.com/bigcommerce/catalyst-customer-login) but not natively supported | | ||
| | Order Downloads | 🟡 | Use custom digital product fulfillment pipeline. Like agencies do for Stencil today. | | ||
| | Order Tracking Links | 🟡 | | | ||
| | [Saved Payment Methods](https://support.bigcommerce.com/s/article/Enabling-Stored-Payment-Methods) | 🟡 | | | ||
jamesqquick marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| | 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 | | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Something that keeps coming up from merchants is the ability to change the domain within the sitemap index file to be the vanity domain. I don't think we should do it, but instead we need to inform merchants that it shouldn't affect crawlers abilities to index their site correctly.
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do you have a reference as to what that looks like?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. https://catalyst-demo.site/sitemap.xml This is what is currently looks like: <sitemapindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd">
<sitemap>
<loc>https://store-rwyfoupid7-1669478.mybigcommerce.com/xmlsitemap.php?type=products&page=1</loc>
</sitemap>
// ...
</sitemapindex>This is what they want, but what we have doesn't actually affect SEO: <sitemapindex xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd">
<sitemap>
<loc>https://catalyst-demo.site/xmlsitemap.php?type=products&page=1</loc>
</sitemap>
// ...
</sitemapindex> |
||
| | 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 | | ||
| | 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). | | ||
| | [Scripts 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.| | ||
| | [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. | | ||
| | [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)| | ||
| | [Product Reviews](https://support.bigcommerce.com/s/article/Customer-Groups) | 🟢 | Added in [Catalyst 1.4](/docs/storefront/catalyst/release-notes/1-4-0) | | ||
| | [Customer Groups](https://support.bigcommerce.com/s/article/Customer-Groups) | 🟢 | Support for customer group product visibility and pricing, powered by our GraphQL API. | | ||
| | [Gift Certificates](https://support.bigcommerce.com/s/article/Gift-Certificates) | 🟢 | Added in [Catalyst 1.3](/docs/storefront/catalyst/release-notes/1-3-0)| | ||
| | [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. | | ||
| | [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 | | ||
| | My Account / Orders | 🟢 | Supports profiles, addresses, and order history. Tracking links not included yet; downloadable product links not supported. | | ||
| | Native Analytics | 🟢 | We support three server-side sent events which are triggered in Catalyst middleware: visitStartedEvent, pageViewedEvent, and productViewedEvent. | | ||
| | [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)| | ||
| | 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. | | ||
| | [Persistent Cart](https://support.bigcommerce.com/s/article/Persistent-Cart) | 🟢 | Login mutation will be extended to automatically restore and merge carts just like Stencil. | | ||
| | [Promotions](https://support.bigcommerce.com/s/article/Promotions-Video) | 🟢 | Promotional logic works in cart; some promo banners are not yet supported (separate item). | | ||
| | Single Storefront Multi-currency | 🟢 | Added in #1912, only supports transactional currencies for now, not display-only currencies. | | ||
| | Single Storefront Multi-geo | 🟢 | | | ||
| | 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 | | ||
| | Synchronized login state between storefront and checkout; global logout | 🟢 | Enabled through Customer Access Token (CAT) used in Catalyst by default. | | ||
| | 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. | | ||
| | Wishlists | 🟢 | [Wishlist Catalyst documentation](/docs/storefront/catalyst/reference/wishlists) | | ||
| | Out of Stock Messages | 🟢 |Added in [Catalyst 1.4](/docs/storefront/catalyst/release-notes/1-4-0) | | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might it be helpful to call out what's in the GraphQL API and what isn't? The difficulty of building something depends a lot on availability in the GraphQL API. Perhaps yellow means it's supported by the API but it's not in Catalyst and red that it's not in the GraphQL API?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah I'd love to get that level of detail. Unfortunately, that means additional help from others which may or may not be a big deal. I was thinking of including those details as a future iteration and being able to ship this one and communicate "this is where you go for feature lists". Then, track update work for the future and also take feedback. If you happen to know the answers to a few of these right of hand, I'd love that!