Sharing and Reusing Functions
When a block has been validated and tested, it can be published for reuse. Published blocks are versioned, allowing you to update them when needed while maintaining control over which version each workflow uses.
Publishing a Block
To publish a block, select it and click on the publish sidebar. You'll need to provide a name and description for your block.
Publishing Scopes
Blocks can be published with three different visibility scopes:
| Scope | Description |
|---|---|
| Public | Anyone using Orixen can discover and use this block |
| Organization | Only members of your organization can access this block |
| Project | Only available within the current project |
When to use each scope:
- Public: For general-purpose utility blocks that could benefit the broader community
- Organization: For internal company blocks that should be shared across teams but not exposed externally
- Project: For blocks that are only relevant within a specific project context
For example, if you have a project managing user APIs (creation, deletion, access control), you'll likely have many blocks reused across different endpoints. In this case, publishing to the project scope avoids cluttering your organization's registry with blocks that are only relevant to that specific project.
Reusing Published Blocks
Once a block is published, it can be added to any workflow within its visibility scope. Browse the block registry and drag published blocks directly into your canvas.
Publishing New Versions
If you find a bug or want to improve a published block, you can publish a new version. Each version is tracked independently, giving consumers control over when to upgrade.
Upgrading and Downgrading Versions
To keep developers in full control, blocks must be updated individually. When a new version is available, you can choose to upgrade each instance of the block in your workflow.
If a new version introduces issues, you can also downgrade to a previous version.
Unpublishing a Block
If you decide a block should no longer be available for reuse, it can be unpublished. An unpublished block will not be deleted from existing workflows—it will continue to work as a regular function block, but without version control available.