Tracking Submissions with Zettelkasten
A lot of what I write is short fiction, and a lot of the process of writing short fiction is submitting it to places for publication. And a big part of that is tracking what stories you've submitted where, whether they were rejected or had edits requested, how long the market took getting back to you, and a host of other logistical details that prevent you from embarrassing mishaps. The question of how to track submissions is one that is probably as old as Gutenberg (I'm pretty sure most of the medieval monasteries were In House Only).
Most writers use spreadsheets, and this is a tried and true method that allows for ease of cross-referencing and locating information. But, as I am perversely determined to use plain text for everything, and as one of the strengths of the Zettelkasten is ease of cross-referencing, I'm attempting to build a submissions tracking system using nvALT (and now, The Archive). This is a work in progress, and I would be very interested to hear how other people would implement it, or any suggestions for improvement.
My current system looks like this. There is a single file for each story, here's the one for the story codenamed "Tattoo" (all projects get codenames, as titles are subject to change)
--- uid: 201707052332 tags: @jobsheet, @sub_open, #sub --- [Look at Duotrope for Tattoo](#todo) # TATTOO # ## Status ## - [x] Sketches - [x] Outline - [x] First Draft - [x] Edits - [x] Readers? - [x] (Nth) Draft - [x] Shipping - [ ] Published! ## Subs Record ## ### Fireside @subdate(2016-08-23) @respdate(2016-11-29) rejection ### Daily @subdate(2014-09-27) @respdate(2014-10-17)
A lot of this is an expansion of what Antony Johnston implemented in his Getting Things Written article, which I mentioned here. Essentially I took his notion of "jobsheets" and expanded it to also include submissions data.
The top section is metadata which gets ignored by most markdown parsers. That's where I put tags, as well as a searchable unique identifier for each file. That's true of every document in my Zettelkasten. The tags in this case are a mix of @ and # due to experimentation, I haven't really determined if there's any advantage to either, except that now The Archive allows for clickable # tags so I'm gravitating toward those. "sub" is the general tag for everything related to submissions process, including another document that lists markets I'm interested in, as well as some other general housekeeping documents. "jobsheets" is a list of just these per-story documents. "sub_open" is, along with "sub_closed" an indicator of what things are currently waiting for replies. I should probably come up with more accurate names for this but I've remembered these so far. This allows me to, for example, just search for "sub_open" and see what I have that needs to be worked on.
The first line after the metadata is a todo item. This is also common across my entire archive, and it's formatted to work with imdone (which I will probably talk about later in a separate post), as well as a script that I have for nerdtool which allows me to show pending todo items on my desktop.
The "Status" section is mostly used while I'm writing the thing, and it's pretty self-explanatory. The way I have this formatted now with checkboxes is not very searchable, but so far that hasn't been enough of an issue to spend any effort fixing. I think it should be trivial to create metadata tags that allow for, say searching every story that is in first draft, but I've not been able to come up with a syntax for tags that I actually remember enough to make it useful. This is, however, something I want to work on as I have an increasing number of draft documents in various stages.
The "Subs Record" is the part I'm most actively working on now. For each submission there is a header with the market name ("Daily" is short for "Daily Science Fiction," that's not a time designation). Beneath that is @subdate(date), a format I have left over from when I was using taskpaper files for this, but I haven't found a compelling reason to change it. Taskpaper will allow for searches like "@subdate < 2017-08-27 " to find everything before today, so I have that available as a tool should I need it. I'd like to see search capabilities for things like this outside of Taskpaper (can you do this in Spotlight?) but I rarely need to do such a thing anyway. "respdate" is, of course, response date. Underneath that I have just "rejection" if it's just a form letter, and if it's a personalized rejection I will copy the text of the rejection letter there for reference. I'd like a way to link to the email in question, but there doesn't seem to be a reliable way to link to emails across mail clients yet, so sometimes I'll put a gmail link there but I rarely bother.
Things I'd like:
I have one big file right now for markets that I'm interested in, with relevant information. It will probably be useful to create one file per market that I have actually submitted to, with a list of stories submitted, and link between them in the jobsheets. I'm currently experimenting with this with the game markets I'm also submitting to (game writing submission is an entirely other set of problems) and if it winds up being helpful there I'll probably implement it here. So far just plain text searches against market names bring up few enough files that I can generally find what I'm looking for.
I'd really like a way to search a range of dates as mentioned above. What would be really cool would be to generate a timeline of submissions using something like mermaid or graphviz. I think this is feasible but also a tremendous time sink in comparison to the advantages. But so cool.
So that's what I have as of now. Anyone else operating in this space want to give it a shot and tell me what I'm missing?