Zum Hauptinhalt springen

Marketplace

Purpose and Use Case

The Marketplace (zbsync_marketplace, extended by zbsync_marketplace_mapper and zbsync_marketplace_transformer_helper) lets you publish pipelines, individual worker steps, and reusable code snippets to a shared catalog, and pull them back down — either on another Odoo instance, or to share with teammates.

Item TypeWhat it capturesRequires
PipelineAn entire pipeline: all its workers and their configuration.zbsync_marketplace
Worker BundleA single worker step, published on its own.zbsync_marketplace
Python-CodeThe code from a Python Code Worker (zbs.transformer.python).zbsync_marketplace
Mapping codeThe code field of a single Mapper row (Code/Lookup/etc. action).zbsync_marketplace_mapper
Transformer HelperA reusable code snippet from the Transformer Helper library.zbsync_marketplace_transformer_helper

Setup

Marketplace Connection

A Marketplace Connection (Configuration → Marketplace Connections) points at a remote vault:

FieldDescription
NameA label for the connection.
HostThe vault's hostname.
PortDefault 443.
SSLWhether to connect over HTTPS.
TokenLeave empty for anonymous/public access. Set a token to act as a specific user and reach groups beyond the public one.
TimeoutRequest timeout in seconds (default 120).

A public connection to Zebroo's own vault (zsync-marketplace.zebroo.de) is pre-installed along with a matching Marketplace record, so most users don't need to set anything up unless they're pointing at a private/self-hosted vault or need a token for non-public content.

A Marketplace record wraps a Connection and holds the local catalog cache. Its catalog is refreshed automatically every 60 minutes by a background job; use the catalog's Update Catalog button for an on-demand refresh.

Publishing

Item TypeWhere to publish fromVersioning
PipelineThe pipeline's own form — "Upload to Marketplace". Also available on a specific saved pipeline version, to publish that snapshot.Re-uploading the same pipeline creates a new version of the same catalog item.
Worker BundleAn individual worker's form — "Upload to Marketplace".Currently, every Worker Bundle upload creates a new catalog item — there is no "new version of the same item" for individual workers, unlike pipelines.
Python-CodeA Python Code Worker's form — "Upload to Marketplace".Pick an existing catalog item to publish a new version of it, or leave it unset to create a new item.
Mapping codeA Mapper row's form — "Upload to Marketplace".Same as Python-Code: pick an existing item to version it, or create a new one.
Transformer HelperThe "Save" action on a helper snippet, with the "Upload to Marketplace" option enabled.Reuses the same item automatically once a snippet has been published once.

Publishing a pipeline first snapshots its current configuration as a version, then opens the upload form where you choose the target Marketplace and write a description (or a changelog, when publishing a new version of something already on the marketplace).

Finding and Browsing

  • Marketplace Catalogue — a full, browsable list of everything on a connected marketplace, kept in sync automatically (see Setup above).
  • Find — a live-search widget available directly on code, mapping, and helper-snippet forms. It searches both the marketplace catalog and your own local snippets in one place, shows a code preview, and can append the result straight into the current code field — a quicker path than browsing the full catalogue when you just need a snippet.

Downloading / Installing

Entry pointUsed for
"Download" on a catalog itemAny item type — pick the Odoo version and specific version to install.
"Download from Marketplace" on a Python Code Worker or Mapping rowInstalls directly into that record's code, appending to (Python-Code) or replacing (Mapping) any existing code.
"New from Marketplace" on the Pipelines listCreates a new pipeline from a catalog Pipeline item.
"Download Step" when adding a new pipeline stepLets you pick a Worker Bundle from the catalog instead of creating a blank worker.

Downloading picks the version that matches your current Odoo version automatically where possible, and shows a changelog for each available version before you confirm.

Usage and Best Practices

Common Pitfalls

  • Pipelines and Worker Bundles always install as new records — downloading the same item twice (or downloading it after already having a local copy) creates a duplicate rather than updating anything in place. There's no name-based conflict check, so duplicates can accumulate silently if you re-download by habit.
  • Python-Code, Mapping, and Helper snippets behave differently — these install idempotently, matched by the item's internal ID, so re-downloading the same snippet updates your existing local copy instead of duplicating it.
  • python_code catalog items require the Transformer Helper module to be downloadable through the generic catalog "Download" wizard — without zbsync_marketplace_transformer_helper installed, downloading one raises an "Unsupported item type" error (the type-specific download action on a Python Code Worker's own form works either way).
  • Worker Bundle re-uploads don't version — if you need to update a previously-published worker, expect a new catalog entry each time rather than a new version of the old one.
  • Private/token-gated vaults need a Token configured on the Marketplace Connection; without one, only the vault's public group content is reachable.