Manifest Editor
A Tizen .NET application project contains a manifest file, called tizen-manifest.xml
, which is used to describe the application information. The manifest file is composed of XML elements, which include the root <manifest>
element and its child elements representing application information, such as <version>
, and <privileges>
. The child elements are organized into a specific hierarchy. The elements can have attributes associated with them, providing more information on the element.
Editing the Manifest File
There are 2 different ways to edit the tizen-manifest.xml
file:
-
Use the Manifest Editor to modify the manifest in a form editor:
Double-click the
tizen-manifest.xml
file in the Solution Explorer view.Figure: Manifest Editor
-
Use the text editor to modify the XML structure directly:
- Right-click the
tizen-manifest.xml
file in the Solution Explorer view. - Select Open with > XML (Text) Editor.
Figure: Text editor
- Right-click the
Note
The
tizen-manifest.xml
file must conform to both the standard XML file format and the Tizen .NET application specification requirements. Editing the manifest file XML structure with the text editor is intended for advanced users only. If the file does not conform to the standard and the requirements, errors can occur during installation.
Manifest Element Hierarchy
The Tizen .NET application manifest file consists of XML elements organized in a hierarchy. The following tree structure shows the relationship between the elements of the tizen-manifest.xml
file.
<manifest> |
|||
---|---|---|---|
<author> |
|||
<description> |
|||
<profile> |
|||
<ui-application> |
|||
<label> |
|||
<icon> |
|||
<app-control> |
|||
<metadata> |
|||
<datacontrol> |
|||
<privilege> |
|||
<background-category> |
|||
<splash-screens> |
|||
<splash-screen> |
|||
<watch-application> |
|||
<label> |
|||
<icon> |
|||
<widget-application> |
|||
<icon> |
|||
<label> |
|||
<support-size> |
|||
<widget-class> |
|||
<icon> |
|||
<label> |
|||
<support-size> |
|||
<shortcut-list> |
|||
<shortcut> |
|||
<icon> |
|||
<label> |
|||
<account> |
|||
<account-provider> |
|||
<icon> |
|||
<label> |
|||
<capability> |
|||
<privileges> |
|||
<privilege> |
|||
<appdefined-privilege> |
|||
<provides-appdefined-privileges> |
|||
<appdefined-privilege> |
|||
<feature> |
Manifest Elements
The following sections summarize the elements used in the tizen-manifest.xml
file of a Tizen .NET application.
<manifest> Element
This element contains the manifest information for a Tizen .NET application. The <manifest>
element is an easily-readable description of the Tizen package and serves as a container for the other elements of the configuration document.
For more information on the relationship between the elements, see the element hierarchy.
Occurrences:
- 1
Expected children (in the following order):
Child element | Occurrences |
---|---|
<author> |
1 (optional) |
<description> |
1 or more (optional) |
<profile> |
1 or more (optional) |
<ui-application> |
1 (optional) |
<watch-application> |
1 (optional) |
<widget-application> |
1 (optional) |
<shortcut-list> |
1 (optional) |
<account> |
1 (optional) |
<privileges> |
1 (optional) |
<provides-appdefined-privileges> |
1 (optional) |
<feature> |
1 or more (optional) |
Attributes:
-
api-version
API version number for the application (available value: number in the “x” format, for example,
4
) -
install-location
Installation location for the application (available value:
"auto"
)Note
This attribute is read-only. Do not attempt to modify it.
-
package
Package of the application (available value:
"org.tizen.<PackageName>"
) -
type
Package type of the application (available value:
"tpk"
)Note
This attribute is read-only. Do not attempt to modify it.
-
version
Version number of the application (available value: number in the “x.y.z” format, where 0 <= x <= 255, 0 <= y <= 255, and 0 <= z <= 65535)
For example:
<manifest xmlns="http://tizen.org/ns/packages" api-version="4" package="org.tizen.uiapp" version="1.0.0">
<author>.....</author>
<description>.....</description>
<profile name="common"/>
<ui-application>.....</ui-application>
<shortcut-list>.....</shortcut-list>
<account>.....</account>
<privileges>.....</privileges>
<provides-appdefined-privileges>.....</provides-appdefined-privileges>
<feature>.....</feature>
</manifest>
<author> Element
This element represents the creator of the Tizen package.
For more information on the relationship between the elements, see the element hierarchy.
Occurrences:
- 1 (optional)
Attributes:
-
email
Email of the package creator (available value: any valid email ID string value)
-
href
Web site of the package creator, such as a homepage or a profile on a social network (available value: any valid Web site string value)
Expected value:
- Package creator name in string
For example:
<author email="email@email.com" href="http://test.com">author</author>
<description> Element
This element contains an easily readable description of the Tizen package.
For more information on the relationship between the elements, see the element hierarchy.
Occurrences:
- 1 or more (optional)
Attributes:
-
xml:lang
Language and country code (available value: “<2-letter lowercase language code (ISO 639-1)>-<2-letter lowercase country code (ISO 3166-1 alpha-2)>”)
Expected value:
- Description value in string
For example:
<description xml:lang="en-us">This is a sample</description>
<profile> Element
In a Tizen .NET application, the <profile>
element must be set to common
. This element has no child elements.
Occurrences:
- 1
Attributes:
-
name
Profile name (available values:
common
,mobile
,tv
,wearable
)
For example:
<profile name="common"/>
<ui-application> Element
This element contains the manifest information for a Tizen .NET UI application with a graphical user interface (GUI).
For more information on the relationship between the elements, see the element hierarchy.
Occurrences:
- 1 or more (optional)
Expected children (in the following order):
Child element | Occurrences |
---|---|
<label> |
1 or more (optional) |
<icon> |
1 or more (optional) |
<app-control> |
1 or more (optional) |
<metadata> |
1 or more (optional) |
<datacontrol> |
1 or more (optional) |
<background-category> |
1 or more (optional) |
<splash-screens> |
1 or more (optional) |
Attributes:
-
appid
Application unique ID (string)
This can be used for launching or terminating the application explicitly.
-
exec
Application executable file path (string)
-
hw-acceleration
Indicates the application hardware acceleration status (available values: not defined (depends on the system setting),
on
(use hardware acceleration),off
(do not use hardware acceleration))By default, this value is not defined.
-
Application launch mode (available values:
single
(launched as a main application),group
(launched as a sub application),caller
(caller application))By default, this value is set to
single
. -
multiple
Indicates whether the application can be launched as a multiple (available values:
true
,false
)Note
This attribute is read-only. Do not attempt to modify it.
-
nodisplay
Indicates whether the application is shown in the app tray (available values:
true
,false
) -
taskmanage
Indicates whether the application is shown in the task manager (available values:
true
,false
) -
type
Tizen application type (available values:
dotnet
)Note
This attribute is read-only. Do not attempt to modify it.
For example:
<ui-application appid="org.tizen.uiapp" exec="uiapp" hw-acceleration="on" launch_mode="single"
multiple="false" nodisplay="false" taskmanage="true" type="dotnet">
<label>uiapplication</label>
<label xml:lang="en-gb">testlang</label>
<icon>uiapp.png</icon>
<app-control>
<operation name="http://tizen.org/appcontrol/operation/dial"/>
<mime name="application/vnd.ms-excel"/>
</app-control>
<metadata key="testkey" value="testvalue"/>
<datacontrol access="ReadOnly"
providerid="http://uiapp.com/datacontrol/provider/uiapp" type="Sql"/>
<splash-screens>
<splash-screen src="uiapp.jpg" type="img" dpi="hdpi" orientation="portrait" indicator-display="true"/>
</splash-screens>
</ui-application>
<watch-application> Element
This element contains the settings for a watch application.
For more information on the relationship between the elements, see the element hierarchy.
Occurrences:
- 1 (optional)
Expected children:
Child element | Occurrences |
---|---|
<label> |
1 or more |
<icon> |
1 or more |
Attributes:
-
ambient-support
Indicates whether the application draws the ambient mode UI itself (available values:
true
,false
)If the value is
false
, the system default ambient mode UI is shown when the device enters the ambient mode. -
appid
Watch application unique ID (string)
-
exec
Watch application executable file path (string)
-
type
Tizen application type (available value:
dotnet
) -
setup-appid
Watch application setup application ID (string)
If the value is
watchface-editor
, the system default editor is shown when the device enters the editing mode.
<watch-application ambient-support="true" appid="org.tizen.watchsample" exec="watchsample.dll" type="dotnet" setup-appid="watchface-editor">
<label>.....</label>
<icon>.....</icon>
</watch-application>
<label> Element
This element contains the watch application text.
Occurrences:
- 1
Expected value:
- Label value in string
For example:
<label>watchsample</label>
<icon> Element
This element contains the watch application icon image.
Occurrences:
- 1
Expected value:
- Icon file name
<icon>watchsample.png</icon>
<widget-application> Element
This element contains the settings for a widget application.
For more information on the relationship between the elements, see the element hierarchy.
Occurrences:
- 1 (optional)
Expected children:
Child element | Occurrences |
---|---|
<label> |
1 or more |
<icon> |
1 or more |
<support-size> |
1 |
<widget-class> |
1 or more (optional) |
Attributes:
-
appid
Widget application unique ID (string)
-
exec
Widget application executable file name (string)
-
main
Indicates which widget application is the main application (available values:
true
,false
) -
update-period
Indicates the update period in seconds (available values: time in seconds)
Multiples of 1800 only allowed
-
setup-appid
Widget application setup application ID (string)
-
max-instance
Indicates the maximum number of widget instances that can be created in the widget application
For example:
<widget-application appid="org.tizen.test" exec="test" main="true" update-period="0" max-instance="5" setup-appid="org.tizen.widget-setting">
<label>.....</label>
<icon>.....</icon>
<support-size>.....</support-size>
<widget-class>.....</widget-class>
</widget-application>
<label> Element
This element contains the widget application text.
Occurrences:
- 1 or more
Expected value:
- Label value in string
For example:
<label>test</label>
<icon> Element
This element contains the widget application icon image.
Occurrences:
- 1 or more
Expected value:
- Icon file name
For example:
<icon>icon.png</icon>
<support-size> Element
This element contains the size supported by the widget application.
Occurrences:
- 1
Attributes:
-
preview
Relative path to the preview image (available values: file name)
The image is shown on the home screen when the user tries to select the widget.
Expected value:
2x2
(in mobile and wearable)4x1
(in mobile)4x2
(in mobile)4x3
(in mobile)4x4
(in mobile)
For example:
<support-size preview="preview.png">2x2</support-size>
<widget-class> Element
This element contains the settings for the widget class. After adding this element, you can use the widget_app_class_add()
function to create widget instances in the widget application (maximum number of instances is defined in the max-instance
attribute of the <widget-application>
element).
Occurrences:
- 1 or more (optional)
Expected children:
Child element | Occurrences |
---|---|
<label> |
1 or more |
<icon> |
1 or more |
<support-size> |
1 |
Attributes:
-
classid
Widget application class unique ID (string)
-
update-period
Indicates the update period in seconds (available values: time in seconds)
Multiples of 1800 only allowed
-
setup-appid
Widget application setup application ID (string)
For example:
<widget-class classid="class1" update-period="0" setup-appid="org.tizen.widget-setting">
<label>.....</label>
<icon>.....</icon>
<support-size>.....</support-size>
</widget-class>
<shortcut-list> Element
This element contains the shortcut template list used for adding a shortcut to the home screen.
For more information on the relationship between the elements, see the element hierarchy.
Occurrences:
- 1 (optional)
Expected children:
Child element | Occurrences |
---|---|
<shortcut> |
1 or more |
For example:
<shortcut-list>
<shortcut>.....</shortcut>
</shortcut-list>
<shortcut> Element
This element contains the information that indicates the shortcut for the application on the home screen.
Occurrences:
- 1 (optional)
Expected children:
Child element | Occurrences |
---|---|
<icon> |
1 or more |
<label> |
1 or more |
Attributes:
-
appid
Application unique ID (string)
This can be used for launching or terminating the application explicitly.
-
extra_data
Data for user content (string)
Shortcut element property in the manifest file.
-
extra_key
Key for user content (string)
Shortcut element property in the manifest file.
For example:
<shortcut appid="org.example.shortcut" extra_data="data" extra_key="key">
<icon>shortcut.png</icon>
<label>shortcut</label>
<label xml:lang="en-us">short</label>
</shortcut>
<account> Element
This element contains a set of user accounts and account provider-related information for a Tizen application.
For more information on the relationship between the elements, see the element hierarchy.
Occurrences:
- 1 (optional)
Expected children:
Child element | Occurrences |
---|---|
<account-provider> |
1 or more |
For example:
<account>
<account-provider>.....</account-provider>
</account>
<account-provider> Element
This element contains specific service provider or user account protocol-related information.
Expected children:
Child element | Occurrences |
---|---|
<icon> |
1 or more |
<label> |
1 or more |
<capability> |
1 or more (optional) |
Attributes:
-
appid
Application unique ID (string)
This can be used for launching or terminating the application explicitly.
-
multiple-accounts-support
Indicates whether multiple accounts are supported (available values:
true
,false
) -
providerid
ID of the account provider (string)
For example:
<account-provider appid="org.tizen.uiapp" multiple-accounts-support="false" providerid="org.tizen.uiapp">
<icon>.....</icon>
<label>.....</label>
<capability>.....</capability>
</account-provider>
<icon> Element
This element contains the account provider icon image. Since the icons are used on the device under Settings > Accounts, place them in a shared directory.
Attributes:
-
section
Usage information for the icon image (available values:
account
(image size: 72 x 72 for density xhigh and 48 x 48 for density high),account-small
(image size: 45 x 45 for density xhigh and 30 x 30 for density high))
Expected value:
- Icon file name
For example:
<icon section="account">uiapp.png</icon>
<icon section="account-small">uiapp.png</icon>
<capability> Element
This element contains the account provider capability. The capabilities are defined as http://<VENDOR_INFORMATION>/account/capability/<NAME>
.
Expected value:
- IRI string
For example:
<capability>http://tizen.org/account/capability/calendar</capability>
<privileges> Element
This element contains the set of required privileges for a Tizen application.
Applications that use sensitive APIs must declare the required privileges in the tizen-manifest.xml
file.
Click Add to open the Privileges dialog.
Figure: Editing the <privileges> element in the Manifest Editor
For more information on the relationship between the elements, see the element hierarchy.
Occurrences:
- 1 (optional)
Expected children:
Child element | Occurrences |
---|---|
<privilege> |
1 or more (optional) |
<appdefined-privilege> |
1 or more (optional) |
For example:
<privileges>
<privilege>.....</privilege>
<appdefined-privilege>.....</appdefined-privilege>
</privileges>
<privilege> Element
This element contains a required privilege for a Tizen application.
Occurrences:
- 1 or more (optional)
Expected value:
Name (mandatory, the URI of the Device API privilege)
For example:
http://tizen.org/privilege/application.admin
http://tizen.org/privilege/appmanager.launch
http://tizen.org/privilege/account.read
For more information on the expected values, see Security and API Privileges.
For example:
<privilege>http://tizen.org/privilege/application.admin</privilege>
<privilege>http://tizen.org/privilege/appmanager.launch</privilege>
<privilege>http://tizen.org/privilege/account.read</privilege>
<appdefined-privilege> Element
This element is used to get the required access privileges provided by a consumer package.
Occurrences:
- 1 or more (optional)
Attributes:
-
license
Optional name of the license file used to verify the privilege
Expected value:
- Name (mandatory, the name of the app-defined privilege)
For example:
<appdefined-privilege license="example_license">
http://{provider-pkgid}/appdefined/exampleprivilege1
</appdefined-privilege>
<appdefined-privilege>http://{provider-pkgid}/appdefined/exampleprivilege2</appdefined-privilege>
<provides-appdefined-privileges> Element
This element specifies the app-defined access privileges provided by a provider package.
For more information on the relationship between the elements, see the element hierarchy.
Occurrences:
- 1 (optional)
Expected children:
Child element | Occurrences |
---|---|
<appdefined-privilege> |
1 or more (optional) |
For example:
<provides-appdefined-privileges>
<appdefined-privilege>.....</appdefined-privilege>
<appdefined-privilege>.....</appdefined-privilege>
</provides-appdefined-privileges>
<appdefined-privilege> Element
This element is used to get the required access privileges provided by a provider package.
Occurrences:
- 1 or more (optional)
Attributes:
-
license
Optional name of the license file used to verify the privilege
Expected value:
- Name (mandatory, the name of the app-defined privilege)
For example:
<appdefined-privilege license="example_license">
http://{provider-pkgid}/appdefined/exampleprivilege1
</appdefined-privilege>
<appdefined-privilege>http://{provider-pkgid}/appdefined/exampleprivilege2</appdefined-privilege>
<feature> Element
This element contains a list of required features for feature-based filtering in the official site for Tizen applications.
The element is used to define the hardware and software components for the Tizen application. In order to use or access an API that is specialized for each vendor or platform, the feature must be declared. This element has no child elements.
Figure: Editing the <feature> element in the Manifest Editor
For more information on the relationship between the elements, see the element hierarchy.
Occurrences:
- 1 or more (optional)
Attributes:
-
name
(mandatory, a feature key URI)Item name used in feature-based filtering in the store, for example,
"http://tizen.org/feature/camera"
or"http://tizen.org/feature/fmradio"
Expected value:
true
For example:
<feature name="http://tizen.org/feature/camera">true</privilege>
<feature name="http://tizen.org/feature/fmradio">true</privilege>