Difference between revisions of "Application Packaging"
Line 9: | Line 9: | ||
= Name for the Application = | = Name for the Application = | ||
Official name for the application. This is the name the user sees for the application. It must be unique (no repeats). Make sure the capitalization is the official capitalization of the original application. Examples: WordPress, Zina, Gallery, MediaWiki... | Official name for the application. This is the name the user sees for the application. It must be unique (no repeats). Make sure the capitalization is the official capitalization of the original application. Examples: WordPress, Zina, Gallery, MediaWiki... | ||
+ | |||
+ | = App Home Page = | ||
+ | |||
+ | The URL to the app's home page, if it has one. Otherwise you can leave it blank. | ||
= Version/Release = | = Version/Release = | ||
Line 32: | Line 36: | ||
Integrity checking is done through the [http://linux.die.net/man/1/sha1sum sha1sum program]. This field is the SHA1SUM for the source file (tar.gz/tgz or zip file), obtained by running sha1sum on the source code of the app. [[Developers/sha1sum|See how with the sha1sum HOWTO]] | Integrity checking is done through the [http://linux.die.net/man/1/sha1sum sha1sum program]. This field is the SHA1SUM for the source file (tar.gz/tgz or zip file), obtained by running sha1sum on the source code of the app. [[Developers/sha1sum|See how with the sha1sum HOWTO]] | ||
− | = Suggested URL name = | + | = Suggested URL name or "short name" = |
− | Suggested DNS short-name | + | |
− | the application will install | + | Suggested DNS '''short-name'' for this app. This is only if the app has a web interface (or much less frequently, if it otherwise needs to have a DNS entry for it to work somehow). E.g. if you type <code>blog</code> in this field, the application will install and be bound to <code>http://blog</code>. |
+ | |||
Users will also be able to type blog in the address bar of browsers to reach the app. If this name is not available, a subsequent name will be picked, e.g. blog1. | Users will also be able to type blog in the address bar of browsers to reach the app. If this name is not available, a subsequent name will be picked, e.g. blog1. | ||
Line 50: | Line 55: | ||
= Kind of application = | = Kind of application = | ||
− | Kind of application | + | Kind of application. Must be one of: php, theme, ror, ... or leave blank (this selects form a pattern of virtual host templates and needs to be more documented) |
= App home page URL = | = App home page URL = |
Revision as of 02:32, 28 August 2010
The goal of packaging an application is to reduce to zero the technical knowledge required to install and use the application (no database setup, no web server setup, no application configuration, etc.) The actual package install is through a single click from the Amahi user.
Packaging applications is through a simple web form in the contributor's area of amahi.org.
Here is a 10-page Powerpoint presentation HOWTO package an application
The fields in the application's form are listed below with their descriptions:
Contents
- 1 Name for the Application
- 2 App Home Page
- 3 Version/Release
- 4 Logo URL
- 5 Screenshot URL
- 6 Source URL
- 7 Source SHA1 checksum
- 8 Suggested URL name or "short name"
- 9 RPM(s)
- 10 Custom Webapp Options
- 11 App Database
- 12 Kind of application
- 13 App home page URL
- 14 App Tags
- 15 Short Description
- 16 Long Description
- 17 Install Scripts
- 18 Troubleshooting
- 19 Releasing
Name for the Application
Official name for the application. This is the name the user sees for the application. It must be unique (no repeats). Make sure the capitalization is the official capitalization of the original application. Examples: WordPress, Zina, Gallery, MediaWiki...
App Home Page
The URL to the app's home page, if it has one. Otherwise you can leave it blank.
Version/Release
Version number for this app. Please specify like this: 7.5, 2.3.4, 0.1, etc. and align the version numbering with the source application being packaged.
Logo URL
Best resolution for the logo is 160x120px or multiples thereof. It should have transparent background (for best integration in all themes). Valid formats are jpg, png and gif. If you need a quick image editor, you can use the free online image editor Phoenix, by Aviary.
Screenshot URL
Best resolution for the screenshot is 320x240px or multiples thereof. It should have transparent background (for best integration in all themes). Valid formats are jpg, png and gif. If you need a quick image editor, you can use the free online image editor Phoenix, by Aviary.
Source URL
URL for a tar.gz/tgz or zip file containing the source of the app. The source tar.gz/tgz or zip file must expand into a single directory to be supported.
You can leave this and the SHA1 fields blank if the app is RPM based.
Source SHA1 checksum
Integrity checking is done through the sha1sum program. This field is the SHA1SUM for the source file (tar.gz/tgz or zip file), obtained by running sha1sum on the source code of the app. See how with the sha1sum HOWTO
Suggested URL name or "short name"
Suggested DNS 'short-name for this app. This is only if the app has a web interface (or much less frequently, if it otherwise needs to have a DNS entry for it to work somehow). E.g. if you type blog
in this field, the application will install and be bound to http://blog
.
Users will also be able to type blog in the address bar of browsers to reach the app. If this name is not available, a subsequent name will be picked, e.g. blog1.
RPM(s)
This field is a list, the name of the RPM for the application, *preceded* by any other required RPMs (space-separated or comma-separated). These will be installed via yum in one install command. Note, however, that for reliability reasons, only the main (last) RPM will be removed upon un-install.
Custom Webapp Options
This field, if filled, allows you to add custom options to this application, if this app has an associated webapp. The values you enter here will be but in a .htaccess file.
App Database
This field should contain the name of the database for this app, if any. MySQL is used by default. A corresponding user by the same name is created. The password for the user is also the database name. IMPORTANT: BOTH user and database are created at app install time and ARE DROPPED when the app is uninstalled
Kind of application
Kind of application. Must be one of: php, theme, ror, ... or leave blank (this selects form a pattern of virtual host templates and needs to be more documented)
App home page URL
Type the URL for the home page or the main site for this application, e.g. http://wordpress.org
App Tags
Any tags you want for this app. Useful for search and categories for this application. Better to have more tags at this stage.
Short Description
This field should contain a description of the application in a single paragraph with a sentence or more in it. Ideally, the first sentence should contain an good description within the first 70 characters of this field. You can include some very limited HTML. Links should include a target="_" in it.
Long Description
This field should contain a full description of the app in several paragraphs. It will be positioned after the short description and should be a follow-through of it. You can include some limite HTML. Links should include a target="_" in it.
Install Scripts
See the section on Application Install Scripts
Troubleshooting
NOTE: The application installer logs install process information in your HDA at:
/var/log/amahi-app-installer.log
So please check that log file for exceptions or other errors if your application fails to install!
Releasing
As soon as you are happy with how the app is installed please contact the core team support amahi.org or in the IRC channel to review. At this stage the basic packaging is complete. Return to the details on how to be an Application Contributor