diff options
Diffstat (limited to 'doc/application-framework.html')
-rw-r--r-- | doc/application-framework.html | 181 |
1 files changed, 65 insertions, 116 deletions
diff --git a/doc/application-framework.html b/doc/application-framework.html index e909b77..9c51b8e 100644 --- a/doc/application-framework.html +++ b/doc/application-framework.html @@ -1,125 +1,80 @@ +<!DOCTYPE html> <html> <head> - <link rel="stylesheet" type="text/css" href="doc.css"> - <meta charset="UTF-8"> + <meta charset="utf-8"> + <meta name="generator" content="pandoc"> + <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes"> + <meta name="author" content="José Bollo"> + <meta name="author" content="Fulup Ar Foll"> + <title>Application framework</title> + <style type="text/css">code{white-space: pre;}</style> + <!--[if lt IE 9]> + <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script> + <![endif]--> + <link rel="stylesheet" href="doc.css"> </head> <body> -<a name="Application.framework"></a> -<h1>Application framework</h1> - +<header> +<h1 class="title">Application framework</h1> +<h2 class="author">José Bollo</h2> +<h2 class="author">Fulup Ar Foll</h2> +<h3 class="date">30 mai 2016</h3> +</header> +<nav id="TOC"> +<ul> +<li><a href="#application-framework">Application framework</a><ul> +<li><a href="#foreword">Foreword</a></li> +<li><a href="#overview">Overview</a></li> +<li><a href="#comparison-to-other-frameworks">Comparison to other frameworks</a><ul> +<li><a href="#tizen-framework">Tizen framework</a></li> +<li><a href="#xdg-app">xdg-app</a></li> +<li><a href="#ostro">ostro</a></li> +</ul></li> +</ul></li> +<li><a href="#organization-of-directory-of-applications">organization of directory of applications</a><ul> +<li><a href="#identity-of-installed-files">Identity of installed files</a></li> +<li><a href="#labeling-the-directories-of-applications">labeling the directories of applications</a></li> +</ul></li> +<li><a href="#organization-of-data">organization of data</a></li> +<li><a href="#setting-smack-rules-for-the-application">Setting Smack rules for the application</a></li> +<li><a href="#what-user-can-run-an-application">What user can run an application?</a></li> +</ul> +</nav> +<h1 id="application-framework">Application framework</h1> <pre><code>version: 1 Date: 30 mai 2016 -Author: José Bollo -</code></pre> - -<p><ul> - <li><a href="#Application.framework">Application framework</a> - <ul> - <li><a href="#Foreword">Foreword</a></li> - <li><a href="#Overview">Overview</a></li> - <li><a href="#Comparison.to.other.frameworks">Comparison to other frameworks</a> - <ul> - <li><a href="#Tizen.framework">Tizen framework</a></li> - <li><a href="#xdg-app">xdg-app</a></li> - <li><a href="#ostro">ostro</a> -</li> - </ul> - </li> - </ul> - </li> - <li><a href="#organization.of.directory.of.applications">organization of directory of applications</a> - <ul> - <li><a href="#Identity.of.installed.files">Identity of installed files</a></li> - <li><a href="#labeling.the.directories.of.applications">labeling the directories of applications</a></li> - </ul> - </li> - <li><a href="#organization.of.data">organization of data</a></li> - <li><a href="#Setting.Smack.rules.for.the.application">Setting Smack rules for the application</a></li> - <li><a href="#What.user.can.run.an.application.">What user can run an application?</a></li> -</ul></p> - -<a name="Foreword"></a> -<h2>Foreword</h2> - -<p>This document describes application framework fundamentals. -FCF (Fully Conform to Specification) implementation is still under development. -It may happen that current implementation somehow diverges with specifications.</p> - -<a name="Overview"></a> -<h2>Overview</h2> - -<p>The application framework on top of the security framework -provides components to install and uninstall applications -as well as to run them in a secured environment.</p> - -<p>The goal of the framework is to manage applications and hide security details -to applications.</p> - -<p>For the reasons explained in introduction, it was choose not to reuse Tizen -application framework directly, but to rework a new framework inspired from Tizen.</p> - -<p>fundamentals remain identical: the applications are distributed -in a digitally signed container that should match widget specifications -normalized by the W3C. This is described by the technical -recommendations <a href="http://www.w3.org/TR/widgets" title="Packaged Web Apps">widgets</a> and <a href="http://www.w3.org/TR/widgets-digsig" title="XML Digital Signatures for Widgets">widgets-digsig</a> of the W3 consortium.</p> - -<p>As today this model allows the distribution of HTML, QML and binary applications -but it could be extended to any other class of applications.</p> - -<p>The management of widget package signatures. -Current model is only an initial step, it might be extended in the -future to include new feature (ie: incremental delivery).</p> - -<a name="Comparison.to.other.frameworks"></a> -<h2>Comparison to other frameworks</h2> - -<a name="Tizen.framework"></a> -<h3>Tizen framework</h3> - -<a name="xdg-app"></a> -<h3>xdg-app</h3> - -<a name="ostro"></a> -<h3>ostro</h3> - -<a name="organization.of.directory.of.applications"></a> -<h1>organization of directory of applications</h1> - +Author: José Bollo</code></pre> +<p>TABLE-OF-CONTENT-HERE</p> +<h2 id="foreword">Foreword</h2> +<p>This document describes application framework fundamentals. FCF (Fully Conform to Specification) implementation is still under development. It may happen that current implementation somehow diverges with specifications.</p> +<h2 id="overview">Overview</h2> +<p>The application framework on top of the security framework provides components to install and uninstall applications as well as to run them in a secured environment.</p> +<p>The goal of the framework is to manage applications and hide security details to applications.</p> +<p>For the reasons explained in introduction, it was choose not to reuse Tizen application framework directly, but to rework a new framework inspired from Tizen.</p> +<p>fundamentals remain identical: the applications are distributed in a digitally signed container that should match widget specifications normalized by the W3C. This is described by the technical recommendations <a href="http://www.w3.org/TR/widgets" title="Packaged Web Apps">widgets</a> and <a href="http://www.w3.org/TR/widgets-digsig" title="XML Digital Signatures for Widgets">widgets-digsig</a> of the W3 consortium.</p> +<p>As today this model allows the distribution of HTML, QML and binary applications but it could be extended to any other class of applications.</p> +<p>The management of widget package signatures. Current model is only an initial step, it might be extended in the future to include new feature (ie: incremental delivery).</p> +<h2 id="comparison-to-other-frameworks">Comparison to other frameworks</h2> +<h3 id="tizen-framework">Tizen framework</h3> +<h3 id="xdg-app">xdg-app</h3> +<h3 id="ostro">ostro</h3> +<h1 id="organization-of-directory-of-applications">organization of directory of applications</h1> <p>The main path for applications are: APPDIR/PKGID/VER.</p> - <p>Where:</p> - <ul> <li>APPDIR is as defined above</li> <li>PKGID is a directory whose name is the package identifier</li> <li>VER is the version of the package MAJOR.MINOR</li> </ul> - - -<p>The advantage of such an organization is to allow several versions to live together. -This is required for multiple reasons (ie: roll back) and to comply with developers habits.</p> - -<a name="Identity.of.installed.files"></a> -<h2>Identity of installed files</h2> - -<p>All the files are installed as user “userapp” and group “userapp”. -All files have rw(x) for user and r-(x) for group and others.</p> - +<p>The advantage of such an organization is to allow several versions to live together. This is required for multiple reasons (ie: roll back) and to comply with developers habits.</p> +<h2 id="identity-of-installed-files">Identity of installed files</h2> +<p>All the files are installed as user "userapp" and group "userapp". All files have rw(x) for user and r-(x) for group and others.</p> <p>This allows any user to read files.</p> - -<a name="labeling.the.directories.of.applications"></a> -<h2>labeling the directories of applications</h2> - -<a name="organization.of.data"></a> -<h1>organization of data</h1> - +<h2 id="labeling-the-directories-of-applications">labeling the directories of applications</h2> +<h1 id="organization-of-data">organization of data</h1> <p>The data of a user are contain within its directory and are labeled using the application labels</p> - -<a name="Setting.Smack.rules.for.the.application"></a> -<h1>Setting Smack rules for the application</h1> - +<h1 id="setting-smack-rules-for-the-application">Setting Smack rules for the application</h1> <p>For Tizen, the following rules are set by the security manager for each application.</p> - <pre><code>System ~APP~ rwx System ~PKG~ rwxat System ~PKG~::RO rwxat @@ -135,15 +90,9 @@ User ~PKG~::RO rwxat ~APP~ User::Home rxl ~APP~ User::App::Shared rwxat ~APP~ ~PKG~ rwxat -~APP~ ~PKG~::RO rxl -</code></pre> - -<p>Here, ~PKG~ is the identifier of the package and ~APP~ is the identifier of the application.</p> - -<a name="What.user.can.run.an.application."></a> -<h1>What user can run an application?</h1> - -<p>Not all user are able to run all applications. -How to manage that?</p> +~APP~ ~PKG~::RO rxl</code></pre> +<p>Here, <sub>PKG</sub> is the identifier of the package and <sub>APP</sub> is the identifier of the application.</p> +<h1 id="what-user-can-run-an-application">What user can run an application?</h1> +<p>Not all user are able to run all applications. How to manage that?</p> </body> </html> |