Enhanced Metadata usage cases

Hello, my name is Sinus and I’m a metadataholic.

I started trying out Scrivener in search of the ultimate notebook, letting me compile the dozens of notes I have for my would-be opus magnum. One thing my work style involves is ridiculously heavy use of metadata. I tend to write down everything I can categorize into some kind of meta fields - characters’ eye color, height, age, chapters’ themes, amount of violence, amount of sexual themes, if possible: narrative to dialogue ratio, and that’s even before I start linking characters to places, places to countries, countries to continents, items to characters, characters to each other, ideas to pretty much anything… So far I’m riding an odd mixture of self-written scripts and text pre/postprocessors, but I’m growing tired of managing this contraption. So, having read that Scrivener is the ultimate “no strict templates” editor, I plunged in. And… either I didn’t yet find the proper features, or it’s not all pink.

Custom Metadata. It’s not a big problem to have to define it in a settings panel, though I’d prefer a hands-on, type-it-and-it’s-created approach. What is a bother is that the same metadata is always visible for all objects - so my “places” are becoming riddled with characters’ eye-colors, heights, items’ prices and sizes, etc. It would help a lot if the metadata pane had a layout like: [ Fieldname (dropdown) | Fieldvalue ] with the field name chosen out of a dropdown (or typed on-the-spot, autocompleted or autocreated), and only as many fields would appear as there were picked.

Searching. I’m sorely missing a way to search for metadata alone. If for some peculiar reason I need to list out all the blue-eyed characters, I’d very much like to see support for some kind of “eyecolor=blue” queries, Searching for just “blue” is obviously polluted by everything else that happens to be azure - or sad.

Search results. Am I missing something, or do the search results only show titles of documents found? It would be great if the results could show in a wider format, with a few words of context, and possibly some chosen metadata, statistics, labels, wordcounts, date of last edit, etc.

Bookmarks as links. If I understood it correctly, adding a link in object A to object B also creates a reciprocal “bookmark” from object B to object A - but the bookmark is not permanent at all, it’s easy to just delete it in object B, while the link from A to B remains. I don’t think this serves a lot of purpose - I’d think “what links here” would be read-only, not modifiable from the target. Also, as bookmarks in object A pile on, it’s no longer easy to see where the link’s origin is located - especially if object A is a longer piece of text, I’d like to be able to see why it linked to B in the first place.

Corkboard. Since this is the only place where objects are shown as “cards”, I’m missing a way to organize them as I see fit. Obviously their placement would have to have a “context” in which it would be stored, but if, say, a Collection could be recognized by the Corkboard and save its cards’ placement, that would serve as a great visual organization tool. And if the cards could have lines joining them where the documents link to each other - oh my, THAT would be something!

Outliner. Finally, a table view of selected items! It took me a moment to find the column settings (usually it’s the right-click on column headers, but whatever works). The only thing I’m missing here is a way to show keywords as plain text, instead of colored boxes; having to tickle them with the mouse to read them seems like reading Braille, as well as a means to edit them right there. But the right-hand pane can show a keyword editing panel, so that’s just fine.

As far as I can see, that’s as much as I could squeeze out of the metadata capabilities - while way ahead of other popular editors, in this area at least, it’s still not my dream tool… yet. I really wish it were, it seems like a great piece of software otherwise!

Oh, one more thing that’s been bugging me: Undo doesn’t work on any structural changes! I can’t undo changing a label, moving a document into another hierarchy, adding a comment, changing keywords… It’s all too easy to do serious damage this way, by, say, carelessly dragging an intricate selection of objects, each in a different folder, all into one target. Comments, since I mentioned them, would be way more useful if they were shown on the margins, not in a separate panel.

What do you (guys/girls/people/L&L) think? Am I the odd fish with such weird expectations, or would these sound like a good idea? :slight_smile:

Welcome to Scrivener! A few comments on some of your queries and suggestions:

  • Custom metadata per item: that isn’t something in the cards for now. What you are describing is a level of uncommon usage, where I agree, you would benefit, but for the most part those that use this feature don’t have so many fields that it becomes a problem. I don’t think of the feature as being a database-style form (where one has no limits and is thus encouraged to break every little tiny detail out into separate fields) because that’s really not what it is. Rather, it is more along the lines of: have I exhausted every other possible mechanism in the software? If yes, then I create a field. Consequently even in fairly complex projects I tend to only have half a dozen or so, and it really doesn’t matter if some of six aren’t relevant to what I’m working with at the moment.

    • Some things don’t need fields in a program where you can target searches directly at certain areas of the interface. Coupled with simple conventions in how you type things in, these targeted searches can become as precise as fields. Document Notes for example is a great place for stuffing detail into an item that is visible at the organisational level, and of course the synopsis and even title itself can be useful places to indicate important details. It all depends on what you need of a detail. Are you really going to ever need to find a characters by their eye colour? Maybe so—but for me that wouldn’t ever be something I would need to know like that, it’s something I would want to record so I don’t forget and screw up the descriptions over time—so for a detail like that Notes is perfect, or even the main content area. Look for how you use data, and organise it accordingly. There are lots of useful places to slip folded up pieces of paper into the cracks, in Scrivener, not just custom metadata fields!

    • And to come back to the point of making general text entry areas precise: consider how you can use convention to codify information. Even something as simple and human-friendly as “Eye Colour: Brown”, can become a very precise search, and with the ability to use regular expressions it can even be a fuzzy search. For example, this would find all characters with blue or brown eyes:

      Eye Colour: (Brown|Blue)
      
    • You might consider alternatives for some of these things, like Keywords, which are great for housing large repositories of repetitively used data that needn’t all be associated. You can group them as well, further facilitating that approach.

    • In a similar vein, I will sometimes use a form of “overloading” for fields. The Label in particular is very useful for this because it can be used to apply a colour to items in almost every context (especially with the icon tint setting). So sometimes I’ll use Label for multiple purposes, if those purposes never overlap for one item. For example, your character sheets might use labels for plot importance, and your locations might use it for geographical region. All of the values are in the same dropdown, so that gets longer, but you only have one field at a particular access point.

  • Searching for metadata: this is already possible, but maybe you’re using the quick navigation tool in the toolbar instead of the full-blown project search? The more powerful search opens up above the binder sidebar (I used Ctrl+Shift+F), and the magnifying glass icon to the left of the search field has a lot of options—like specific field searching, and saving searches for future recall.

    Regarding those search results, you aren’t limited to the binder sidebar either. Click the hook arrow button in the search results header bar to load the results into the active main editor split. That trick works for collections and so forth, too. Note you can also right-click in the editor header bar icon to navigate the editor straight to collections as well.

  • Bookmarks aren’t backlinks: depends on your priorities I suppose. Myself I find dynamically generated lists that are editable to be extremely useful. You can skip the manual effort in building them, but aren’t a slave to that algorithm going forward—you can weed out bad results, or things that become irrelevant over time.

    • As for seeing where a thing is in the project though, you should already be able to do that with the Reveal in Binder command.
    • Can’t really help on the “why” problem though, there used to be a nice description field here, but that was taken out of the design. Now you just kind of have to know why you linked to something, or if the software did it for you—and for those that use them a lot, I would say it does suffer from a lack of self-description.
    • For that reason, in more complex projects I sometimes find myself keeping link lists in Document Notes, because there I can annotate them to my heart’s content. It should be possible to select the bookmarks and copy and paste them into Notes—not sure if that is implemented in the beta version for Windows yet. The approach has its downsides—the Bookmark sidebar is extremely useful for what it does and you do lose some of that, but if the need to annotate trumps the ability to click and view the target link, it could be worth it.
  • Freeform corkboards already exist: the button is in the footer area on the right hand side. While there, you might as well check out the label view as well—it’s another tool to consider when deciding what kind of data to put on the label!

    • No plans for lines between linkages. That’s bordering on the definition of bloat I would say, since any mere simple implementation of it would be unsatisfactory to most. It’s exactly the kind of feature that doesn’t stop satisfying a feature request, but rather piles on loads of new ones: “can we have line types?” “what about labels?” “there are too many of them, I need a way to highlight the ones between the selected cards”, “I don’t want lines for all of them, just some of them, I need a filter”… i.e. this is a feature set some software dedicates most of their not inconsiderably complex codebase to!
  • Keywords as Printed Text: the setting for that is right in the outliner columns setup menu. It’s a sub-checkbox under the keywords column checkbox itself. Nested settings like that change how the column works.

  • Undo: of course if it were technically possible to do all of that it would make sense to. Meanwhile, no amount of software level protection is going to stop the threat of serious damage. Nobody should be flying without multiple backup systems in this day and age, with so many cheap backup solutions and robust OS level systems out there, the go to answer to anything like this should be to fire layer one up and recover from that—and if that fails fire up layer two. Read up on Scrivener’s automated backup system in the user manual. It is designed to couple nicely with automated backup systems, as well as cloud tools (though be careful with those since they are often two-way).

  • Comments: we’ll have to agree to disagree on that one. The main problem with your request can be summed up by one question: what margin? :slight_smile: But for a much more detailed analysis and discussion, I would refer you to this thread, and a later follow-up, where I itemise and describe what I feel to be the clear advantages of Scrivener’s two-method notation system: inline and sidebar.

3 Likes