Application Packaging

From Amahi Wiki
Revision as of 23:54, 28 April 2009 by Wluka (talk | contribs)
Jump to: navigation, search

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's a quick synopsis of HOWTO package an application

The fields in the application's form are listed below with their descriptions:

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...

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.

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.

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.

Suggested URL name

Suggested DNS short-name in the URL for this app. E.g. if you type blog, the application with install with http://blog for the URL for the application. 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.

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 (underlying technology): PHP, Python, RoR, Perl, Plain HTML, ...

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