Files
homarr/apps/docs/docs/workshop/index.mdx
T

72 lines
3.8 KiB
Plaintext

---
title: Community Workshop
sidebar_label: Overview
tags:
- Workshop
- Custom Widgets
- Custom CSS
---
import { WorkshopFlowDiagram } from "@site/src/components/pages/core-concepts/technical-diagrams";
# Community Workshop
The [Community Workshop](pathname:///workshop) hosts community Custom Widgets and dashboard CSS.
:::warning Experimental
Workshop content is community-maintained. Review its source and permissions before installation.
:::
## Content flow
<WorkshopFlowDiagram />
Workshop also exposes the [Homarr Assistant provider](./homarr-provider). Its model-routing and quota path is separate
from Custom Widget and CSS submissions.
## Install content
- Install a Custom Widget from **Management → Custom Widgets → Import from Workshop**.
- Import dashboard CSS from **Board settings → Custom CSS → Import from Workshop**.
Custom Widget credentials stay in your Homarr instance. Ordinary installation does not load the workbench; **Remix in
workbench** installs a separate local widget and opens its draft. Widgets without data sources need no URL or credentials.
Installation records the Workshop endpoint, submission, revision, and content fingerprint. A JSON file import has no
Workshop identity, even when its name matches a submission. Editor layout and credentials are not part of the portable
definition. Native integration selections are also local: exports clear their default IDs, and installation binds them
to existing integrations in your instance. Leaving a selection empty defers setup to each board widget's configuration.
## Updates and rollback
The workbench's Workshop panel compares a linked installation with its latest revision. Applying an update preserves
local service URLs, network scopes, and credentials. Changed source identities or authentication destinations require
installing a separate copy. Locally modified definitions also require a separate copy; Homarr does not merge authored JSX.
Compatible native integration selections are retained; new options and options whose allowed integration kinds change
start unconfigured. The review also includes shared-content declarations and their write permissions. Stored board content
and each user's preferences remain in Homarr and are not included in a submission.
Each update retains one previous installed package for rollback. Rollback restores the definition, preserves current
service URLs and credentials, and works without contacting Workshop. It refuses changed source authentication bindings.
Changing the configured Workshop endpoint disables upstream updates for installations linked to the previous endpoint.
## Publish content
Publish a saved Custom Widget from its action menu or workbench. The reviewed saved definition must still match when
publication starts. Updating a linked submission requires its Workshop author account and preserves its identity,
screenshots, votes, and comments. A remix creates a new submission with attribution. Publishing succeeds independently of
linking the resulting submission back to your local widget; a linking failure must not be retried as a new publication.
Custom JSX v2 remains supported. Scoped styles, fragments, preferences, shared content, and native capabilities use
`homarr-custom-widget-v3`; Workshop clients and the Workshop service must support that schema before publishing or
updating such submissions. Custom CSS and manual submissions can be published from the Workshop website.
Sign in to the Workshop and open **Yours** to update or delete submissions and review reports. Signed-in users can vote,
comment, and report content; Workshop moderators can remove content. Workshop moderation is separate from administration
of a Homarr instance.
See the [Workshop operator guide](/docs/advanced/development/workshop-operator) to host Workshop or
[Workshop development](/docs/advanced/development/workshop) to run it from the repository.