Guidance Needed

I’d like to request feedback and guidance from the members on my plan for a family document archive website that I’m currently planning.

I’m currently working up requirements and a high-level design for a family archive website as a central repository for historical photographs and correspondence, such as a complete set of family World War II correspondence. (Over one thousand letters.) I intend to use Drupal 8.

Initially, the site will be a static repository for several thousand scanned images of family photographs and historical correspondence, all presented as .jpeg images. Subsequently, the site may add family members as authenticated users who may add historical photographic and correspondence content. Most content will be viewable by website visitors as anonymous users.

While storing individual photographs appears straight-forward, correspondence always consists of two or more images that must be presented as a set. Example: a postcard has two sides – two images.

The functional and high-level design requirements are:

  1. Serve cataloged photographs and correspondence (in .jpeg image format) as “catalog entries.”
  2. Provide an historical description of each catalog entry.
  3. Support multiple images as one catalog entry. Example: one historical letter may contain multiple pages and one envelope, all of which will be separate .jpeg files, but in toto the images comprise the complete letter, so the images in toto (e.g., 5 images) comprise the catalog entry.
  4. Each image may be downloaded.
  5. Each image within a catalog entry may be “tagged” using taxonomy for stand-alone image searches based on taxonomy. Example: search for mother’s maiden name or “London, England.”
  6. If technically feasible, store the cataloged .jpeg images within Amazon S3 and access and serve them by “reference;” else use the Drupal CMS public file location.
  7. Electronic storage of images should replicate a physical filing scheme, such as a directory structure based on year/type of entry. For example: “/1941/correspondence/” and “/1941/photos/” (This allows for a storage structure that is independent of Drupal logic.)
  8. Catalog entries are physically stored within the filing system by selecting/stipulating “file under” values. (Such as file under calendar year correspondence: “1941/correspondence”.)
  9. Authenticated users restricted to family members.

Presently, I am thinking the best way to organize this is to create a “Catalog Entry” content type consisting of:

  1. Title
  2. [Historical] Description
  3. Source statement ( A formatted text field to contain a statement about the source of the historical item. Example: “Personal correspondence of Mrs. Jane Smith.”)
  4. The catalog entry defines the component images as fields, and keeps track of that set of images associated with each field.
  5. One required image field containing the first .jpeg image (either a document image or photograph).
  6. An associated “tag” field for the required image field.
  7. Nine additional optional image fields each containing any additional .jpeg images that constitute the archived document. (Such as the additional pages of a letter.)
  8. Nine associated “tag” fields.
  9. One field to contain taxonomy “tag” values to associate with the catalog entry. (Probably one field with one or more taxonomy tags.)
  10. One or more fields to select the directory/subdirectory to store the images. For example, “correspondence for year 1941” should be stored in the correspondence subdirectory under the 1941 directory, within the storage archive.

Before I dig into a very big hole, I’d like to hear the members’ thoughts on the above approach and design, and perhaps receive guidance on an appropriate way to proceed, or any examples of where this has been implemented before now.

Any feedback is appreciated.

– Harry

Drupal version: