Difference between revisions of "OXP Distribution"

From Elite Wiki
(added information announcement and updating sections, revised information on versioning)
(Added General section based on Micha's suggestions.)
Line 1: Line 1:
 
Making sure that users can easily find, download, understand, and install your OXP helps making it more popular and keeps requests for help to a minimum. The following best practices help you achieve that.
 
Making sure that users can easily find, download, understand, and install your OXP helps making it more popular and keeps requests for help to a minimum. The following best practices help you achieve that.
 +
==General==
 +
* Make sure that the file names in your plists precisely match the actual file names, including the capitalization. File names on non-Windows systems are case-sensitive.
 +
* Include info.plist and requires.plist in your OXP.
 +
* Avoid file names with spaces. They make it harder for people who use the command line.
 
==Packaging==
 
==Packaging==
 
{|
 
{|
 
| style="padding-top: 3px; vertical-align: top" |
 
| style="padding-top: 3px; vertical-align: top" |
# Create a directory named after your OXP, e.g. "MyNewOXP yyyy-mm-dd". Make sure this directory '''does not''' end with the .oxp suffix. Replace yyyy-mm-dd with your OXP's release date (yyyy: year, mm: month, dd:day), e.g. 2011-03-05 for March 5th, 2011.
+
# Create a directory named after your OXP, e.g. "MyNewOXP_yyyy-mm-dd". Make sure this directory '''does not''' end with the .oxp suffix. Replace yyyy-mm-dd with your OXP's release date (yyyy: year, mm: month, dd:day), e.g. 2011-03-05 for March 5th, 2011.
# Inside "MyNewOXP yyyy-mm-dd", add the readme, the license, and additional files, and the actual OXP directory, named MyNewOXP yyyy-mm-dd.oxp. Make sure this directory '''does''' end with the .oxp suffix.
+
# Inside "MyNewOXP_yyyy-mm-dd", add the readme, the license, and additional files, and the actual OXP directory, named MyNewOXP_yyyy-mm-dd.oxp. Make sure this directory '''does''' end with the .oxp suffix.
 
#* If you prefix the names of the readme and license files with MyNewOXP you are making it easier for users to keep all files that belong to OXPs in one place.
 
#* If you prefix the names of the readme and license files with MyNewOXP you are making it easier for users to keep all files that belong to OXPs in one place.
 
#* If you instead put the readme etc. files into the .oxp directory then Mac users will have a harder time finding them as .oxp directories are presented as packages.
 
#* If you instead put the readme etc. files into the .oxp directory then Mac users will have a harder time finding them as .oxp directories are presented as packages.
 
#* See the [http://aegidian.org/bb/viewtopic.php?f=4&t=7047 Licensing OXPs] thread on the Oolite Bulleting Board for information about licensing.
 
#* See the [http://aegidian.org/bb/viewtopic.php?f=4&t=7047 Licensing OXPs] thread on the Oolite Bulleting Board for information about licensing.
# Inside the MyNewOXP yyyy-mm-dd.oxp directory add the Config, Models, etc. directories that make up your OXP.
+
# Inside the MyNewOXP_yyyy-mm-dd.oxp directory add the Config, Models, etc. directories that make up your OXP.
 
| style="vertical-align: top" |
 
| style="vertical-align: top" |
 
{|
 
{|
 
| style="border-style: solid; border-width: 1px; padding-left: 5px; padding-right: 5px" |
 
| style="border-style: solid; border-width: 1px; padding-left: 5px; padding-right: 5px" |
 
Example:
 
Example:
  MyNewOXP 2011-11-17
+
  MyNewOXP_2011-11-17
 
  +- MyNewOXP readme.txt
 
  +- MyNewOXP readme.txt
 
  +- MyNewOXP license.txt
 
  +- MyNewOXP license.txt
  +- MyNewOXP 2011-11-17.oxp
+
  +- MyNewOXP_2011-11-17.oxp
 
     +- Config
 
     +- Config
 
     +- Models
 
     +- Models
Line 24: Line 28:
 
|}
 
|}
 
==Distribution==
 
==Distribution==
# Create a zip file based on the "MyNewOXP yyyy-mm-dd" directory and name it "MyNewOXP yyyy-mm-dd.zip"
+
# Create a zip file based on the "MyNewOXP_yyyy-mm-dd" directory and name it "MyNewOXP_yyyy-mm-dd.zip"
 
#* While there are other, more efficient compression tools (such as rar, 7z), zip is available out-of-the-box on all operating systems that are officially supported by Oolite.
 
#* While there are other, more efficient compression tools (such as rar, 7z), zip is available out-of-the-box on all operating systems that are officially supported by Oolite.
 
#* If you are working on a Mac you might want to use a separate compression tool, not the "compress" command from the context menu in Finder. Otherwise, files that are not relevant for other platforms will be included and could lead to confusion.
 
#* If you are working on a Mac you might want to use a separate compression tool, not the "compress" command from the context menu in Finder. Otherwise, files that are not relevant for other platforms will be included and could lead to confusion.
Line 34: Line 38:
 
* At the very least, provide enough information for creating a one-liner in the [[OXP List]].
 
* At the very least, provide enough information for creating a one-liner in the [[OXP List]].
 
==Updating==
 
==Updating==
# Update your readme file with a new entry to the version history
+
# Update your readme file with a new entry to the version history.
 
# Rename the directories based on the release date of your new version, create a new zip file, and upload it.
 
# Rename the directories based on the release date of your new version, create a new zip file, and upload it.
 
# Both modify the first post in the OXP thread that you created, and post a new message in the same thread. In the first post, update the download location and provide up-to-date version information. In the new message, mention that there is a new version and give whatever other information is necessary.
 
# Both modify the first post in the OXP thread that you created, and post a new message in the same thread. In the first post, update the download location and provide up-to-date version information. In the new message, mention that there is a new version and give whatever other information is necessary.

Revision as of 09:32, 11 November 2011

Making sure that users can easily find, download, understand, and install your OXP helps making it more popular and keeps requests for help to a minimum. The following best practices help you achieve that.

General

  • Make sure that the file names in your plists precisely match the actual file names, including the capitalization. File names on non-Windows systems are case-sensitive.
  • Include info.plist and requires.plist in your OXP.
  • Avoid file names with spaces. They make it harder for people who use the command line.

Packaging

  1. Create a directory named after your OXP, e.g. "MyNewOXP_yyyy-mm-dd". Make sure this directory does not end with the .oxp suffix. Replace yyyy-mm-dd with your OXP's release date (yyyy: year, mm: month, dd:day), e.g. 2011-03-05 for March 5th, 2011.
  2. Inside "MyNewOXP_yyyy-mm-dd", add the readme, the license, and additional files, and the actual OXP directory, named MyNewOXP_yyyy-mm-dd.oxp. Make sure this directory does end with the .oxp suffix.
    • If you prefix the names of the readme and license files with MyNewOXP you are making it easier for users to keep all files that belong to OXPs in one place.
    • If you instead put the readme etc. files into the .oxp directory then Mac users will have a harder time finding them as .oxp directories are presented as packages.
    • See the Licensing OXPs thread on the Oolite Bulleting Board for information about licensing.
  3. Inside the MyNewOXP_yyyy-mm-dd.oxp directory add the Config, Models, etc. directories that make up your OXP.

Example:

MyNewOXP_2011-11-17
+- MyNewOXP readme.txt
+- MyNewOXP license.txt
+- MyNewOXP_2011-11-17.oxp
   +- Config
   +- Models
   +- Shaders
   +- Textures

Distribution

  1. Create a zip file based on the "MyNewOXP_yyyy-mm-dd" directory and name it "MyNewOXP_yyyy-mm-dd.zip"
    • While there are other, more efficient compression tools (such as rar, 7z), zip is available out-of-the-box on all operating systems that are officially supported by Oolite.
    • If you are working on a Mac you might want to use a separate compression tool, not the "compress" command from the context menu in Finder. Otherwise, files that are not relevant for other platforms will be included and could lead to confusion.
  2. Upload the zip file to an easily accessible online storage. Most OXP authors use box.net for distribution nowadays. It is free up to 5GB and does not annoy your users with advertisements.

Announcement

When you start work on an OXP and wish to make this known start a new thread in the Expansion Packs forum of the Oolite Bulletin Board (BB). The title of the thread should be the name of the OXP preceded by [WIP] as long as the OXP is under development. When you decide your OXP is finished, it is recommended that you change [WIP] to [Release].

  • Screenshots in the BB post are much appreciated.
  • Create a wiki page for your OXP if you can, or ask around the BB for help with setting one up.
  • At the very least, provide enough information for creating a one-liner in the OXP List.

Updating

  1. Update your readme file with a new entry to the version history.
  2. Rename the directories based on the release date of your new version, create a new zip file, and upload it.
  3. Both modify the first post in the OXP thread that you created, and post a new message in the same thread. In the first post, update the download location and provide up-to-date version information. In the new message, mention that there is a new version and give whatever other information is necessary.
    • If you only modify the first post, then the BB will not show that the thread changed. If you only add a new post, users will miss the new version if they only look at the first post.