Software Release System Documentation
Software File Naming Policy
Software releases are served from the isilon server under /releases/... The mount is \\isilon\releases. If you will be releasing software contact IT to get access to this server. The download tracking system parses the log files to gather data about downloads of our software. The system parses the names of the directories and files within to determine what products and versions were downloaded. It may also use an XML file included with the release to gather data about the files. The version number from release folders are also used to determine which release is most recent and therefore which one should be presented to users for download by default. It is important for the naming convention and standards to be followed in order for the system to work properly.
Major releases should placed in a folder named starting with the name of the software. Capitalization should be consistent with previous releases. The name should be followed by an underscore, then 'v' followed by the release number. The version number shall consist of only numbers and '.' characters. The number may also include a, b, c, etc. at the end, but this should not be needed since build numbers can be used within major releases.
Within major release folders, files should be named starting with the name of the software or item. Capitalization should be consistent across files. The name should be followed by an underscore character then the major version number if used. If a sub-build number is used, an underscore character should seperate it from the major build number. The sub-build number shall be based on the date, 8 numbers - YYYYMMDD, i.e. 20080712. An underscore character should be used to seperate OS and platform info from the version or sub-build number. A dash caracter '-' should be used to seperate OS from platform info. Capitalization should be consistent across files. This should be followed by the file extension in lower case.
No sub folders should be used within the major release folder.
With Build Numbers:
An xml file may also be included to provide data about the files. It should be named "fileinfo.xml". If detected, this will be used in preference to parsing the file names. Therefore, if an XML file is used it is not strictly necessary to follow the naming convention. Similar guidelines should be followed as far as labeling consistency from release to release. The example below can be used as a template. Content within the "<note>" tags will be displayed as bullet items listed in the right column. Content in "<warning>" tags will be similarly displayed but in red. The parent build tag can contain URL parameters for links to release notes documents and the home URL for the software. Whenever possible it is best to use the registered domain name for the software homeURL because it will always resolve to the right place no matter what changes to the final page URL occur in the future.
<?xml version="1.0" encoding="UTF-8" ?>
<build releasedate="January 1, 2011" releasenotesURL="http://www.sci.utah.edu/releases/mysoftware_v1.3.5/ReleaseNotes.txt"
<note>See product documentation for details on new features and how to use it.</note>
<file name="MySoftware_1.3.5_win32.zip" product="MySoftware" ver="1.3.5" distribution="Windows 32bit">
<note>MySoftware 1.3.5 32bit Windows</note>
<warning>This will not work on a Mac</warning>
<file name="MySoftware_1.3.5_win64.exe" product="MySoftware" ver="1.3.5" distribution="Windows 64bit" />
<file name="MySoftware_1.3.5_Darwin.dmg" product="MySoftware" ver="1.3.5" distribution="Darwin OSX" />
<file name="MySoftware_1.3.5_source.zip" product="MySoftware" ver="1.3.5" distribution="Source" />
<file name="data.zip" product="MySoftware Data" ver="1.3.5" distribution="All" />
In order for the web server to be able to access the release files, they should at least have group and world read access (in numeric terms, 644; -rw-r--r-- as seen by ls -l ), with the directory for the release having group and world read and execute permissions (in numeric terms, 755; -rwxr-xr-x as seen by ls -l). Problems with permission setting may cause the download page to be blank or cause an error when users click on the links to download. Always verify that downloading works for each file! IT (firstname.lastname@example.org) can help if you have any problem setting permissions.