The recomended structure for filenames in JD

Hi there!
In would like to ask you for an advice, how to name each file to get the simple, consistent and structured system for file names.

e.g. filename_version_date

Looking forward for your advice.

Mike

1 Like

Hi Mike.

Using the JD ID in the file name

Sometimes I find it useful to use the Johnny.Decimal ID in the filename. In these situations:

  1. When the file will be distributed. Now the JD ID is encoded in the file name itself; very useful when that file makes its way back to you.
  2. When you access this file via your systemā€™s File > Recent list. I find it helpful to have this list show the JD ID of the file, so now itā€™s less important what that file is named.

There will be other situations; up to you to decide.

In this case, I find the JD ID is the most important thing and other details become less relevant. So hereā€™s a real-life example:

  • D85.43.11 Area complete template.mindnode

Using a date in the file name

Generally I use dates for static documents: my electricity bill, say. Itā€™s April 2024ā€™s bill and thatā€™ll never change.

In this case the date is always first and in the ISO 8601 format.

  • 2024-04-22 Red Energy electricity bill.pdf

Iā€™ll generally rename the file because the file you get from your electricity providerā€™s portal will be called something like ā€¦ well, let me see what I got mailed recently ā€¦ yep, 765670_A215.pdf.

I donā€™t use dates to indicate currency

For me, the current version of a document is the one in the folder. It doesnā€™t need a date.

But then if I archive off a copy, Iā€™ll create a subfolder archive and the file goes in there with the date as above.

Some people ā€“ hi, @LucyDecimal :wave: ā€“ prefer the date in the file name at all times. Totally up to you.

Version numbers

Similarly I find manually adding version numbers to file names to be inconsistent and not worth the bother.

You either have a version control system, or you donā€™t. Iā€™ve never seen manual version control ā€“ that table at the front of a document at work where youā€™re supposed to update when you make a change ā€“ Iā€™ve never seen that work. Donā€™t bother.

The date, as described above, is sufficient and more reliable for tracking of older versions.

If you distribute a document, you may want to add the date to its file name for this reason. In this case, as this is for tracking and not sorting, Iā€™d do this:

  • D85.43.11 Area complete template 2024-04-22.mindnode

General file naming

Otherwise, if you just have a file with a name, just give it a nice sensible name; whatever makes sense to you.

I tend to find people strive for really short file names. Why? Computer words are free.[1] Be descriptive; help future you.


  1. Unless youā€™re at work and Microsoft limits what you can type. Sucks to be you. :wink: ā†©ļøŽ

1 Like

I spent some time thinking about this a few months back, when I was reorganizing some shared stuff.

Figured I could share in case it helps someone. :man_shrugging:

I came up with the following scheme: YYYY-MM-DD_DocumentTitle_Subtitle_Version_Metadata.FileExtension.

  • All is optional, except title.
  • Date is used only when the document is related to a time or period. (For instance, electricity bill for a given month or invoice on a given date)
  • Version is used only for exported versions. (PDFs)
  • Metadata is any treatment the file has been given that differentiates it from original or copies.

As en example, if we had a board meeting today and the minutes of meeting was written tomorrow, the following files would (eventually) be generate:

  • 2024-04-28_BoardMeeting_MoM.docx
  • 2024-04-28_BoardMeeting_MoM_240429.pdf
  • 2024-04-28_BoardMeeting_MoM_240429_Signed.pdf

These are essentially the same document, but in different forms.
You could put many MoM in a single folder and they would group automatically.

If the document is revised, each version is kept as a PDF and can be held separately. (We write the version number inside the document and use todays date as number)

We can easily find the version we need; the working document, or the scanned signed copy.

We always treat the original file (the editable) as dirty, meaning it can be either a draft or released version but you cannot really tell.

Hope that helps someone! :blush:

1 Like

Hi @johnnydecimal ! Thanks for your insights, you helped me. I like the rules reagarding the version number and date in the filename.

1 Like

Hi @osau ! Many thanks also for your example. I am curious more about the version name, whatā€™s the ā€œalgorithmā€ behind? Version is derived from the shorten format of the date? I usually add version number as e.g. ā€œ2024-04-28_BoardMeeting_MoM_v01.pdfā€

Exactly, I use YYMMDD for versioning, but only for derivatives. (Export) Johnny explained this perfectly above. I rarely distribute the original file. Usually a PDF or other format suitable for viewing and archiving.

With respect to date formats, why would one not use:

YYYYMMDD 20240625

And instead use:

YYYY-MM-DD 2024-06-25

The 2nd option has more typing and the 1st option is equally easily found and sorted by a computer.

I have been using the first option for years and renaming all my files would be an incredible burden.

Also, if I were to use a version number at the end of the file, I would not use a v, I would just use a 2 digit but usually 3 digit code like the following (000- 999):

20240625_Project_A_Report_003.docx

For many people, I expect YYYY-MM-DD is more human-readable, but if the other works for you I canā€™t see any reason to change.

1 Like

The first isnā€™t just a little more readable: itā€™s much more readable. And thatā€™s important.

Hereā€™s the trick: donā€™t be typing these dates out by hand. Find yourself some software ā€” I use Alfredā€™s ā€˜snippetsā€™ feature, but there are dozens of things that do this ā€” and set it up to insert the date for you.

For example, anywhere in my system I can type ;;jpdate and Iā€™ll get 2024-06-25.

That weird string is because:

  • I never normally type ;; so all of my snippets start with that. This way nothing ā€˜expandsā€™ unexpectedly.
  • jpdate stands for ā€˜Japanese date formatā€™, as when I set this up a decade+ ago Iā€™d heard that this is the format that they use.

Similarly ;;jptime puts in a full time stamp.

Downside: doesnā€™t work on iOS. :confused:

I have been using the first option for years and renaming all my files would be an incredible burden.

If itā€™s been working for you for ages, thatā€™s great. But for new people, starting this habit today: use the dashes. Trust me.

1 Like

Thank you for the replies.

Much appreciated and experience trumps many opinions about issues.

Would anybody have a script that is able to search every file wilth the date format yyyymmdd in the front of the file name and convert the first 8 characters to the date format yyyy-mm-dd so that I can deal with this issue?

I also use software that hates spaces in file names and folder names. ESRI arcgis.

Do I just use the underscore in file names and folders that the particular software would access?

So in general spaces are preferred over underscores?

1 Like

If youā€™re used to yyyymmdd Iā€™m not saying itā€™s wrong.

Because you will be able to change them with a script ā€¦ problem is, how confident are you in that script? Do you really want to run it over all of your files? Thatā€™d make me really nervous.

You could do it folder-by-folder I guess and eyeball the results. ChatGPT gives me a plausible looking bash script that uses regex.

But donā€™t just be running that! Do like a hundred backups, etc.

Do I just use the underscore in file names and folders that the particular software would access?

So in general spaces are preferred over underscores?

I use spaces everywhere. If you donā€™t primarily conduct your work at the CLI, spaces are the right choice. Computers handle spaces. Itā€™s just another character.

If you do do a lot at the CLI, having to constantly\ escape\ every\ space gets boring, so I understand why those people use underscores.

And if you have specific software that canā€™t handle spaces, then thereā€™s probably not much you can do about that.

Hi all,

I work as an Engineering Information Management professional and Iā€™m really enjoying learning the JD system.

Some tips for naming files appended to the JD number I can offer are:
File Type - File Description

So in my professional world examples would be:
SPECIFICATION - DELIVERABLE IDENTIFICATION.pdf
SPECIFICATION - REFERENCE DATA.xlsx
CLASS LIBRARY - EQUIPMENT.xlsx
CLASS LIBRARY - DOCUMENT.xlsx

In my personal world examples would be:
NAME - Driving License - UK.pdf
NAME - Driving License - NZ.pdf
NAME - Driving License - AU.pdf
UK2017-18 - Tax Return.pdf
UK2019-20 - Fluor P45.pdf

Everything lines up nicely when sorted alphabetically and you can spot a naming error a mile off.

Hope this helps,
Mark

Hi! Welcome.

This is great advice and speaks to something at the very core of Johnny.Decimal:

CONSISTENCY

At the end of the day, it doesnā€™t really matter what you pick. Pick what works for you. Pick what you like the look of. Whatever tickles your neat bone.

BUT. BE. CONSISTENT.

When I had an IT job, I judged people if their file systems looked like this. And some did, believe me.

Job applications/
ā”œā”€ā”€ Application for Bob Bobson.doc
ā”œā”€ā”€ Jones, John - application.doc
ā”œā”€ā”€ Susan Smith application.doc
ā””ā”€ā”€ xavier aardvark- application.doc

Dashes! No dashes! Surname, Firstname. The other way. Neither way. AARRRHHGHGHHHH!

And people would say, but those were the file names I got sentā€™.

And I would say, I donā€™t care! Rename them, or what youā€™re showing me is that you have no attention to detail, and that I canā€™t trust you.

2 Likes

;;metoo

I use the ;; in TextExpander as there will be no other instance where Iā€™ll ever, purposely, type ;;

I havenā€™t set up the auto date snippet yet in TEā€¦ but now Iā€™m really curious and will be doing some deep diving today ā€” and need to get TE syncā€™d across all my devices. So far I only use it on my Mac, but having it do the same repeatable tasks on my iPad and iPhone would be, well, priceless!

Edit: my new date snippet works like a charm in TextExpander (on my Mac) but now Iā€™m trying to figure out why the snippets donā€™t work on my iPad :person_shrugging:ā€” weird, cuz this is where I created it!

1 Like

How does TE work on iOS, is it a separate keyboard?

HI Johnny
No its just an app ā€“ one that I believe is available through the website, or via SetApp if you belong to that service.

Where StreamDeck and all its incarnations are primarily HW devices, TextExpander is a software app that you can, or should be able to, use across all your Mac devices. In the busiest time of our business cycle(s) I use it a lot for things like: email signatures; email contact enquiries; customer tips regarding payment methods, shipping methods, ordering instructions ā€“ all of which are available by simply pressing ;;andwhatevermytwotofourdigit code is for what would normally be minutes of typing.

each week TE send me an email with how much time I have saved by using the app ā€“ and it often shows literally hours of time saved!

So how does it work on iOS? Iā€™m sitting on my iPad now ā€” how do I get a date out of TE? Do I have to switch to it?

Edit: I realise Iā€™m perfectly capable of looking this up for myself. :rofl:

truthfully I use it exclusively on my Mac these daysā€¦ and not recently on my old iPad Pro ā€¦ but just bought a new iPad Air and was looking to install it on that iPad but canā€™t get into my account. I was about to test it on the new iPad that has a working keyboard, cuz my old iPad Pro keyboard died in 2019, so havenā€™t used it much for any degree of typing.

Now Iā€™m curious to find out if my new iPad/keyboard will work with TE.