What are your your directory and file naming conventions, and why are they what they are?

Strongly disagree… The only worthwhile text editor is Kate :slight_smile:

I used to have photos/yyyy/yyyy-mm-dd/original filenames but after few years of having it realized that there are too many folders there and I decided to keep the joy of scrolling through the pictures. So I went to photos/yyyy/yyyy-mm/ structure with occasional photos/yyyy/yyyy-mm-dd event_name for vacations, birthday parties and other important for me events. Edited photos usually have a postfix and being stored in the same folder. Best examples of picture editing I copy to a special folder in case I want to apply similar tools/filters/actions to another picture in the future. RAW files I keep either for best pics or for the pics I want to mess around with. All video files to be converted and compressed to mp4 and stored along with pics.

I guess I will stick my two cents in.
I started my system mainly because there are two of us using three cameras and the Canon naming/numbering was creating a lot of conflicts with two completely different pictures having identical Canon names/numbers; plus, there was no hint as to what the photos were.

I installed the free photo naming/numbering program “DIM” (Digital Image Mover) and that one move forever changed my image filing system for the better.

We are fanatical about setting a new folder within the camera for each day and sometimes create folders during a busy day to separate what was going on.

I let DIM move the image files from the card-reader and dump them into the same landing place on an external hard-drive, from where I then move them into dated/named folders that make sense to me.

DIM creates folders by date, which is wonderful, but I like my own final dated folders better, hence the temporary landing place.

Most file handling programs use three-letter abbreviations for the months and only put a solitary number as the name for each calendar day’s folders.

Thus, the months are listed in alphabetical instead of chronological order; I don’t like that.

So, I create my own folder names; hence our folder tree:

MyName’s Pictures
…MyName_2016
…A_January-2016
…11-Jan-2016_Big Ice Storm
…BigIceStorm_Finished-jpegs
…BigIceStorm_Orig-jpegs
…BigIceStorm_PSD
…BigIceStorm_960-FaceBook
…23-Jan-2016_Big Snow
…(Repeat above)
…B_February-2016
…(Repeat above)
…C-March-2016 ------ and so forth and so on.

Individual file names are (MyFirstInitial)T3_11-Jan-2016_001

The first initial denotes that it was my Canon T3 and most likely me that took the picture; pictures from the wife’s T3 will have her first initial followed by T3.

Of course the date is the date taken and the three digit number is consecutive and starts all over at 001 each day.

Although we have no less that a dozen different photo browsing/filing/finding programs; we have found it quickest/easiest to just use FastStone and scroll the folder tree to the dated/named folder, click on it, and there are our images for that day/instance/event.

We can select/hi-lite the one’s we want and send them to an editor program or wherever.

Thanks for reading.

Excited to learn that my organization isn’t as insane as I thought since it’s pretty close to several others (or we’re all insane together anyway). I primarily use Darktable so all my RAW and XMP data lives side by side with the occassional pp3 file for when I dabble in RawTherapee.

I use:

Photos
…Year
…01_event
…01_event-2
…02_event (where 01,02,etc is the month)

And the file name is YYYYMMDD_HHMMSS-event-name.nef

All this is basically built around what’s easiest to read when using ls, ranger or thunar, the three basic ways I view files outside of Darktable. Inside of darktable I don’t really care about the name of the file at all since there’s plenty of other metadata to search by, though the folder structure is built around how I like to see things in the Darktable folder view.

When I export JPGs is usually either for uploading to my website or printing and then I have no structure or method. I just export the file to the desktop do whatever I need to do with it and delete it.

Oh and it’s probably too obvious to mention, but the best text editor is vi(m).

Interesting find. This package might fill the same role for non-Linux users as Rapid Photo Downloader does for Linux users.
http://www.alanlight.com/dim/Dim.htm

I have used DIM for quite some time and I have never had it to miss a beat.
It numbers each day’s photos chronologically right down to the split second.
It has an overwhelming amount of possible naming and filing scenarios, plus many other features.

On my desktop computer running Ubuntu, I have a Pictures directory that is a mount point for a separate hard drive. Under that, a directory for each year, and under that separate directories for each event, named with a yyyy-mm-dd prefix to force the order in the year directory. The whole thing is a web site internal to the casa, so the family can easily get to them.

The event directory holds the finished jpegs; when I shoot raw, I currently put them in a subdirectory called NEFs, but I might not stick with that convention.

The whole tree is rsynced with the HTPC computer downstairs.

Since my fingers are hard-wired to the Wordstar cursor keys, joe is my hands-down favorite editor… :slight_smile:

Hello, I really liked your process. Could you provide more details on this please: “The whole thing is a web site internal to the casa”
Also, do you trust rsync? I don’t trust any backup software so I do that manually myself.

I trust rsync, it hasn’t failed me. It is certainly more trustable than your file manager’s copy, especially for a large or a large amount of files.

2 Likes

rsync has been used at enterprise level for two decades. It is the outcome of Tridge’s PhD thesis – he of Samba fame. If users from every level of computing, including most developers, trust it I think it has passed the smoke test.

Robert

2 Likes

rsync is the backbone of most backup processes, I’d wager. I’ve certainly been using it for as long as I can remember. :slight_smile:

1 Like

My desktop computer runs a web server, and one of the pages is an index of my Pictures directory. I wrote a couple of cgi scripts to walk down the directories and show picture thumbnails that can be clicked to retrieve the full-sized JPEG. My file organization since I started shooting raw is to put the raw files in a subdirectory of the event directory, then promote selected developed JPEGs to the event directory where family member can see them.

I rsync the whole Pictures directory with the HTPC computer downstairs in the family room every time I add a picture directory. The computers have different models of hard drive with different ages; I’ve personally witnessed a mirror backup lose data when the first drive failed and the second one failed too before the restore could be run. That to me is the more critical consideration of redundant backup; you can’t use the same model of HD installed at the same time; they’ll fail like headlights in your car.

RAW files go to ~/Documents/RAW/YYYYMM while I’m working on them.
Finished photos go to ~/Pictures/YYYY/MM-DD_theme where theme could be Family, Street, Landscape, Holiday…
After editing/retouching a complete month I will move the above directories from my laptop to my desktop computer for archiving (both computers are also under daily backup just in case).

And the best editor is the one you have with you…

I organize my ~/Pictures folder in a geographical hierarchy. So I have Europe, Asia etc as my top level, then country names, then places, and finally something like “2017 09 25 West Wittering”, where this would be under " Europe/UK/England/West Sussex/West Wittering". The actual file names are those decided by my camera. I rsync regularly to an extrrnal HD.

For the unedited/raw images:

  • *Master folder: Pictures

  • **Subfolders: For each device (600D, 640XL, etc.)

  • *** Within device folders: For JPG only devices, one folder for each year. For raw photos, one yyyy-mm-dd folder for each day

For the processed images (usually in a different drive):

  • Master folder: Lumi Bin

  • ** Subfolders by category: E.g., food photos go into Dietbusters, people photos go into Beauty Parlour

  • *** Context based folders: Because that is how I’m likely to look for them e.g., food photos are identified by the name of the dish while people pics have a name folder and a date and event name for subfolder under their name. First level TIFF output from RawTherapee goes in this folder with ‘_RT1’ added to the file name (RT2 etc., for multiple takes with Raw Therapee). BTS shots, if I ever get around to organising them, will go into this folder

  • **** Gimped: The RTx TIFF files are copied into this folder. Once they are processed in GIMP, I add ‘_G1’ to the file name (or G2 etc., if I have different versions). Final output JPG after resizing-noise reduction-sharpening is saved with the same name as the final Gimp TIFF. I add ‘_Cr’ and ‘_W’ if I crop the image and add a watermark with additional number for versions. If I have many TIFFs (say, from an event) then I have another subfolder for JPGs
    Path for an image can look something like this:
    Lumi Bin/Dietbusters/Vendaikkai Cutlet/Gimped/IMG_4928_RT1_G1_W.jpg
    Lumi Bin/Heavens Above/07.09.2017 - Perungudi Sunset/Gimped/IMG_4866_RT1_G1_Cr.jpg

This is an incredibly interesting and insightful thread! My conventions are:
Two base directories: “Photography” and “Videography”
Within each are directories per year.
Within each year are directories labeled month day time, e.g.: “05121056”
Within those are the out of camera raw and jpeg images as they are named by the camera. I use a couple different cameras, so I leave their names alone.
Also within these directories is another directory labeled “exported,” which contains final jpegs that have been edited. These may have descriptive names based on content.
Anything really good then goes on Flickr, and then also backed up in my Dropbox, where I organize them with descriptive names and folders named by year and month.

Reason: honestly, these are just the default settings for Rapid Photo Downloader and Darktable. Both seemed reasonable to me, and without a good reason to adjust them, I just went with it. Now it feels "right"to me, lol! :laughing:

PS: The best text editor is clearly Gedit, followed by Medit. :slight_smile:

So here’s my version of the directory structure, year then month, then date of month with a short description.

Here’s an example of 2017:

2017
├── 01-January
│ ├── 01-Cockatoo-Clothes-Line
│ ├── 02-Milkyway-Paddys-Creek
│ │ ├── converted
│ │ ├── converted-big-jpgs
│ │ │ └── morphed
│ │ ├── converted-nontl
│ │ └── converted-tl-2048
│ ├── 05-5D-Orral-Ridge
│ │ └── converted
│ ├── 05-60D-Orral-Ridge-TimeLapse
│ │ ├── converted
│ │ └── converted-sunset-series
│ ├── 14-Backyard-Birds
│ │ └── converted

I use Rawtherapee for all my processing, hence the converted sub folder.

I’m also trying to be disciplined to use DigiKam as my DAM to initially review/rate photos where I have taken a lot, ie a sporting event. These get moved to filtered, which is when I then open RT and rip through the processing of the files.

It means that I can later reclaim disk space by revisiting these folders to making the final decision to delete the images.

For storage and backup, I run a linux server with about 14tb of RAIDZ-2 as primary storage I have a rsync script that backups up the photos to an old NAS I bought years ago in another part of the house. I also backup to single bare disk via USB dock every now and then and store that outside in the shed and bring the other back in and back up to it.

:slight_smile:

I’ve come to realize that for me it’s best to avoid deep folder structures. A folder containing several screens of sub folders is faster to navigate with file pickers and file managers than digging down into multiple levels of sub folders.

Hence I’ve stopped using year / month / day and reduced it to year / monthday. I use an older (debian) version of Rapid image downloader and add a location suffix to the daymonth folder. I usually photograph DNG+JPEG and have tried various locations for developed files. Separate RAW and JPG folders, all three files in the same folder relying on linux filesystems being case sensitive original jpgs were .JPG developed .jpg, one mega export folder. Now I’m using a ‘converted’ subfolder of each day. The full structure looks like this.

home / img / 2017 / 0623_Milano / converted / IMGP0778.jpg

I use the camera default filename. Been shooting Pentax since forever so unfortunately some images have identical names.

I miss the mega export folder even though it got unwieldy after a couple of thousand images… I like having all the recent exports in the same folder. It’s useful for comparisons and when you develop files that span several days or years.

I do copy on disk raw and jpg files then rename them using exiftool, below an example of the directory structure and the function that renames jpg files.

typical nikon jpg files look like this:

F1R_170801t132406_N049855_tt1-800_f080_L00500_i00100.JPG
F1R_170801t132406_N049855_tt1-800_f080_L00500_i00100.JPG.pp3

vivo@astro ~ $ tree -d Pictures/20170801-croazia
Pictures/20170801-croazia
├── Metadata
│   ├── jpg
│   └── raw
├── jpg
├── raw
├── thumbs
├── work
└── work_small

    function rename_jpg_files() {
    echo
    echo "renaming jpeg"
    echo

    local tag_count=""
    local maker=""
    local i=""

    for i in jpg/????????.JPG ; do
        maker=$( ${EXIFTOOL} -s3 -f --fast -printFormat '${Make} ${Model}' "${i}" )

        echo $i @@ $maker

        case ${maker} in
            *D800)
                tag_count="ShutterCount"
                maker="N"
                ;;
            *X-T1)
                tag_count="ImageCount"
                maker="F"
                ;;
            *)
                echo "Unknow model: '${maker}'"
                tag_count=""
            esac
        if [[ ${tag_count} != "" ]] ; then
            ${EXIFTOOL} \
                -preserve \
                -forcePrint \
                -overwrite_original_in_place \
                -artist='${AUTHOR}' \
                -copyright='${COPYRIGHT}' \
                -modifydate='now' \
                -d '%y%m%dt%H%M%S' \
'-filename<'\
${PREFIX}\
'${CreateDate}'\
'_'${maker}\
'${'${tag_count}';$_=sprintf("%06d",$_)}'\
'_t${ShutterSpeed;$_=sprintf("%6s",$_);tr/\/\. /-st/}'\
'_f${Aperture#;$_=sprintf("%03d",$_*10+0.499)}'\
'_L${FocalLength#;$_=sprintf("%05d",$_*10+0.499)}'\
'_i${EXIF:ISO#;$_=sprintf("%05d",$_)}'\
'%-c.%e'\
\
            "${i}"
        fi
    done
}
1 Like

You make a very valid point and one which I hadn’t considered before.
Of course, I am guilty in that, being always broke, I came into some unexpected cash and bought three 2TB WD-Blues at the same time; I put one inside the machine as secondary pictures-only storage, and the other two in external cases as back-ups.
It had never before dawned on me that they are going to all be old at the same time.
Maybe I will find some money that someone lost in the grocery-store parking lot and be able to buy another HDD to replace one of these and stagger the life expectancy, then wait a year or so and get another.
Thanks for pointing it out.

1 Like