Showing posts with label Asset Management. Show all posts
Showing posts with label Asset Management. Show all posts

Wednesday, December 22, 2010

#0051 Ten Essential Rules of File Naming -. Summarized

Previous:      Asset Management 101 –  Ten Essential Rules of File Naming - 10 Include Extra Data

Asset Management 101  

Ten Rules To File By
So about now you're wondering if you want to modify your naming conventions or not.  Doing so can be a big undertaking, involving sometimes getting the consensus of other supervisors and producers.  It should certainly be initiated only for new projects, and you'll need to prepare a good document explaining what the changes are, why they are important and possibly how the system will be implemented.

When implementing the system, you'll need to consider how you will train your staff.  A memo is fine, but better is a briefing paper or possibly a slide show illustrating how the new system works.  You may find it necessary to explain to the staff why the changes are important and how it will make things more secure and improve everyone's understanding of file status and relationsips and revision level.   You need to explain the new system because people tend to resist and question change; explaining it to people is a show of respect.


Mostly, you'll need to get your intermediate supervisors and coordinators fully committed to the changes and get them to understand it is part of their job description to knoow and enforce naming conventions.


A final thing to consider is automation.  For one company, I made a spreadsheet in Open Office.  Artists in each work unit can fill in the information for their shot and get back a properly formatted name for their scripts and renders.  Similar utilities can be developed in MEL, Python or Javascript for users.  In NUKE a gizmo could be put together.  Remember, artists are busy and will ignore or make mistakes in file naming just because they are rushing or tired.  Make it easy for them.  


Here's an outline of this series


10 Rules To File By

1.Let it Speak (Make it meaningful)
2.Make it Short
3.Keep it Simple
4.Avoid Special Characters and Control Punctuation
Use command-line compatible punctuation
Avoid Spaces
Two periods maximum
The hypen – if you dare
Use postScript Notation
Special Emphasis
5.Protect Sort Order
Maintain Chronology
Variations and Passes after take or version
6.Rendered Files Must Refer to Their Script
7.There can be only ONE revision 1
Call Composited Shots "takes"
Put Modifiers After Revision Number
Tie Render Passes To A Revision
Use Takes and Versions Together
Make sure your revision modifier policy is understood
Use Codes and Punctuation Sparingly
8.Abbreviate Consistently
Abbreviations
Codes
Consistency
Legibility
9.Use Project Identifiers
Separate internal or external work
Client company and sometimes division or department
Project: film, show, series, campaign,
Sub-project: TV episode, spot or reel number.
10.Include extra data
Artist Names
Variation vs Option Descriptions
Rights Managed Files
Camera Angle

Tuesday, December 21, 2010

#0050 Ten Essential Rules of File Naming 10-. Include Extra Data

Previous:      Asset Management 101 –  Ten Essential Rules of File Naming - 8 Abbreviate Consistently

Asset Management 101

Include Extra Data
In the post, #0043 AM101: Part 2 - Understanding File Classification , I list more than 15 ways to classify files. In your naming system, incorporating this meta-data into a file name can often be useful, avoiding the need for secondary data files with data about the data. Let's look again at some of the extra data you might include:

Artist Names

This should go without saying, but sometimes it is important or helpful to embed the artist names or initials in a filename. Case in point: I currently am supervising in a mixed-OS environment, with Linux, Mac and Windows machines. The server is Linux, and my Windows machine doesn't convert for me the user and group ID numbers into names. For most files, we don't care enough to make this an issue. But for some files, with shared authoring, it is easier if we know who authored the most recent revision. Likewise, artists may be working in a common folder generating multiple assets.  In both these examples, knowing who made the file can save time.

Variation vs Option Descriptions

Often we are producing more than one option. For all files, this also belongs after the revision control number, unless the options and variants represent unique elements that can or should be used.
To clarify, suppose we are making a single element in Photoshop of a gaseous cloud for compositing. We've designed three Layer Comps and named them, “red”, “blue” and “mixed”. If only one of these should be used we would name these:
example 1
shot12_gasCloud_v01_red.jpg
shot12_gasCloud_v01_blue.jpg
shot12_gasCloud_v01_mixed.jpg
But suppose we are asked to provide three unique gas cloud variations for a shot. These might be named:
example 2
shot12_gasCloud1_red._v01jpg
shot12_gasCloud2_blue_v01.jpg
shot12_gasCloud3_mixed_v01.jpg
This implies, of course, a requirement for explicit and clear instructions to the artist. However, giving explicit instructions will strengthen your command and control system. When in doubt, the artist should ask if they are presenting options or variations.

Other File Classification Data

Rights Managed Files – One company I worked for found it important, when collecting stock files, to include rights usage information in the filename. They developed some simple abbreviations to indicate Royalty Free and Rights Managed assets. When collecting or accepting assets from the client for reference or use, it might be useful to encode the file with information to indicate whether the file is only for reference, client use in a particular project, or general use for all client projects.

Camera Data – Sometimes it might be useful to file footage with information about the camera angle (wide, close-up) or a camera number. Suppose you have stereo footage, then you need a consistent way to name your left and right view footage and asset files. Likewise, suppose you're assembling work from a multi-camera shoot, you may want to identify which camera was used in the source footage filename.



Use your imagination, and remember, that the most important aspect of asset filenaming is to facilitate control, yet accommodate unpredictable needs. Allow in your convention for modifiers and additional data, don't try to predetermine every possible situation, and update your specifications and review them with your staff often.
Just remember to protect your sort order, Usually the most important aspect of sort order will be the asset name and the next most important will be the revision control system numbering. After that come your modifiers and other data.

Next:             
Asset Management 101 – part 9: Ten Essential Rules of File Naming-Summarized

Sunday, December 19, 2010

#0048 Ten Essential Rules of File Naming 8-. Abbreviate Consistently

Previous:      Asset Management 101 – part 5: Essential Rules of File Naming 7- There Can Be Only One

Asset Management 101 – part 6

This rule could possibly be split into “Use Abbreviations” and “Be Consistent”, but then I'd need an 11th point, and that just would cause all kinds of psychotropic disruptions in the universe and list makers everywhere might shudder in disgust. The point is, when naming things, be consistent, use abbreviations, and use abbreviations consistently. Let's lump into this post the idea of using codes and talk about legibility.

Abbreviations

For example, suppose you're working for a client named Walter Thomas Studios. You can abbreviate most names to between two and four letters, so you've decided clients get three letters: WTS or wts.
Next, WTS has awarded you a short film, The Red Eyed Animator, and a series, Movie Effects Magic. So again, three characters or four characters work with most films, so you use three characters (and save the fourth for sequels), giving you either “rea” or “REA”.
For the series you know you will certainly have double-digit episodes and it could go to triple, so you name your Movie Effects Magic episodes MEM001 and so forth. For series common assets, you use the episode number 000, so you don't need an ad-hoc name like “Season Assets”, which, while perfectly acceptable, breaks sort order.
When naming episodes, remember, clients will have their own show numbers, You may want to use these or part of these. For example, suppose WTS uses the numbers 09000-09999 for its MEM series, you can use 000-999 because your system replaces the initial “09” with “MEM”, thus: wtsMEM001.
Other abbreviations you might use:
example 1
v version
r revision
t take
rl reel
sc scene
sh shot
c camera

Codes

You may have noticed that the other abbreviations list contains abbreviated field names, with the data following the abbreviation. Oftentimes you may wish to code other data with shots.
One system I developed employed the use of status codes on all our quicktime takes, so that in addition to knowing what take it was, we knew the level of refinement. Here are some status codes that could modify (and hence follow) your take name:
example 2
ANM 2D Animatic with audio
BLK Playblast Maya Blocking
RUF Rough Composition
STD Submitted To Director
STE Submitted To Editor
TCB Take Accepted, Could Be Better
TCF Take Considered Final
Of course, use of these codes requires the ability of the supervisor to review the shot and rename the file with the correct code. Use your imagination and perhaps you can come up with a set of codes that sort properly and reflect the revision loop you use.

Consistency

If you always use the first three characters of a file name for the client ID and next four for the project ID, you can dispense with punctuation, yet still have scripts process and separate files based on clients and projects. Consistency in how names are assembled can actually allow you to remove punctuation or field identifiers (such as “v”). For example, elimination of nonessential punctuation and field abbreviations can reduce this file name length:
example 3
wtsMEM001_rl1_sc001_sh011_t02_v1_vikas_RUF.mov
wtsMEM001_1001011_021vikas_RUF.mov

Legibility

One important corollary to abbreviations and consistency is to improve legibility, the ability to distinguish between letters and hence read the file name. Note in example 3 that the text string for reel, “rl” is hard to read when next to a 1. for this reason, try to avoid lower case “l” in abbreviations and codes.
To help with legibility, I kept the client name lowercase and made the show abbreviation all caps. . ou could, if you don't use client names, help by making the show name lower case or switch and make the client all caps – just make a rule an follow it consistently:
example 4
WTSmem001_1001011_021vikas_RUF.mov
mem001_1001011_021vikas_RUF.mov
Next:             
Asset Management 101 – part 7: Essential Rules of File Naming 9 - Use Project identifiers

Saturday, December 18, 2010

#0047 Ten Essential Rules of File Naming : 7- There Can Be Only One

Asset Management 101 – part 5
Previous:     
Asset management 101 -- part 4 : Ten Essential Rules of File Naming 4-6

In this post, the fifth to look at the basic concepts of Asset management, we will look at the seventh rule of File Naming, call it the Golden Rule:  There Can Be Only One of Each Version


It's called revision control for a reason.  
Take control.

Every CG Pipeline Production Command and Control System depends upon the identification and tracking of asset revisions and shot takes to avoid chaos and confusion and promote efficient workflows. Equally vital is the association of each asset revision with its source files. So let us talk about best practices in file naming for takes and revisions.


best practice:
Call Composited Shots "takes"


Movie Night Party PinataImage by Kid's Birthday Parties via Flickr
What is a take?
Before I go on, let me clarify that in my thinking, any movie asset or sequence should be called a take. This is the terminology used on set for a shot revision that is rendered (captured) by exposing the film or digitizing the image. A take is a unique rendering of a shot.


If you currently use the terminology “version” or “revision” for a shot or element render, please change your thinking immediately and call them takes. It's important, because it puts you more in the language of filmmaking and more into the right mind set. It will help you remember that it is perfectly acceptable and often desirable to present multiple takes to a director for seleection. It will help you remember that a take can have good and bad qualities, and that at some point, you and the director need to accept a take and move on, because there is limited time for production.Finally, it will help you separate and track what the client sees from what your team sees in internal reviews.
 
On the other hand, your still art images, CG files, and other files used to make a take can be called versions if you like, because usually the goal is to produce one final refinement. While one can argue that at the end of your production, there will be one final version of each shot, I still recommend that you think of your composite outputs as takes.  To take this further, I usually number these with a "t" instead of a "v", but as we shall see, using a letter at all is sort of unnecessary.


best practice:
Put Modifiers After Revision Number

In the absence of a solid naming convention that correctly manages the various needs of revision control, artists and coordinators will invent there own ad hoc solutions. which will cause nothing but confusion as supervisors are forced to contend with a mish-mash of file names and, even worse, the destruction of sort order (see rule #5: Protect Sort Order).  The most important thing, is to keep all modifiers after the revision or take number.

Artist names are modifiers
 For example, artists tend to think that it is perfectly acceptable to separate their work from every one elses, and put a revision number after their own name, like this: shot12_jack_t01. This can be really annoying if you're looking at the folder and see that shot12_jack_t01 is newer than shot12_jill_t07.   As soon as you notice this, you know you can no longer count on name sorting, and must now sort and select files by date.  This, by the way, is the most common violation of sort order.  A  more correct way (but not ideal) is :
example 1
shot12_t07_jill
shot12_t08_jack
If you need Jack's and Jill 's authorship to be part of the file name, it should go after the version number, and version number uniqueness must be maintained.  This is the only acceptable way. 



Options and descriptions are modifiers
Another example is the artist decides to put a descriptive modifier before the version number and then makes files:  shot12_redOption_v01.psd, shot12_blueOption_v01psd.  Again, this destroys sort order,   A more correct thing is to put the option description after the revision number:
example 2
shot12_v01_redOption.psd
shot12_v02_blueOption.psd.
You should note that in addition to moving the option to be after the revision number, I incremented the revision number for the blue option.  This will help with tracking, because now no  one will need to include the words "redOption" or "blueOption" when discussing the shot and logging it in software.  If your software takes revision and take numbers, you don't have to design it to accept non-numeric data.

Observe also that the ad hoc introduction of letters after your revision number is also just a modifier, like "red" and "blue", but it adds no real information.  Don't let artists call variations "v003A" or "t02B".  It adds  nothing and causes confusion.  Instead, use a more descriptive word or establish codes for common needs.


best practice:
Tie Render Passes To A Revision


Another kind of modifier comes when rendering CG elements.  Most contemporary pipelines give compositors more final control with multi-pass rendering.  Again, pass names belong after the revision name:
example 3
shot12_v01_rgb.####.iff
shot12_v01_depth.####.iff
shot12_v01_ao.####.iff
Remember File Naming Rule #6, Rendered Files Must Refer to Their Script?  By keeping the CG pass information after the version number, one can infer that all these passes come from the same MAYA file, shot12_v01.mb.  This provides an essential association- anyone assigned to revise a pass knows exactly what script generated it.

Suppose you want to adjust the specular pass for shot 12 and add a dirt pass.  You would modify the script, save it as "v02" and then render only the new passes.  The compositor then would have these assets, and each would tie to a Maya file.  Even though the other passes may render correctly from v02, their source is v01. 
example 4
comp assets from shot12_v01.mb
shot12_v01_rgb.####.iff
shot12_v01_depth.####.iff
shot12_v01_ao.####.iff
comp assets from shot12_v02.mb
shot12_v02_spec.####.iff
shot12_v02_dirt.####.iff


best practice:
Use Takes and Versions Together
When it comes to managing shot take numbers, a company may have a policy to only increment take numbers when a shot is presented to the client, as opposed to increementing the takke number each time a take is rendered for internal review. Each policy has its merits, and we won't debate them, but let's look at how the two policies affect your revision control numbering system.
The first method, which we can call Internal Take Numbering, is to assign a take number each time the script is rendered for review by a supervisor. This is a very simple system and works well with the naming conventions I've describes so far. For example, these NUKE scripts will generate the shots shown
example 5
shot12_t01_jill.nk → shot12_t01.mov
shot12_t02_jack.nk → shot12_t02.movx
shot12_t03_jack.nk → shot12_t03.####.dpx
But suppose your company policy is to use Delivery Take Numbering. In this system, only takes delivered (presented) to the client for review or approval are numbered. Suppose in the previous example, the Quicktime (.mov) takes were for internal review. A company using Delivery Take Numbering might name the files and takes a bit differently:
example 6
shot12_t01_jill.nk → shot12_t01_jill.mov
shot12_t01_jack.nk → shot12_t01_jack.movx
shot12_t01_jack_02.nk → shot12_t01.####.dpx
Do you see the problems here? First, Jack appended a _02 to his second take, which he used to render the delivery take. Second, jack preceded jill in the alphabet. So when sorting, the sort order is broken. This is why earlier I said appending the artist name after the shot revision number is not ideal.
The better way, when using Delivery Take Numbering, is to do what software companies have done for years- modify the release version with a sub-release number. In this case, what you do is use a take and a revision number at the same time,, and no one is allowed to reuse a combination. For example:
example 7
shot12_t01v01_jill.nk → shot12_t01v01_jill.mov
shot12_t01v02_jack.nk → shot12_t01v02_jack.mov
shot12_t01v03_jack.nk → shot12_t01.####.dpx
shot12_t02v01_jack.nk → shot12_t02.####.dpx
In this system, after the take number there is a revision number. Note that in this case, the revision number and artist name is used, and appear only in renders for internal review. Final deliveries are renamed or rendered without the revision number. Of course, this is optional, there is no reason (except embarassment?) to hide the revision number from the client.

Modifications of this system would be to use an undescore or period instead of the v. A period is undesirable, because it could cause confusion in some software, but an underscore works fine. Or you could just concatenate the revision number and use it without punctuation:
example 8
shot12_t0101_jill.nk → shot12_t0101_jill.mov
shot12_t0102_jack.nk → shot12_t0102_jack.mov
shot12_t0103_jack.nk → shot12_t01.####.dpx
shot12_t0201_jack.nk → shot12_t02.####.dpx
I'm personally not a fan of the last suggestion, but if it works for you, go for it. I like this best, and would drop the user name if convenient:
example 9
shot12_01_01_jill.nk → shot12_01_01_jill.mov
shot12_01_02_jack.nk → shot12_01_02_jack.mov
shot12_01_03_jack.nk → shot12_01.####.dpx
shot12_02_01_jack.nk → shot12_02.####.dpx

Make sure your revision modifier policy is understood
If you do use revision numbers after a take number, you have one more decision to make.  It's a big one, and everyone needs to understand the studio's policy: does the revision number modify the current take or the last one?

In software, the revision modifies the release.  For example, 8.2 is a modification of release 8.   to clarify, do you want take 02_01 to come before or after the release of take 02?   In the examples I've given so far, it  comes before.  This is a violation of sort order, so while this may be one way of doing it, I suggest making revision 01 of take 02 to be thought of as the first revision after delivery of take 02.   A look at a shot's comp script files would then give the correct sort order and sequence of revision, the ideal in revision control, and in this system, it is unaffected by the addition or omission of artist names.  In this example, I will use the period to separate take and revision fields:
example 10
shot01_t00.01.shk  → .mov output for internal review shot01_t00.01.mov
shot01_t00.02.shk  → .mov output for internal review
shot01_t01.shk  → .mov output for client review
shot01_t01.01.shk  → .mov output for internal review in response to new direction
shot01_t02.shk  → .mov output for client review


best practice:
Use Codes and Punctuation Sparingly
In the examples 8and 9, I dropped the code letters “t” and “v” aand in one case, concatenated the numbers without punctuation and in the other, seperated the information with an underscore.  In example 10, I used a period.  In each case, what I am after is simplification and improved legibility. I dropped revision numbers for client releases, but that, like so many other suggestions I make here, are really a matter of preference.
However, while you may use a period as a field separator in a script or other asset file names, image sequence file names with extra periods must be avoided:
example 11   the wrong way
shot01_t01.01.aep →  shot01_t01.01.####.dpx 
instead, replace the period with some other punctuation

example 12   the right way

shot01_t01.01.aep →  shot01_t01_01.####.dpx

It's called revision control for a reason. 
Take control.
In summary, the rule for revision control is simple: 
There can be only ONE.  
While there will usually be more than one take or revision, there can only be one take one and only one take two and only one take three and only one ....

Please, defend this rule with vigor! Don't let artists break this rule, ask them to rename their files, and make sure every file has a revision control or ID number (even one off files like a quick Photoshop element or a reference) and make sure every file's revision control number is unique.  

Next:            
Asset Management 101 – part 6: Ten Essential Rules of File Naming 8: Abbreviate Consistently

Tuesday, October 5, 2010

#0045 Ten Essential Rules of File Naming 4-6

Previous:      Asset Management 101 –  Ten Essential Rules of File Naming 1-3


Asset Management 101 – part 4
 In my last post we looked at the first three of the ten essential rules: Let it Speak, Make it Short, Keep it Simple.

These provide the foundation of a good asset naming scheme.  Before we go on, you will notice in this series  I will use the terms file and asset interchangeably.  For the most part, this is true, but sometimes an asset is a collection of files.  For example, a sequence of image files actually is one asset.


Let's look now at rules four through six:


#4 Avoid Special Characters and Control Punctuation

Special characters, like the colon, semi-colon, parenthesis, brackets, asterisks, ampersands, and so forth can and will choke some application you may use now or may need in the future. This may seem like real basic stuff, but it's also stuff that's regularly ignored. Here's a primer on what to do and not do – and why:

Use command-line compatible punctuation

For safety, I suggest keeping all file names friendly for UNIX or LINUX command line work. While most users today interact with file through file browsers built into the operating system or application, advanced users will rely on command line and scripted solutions to speed repetitive tasks. In UNIX, the only foolproof punctuation characters are underscores and periods. Anything else can and will cause problems. Escaping special characters will increase your in-house program development time AND errors will occur in file operations.

Avoid Spaces

The most famous special character to avoid, now widely violated, is the inclusion of spaces w i t h i n f i l e n a m e s. As illustrated, spaces can make things less understandable if overdone. You and I can read my little example, but a text parser will certainly not know what to do with it. While most software today, will tolerate a space in an asset file name well, but it only takes one application to puke and your whole naming convention is in the dumpster. If that application is your in-house back-up script, I pity the fool who loses a fi le with a space in the name.

Two periods maximum

Stick to periods to separate basename, sequence or frame number, and extension. Period. No extra periods. Extra periods will cause chaos with some software that expects the first period to denote the sequence number and the last (or only) to designate the extension. Period.

The hyphen – if you dare

The next one to risk –and I use the word risk with intent – will be the hyphen or short dash. The hyphen is tolerated well most of the time. But be careful, the hyphen in UNIX means command option. So while you can usually use it with safety, it is ill-advised because, like the space, it can break things. Pity, because it looks great in file names.

Use postScript Notation

Other than underscores, the best way to separate words or concepts is what is called Postscript notation. It's now common in scripting languages, and to remind, it goes like this:
nocapitalCapitalCapitalCapitalCapital.ext
In more words, don't capitalize the first word, eliminate spaces, and capitalize words that follow.
Postscript notation is great, but it breaks down when you have initials, and doesn't always read so well, and that's when underscores help out:
rGB_1stDetail_Layer.ext
You'll notice that in this example, the “r” in RGB is lowercase. You can expect that users will violate the rules and make abbreviations like this all caps: “RGB_” at the start of assets unless you make the rule to keep leading abbreviations lower case:
rgb_1stDetail_Layer.ext

Special Emphasis

There is no way to underline text in file names, but special emphasis can be achieved when necessary with doubled underscores. Notice how the word “1st” stands out in the next example.
rgb__1st__Detail_Layer.ext
Hint: I like to set off take numbers (some people call these version or revision numbers, but I will explain why some files have version numbers and some have take numbers later) with this technique, avoiding the letter:
comp__01.ext

#5 Protect Sort Order

Maintain Chronology

Often people will put dates in file names. When doing this, don't put the day ahead of the month or the month ahead of the year. Make sure all file names with dates will sort in date order by always putting them in year, month, day order. If you ever include time, make it follow the date. Never leave out the year because sooner or later, a project will cross over two years. (For short duration projects, you might be tempted to leave off the month, but again, think ahead....) Some examples:
comp__2010_10_14__01.ext
comp_20101014.ext
comp_2010-10-14c.ext
The last is a good example of when you might wisely use hyphens, if you dare. Note the use of double underscores in the first example. Note also that in the third example, the letter “c” follows the date. This is an excellent way to version date-named files, because it is distinctive and gives you 26 revisions with one character. (27 if you make “a” the second version.)

Variations and Passes after take or version

I cannot tell you how often I see labels identifying variations, particularly layers and render passes, before the version or take number. Almost always. Maya's built-in syntax machine does it this way, and, in my humble opinion, it's backward because it makes sorting on revision level break.
A render layer or render pass is always
Why this is important should be obvious if you are a compositor: you want the latest revision of each item. It is much easier for a compositor to go to the folder where the renders are placed, and get all the elements with the latest revision. If, assuming the compositor has been informed a new revision is ready, there are seven layers and only three new elements or passes, it implies that the prior revision is still valid. But if the version number is after the pass name, the compositor has to be more careful to collect all the right elements.
The final reason: it has to do with my next rule:

#6 Rendered Files Must Refer to Their Script

Every file produced in a digital pipeline is either a script, meta data (such as a shot list) or a product file, and every product file is either directly produced, such as a hand-rendered illustration, or indirectly produced, such as script driven renders. Every cg or composite render comes from a script, and the naming of the script and data products generated must always match.
If I have a most vital rule. This is it. Data products must match their script names. Or, more accurately, because an artist's focus should be on producing a new take or revision, the script must be named so that it refers to the product it produces and the product identifies the script used to make it.
Ignorance of this rule is one of the most common cause of chaos. Imagine you've been asked to revise 23 elements, but have no idea which scripts in the shot tree made them. You have to open every script until you find the one that generated the current version of each element.


Next:            
Asset Management 101 – part 5: Essential Rules of File Naming 7- There Can Be Only One

Sunday, October 3, 2010

#0044 Ten Essential Rules of File Naming 1-3

Previous:      Asset Management 101 –  part 2: Understanding File Classification


Asset Management 101
The Ten Essential Rules of File Naming
Ever sit at the computer wondering what to name a file? Who hasn't? In the world of CG-VFX, this moment of decision gives either life or death to your file system organization. Good asset management begins with a good name. The magic of naming things is to remember the basic rule – I Am What I AM.

What does it mean, “I Am What I AM?” For most people, this fundamental question is exactly why there is a moment of indecision about what to name a file – too often a user doen't really understand what a particular file IS. 
 
Remember, in my last article I explained that there are more than 14 broad categories for every asset. So what a file is comes from those 14 plus categories.

Except in some far-off alien world, most files have an extension, which takes care of the file data type. By the way, file data tyoe was deliberately not included in my list of 14 ways to classify an asset, precisely because I consider this an inherent classification. So, since the extension (almost) always provides the essential file data type information, let's continue to ignore file data type. 
 
Now, I'd like to share my 10 Essential Rules of File Naming. Today we look at the first three:

#1 Let it Speak

File or asset names work when they speak to you. Now, how can a name speak? Well, what I mean, is a good name will tell you lots of information about the asset. This is the core and this is the reason we need to consider the 14 classification systems. 
 
For example, often an asset name contains a shot number, some sort of revision number and often a frame number. (Frame or sequence position numbers, are also outside my classification systems, but they are clearly relevant and must be given proper attention to protect them from confusing your applications.)
We will come back to this later. For now, keep in mind that the main function of the asset name is to speed understanding and help bring the most important information forward.

#2 Make it Short

My first principle is a simple one: keep the name as short as possible. The old fashioned 8.3 naming rule was about as useful as used gum on a shoe, but names that are two long can cause problems. The first problem, is that names that are two long can eat-up name memory space in software that limits this sort of thing, which is common in older applications or legacy apps that still have an old-fashioned code base. What happens is that if the names are X length and you have N files, N*X can be too much. I've seen it in some apps' bins and in at least one OS. Another problem, is that a name that is too long could break a database program that assumes a file name of a maximum length for a data field. Too long and the name could get truncated, making it inaccurate or useless, or worse, the program could crash or not accept the entry. Even if the filename length is accepted, the display of the long filename could be a problem if using a spreadsheet or a data form with a fixed length of the name display. So, if designing a name space for your assets, consider your legacy applications' restrictions. (If designing an application, consider your users' name space needs.) The best reason to keep names short is you (and everyone else) will be typing them again, and again and again.

#3 Keep it Simple

Overly elaborate naming conventions suffer from several problems. First and most significant, users will forget the rules or disregard them. Also, an overly elaborate name may be too long, be difficult to read or contain characters that make your OS or applications choke.

While these first three rules may seem basic, they provide a foundation for all the rest.  We'll look at the next set in tomorrow's installment.
 
Next:            Asset Management 101 – part 4: Ten Essential Rules of File Naming 4-6

Friday, September 24, 2010

#0043 AM101: Part 2 - Understanding File Classification

Mumbai, India Good asset management begins with a well-designed file system and solid file naming conventions.  It doesn't begin with expensive off-the-shelf or expensive custom solutions –No matter how sophisticated your asset management tools are, eventually someone will need quick, direct access to an actual file and won't have time to search through a mountain of obscure folders and inconsistently named files to find it. Many companies don't even bother with a database application, they organize and maintain their assets using the file-system and good file naming. That's where a file-system based on solid principles and policies will come in handy. 
 
Before we look at basic principles and best practices for organizing files, let's take a moment and think about the kinds of files we typically find in a CGVFX system.

Understanding File Classification

When most people thing of file classification, they think of file type, usually denoted by the file name extension. This is just the beginning, and is not usually your most important concern. Files often need to be identified, managed, and sorted by:
  1. internal or external work
  2. client company and sometimes division or department
  3. project: film, show, series, campaign,
  4. Sub-project: TV episode, spot.
  5. edit location: film reel, act, scene, shot
  6. camera (real or virtual) in the shot
  7. non-shot data: multi-shot matte paintings, elements, sets, characters and props.
  8. Direction: scripts, storyboards, visual references, rough edits, production (shooting) camera logs, vfx shoot logs, client work orders, material transmittals, editorial line-up sheets, count sheets, vfx break downs, change orders, shot status and approval documents....
  9. asset longevity: temporary asset or long-term asset to be archived
  10. stock usage rights: public, royalty free, or per-use and client-licensed or studio-licensed
  11. tools and scripts libraries: shaders, brushes, dynamic fx, automation, methods and procedures .....
  12. Shared library assets of the company, client, project, series, season, or campaign,
  13. application and/or work unit files, for example:

    1. composite element type: script, precomps. bg plate, chroma plate, edit reference, visual reference, matte painting, 2D art, line art or illustrations, stock photos (or video or audio or other media), cg renders....
    2. cg element asset type: scene and referenced scenes, models, textures, rigs, dynamic models, hair models....
  14. group vs. private control : collaboration accessible or locked-up; internal ownership – right to edit, right to view, right to delete, right to move, collaborative control or non-collaborative
  15. and so forth.....
OK, so files can be classified in many ways, so you might ask, why do you care? Well, for starters, suppose you've produced a season of effects for a television network, and the production company calls and says they need verifiable releases on imagery used for every frame you produced. Can you quickly identify assets provided by the client, developed in house, purchased royalty-free or licensed for the project? Or suppose your working on a film, and editorial needs all shots in reel one delivered Friday? Suppose it's discovered that the elements delivered on the 23rd all are short count because handles were not added that day – can you sort out the plates that need replacement and the shots effected? 
 
Each dimension of classification is significant to someone. The question is, will your file system and naming conventions facilitate or hinder operations? Will users be able to quickly locate and access files? Will collaborators be able to share and access files and folders with ease, or will there be confusion and frustration? 
 
A solid CGFX file system must meet the needs of many different work units and departments. Despite similar needs for managing data, work units and teams may draw from different data sources with different characteristics and applications. Each team or unit may produce a unique product for other teams and ultimately the client. 
 
Anticipating and managing these needs begins with solid company policies. In turn, these policies arise from management consensus on basic file system principles.
 
Next:            Asset Management 101 – part 3: 10 Essential Rules of File Naming

Thursday, September 23, 2010

#0041 Asset management 101 – part 1: introduction

Mumbai, India – When it comes to managing your digital media assets, an elaborate database with asset access and revision control, cross referencing, robust search capabilities, linkage to command and control approval systems, solid pipeline integration and automatic mirroring is a wonderful thing. But, no matter how great the asset management system, quite often you'll find someone needs to access and locate data without using the database system. And, despite the mythology that these systems are a panacea, asset management database systems are expensive to deploy and maintain. So much so that few if any small and medium size shops have these tools. Asset management databases are the jet set luxury item of the super-rich vfx houses.

a logo for Adobe BridgeImage via Wikipedia
Case in point, consider Adobe Bridge, a marvelous application. The basic application comes with most or all Adobe Creative Suite products. This great little application allows the user to quickly categorize digital media assets, with a focus on stills and movies. Give it a folder or hard drive to examine, and it will return all the media in those folders it recognizes with a thumbnail, and the rest with an icon. The user can then tag the images with meta-data like the names of people in the shots, location, and so forth. The user, functioning as a librarian, can set-up a classification system and categorize images and movies by any criteria – completely independent of file location on the hard drive. Media can be viewed and edit applications launched. It's a great thing, and a short investment in time can organize the library.

But there's a catch – it only works in single user mode. Only one user can load and edit the library catalog at a time. It also is, by default, tied to a user account, although I'm sure the data can be made accessible to others, one at a time. As a collaboration tool, it is very limited, unless you want to invest in the server edition, which is relatively inexpensive but less easy to sell to management than the need for a CS bundle.

Even if you do get an app like Bridge approved, the next hurdle is its limited range of formats. Despite Adobe's support of many formats in its product line, Bridge may not generate thumbnails for some of these file types. Whether it's Bridge or some other application, you may be compelled to customize the application with plug-ins and file readers, or learn to accept that it cannot display the files.

Good asset management requires a solid system, and even a small project needs good asset management. The key to good asset management doesn't begin with expensive off-the-shelf or expensive custom solutions – it begins with a well-designed file system and solid file naming conventions. 
 
Next: Asset management 101 – part 2 - Understanding File Classification