Organize information physically in flat hierarchies. Add views to put these documents in different contexts.

Information is stored in a management system, such as a content management system or a wiki. We need to find a structure so that changes to the information does not demand changing the structure.

How can we store documents to that the storage scheme is independent from other forces?

Structure

Information has to be stored in a flat hierarchy. If all documents are in one folder, there will never be a reason to move them to another. Simply since there is none.

Finding information in the folder would be cumbersome if the only place to look for documents is actually browsing the documents in that folder. Thanks to categorization the authors may add additional views. These views provide additional entry points. Since views use dynamic lists, these view will update automatically when the categories of a document change.

If there are categories that will never change, for instance the type of a document, then this information may also allow to open another folder to store documents. Note that storing a document in a physical location is simply putting it in one of several views. But the physical location has an impact on reorganization. All other views do not. The projectdoc Toolbox provides the concept of homepages for doctypes to organize documents in well-known folders.

Whenever a document is stored as a child to another document, then these two pages are in a tight relationship. To prevent the need for reorganization in the case of a change in one of those documents, this tight relationship expresses in a welded lifespan. That is that the lifetime of the child document is bound to the parent document. In case the parent document is removed, then all child documents should be removed to (except for reorganizing efforts demanded by other constraints).

Advantages

  • Flat hierarchies reduce the risk of reorganization due to changes of data or metadata in documents.
  • Storing documents on invariant data helps to impose a simple organization while not risking restructuring efforts.

Disadvantages

  • Flat hierarchies require additional means to organize the content. If there is only one organization category that never changes, deep hierarchies would have no disadvantages are would not require additional views.

Related Practices

The following practices are related to this practice.

Categorize
Organize content by keywords.
Provide multiple Views
Provide views on your topic-based documentation.
Dynamic Links
Build a navigation to related and associated information by the use of document properties and dynamic linking.
Physical Location
Store information physically only by properties that are invariant.
Welded Lifespan
If documents are added as children to a document, these documents share the lifespan of the parent. If the parent is removed, so are the children.

Resources

For more information regarding this practice please refer to:

Home and Index Pages
Home and index pages help to organize documents by type. For each doctype there is a homepage and and index page. The homepage shows the central documents that are added to it (immediate children). Index pages list all documents of the space, regardless of their location.