Goals
- Maintain clean, organized, intuitive, secure space to store software
- Keep all software in the same place as opposed to having separate hierarchies for public software, site licensed software, ISO images, etc
- Design permissions to be secure, intuitive, scalable, and easily understood
Applications Hierarchy
"Applications" Directory
- Resides directly under "ITD"
- Contains all software Microsys uses, maintains, distributes, etc...
- Includes ISO images
- Very few people have read or write access to the entire directory structure
- Read and other rights are granted as necessary
- Directory tree should be kept as shallow as possible
Layout Directly Under Applications
- Directories are named after vendors when a vendor name is obvious
- If the vendor name can't be found or will likely confuse people trying to locate the software, name the directory directly under "Applications" based on the primary web site for the project
For example, "TrueCrypt" software would live under "truecrypt.org\TrueCrypt 4.3a" This would allow us to keep our namespace "flatter" while making it easy to locate the software you're looking for and to know where it came from.
- If the web site isn't a good name for the software, put the product in the "Applications\Other" directory.
- Do NOT create a vendor directory and place files directly underneath it
- Naming: Name the vendor correctly but succinctly
- Omit "Corporation", "Inc.", "Incorporated", or other general terms
- Examples:
- Adobe is really "Adobe Systems Incorporated". Name the directory "Adobe".
- Remedy is made by "BMC Software, Inc.". Name the directory "BMC Software".
- SolidWorks is mande by "SolidWorks Corporation". Name the directory "SolidWorks".
- Spaces are acceptable
- Capitalize letters according to how the vendor capitalizes letters
- Example: "AutoDesk" instead of "Autodesk"
- Omit "Corporation", "Inc.", "Incorporated", or other general terms
Layout Directly Under Each Vendor
- Goal: Make it easy to be able to see all products and versions available from a particular vendor
- Goal: Consistency. In the past, the "apps" volume was oganized differently based on the application and who saved the files
- Directories are named after a specific product, version, and optionally a platform. A new directory is created for each version. If no platform is specified, Win32 is assumed.
- Spaces are used to separate product, version, and platform.
- Product names are capitalized correctly. Capitalize the product name the same way the vendor capitalizes the product name.
- Do NOT create a product directory with multiple versions nested underneath it


Layout Directly Under Each Product/Version/Platform
Extracted installation files should NOT reside directly under the product directory. Each product directory directory should be organized with the following subdirectories if applicable:
Source
-
The "Source" directory contains unaltered vendor files.
-
If you receive a CD/DVD as the original media, make an ISO file and save it in the Source directory.
-
If the software comes as a zip, exe, or other type of package, save that file in the Source directory. Do not be uncompress the files.
- If multiple platforms are available for a certain version of a product, name the ISO, ZIP, or other files accordingly. If no platform is included as part of the file name, the file is assumed to be for i386.
Dist
- The "Dist" directory contains the uncompressed working files that are used to distribute software to clients.
- Use the directory structure supplied by the vendor under the "Dist" directory whenever possible.
- Avoid storing customized files in the "Dist" directory if possible. This is to make it easier to locate all of the files that needed to be altered in order to distribute the application. Customized files should be stored in the "Configure" directory. This makes it easier for someone working on a newer version to determine which files are part of the actual application and which files are supplimental or were customized.
- There can be more than one "Dist" directory if the software is distirbuted to multiple platforms.
- If the directory is simply called "Dist", assume the platform is i386.
- If the distribution files are for another platform, create a separate "Dist" directory and include the platform name: "Dist-x64".
Updates
- Store service packs, patches, and other vendor-supplied files in the "Updates" directory.
AddOns
- Use the "AddOns" directory to store extenstions, special toolbars, or other additional pieces that enhance the software.
- The files in the "AddOns" directory should be uncompressed and directly used to distribute the AddOn or make it available.
- The source files for the AddOns should be saved in the "Source" directory.
Configure
- Use the "Configure" directory to store customized files, transform files, scripts, and other files you need to alter.
- Serial numbers can also be stored in the Configure directory.
- Permissions can be configured so that users have access to the other directories but not to "Configure". This will help protect license or other sensitive information.
Docs
- Store any documentation you create or have found that is not included with the uncompressed files in the "Dist" directory in the "Docs" directory.
- It is advisable to include a readme.txt file that describes who created the directory, built the application, updated the application, made other changes, etc.
- You can include supplimental documents that are helpful in the "Docs" directory. An example would be a network installation guide that is available from the vendor's website but is not inlcluded with the regular product documentation.
NTFS Rights
- Users do NOT have read rights by default
- Computers have read rights by default. This should allow GPOs to be able to distribute software.
- The following domain local groups are used to assign rights
- ITD_Directory-Applications-Read
- Domain Computers is a member
- ITD_Directory-Applications-Full Control
- ITD_Microsys Staff
- ITD_Application Builders (will contain Tier 2 accounts)
- ITD_Directory-Applications-Read
- Create additional domain local groups if rights need to be granted to specific directories or files. Create global groups or use existing global groups to assign the rights.
- Do NOT add groups to these groups that are controlled by others
Serial Numbers
- Unauthorized or unnecessary access to installation media is less of a problem than access to our serial numbers.
- Serial numbers should ONLY be stored in the "Configure" directories.
- Serial numbers should NOT be included in ISO images or stored in any other way in the "Source" or "Dist" directories.
ISO Image File Naming
- Goal: Name the file so its contents can be easily determined regardless of where the file resides
- Rename ISO files supplied by vendors to adhere to these guidelines
- For example, when you download the WAIK from Microsoft the file is named:
vista_6000.16386.061101-2205-LRMAIK_EN.iso
- For example, when you download the WAIK from Microsoft the file is named:
- Omit "version", "edition" or other general terms
- ISO Naming Convention:
<Vendor> <Product> <Version> [Variety] [Disc x of y].iso- Vendor is a succinct company name
- Product is a complete product name
- Version is a number, year, or whatever the vendor uses
- Variety is something like the following:
- Professional, Standard, or Ultimate
- R2
- Enterprise
- VLM (Specify if the ISO image is for special volume licenses, use the acronym that the vendor uses)
- Examples:
- Microsoft Office 2003 Professional.ISO
- Microsoft Windows Server 2003 R2 Enterprise Disc 1 of 2.ISO
Other Guidelines
- Don't make a mess.
- Name things so other people can tell what they are or do.
- Separate vendor-supplied files and directories from those you create or customize whenever possible.
- Exactly one version of a product should reside in each product directory.
