Overview
An external source brings documents into the CMS from a system where they already live – and keeps them up to date there. Instead of uploading files by hand, you decide once where they come from, where they belong in the document store and how often DDM checks. From then on DDM takes over new files, stores changed ones as a new version and leaves unchanged ones alone.
You find the sources in the CMS under Settings › External sources. Only administrators and owners see this area.
Which sources are available
| System type | Fetches files from | Sign-in | From plan | Guide |
|---|---|---|---|---|
| SharePoint | the document library of a SharePoint site | app registration in Microsoft Entra ID | Professional | SharePoint |
| OneDrive | a person's OneDrive | app registration in Microsoft Entra ID | Professional | OneDrive |
| Google Drive | a folder in Google Drive or a shared drive | service account in Google Cloud | Professional | Google Drive |
| FTP / SFTP | a directory on an FTP, FTPS or SFTP server | user and password or SSH key | Enterprise | FTP / SFTP |
| REST interface | your own system with an HTTP/JSON interface | a header, e.g. an API token | Enterprise | REST |
| SOAP interface | a system with a SOAP web service | a header | Enterprise | SOAP |
An organisation can have as many sources as it likes – e.g. one for the sales site in SharePoint and one for engineering's FTP server. Each has its own credentials, its own schedule and its own mapping to categories.
Setting up a source
Add the source
Click New source at the top right. A new source called „Source" appears in the list and opens. At the top, give it a name your colleagues will recognise – e.g. „SharePoint Sales" – and choose the System type.
A new source is off: it fetches nothing until you switch it on.
Enter the connection
Which fields appear depends on the system type – the guide for each type explains them. Each field is saved as soon as you leave it.
Passwords, keys and tokens are stored encrypted and never shown again. Below the field it only says whether something is stored: Saved — enter it again to change it or Not saved. With Remove you delete a stored value.
Test the connection
Click Test connection. DDM signs in to the source with the saved details and reads the chosen folder – nothing is imported. What the messages mean is explained for each system type.
Decide what is taken over
Under Import scope you decide which categories the files go into, which files count and what happens to ones that already exist – see Import scope.
Sync once by hand
Click Sync now. This also works while the source is still off – so you see the result before it runs regularly. Afterwards, check in Documents that the documents are where you expect them.
Choose a schedule and switch it on
Under Sync, choose how often DDM checks, and switch on Source active at the top, beside the name.
Import scope
The Import scope area applies to all system types.
| Setting | What it does |
|---|---|
| Import categories | Whether DDM creates categories from the source's folders. Off: the documents land in the document store without a category – except with Fixed category. |
| Import files | Whether documents are taken over at all. Off: a sync only creates categories. |
| Category mapping | How folders become categories – see below. |
| Fixed category | Only with the mapping of the same name: the category everything goes into. |
| File filter | Which files count, e.g. *.pdf; *.docx. Empty = all. |
| Already present | What happens to a file that already exists in DDM – see below. |
| Status of new documents | As set under Approval & retention, always Draft, or Approved (trusted) – see below. |
| Structure preview | Only with REST and SOAP: which paths from the last Test chain would go into which category. |
Category mapping
Paths count from the folder you entered for the connection. A file that lies directly in it gets no category.
| Mapping | Sales/Prices/List.pdf becomes | Suitable if |
|---|---|---|
| Mirror the folder structure (default) | the category Prices below Sales | the source's folders are already organised the way you want them in DDM |
| Everything into one category | a category Sales / Prices at the top level – one per folder, without nesting | you want a flat list without sub-categories |
| Fixed category | the chosen category, wherever the file lies | everything from this source belongs together |
DDM recognises a category that already exists by its name under the same parent – so a second sync does not create anything twice. If you rename an imported category in DDM, the next sync creates a new one with the name from the source next to it.
If no category is chosen for Fixed category (None chosen — files land at the root of the library), the documents land in the document store without a category. If the chosen category is deleted later, the selection is empty again.
File filter
Separate several patterns with ; or ,. Upper and lower case do not matter.
*.pdf– all files whose name ends in.pdf.Pricelist.xlsx– exactly this one file.*.pdf; *.docx; *.pptx– PDFs, Word and PowerPoint files.
A * only works at the start of a pattern. Price*.pdf, ? or folder paths such as Sales/*.pdf are not evaluated. Files that do not match count as skipped in the result.
Already present
| Setting | If the file already exists in DDM, … |
|---|---|
| Skip | … the document stays unchanged. DDM does not even download the file. |
| Store as a new version (default) | … DDM stores it as a new version – provided the content has changed. If New version on re-upload is off under Settings › Versioning, it replaces the current version instead. |
| Overwrite | … DDM replaces the current version, provided the content has changed. If an approval has decided on this version, the new file is added as a new version – an approval is never changed after the fact. |
Whether something has changed is decided by the content: DDM compares the downloaded file with the current version. If it is the same, it counts as unchanged and no version is created – even if only the modification date has moved in the source.
When new content comes in, the document is treated as with an upload by hand: an approved document goes back to draft, a running approval ends, and whoever looks after the document gets the e-mail about the new version.
How DDM recognises a file
- By its identifier in the source: for SharePoint, OneDrive and FTP the file's path, for Google Drive the file ID, for REST and SOAP the mapped External id.
- Otherwise by the same identifier on a document that no longer belongs to a source – e.g. one from a deleted source.
- Otherwise by a document with the same name in the same category that has no identifier yet – e.g. one somebody uploaded by hand.
A document found this way belongs to this source from then on.
What happens to new documents
A newly taken-over document gets
- the file name as its name,
- the status from Settings › Approval & retention › Default status for new uploads (default: Draft) – or the one the source sets under Status of new documents,
- the setting New documents may be shared from the same area, like an upload,
- External source as its origin.
The text is read for the search as with every upload. The import does not set markets, tags or an owner – you can do that afterwards in the document store, for many at once too.
An imported document gets its permissions like any other, through its category – see Groups and permissions. With REST and SOAP, the import can additionally grant read access to a group – see Group mapping.
Trusted sources
With Status of new documents set to Approved (trusted), the source's documents are approved at once – without an approval workflow, also with Distribute only after approval. That includes new versions: new bytes otherwise send an approved document back to draft, not with a trusted source. An archived document stays archived. The audit log records every such approval with the source.
Only use this for systems whose content has already been checked, e.g. a PIM with its own approval.
Sync
When a sync runs
| Sync | Runs |
|---|---|
| Manual | only when somebody clicks Sync now |
| Hourly | every hour at :45 |
| Daily | every day at 4:45 am |
| Weekly | on Mondays at 4:45 am |
The times are in the time zone of the DDM server. Only sources that are active run on schedule – and only as long as your plan includes the system type.
What a sync does
On every sync, DDM reads the whole source from the given folder again, downloads every matching file and compares it with what is in DDM. Afterwards it reports what happened:
| Result | Means |
|---|---|
| created | new documents |
| new version(s) | documents with changed content |
| unchanged | files whose content has stayed the same |
| skipped | files the file filter excludes, existing ones with Skip, or all of them if Import files is off |
| could not be fetched | files that could not be loaded – including those over 25 MB |
| categories created | new categories from the folders |
If there is nothing to do, it says Nothing to import. Below the system type it says when the last sync was (Last synced: …).
If there is more in the source than one sync takes over, the result says Limit reached – see Limits.
The result with the figures appears after Sync now. A scheduled sync leaves its outcome behind too: if it failed or hit a limit, Last sync: … with the reason appears in orange below Last synced. What it took over is shown in the Audit log under Document imported from a source and New version uploaded – see Usage and audit.
A source never syncs twice at the same time. If a sync is already running, it says This source is already being synchronised — please try again once that run has finished. A file that cannot be loaded does not hold up the sync; the others are still taken over.
What a sync never does
- It deletes nothing. If a file disappears from the source, its document stays in DDM. Tidy up such documents in the document store or archive them.
- It does not re-create a document deleted in DDM during the same run. At the next sync, however, it comes back as long as the file is in the source – exclude it with the file filter or remove it there.
- It changes nothing in the source. DDM only reads.
Limits
| Limit | Value |
|---|---|
| Largest file | 25 MB – larger ones count as could not be fetched |
| Files per sync (SharePoint, OneDrive, Google Drive, FTP) | 500 – further ones do not follow at the next sync either |
| Folder depth (SharePoint, OneDrive, Google Drive, FTP) | 8 levels from the given folder |
| Calls per sync (REST, SOAP) | 40, at most 200 records per step |
If a limit is reached, the sync reports Limit reached. Then split the source up: several sources, each with its own sub-folder.
Changing the credentials
If you change where a source connects to – host, port or protocol for FTP, the base URL for REST, the endpoint for SOAP, tenant or client ID for Microsoft –, DDM deletes the related passwords, keys and tokens: they belonged to the old destination. The message Credentials deleted names what you need to enter again.
If you change the System type, DDM discards all fields of the previous type.
Switching a source off or removing it
- Switch off (Source active off): the source is kept with all its settings but no longer syncs on schedule. This is always possible, even after a change of plan.
- Remove: click the bin beside the name (Remove source) and confirm with Remove permanently. The source's request chain, mappings and group rules are removed with it. Documents already imported stay in the document store. If you later add a source for the same files again, it recognises these documents.
Security
- Passwords, keys and tokens are stored encrypted in the database and never leave the server – not even towards your browser.
- The audit log records who added, changed, synced or removed a source – for changes only which fields, never their values.
- DDM does not contact addresses that point to cloud metadata services. On a hosted DDM, whoever runs it can additionally block addresses in private networks; a source must then be reachable from outside.