Editing and Publishing Workflow
Introduction to Knapsack's Publishing Workflow
Knapsack leverages the features of Git for managing contribution, versioning, and collaboration in the workspace. In order to publish content from the web, you'll follow the same tried and trusted Git workflows, but from a simplified interface.
Knapsack's contribution features enable all Admins and Editors to contribute to the design system via the Knapsack UI. Users have the option of merging changes into production or "proposing a change" for review by other team members or system administrators.
Knapsack dynamically generates branches and pull request ("PRs") in the connected git repo as you make, allowing the change set to be entered as a permanent record in the version history timeline of your design system.
In order to publish a change to the Cloud workspace, the PR will need to be merged in the git repo, which can happen via the Knapsack UI or via Git directly.
See below for detailed instructions on each workflow.
- Web-based contribution features are only currently supported on GitHub-backed workspaces.
- Users working in a Local environment do not need to use the web publishing or Propose Change workflows, as changes are written immediately to their local files. Local users contribute using standard git operations.
Creating or Selecting a Branch
In order to begin making changes, an Editor or Admin first needs to create or select a branch. Branches can be created using the New Branch button located in the top admin toolbar. Users can also select an existing branch by clicking the branches dropdown (defaulted to "latest").
If creating a new branch, the UI will land the user on the new branch once it has been created.
As you make changes, work is saved in the cloud so others can see and contribute. When you're ready to lock in your work or share it with an administrator for formal review, you'll need to commit the changes to the branch using the Commit Changes button in the top admin toolbar.
Each time changes are made after the initial branch creation or any subsequent commit, a new commit will be required prior to publishing.
Once changes have been committed to the branch, they can be published using the Publish Changes button in the top admin toolbar. Clicking Publish Changes creates and merges a PR in the connected Git repo.
- Once the publishing workflow is complete, changes may take 5-10 minutes to propagate on the live site while the deployment completes.
Proposing a Change
For users not comfortable publishing changes live, they can choose to "Propose a Change" using the Propose Change button in the branches drop-down.
Selecting Propose Change will create a PR much like choosing Publish Changes, however the PR will not be merged into production.