We need to pass on properties from a folder to all its' child-nodes. For example, if the folder A has the property id with the value 42, all child-nodes of that folder should inherit the same property with the same value.
Currently, we have implemented this with a folder-rule that executes a script whenever a new file enters the folder. The script then copies all the property values from the folder to the new node. Is there a better way?
Most of our documents can be summarized to higher-level collections. One good example is a manufacturing contract. The relevant documents for this contract are not only the scanned contract itself but all meeting-protocols, emails, blueprints, etc. We call these higher-level collections records. In the above case, all those files together would be a manufacturing contract record.
To implement this, we're planning to use the following structure:
- Every record has its' own folder.
- In each record folder, there are all the documents that belong to that record.
- Since there is some metadata that is the same for the whole record, e.g., record-ID, machine-type, these properties are set on the record-folder.
- Other metadata is document-specific, e.g., a list of participants of meeting-protocols. This metadata is set on the respective documents.
The problem we face with this approach is the partition of metadata. Some properties are now set on the record-folder only. Others are set on the documents. If we try to launch a simple search like "list all blueprints of part XY that belongs to the record-ID 12345", we're already in a situation where AFTS doesn't offer us the required search options.
To avoid this problem, we decided that all properties set on a record-folder should be passed down to all its' child nodes. For example, the record-ID should be set for every document and folder that lies within the respective record folder. Currently, we implemented this via a folder rule that executes a script.
Is there a better way to do so? Or should we choose another approach for our problem?