var tve_frontend_options = {"is_editor_page":"","page_events":[],"is_single":"1","ajaxurl":"https:\/\/www.lightstalking.com\/wp-admin\/admin-ajax.php","social_fb_app_id":"234010690138279","dash_url":"https:\/\/www.lightstalking.com\/wp-content\/plugins\/thrive-visual-editor\/thrive-dashboard","translations":{"Copy":"Copy"},"post_id":"10081","user_profile_nonce":"27f3fa2eaf","ip":"64.227.14.160","current_user":[],"post_title":"What a Typical Digital Image Management Workflow Looks Like","post_type":"post","post_url":"https:\/\/www.lightstalking.com\/what-a-typical-digital-image-management-workflow-looks-like\/","is_lp":"","post_request_data":[],"conditional_display":{"is_tooltip_dismissed":false}};
var advanced_ads_pro_visitor_conditions = {"referrer_cookie_name":"advanced_ads_pro_visitor_referrer","referrer_exdays":"365","page_impr_cookie_name":"advanced_ads_page_impressions","page_impr_exdays":"3650"};
var essb_settings = {"ajax_url":"https:\/\/www.lightstalking.com\/wp-admin\/admin-ajax.php","essb3_nonce":"94cbe69010","essb3_plugin_url":"https:\/\/www.lightstalking.com\/wp-content\/plugins\/easy-social-share-buttons3","essb3_stats":true,"essb3_ga":false,"essb3_ga_ntg":false,"blog_url":"https:\/\/www.lightstalking.com\/","post_id":"10081","internal_stats":true};
Until a few years ago, workflow was a virtually unheard of word. Now it is the mantra of nearly every professional photographer but what does it mean? Well, put simply, its carrying out the day to day work tasks in a consistent and hence efficient way. Following on from my last article on Digital Image Management I want to talk about my workflow for ingesting and organizing images.
As mentioned before, there are a number of image management programs out there, my personal choice is Apple’s Aperture, mainly because I am Apple orientated and like the way the program interfaces with the rest of the Apple operating system. I allow Aperture to manage my library, meaning that I do not import my images separately to a folder then catalogue; I import them directly to Aperture and allow the program to deal with filing them.
So, for efficiency, start as you mean to go on. Get into the habit of uploading your images every time you return home. This way you can clean your cards, and start afresh next time you go out to shoot. It also means you are cataloging whilst things are still fresh in your mind.
The first thing I do when returning from a shoot is ingest my images into Aperture. As most of my images are travel based, my cataloging hierarchy is date and place related. My images are organized into projects by year, into folders by month and into individual shoots by albums. Typically I would return from a shoot and create a new album called for example 2012-01-01 Odessa. This album would reside in a folder called 2012-January inside a project called 2012-Images. Upon importing, I would batch name each image 2012-01-01 Odessa-(Sequential Number) Most image management software allows you to batch name your photographs in various ways. Before importing, I also add any keywords that are consistent throughout the shoot and most importantly add my copyright and date information to the metadata. I then import all the images.
Add relevant keywords and copyright info on import
Once all are imported, the next stage of my workflow is to go through all the images one by one, very quickly and tag any sub standard unusable image. In Aperture I use the 9 key or rejected command. Once this is done, I then do a search within the album for all mages marked 9 and delete them.
Reject anything substandard
The next stage is to go through and mark anything I think is useable for stock. Using Aperture’s rating systems, which run from 1-5, I rate any potential stock images as a 3. Using Apertures metadata filters, I select all images rated three, a much smaller amount than the original upload, and once again go through the selection. This time I am looking for the outstanding work, which I will rate either a 4 or 5. Anything that achieves a 5 rating must be good enough to warrant a place in my portfolio, a rare event indeed.
Give a rating to anything usable
Now with all my potentially useable images rated, I can get to work on key-wording the images. This means adding to the metadata, specific wording relevant to the image, that allows me, and potential clients to find the image in a search. As you can see, by rating the images first, I only have to go through the laborious and time consuming keyword process on images I have selected as potentially useable and hence highlighting the key feature of a good workflow, efficiency.
Add more specific keywords and captions
This is just one workflow, the one I have adapted and found best for my own needs. The best way to find a workflow suitable for yourselves is simply to hone your techniques until you find the most comfortable way of doing things. Then stick to it.
Your website is very helpful to me. I am a beginner at photography, and very new at technology
Definitely follows my workflow almost exactly. Really love aperture. One thing I add is making sure to save my portfolio worthy ones into a separat portfolio only library to keep these easily accessible and searchable from all the other projects folders and albums.
Nice overview. I recently switched from Windows-based Elements to Mac & Aperture. This was very helpful. Thanks, and keep the articles coming!
var advanced_ads_cookies = {"cookie_path":"\/","cookie_domain":""};
var advadsCfpInfo = {"cfpExpHours":"3","cfpClickLimit":"3","cfpBan":"7","cfpPath":"","cfpDomain":"www.lightstalking.com"};
var beloadmore = {"url":"https:\/\/www.lightstalking.com\/wp-admin\/admin-ajax.php","query":{"post__not_in":[10081],"category_name":"post-production","posts_per_page":3}};
var tve_dash_front = {"ajaxurl":"https:\/\/www.lightstalking.com\/wp-admin\/admin-ajax.php","force_ajax_send":"1","is_crawler":"","recaptcha":[],"post_id":"10081"};
var TVE_Ult_Data = {"ajaxurl":"https:\/\/www.lightstalking.com\/wp-admin\/admin-ajax.php","ajax_load_action":"tve_ult_ajax_load","conversion_events_action":"tve_ult_conversion_event","shortcode_campaign_ids":[],"matched_display_settings":[],"campaign_ids":[],"post_id":10081,"is_singular":true,"tu_em":"","evergreen_redirects":[]};
(function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async=true;; po.src = 'https://www.lightstalking.com/wp-content/plugins/easy-social-share-buttons3/lib/modules/conversions-pro/assets/share-conversions-tracker.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();(function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async=true;; po.src = 'https://www.lightstalking.com/wp-content/plugins/easy-social-share-buttons3/assets/modules/pinterest-pro.min.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();(function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async=true;; po.src = 'https://www.lightstalking.com/wp-content/plugins/easy-social-share-buttons3/assets/modules/subscribe-forms.min.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();(function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async=true;; po.src = 'https://www.lightstalking.com/wp-content/plugins/easy-social-share-buttons3/assets/js/essb-core.min.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
let ccwpDOMLoaded=!1;
let ccwp_loaded = false;
let resources_length=0;
let resources =undefined;
let is_last_resource = 0;
ccwpUserInteractions=["keydown","mousemove","wheel","touchmove","touchstart","touchend","touchcancel","touchforcechange"];
ccwpUserInteractions.forEach(function(e){
window.addEventListener(e,calculate_load_times);
});
function calculate_load_times() {
// Check performance support
if (performance === undefined) {
console.log("Performance NOT supported");
return;
}
// Get a list of "resource" performance entries
resources = performance.getEntriesByType("resource");
if (resources === undefined || resources.length <= 0) {
console.log("NO Resource performance records");
}
if(resources.length){
resources_length=resources.length;
}
for(let i=0; i < resources.length; i++) {
if(resources[i].responseEnd>0){
is_last_resource = is_last_resource + 1;
}
}
let uag = navigator.userAgent;
let gpat = /Google Page Speed Insights/gm;
let gres = uag.match(gpat);
let cpat = /Chrome-Lighthouse/gm;
let cres = uag.match(cpat);
let wait_till=300;
let new_ua = "Mozilla/5.0 (Linux; Android 11; moto g power (2022)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Mobile Safari/537.36";
let new_ua2 = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36";
if(gres || cres || uag==new_ua || uag==new_ua2){
wait_till = 3000;
}
if(is_last_resource==resources.length){
setTimeout(function(){
console.log("ccwpTriggerDelayedScripts timeout : "+wait_till);
ccwpTriggerDelayedScripts();
},wait_till);
}
}
window.addEventListener("load", function(e) {
console.log("load complete");
setTimeout(function(){
calculate_load_times();
},100);
});async function ccwpTriggerDelayedScripts() {
if(ccwp_loaded){ return ;}
ccwpPreloadStyles();
ccwpPreloadDelayedScripts();
ccwpLoadCss();
ccwpScriptLoading();
ccwp_loaded=true;
}
function ccwpPreloadStyles() {
let e = document.createDocumentFragment();
var cssEle = document.querySelectorAll("link[rel=ccwpdelayedstyle]");
for(let i=0; i <= cssEle.length;i++){
if(cssEle[i]){
cssEle[i].href = removeVersionFromLink(cssEle[i].href);
let r = document.createElement("link");
r.href = cssEle[i].href;
r.rel = "preload";
r.as = "style";
e.appendChild(r);
}
}
document.head.appendChild(e);
}
function ccwpPreloadDelayedScripts() {
var e = document.createDocumentFragment();
document.querySelectorAll("script[type=ccwpdelayedscript]").forEach(function(t) {
var n = removeVersionFromLink(t.getAttribute("src"));
if (n) {
t.setAttribute("src", n);
var r = document.createElement("link");
r.href = n, r.rel = "preload", r.as = "script", e.appendChild(r)
}
}), document.head.appendChild(e)
}
function ccwpScriptLoading(){
var jsEle = document.querySelectorAll("script[type=ccwpdelayedscript]");
jsEle.forEach(function(t) {
t.type = "text/javascript";
if(t.src)
{
t.src = removeVersionFromLink(t.src);
}
});
}function ccwpLoadCss(){
var cssEle = document.querySelectorAll("link[rel=ccwpdelayedstyle]");
for(let i=0; i <= cssEle.length;i++){
if(cssEle[i]){
cssEle[i].href = removeVersionFromLink(cssEle[i].href);
cssEle[i].rel = "stylesheet";
cssEle[i].type = "text/css";
}
}var cssEle = document.querySelectorAll("style[type=ccwpdelayedstyle]");
for(let i=0; i <= cssEle.length;i++){
if(cssEle[i]){
cssEle[i].type = "text/css";
}
}
}
function removeVersionFromLink(link)
{
if(ccwpIsValidUrl(link))
{
const url = new URL(ccwpFormatLink(link));
url.searchParams.delete("ver");
url.searchParams.delete("time");
return url.href;
}
else{
return link;
}
}
function ccwpIsValidUrl(urlString)
{
if(urlString){
var expression =/[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi;
var regex = new RegExp(expression);
return urlString.match(regex);
}
return false;
}
function ccwpFormatLink(link)
{
let http_check=link.match("http:");
let https_check=link.match("https:");
if(!http_check && !https_check)
{
return location.protocol+link;
}
return link;
}
3 Comments
Your website is very helpful to me. I am a beginner at photography, and very new at technology
Definitely follows my workflow almost exactly. Really love aperture. One thing I add is making sure to save my portfolio worthy ones into a separat portfolio only library to keep these easily accessible and searchable from all the other projects folders and albums.
Nice overview. I recently switched from Windows-based Elements to Mac & Aperture. This was very helpful. Thanks, and keep the articles coming!