Rename source files and improve readability
[src/app-framework-main.git] / docs / 2.1-widgets.md
index 93cd788..f41e2d9 100644 (file)
@@ -1,13 +1,12 @@
-Tools for managing widgets
---------------------------
+# Tools for managing widgets
 
-This project includes tools for managing widgets.
+This project includes tools for managing widgets.  
 These tools are:
 
 - ***wgtpkg-info***: command line tool to display
   informations about a widget file.
 
-- ***wgtpkg-installer***: command line tool to
+- ***wgtpkg-install***: command line tool to
   install a widget file.
 
 - ***wgtpkg-pack***: command line tool to create
@@ -19,31 +18,29 @@ These tools are:
 For all these commands, a tiny help is available with
 options **-h** or **--help**.
 
-There is no tool for unpacking a widget. For doing such operation,
-you can use the command **unzip**.
+There is no tool for unpacking a widget.  
+For doing such operation, you can use the command **unzip**.
 
 To list the files of a widget:
 
 ```bash
-unzip -l WIDGET
+unzip -l WIDGET
 ```
 
 To extract a widget in some directory:
 
 ```bash
-unzip WIDGET -d DIRECTORY
+unzip WIDGET -d DIRECTORY
 ```
 
-*Note that DIRECTORY will be created if needed*.
+*Note: that DIRECTORY will be created if needed*.
 
-Getting data about a widget file
----------------------------------
+## Getting data about a widget file
 
 The command **wgtpkg-info** opens a widget file, reads its **config.xml**
 file and displays its content in a human readable way.
 
-Signing and packing widget
---------------------------
+## Signing and packing widget
 
 ### Signing
 
@@ -57,13 +54,13 @@ There are two types of signature files: author and distributor.
 Example 1: add an author signature
 
 ```bash
-wgtpkg-sign -a -k me.key.pem -c me.cert.pem DIRECTORY
+wgtpkg-sign -a -k me.key.pem -c me.cert.pem DIRECTORY
 ```
 
 Example 2: add a distributor signature
 
 ```bash
-wgtpkg-sign -k authority.key.pem -c authority.cert.pem DIRECTORY
+wgtpkg-sign -k authority.key.pem -c authority.cert.pem DIRECTORY
 ```
 
 ### Packing
@@ -72,68 +69,74 @@ This operation can be done using the command **zip** but
 we provide the tool **wgtpkg-pack** that may add checking.
 
 Example:
+
 ```bash
-wgtpkg-pack DIRECTORY -o file.wgt
+wgtpkg-pack DIRECTORY -o file.wgt
 ```
-Writing a widget
-----------------
 
-### The steps for writing a widget
+## Writing a widget
 
-1. make your application
+### App directory organization
+
+There are few directories that are by default used in the binder. At the root
+directory of the widget folder, here are the directories that could be used:
 
-2. create its configuration file **config.xml**
+- *lib* : default directory where lies external libraries needed for
+ the binding. Binding could be stored here too or in another directory of your
+ choice.
+- *htdocs* : root HTTP directory if binding has web UI.
 
-3. sign it
+### The steps for writing a widget
 
-4. pack it
+1. make your application
+1. create its configuration file **config.xml**
+1. sign it
+1. pack it
 
 Fairly easy, no?
 
-Organization of directory of applications
------------------------------------------
+## Organization of directory of applications
 
 ### directory where are stored applications
 
-Applications can be installed in different places: the system itself, extension device.
+Applications can be installed in different places:
+
+- the system itself, extension device.
+
 On a phone application are typically installed on the sd card.
 
 This translates to:
 
- - /usr/applications: system wide applications
- - /opt/applications: removable applications
+- /var/local/lib/afm/applications
 
-From here those paths are referenced as: "APPDIR".
+From here this path is referenced as: "APPDIR".
 
 The main path for applications is: APPDIR/PKGID/VER.
 
 Where:
 
- - APPDIR is as defined above
- - PKGID is a directory whose name is the package identifier
- - VER is the version of the package MAJOR.MINOR
+- APPDIR is as defined above
+- PKGID is a directory whose name is the package identifier
+- VER is the version of the package MAJOR.MINOR
 
-This organization has the advantage to allow several versions to leave together.
+This organization has the advantage to allow several versions
+to leave together.  
 This is needed for some good reasons (rolling back) and also for less good reasons (user habits).
 
 ### Identity of installed files
 
-All files are installed as user "afm" and group "afm".
+All files are installed as user "afm" and group "afm".  
 All files have rw(x) for user and r-(x) for group and others.
 
 This allows every user to read every file.
 
 ### labeling the directories of applications
 
-The data of a user are in its directory and are labelled by the security-manager
-using the labels of the application.
+The data of a user are in its directory and are labelled by the security-manager using the application labels.
 
 [widgets]:          http://www.w3.org/TR/widgets                                    "Packaged Web Apps"
 [widgets-digsig]:   http://www.w3.org/TR/widgets-digsig                             "XML Digital Signatures for Widgets"
-[libxml2]:          http://xmlsoft.org/html/index.html                              "libxml2"
 [app-manifest]:     http://www.w3.org/TR/appmanifest                                "Web App Manifest"
-
-
 [meta-intel]:       https://github.com/01org/meta-intel-iot-security                "A collection of layers providing security technologies"
 [widgets]:          http://www.w3.org/TR/widgets                                    "Packaged Web Apps"
 [widgets-digsig]:   http://www.w3.org/TR/widgets-digsig                             "XML Digital Signatures for Widgets"
@@ -148,7 +151,3 @@ using the labels of the application.
 [app-manifest]:     http://www.w3.org/TR/appmanifest                                "Web App Manifest"
 [tizen-security]:   https://wiki.tizen.org/wiki/Security                            "Tizen security home page"
 [tizen-secu-3]:     https://wiki.tizen.org/wiki/Security/Tizen_3.X_Overview         "Tizen 3 security overview"
-
-
-
-