Automatically fill out metadata based on content of note?

So, I’m a photographer. I have up to this point used an excel sheet to keep track of how many shoots I’ve done over the years. I have automation set up in it so that I have a list of everyone I’ve shot with, and when I just add a shoot to the list for that modle, it updates the total for them, and the total overall.

I’ve been wanting to move it to Obsidian since I actually use it daily already, and thought it’d be much more convenient. I was thinking of having a note for each model I’ve worked with, and was wanting to make it so that there’s a list on the page, and when I add a shoot to that list it updates the metadata for it to show the correct total. Then was thinking of maybe having a note that’s essentially a database with all the shoots pulled in automatically if possible, so that I can go back to see exactly when something was shot. Or filter it to show only shoots with specific tags. And have the total of it all up at the top.

Just not sure how to do any of that, if it’s even possible.

I have dataview and meta bind, as well as a few other plugins, but am totally willing to install a new plugin if it’ll make this possible.

I highly recommend dataview for this, and templater can be a good one for helping with some of the data entry. metabind and quickadd are also helpful for putting together this sort of workflow.

You could have a note type “shoot” which references a list of models that are of their own type “model”, and then a view note that uses dataview to summarise the data in helpful ways. a dataview on the model page could list the shoots they’ve been on, etc etc.

lots of possibilities with this approach

1 Like

So you’re saying have just have a note for each model, then make a new note for each shoot? I don’t know why I didn’t think of that, it’s a lot easier to do. lol I could just have a yaml section to tag the model(s) in the shoot, then at the bottom of each models page have a dataview list like I use for my books and movies that woulc callout shoots they’re tagged in. And could include an image from the shoot as the “cover” image for quick visual reference.

would there be an easy way to have something in the yaml (not sure why I called it metadata in the post), that would display the number of entries on the list they’re tagged in? And if I tagged a shoot as “published”, or something like that would there be an easy way to have a number displayed on the models page of how many of the shoots they’re tagged in are also tagged as published? Everything else I think I can figure out based on other stuff I’ve done in my vault, but both of those are I think beyond my expertese. lol

in code you could derive the number of published shoots a model had been on so long as you’ve filled in all the necessary metadata. I think it is possible in regular dataview though I think I would approach that with dataviewjs.
How the code would be written depends on the particular way you structure the data, but it should be very possible to display that on your model page.

Once you have that working you can even take it further and make your model pages all use dv.view() to import the same piece of code which would make it easy to update and adjust all your model displays from one place…

Doing the query to get this information can be done using both dataview and dataviewjs. But if you want to store the result of a query within the property section at the top of the note (aka in the yaml or frontmatter), you’ll need to do some extra magic using dataviewjs. So many just present that information within the note in a normal query.