Home
Author Manual
Builder Manual
Development

Glossary
An FPM Glossary

clone

As a verb: Clone a remote into a new directory which becomes a clone project.

As a noun: An fpm project which is a clone to the remote and tracks it. The interaction with remote is established using sync.

document
The file with extension that are compiled using FPM. Currently, there are two such extensions .md and .ftd.

document-name
The unique identifier of a document. See more document-name processors.

document-full-id

The document-full-id is same as the document-id. Though, in some case, it could be alias to document-id with a document-suffix added after special character /-/. In case, when document-suffix is not present, document-full-id and document-id are same.

For a document foo.ftd, the document-id is /foo/ but document-full-id could be /foo/-/x/ where /x/ is the document-suffix. Both /foo/ and /foo/-/x/ points to foo.ftd, probably with different document-metadata.

See more document-full-id processors.

document-id

The document-id is the url of the document interface returns the location from where the compiled version of document can be accessed.

For a document foo.ftd, the document-id is /foo/ See more document-id processors.

document-metadata

The document-metadata is the key-value pair data provided to document-full-id in the sitemap.

See more get-data processor.

document-suffix

The document-suffix is the special read-only property in document-full-id which is added after special character /-/.

For /foo/-/x/ as document-full-id, /x/ is document-suffix.

This can accessed using document-suffix processor.

See also sitemap.

file
The unit of storage in FPM. It is uniquely identified by the filename.

filename
The unique identifier of an file.

file-with-conflict

The file is said to be file-with-conflict if the file gets in conflict with server latest version of the same file.

The file, in conflict-state, is never considered to be synced unless its conflict is resolved. 

fpm project
The unit folder that contains FPM.ftd and any number of folders or files of any extension along with states (server-state and/or client-state).

module
The document which can be imported in other documents. These can only be with extension .ftd.

remote
An fpm project which is used to track the same project but resides somewhere else. To communicate with remote, see clone or sync.

remote-manifest
The current tree of files in remote. This can be derived by looking at the remote history and get the latest version of each file. The file having the content from its latest version, if not deleted, becomes the part of current tree.

remote-manifest-last-sync
The remote-manifest-last-sync is same as remote-manifest, but it is derived against last synced remote state in clone.

sitemap
A sitemap is a data-structure where information is provided about the files on site. A sitemap tells which pages are important in site, and placed in proper structure. See also sitemap.

sync

To bring the contents of clone into the remote. Also to bring the remote’s changes after the clone diverged into the clone project. In the end results the remote and the clone to be exact copy of each other.

Sync is specific to a file. Though the fpm sync commands results in syncing of all the changed file.

Syncing is performed by an automatic process that identifies changes made since the clone and the remote diverged, and then applies all those changes together. In cases where changes conflict in the file, file enters into conflict-state and manual intervention may be required to complete the sync of conflicted file.

A successful sync results in the creation of a new version of the file.

three-way merge
Three-way merges use a dedicated version, also known as base version, to tie together the histories in remote and un-synced file in clone. FPM uses three state of file to generate the new version: first: latest version in remote, second: un-synced file in clone and third: their common ancestor version.

tracked file
The file that is considered part of fpm project and has entry in workspace i.e. it will be synced when fpm sync is used if it’s not file-with-conflict.

un-synced file
The changes in the file that resides in the clone and are not yet synced.

un-tracked file
The file that resides in the clone but has no entry in workspace.

version

As a noun: A single point in the FPM project history of a file; the entire history of a file in a project is represented as a series of versions.

As a verb: The action of storing a new snapshot of the file’s state in the fpm project history, by creating a new version representing the current state of the file. The new version is created by sync action.

workspace
The workspace contains all the files present in the remote-manifest, plus any local changes that have been made but not yet synced. It also includes the new files added to workspace using fpm add <file-name>.