Skip to content
bryanrcarlson edited this page Oct 1, 2021 · 15 revisions

Getting started

Welcome to the Midden wiki. The goal of this wiki is to provide information about Midden, its architecture, and guides for its use. At the moment, this is a monumental task and is very much a work in progress.

If you are looking into using Midden then the best thing to do is to post to Discussions or to contact Bryan Carlson to start a conversation. Going it alone at this point is not recommended.

But for those who like a little pain, here ya go:

1. Ensure that Midden is a good fit

Midden makes some assumptions about how your data are managed. It also requires an individual who has some technical expertise and is familiar with things like git, Github, and command line tools. Before moving on to steps 2 and beyond, it may be a good idea to review what we consider best practices in data management and see if your current (or future) data system is compatible. You also may want to review some of the technical details of Midden

2. Setup the Midden web tools

As explain in the technical overview, one component of Midden is a web tool. The web tool consists of an online data catalog and an online metadata editor. As Midden is not a hosted service, the web tools need to be setup/installed for your organization.

But you are in luck! There are a lot of free hosting services out there where you can deploy your very own instance of Midden. So far our users have been successful with Github Pages, Azure Static Web Apps, and a on-prem server.

A guide for installing the web tools using Github Pages can be found here.

3. Configure the web tools

When first deployed, the Midden web tools are configured with demo information. Your organization do not want that. And you do not want that. So lets change it!

The Midden web tools reference two user-generated files; app-config.json and catalog.json. The first, app-config.json, contains things like the name of your organization and pre-configured tags, spatial information (like your research fields), and data quality flags. The second, catalog.json, contains all of your metadata.

Details of updating the app-config.json file using Github Pages can be found here.

We will discuss updating the catalog.json file in later steps.

4. Create your first metadata

Hey, you have done pretty well so far! You have your very own instance of Midden running on a server somewhere and have it customized for your organization. Now lets use this thing for what it was meant for: describing data! To do that you will want to use the Midden Editor to describe your data, then download a .midden file (which is just a .json file) that contains your metadata, then save it along-side the dataset it describes.

For more details on using the Midden Editor, reference this page here.

5. Setup MiddenCli

The MiddenCli is a command line interface that is (or will be) used for all sorts of admin-y tasks. Primarily, it is used to crawl through all of your organization's data stores (where the data are stored) and aggregate all of the metadata. MiddenCli is cross-platform so can be used on Windows, Mac, and Linux.

You can download the latest OS-specific version from our releases page.

A guide to using MiddenCli is here.

6. Update Midden Catalog with your metadata

Remember that second user-defined file we mentioned so long ago (Step 3)? You already took care of the first (app-config.json), now it is time to tackle catalog.json. You generate the file using the collate command in MiddenCli.

More information about running collate to generate a catalog.json file can be found here.

Once you have a catalog.json file, you need to update the demo version of it in your instance of the Midden web tools. This can be done a lot of different ways depending on where you deployed your instance of the web tools and how you configured your app-config.json.

For a guide on updating catalog.json within Github Pages, see here.

7. Stay on top of things

Well look at fancy you. You did all of the steps! Now you just need to keep things updated. It's not too terrible. You basically do Step 6 every so often (or automate it... which has been done) to update Midden Catalog as new metadata are added to your data stores. For a breakdown though, it's basically this:

  1. Someone adds a dataset to a data store
  2. Someone uses the organization's Midden Editor to create metadata
  3. Someone saves the metadata file along-side the newly added dataset
  4. Someone/something runs MiddenCli collate to generate a catalog.json file
  5. Someone/something updates the catalog.json file that is referenced by the organization's Midden Catalog

That's it!

Actually, there is one more thing. You may want to keep your version of Midden up to date. New features and bug-fixes are constantly being addressed.

For a guide on updating Midden see here.

For a guide on updating Midden hosted by Github Pages, see here.