Concepts

Read this section to learn about the main terms used throughout the User Guide

Repositories

Much of the functionality within Dirk relies on its ability to create so-called “repositories” - locations on your system that you want Dirk to manage.

After defining a repository, you can begin to make full use of Dirk’s features. For example, you can take File System Snapshots, show differences from a previous snapshot (new files, deleted files, etc), create Organization Rules, etc.

By default, a Repository will manage all folders AND subfolders where it is located. This is something you should keep in mind when creating a repository.

For example, if you have a location on your system that contains all of your photos (eg: C:\Photos), you can create a repository at C:\Photos and it will scan and manage all of the files and folders within that hierarchy.

To create a Repository, simply select the “Repositories -> Create” tab in the Dirk UI and specify a name and location. In the example about, that location would be C:\Photos with a name of Photos.

File System Snapshots

After creating a Repository, you will need to take an initial snapshot of the files and folders contained within it. Dirk will prompt you to do this the first time you open a newly-created repository.

This snapshot contains information about the files and folders in the locations that your Repository is managing. This includes path information (where the files and folders are located), and metadata associated with these files and folders. The contents of the files are NOT included in these snapshots.

Most of the sophisticated features of Dirk rely on these snapshots. For example, whenever your define rules to organize your storage (eg: moving or renaming files, cleaning empty folders, etc), this is processed by performing the actions against the snapshot and not your local storage directly. This allows for much greater performance and flexibility, and allows you to see everything that will happen before committing them to disk - or cancelling them altogether.

Once a snapshot has been taken, Dirk will allow you to browse through the files and folders that existed at the time the snapshot was taken. It’s important to note that a snapshot always represents a point-in-time, and therefore the state of the files for a specific snapshot will not not necessarily match the state of the file system as it currently exists on disk.

Dirk allows you to scan for differences so that you can see what has happened within the folders of the repository since the snapshot was taken. Examples of this includes New, Deleted, Renamed, and Moved files.

Snapshots also enable your to very quickly see duplicated files that exist in its locations, since your local storage does not have to be re-scanned.

Organization Rules

Organization Rules allow you to define rules that can organize the files and folders within a repository. The main organization rules are the following:

  • Ignore Rules: These rules allow you to make files and folders invisible to Dirk for all of the other rules. You can ignore files by type (eg, with wildcards) or ignore entire folder hierarchies with “glob” patterns (very similar to those used by the Git version control system).

  • Move Rules: These rules allow you to move specified files to locations that you specify. Dirk has a rich set of Variables that you can use to specify the final location for a file. In addition, you can use File Metadata to further enhance that power and flexibility of these rules.

  • Deduplication Rules: These rules will allow you to scan the repository for duplicated files and optionally remove them. You can specify the “correct location” for files - so if a duplicate is found, Dirk will know which instance of the file should be deleted and which should kept.

  • Clean Rules: These rules allow you to search for locations within the repository that should be “cleaned” - for example, you can create a rule so that any empty folder is automatically deleted.

Rules apply to files, folders, AND subfolders within the folder where they are defined. For example, assume you have a repository located at C:\Photos. You could create a set of top-level rules inside the C:\Photos folder that will apply to the entire repository. You could then create a second set of rules located at C:\Photos\FromMyPhone that will only apply to that location.

File Metadata

Many files contain metadata that describes its actual content. For example, many image files contain so-called Exif metadata that contains “extra” information about the image. This can include information such as the type of camera that was used to take the photograph, or software that was used to process it. There is a large amount of metadata that can describe the content of a file, and it will vary depending upon how the file was created (eg, the type of camera/phone that was originally used to create the file).

When Dirk creates a snapshot of your local storage, it can import this metadata into the Repository. This allows you to create very powerful and flexible rules to organize your files. For example, you might want to organize your files by the date that they were captured, or even by the type of camera that was used to create them.

Note that even though Dirk can import a file’s metadata into your repository, it does import the content of the file itself.