Designer and push
Edit forms in the designer and push them to the repository
Editing and pushing from the designer
With a repository used for forms, the designer edits the files in its working tree and pushes them back to the remote.
| Button | What it does |
|---|---|
| Save (local) | Writes the forms and config.yaml into the working trees, without committing |
| Save (repository) | Commits and pushes the saved changes; enabled once there are unpushed changes |
| Load (repository) | Pulls the forms repositories and reloads the designer, after a confirmation if edits are unsaved |
Forms stay in their repository; new ones wait, already usable, in FORMS_STAGING_PATH until you push. A form saved in a subfolder keeps its relative path: team/deploy.yaml is pushed to team/deploy.yaml under the forms folder of the repository. A new form whose path already exists there is not overwritten; it stays in staging, so rename it. With several forms repositories, Save (repository) and Load (repository) ask which one, defaulting to the config.yaml one.
A push stages all changes, commits them as AnsibleForms with the message Forms sync by <user>, then fetches, rebases on the remote and pushes, retrying up to five times. A rebase conflict is aborted and the conflicted files are listed; fix them in the remote, or use Reset on the Repositories page. Push on the Repositories page does the same.
When a single forms repository is cloned empty, AnsibleForms copies the local config.yaml and forms into its working tree, so a push (Save (repository), or Push on the Repositories page) publishes them. More on the designer is in Designer and git.