Synchronizing objects
FirstSpirit objects can be synchronized externally in two ways:
- Via the Auto sync entry in the configuration area
- Manually using the Synchronize elements button.
Both options require that an external folder is selected first. This folder forms the basis for the exchange of objects / files with the file system. Elements in this folder can be synchronized from the local FirstSpirit projects. Included objects are listed under “Included objects” in the “External synchronization” area. If objects from a FirstSpirit project are to be synchronized not only externally but the intention is also to use these objects in other FirstSpirit projects as well (by importing them from the external folder), the user must ensure that all dependencies of the objects are also included in the synchronization or that these dependent elements are already present in the target project. Although external synchronization displays these dependencies to the user (for the objects to be exported), synchronization can still be started even without all of the dependencies being fulfilled.
The mode for synchronization should not be established until all objects are included.
- Automatic synchronization is activated using the “Auto sync” checkbox (see the Configuration page). All included objects are synchronized without further editing by the user in the defined folder as long as the folder remains open in the “External synchronization” area (the icon is inactive).
Synchronization takes place whenever one of the included objects changes (during saving) and the user's local SiteArchitect is in the foreground.
Synchronization is always based on the state of the object and the associated default action (see the Included objects page). Changing the direction of synchronization or resolving conflicts automatically is not possible in this mode. Dependent objects are not added automatically. Since new objects are synchronized immediately as well, it is recommended to keep the checkbox unchecked until all objects and their dependencies have been captured for the first time.
- : Clicking this button starts a one-time manual synchronization of “included objects” (see the Included objects page; with the option to export changes to the external directory or import external changes to the FirstSpirit project).
The “Included objects” overview always shows the state of the objects from the perspective of the external directory.These objects are linked to a revision in the project. In order to find local or external changes that have been made to objects since the last synchronization, this revision must be updated using the “Reload file system folder” icon prior to manual synchronization (see the Configuration page). If external content has changed since the last synchronization, these changes will now be shown.
Prior to manual synchronization, dependencies can be added (see the Adding objects page), the default synchronization action can be changed, or objects can be removed (see the “Included objects” page, section Choosing the action manually). In addition, existing conflicts related to particular objects can be resolved (see the Resolving conflicts page).
Only one version of an object is synchronized at a time. This means that if an object is exported to an external directory and then reimported (e.g., into a different FirstSpirit project), the version history only receives the corresponding add or import actions, but not the entire version history of the object from the source project. |
When synchronizing FirstSpirit project content, objects are changed, deleted, and added. Regardless of the action performed, the relevant user permissions (read, edit, create) are required. |
If database content is to be imported, it is important to ensure that a corresponding database connection is available for the project (for more information, refer to the FirstSpirit documentation for administrators, for example, sections“Database connection”, “Server properties” / “Databases”, and “Project properties” / “Databases”.) |
Lost & Found – handling surplus child elements in the target project
If a parent element (folder) is exported explicitly from a source project and imported into a target project, child elements of this folder, which are only included in the target project, are
- moved to a “Lost & Found” folder created by the system (in the associated store) if the child element has a UID (exception: “Queries” and “Table templates”)
- deleted if
- the child element does not have UID (folders in the Template Store, sections in the Page Store) and is not referenced by any other object, or
- the child element is a query or table template and is not referenced by any other object.
Elements that still have incoming references (i.e., those that are still referenced by another object) are always retained in the target project and are not deleted.