![]() * initial setup * GRaphql setup * [skip ci] * Manifest and register endpoints * Add config schemas * contentful client * contentful client * [skip ci] trpc setup * metadata manager and contentful router * Configuration config * contentful config - adding providers * add provider page * wip contentful form * contentful form * list providrs * edit contentful form * [skip ci] * [skip ci] replace contentful sdk * replace contentful lib * Delete contetnful provider feature * variant created webhook draft * channel provider connection model * Channel connections ui * adding new connection * connections ui (adding) * [skip ci] wip edit conn * removing connection * rebuild modal * refactor providers * implement update product webhook * add deleting product * [skip ci] wip * refactor contentful router * refactor wip * refactor config * webhooks processor * webhook delegations * bulk sync section * bulk sync page * gql for imports * [skip ci] bulk import contentful * temp variant sync list with rate limiters * wip * wip * wip * new frontend for uploading * update zod * print config keys * wip * [skip ci] datocms init * dato add provdier page * dato form skeleton * dato display content type select * full dato form * ButtonsBox extraction * edit dato config form * update product in dato * [skip ci] * extract bulk sync processor * dato bulk update * [skip ci] product updated webhook * product webhook * crud operations router * update cruds * refactor webhook operations * refactors * refactors * helper texts * [skip ci] deps * Init * fix macaw icon * unify app skd * unify nextjs * strapi setup * fix strapi types * strapi upload product * strapi delete product * strapi product updated webhook * processor for bulk sync strapi * shared add provider page * refactors * refactors * wrap providers into folder * refactors * refactors * refactors * pnpm lock * add logs * name configuration mapping name * form configurable side notes * remove commentns * wip providers resolver working * central config for providers resolving * tests wip * remove vscode condig * cleanup * provider meta extract * some tests for contentufl * contentful client test * more tests for contentful * strapi helper texts * builderio setup * builderio form * builderio client draft * validate connection modal * Add sending product to builderio * rename builder field * add public api key for read access * update products * Builder.io - bulk sync * Fix manifest * cr fixes * Make strapi to work with multiple products * Github actions |
||
---|---|---|
.. | ||
docs | ||
graphql | ||
public | ||
src | ||
.env.example | ||
.eslintrc | ||
.gitignore | ||
.graphqlrc.yml | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
next-env.d.ts | ||
next.config.js | ||
package.json | ||
README.md | ||
saleor-app.ts | ||
sentry.client.config.ts | ||
sentry.edge.config.ts | ||
sentry.server.config.ts | ||
tsconfig.json | ||
turbo.json | ||
vitest.config.ts |
CMS
Overview
What is it?
CMS Hub is a Saleor app that exports products from Saleor to several popular CMSes.
Here is a list of currently supported CMSes and their configuration guides:
How does it work?
cms
listens to Saleor product variant events through webhooks.- When an event is triggered, we extract the product data and pass it to the CMS Client.
- CMS Client checks what CMS you picked, transforms the data to the format the CMS expects, and sends it over.
Mapping fields
Currently, the CMS Hub does not support mapping Saleor fields to your CMS fields. Your product model should have the following fields:
- strings fields:
saleor_id
,name
,product_id
,product_name
,product_slug
, - JSON fileds:
channels
.
Known issues
CMS Hub updates product variants in CMS providers on create, update or delete product variant webook events. They are triggered on product variant channel listing added or updated, but they currently don't trigger on deleting channel listing due to the core issue #12247. To make it working on deleting channel listing, you can additionally modify other product variant field e.g. name
, so webhook handlers receive the updated channel listings as well.
How to use it?
- Install the application in your Dashboard and open it.
- Go to Providers.
- Add CMS provider instance with proper configuration.
- Go to Channels.
- Turn on provider instances for desired channels.
- Go to Products in Dashboard.
- Add, edit or remove product variant to see it is added, updated or removed in configured CMS provider accordingly.
How can I contribute?
See CONTRIBUTING.md.