A dynamic link attaches a dynamic volume that is stored on the Dynamic Filesystem. The dynamic link is a transparent, location-based link.
It is typically used to store data created by visitors.
Example: dynamic
path /gallery/smile.jpg
package example.com 01ed8bb7a8ad5500c8885da1575f77068d0777606d
volume
scope
dynamic
To follow a link is to get the linked file - if it exists.
A hash-based link mounts another volume by its hash. The mounted volume is part of the filesystem and the link can not break.
Modifying a volume mounted via a hash-based link causes hash change propagation in the linking volume.
File links are either hash-based or location-based.
Link type | Address type | Transparent | Filesystem scope | Mounts volume |
package |
hash-based | yes | yes | yes, read-only |
scope |
hash-based | yes | yes | yes, read/write |
volume |
hash-based | yes | no | yes, read/write |
dynamic |
location-based | yes | no | yes, read/write |
path |
location-based | no | no | no |
A location-based link is a reference to another file by its path or other means. The link may be broken as the referenced file may or may not exist.
File links are either hash-based or location-based.
A package link is a file link mounting a package by its hash. The package link is a hash-based link: the mounted subtree becomes part of the website and remains there even if the original package website is removed.
Example: package example.com 01ed8bb7a8ad5500c8885da1575f77068d0777606d
A path link is a reference to another file by an internal path. It is not automatically followed. Its only purpose is documenting the relationship between the two files. The path link is a location-based link.
Example: path /foo/bar
A scope link mounts a writable volume that establishes a filesystem scope. The scope link is a transparent, hash-based link.
Turn a package link into a scope link to make it editable. (This will also prevent the system from updating the package.)
Example: scope
volume
link.volume
link is a transparent link, while a path
link is not.A volume link mounts a volume with no special properties except for being a separate fileNodeId space. It is a transparent, hash-based link.The attached volume is also called a simple volume.
Example: volume