diff --git a/content/developer/apis.md b/content/developer/apis.md index de58803992aa35a8a1da84bd1b838e40fc906a13..00d70b81d062e094f4fa6117676e3cec81d03d9e 100644 --- a/content/developer/apis.md +++ b/content/developer/apis.md @@ -1,13 +1,11 @@ ---- -short-description: "Apertis platform APIs" - -authors: - - name: Micah Fedke - email: micah.fedke@collabora.co.uk - years: [2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Apertis platform APIs" +license = "CC-BY-SAv4.0" +title = "Apis" +weight = 100 +aliases = [ "/old-developer/latest/apis.html", "/old-developer/v2019/apis.html", "/old-developer/v2020/apis.html", "/old-developer/v2021pre/apis.html", "/old-developer/v2022dev0/apis.html",] +outputs = [ "html", "pdf-in",] ++++ # Apertis APIs # Platform libraries used by applications diff --git a/content/developer/app-dev.md b/content/developer/app-dev.md index a83b1f26afce43689aa440aeb3a773af08eab91f..45a498c02eb45c5eb886c76e2e4fc54b3f82a088 100644 --- a/content/developer/app-dev.md +++ b/content/developer/app-dev.md @@ -1,15 +1,11 @@ ---- -short-description: "A step by step guide for developing your first Apertis application" - -authors: - - name: Robert Bosch Car Multimedia GmbH - years: [2015, 2016] - - name: Micah Fedke - email: micah.fedke@collabora.co.uk - years: [2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "A step by step guide for developing your first Apertis application" +license = "CC-BY-SAv4.0" +title = "App-dev" +weight = 100 +aliases = [ "/old-developer/latest/app-dev.html", "/old-developer/v2019/app-dev.html", "/old-developer/v2020/app-dev.html", "/old-developer/v2021pre/app-dev.html", "/old-developer/v2022dev0/app-dev.html",] +outputs = [ "html", "pdf-in",] ++++ # Application development @@ -62,4 +58,4 @@ Having said that, it is essential to have a basic understanding of the GObject a ### Next |-| -|  **Ready to build your first app?** Continue on to building a [Hello World app](appdev-hello-world.md). | +|  **Ready to build your first app?** Continue on to building a [Hello World app](appdev-hello-world.md). | diff --git a/content/developer/appdev-ade.md b/content/developer/appdev-ade.md index a4ffb0abe1930e76d7bc90dcdb65a7854d4758d8..f28d806eb436c6862da709879a35a7aefcc5d13e 100644 --- a/content/developer/appdev-ade.md +++ b/content/developer/appdev-ade.md @@ -1,13 +1,11 @@ ---- -short-description: "How to build and debug your application with the ade tool" - -authors: - - name: Justin Kim - email: justin.kim@collabora.com - years: [2017] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "How to build and debug your application with the ade tool" +license = "CC-BY-SAv4.0" +title = "Appdev-ade" +weight = 100 +aliases = [ "/old-developer/latest/appdev-ade.html", "/old-developer/v2019/appdev-ade.html", "/old-developer/v2020/appdev-ade.html", "/old-developer/v2021pre/appdev-ade.html", "/old-developer/v2022dev0/appdev-ade.html",] +outputs = [ "html", "pdf-in",] ++++ # Apertis Development Environment diff --git a/content/developer/appdev-agents.md b/content/developer/appdev-agents.md index 11fdd3f15f972acb548309ac21e5d3a5a38679ae..fc2503a08fc876a7b0930734d08a17265851676f 100644 --- a/content/developer/appdev-agents.md +++ b/content/developer/appdev-agents.md @@ -1,16 +1,11 @@ ---- -short-description: "A step by step guide for developing agent application for Apertis" - -authors: - - name: Justin Kim - email: justin.kim@collabora.com - years: [2016] - - name: Micah Fedke - email: micah.fedke@collabora.com - years: [2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "A step by step guide for developing agent application for Apertis" +license = "CC-BY-SAv4.0" +title = "Appdev-agents" +weight = 100 +aliases = [ "/old-developer/latest/appdev-agents.html", "/old-developer/v2019/appdev-agents.html", "/old-developer/v2020/appdev-agents.html", "/old-developer/v2021pre/appdev-agents.html", "/old-developer/v2022dev0/appdev-agents.html",] +outputs = [ "html", "pdf-in",] ++++ # Create an agent diff --git a/content/developer/appdev-debugging.md b/content/developer/appdev-debugging.md index de41ad3578160308afb75e436adfa88202813283..4a2e30a9a8c06b035600bf751af8d9e711f659b5 100644 --- a/content/developer/appdev-debugging.md +++ b/content/developer/appdev-debugging.md @@ -1,6 +1,10 @@ ---- -short-description: "How to debug an application" ---- ++++ +short-description = "How to debug an application" +title = "Appdev-debugging" +weight = 100 +aliases = [ "/old-developer/latest/appdev-debugging.html", "/old-developer/v2019/appdev-debugging.html", "/old-developer/v2020/appdev-debugging.html", "/old-developer/v2021pre/appdev-debugging.html", "/old-developer/v2022dev0/appdev-debugging.html",] +outputs = [ "html", "pdf-in",] ++++ # Debugging app in eclipse @@ -28,5 +32,5 @@ Follow these steps to debug an application in Eclipse: When you start the simulator from Eclipse, the logs can be seen in the Eclipse console itself. This helps in debugging and analysing the applications. - + diff --git a/content/developer/appdev-design.md b/content/developer/appdev-design.md index d1cb94cd747d22205636d329c1973ab7d708d00e..89cb3ba434b537b2f1a962321f868130e6fcf455 100644 --- a/content/developer/appdev-design.md +++ b/content/developer/appdev-design.md @@ -1,13 +1,11 @@ ---- -short-description: "How to make your application fit in with Apertis" - -authors: - - name: Ekaterina Gerasimova - email: kat@collabora.co.uk - years: [2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "How to make your application fit in with Apertis" +license = "CC-BY-SAv4.0" +title = "Appdev-design" +weight = 100 +aliases = [ "/old-developer/latest/appdev-design.html", "/old-developer/v2019/appdev-design.html", "/old-developer/v2020/appdev-design.html", "/old-developer/v2021pre/appdev-design.html", "/old-developer/v2022dev0/appdev-design.html",] +outputs = [ "html", "pdf-in",] ++++ # Application design diff --git a/content/developer/appdev-hello-world.md b/content/developer/appdev-hello-world.md index d6931acacf68151b426b6eaaae5e02abfc9b1112..6ce77cdcf370962b587d5407b8d5b16e4f374b57 100644 --- a/content/developer/appdev-hello-world.md +++ b/content/developer/appdev-hello-world.md @@ -1,15 +1,11 @@ ---- -short-description: "How to build your first application" - -authors: - - name: Robert Bosch Car Multimedia GmbH - years: [2015, 2016, 2017] - - name: Micah Fedke - email: micah.fedke@collabora.co.uk - years: [2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "How to build your first application" +license = "CC-BY-SAv4.0" +title = "Appdev-hello-world" +weight = 100 +aliases = [ "/old-developer/latest/appdev-hello-world.html", "/old-developer/v2019/appdev-hello-world.html", "/old-developer/v2020/appdev-hello-world.html", "/old-developer/v2021pre/appdev-hello-world.html", "/old-developer/v2022dev0/appdev-hello-world.html",] +outputs = [ "html", "pdf-in",] ++++ # Hello World @@ -17,52 +13,52 @@ The SDK comes with the Eclipse IDE installed, which the application developers c Here is a diagram outlining the project configuration process: - + These are steps to be followed to import a sample application into the workspace: * Open the Eclipse IDE by double clicking on this icon on the desktop of your SDK: -  +  * In Eclipse IDE select **Menu**→**File**→**Import**. You will see a dialog like the one below: -  +  * Select **General**→**Existing Projects into Workspace**. Click **Next**. Select one of the subfolders of the `/home/user/sample-applications` directory. See the dialog below for details. -  +  * Click on **Finish**, the sample application will be imported and configuration will start automatically as shown below (check the debugs in console). -  +  * To build the project, right click on the project and select **Build Project**. -  +  * The project should build without any errors: -  +  ### Install via Eclipse * After successful build of the project, right click on the project and select **Install (Native)** option. The selected project will be installed on the simulator. -  +  ### Uninstalling code examples via Eclipse To uninstall the code examples via Eclipse follow the below steps: * Right click on the project which you want to uninstall and select Uninstall (Native). -  +  ---- +``` ### Next |-| -|  **Want to find out more about the technologies available to applications in the Apertis environment?** Read about [Apertis technologies](sdk-techs.md). | -|  **Need a quick reference for the Apertis platform APIs?** View the [Apertis API reference pages](apis.md) | -|  **Ready to use the Apertis Development Environment?** Continue on to building and debugging with [the ADE tool](appdev-ade.md) | +|  **Want to find out more about the technologies available to applications in the Apertis environment?** Read about [Apertis technologies](sdk-techs.md). | +|  **Need a quick reference for the Apertis platform APIs?** View the [Apertis API reference pages](apis.md) | +|  **Ready to use the Apertis Development Environment?** Continue on to building and debugging with [the ADE tool](appdev-ade.md) | diff --git a/content/developer/appdev-structure.md b/content/developer/appdev-structure.md index 7a6588b976d450f4e43aa7039e39e94a13da04a0..4ce3e03464aa51e263a252207d69afb079f8a825 100644 --- a/content/developer/appdev-structure.md +++ b/content/developer/appdev-structure.md @@ -1,4 +1,9 @@ -|-| ++++ +title = "Appdev-structure" +weight = 100 +aliases = [ "/old-developer/latest/appdev-structure.html", "/old-developer/v2019/appdev-structure.html", "/old-developer/v2020/appdev-structure.html", "/old-developer/v2021pre/appdev-structure.html", "/old-developer/v2022dev0/appdev-structure.html",] +outputs = [ "html", "pdf-in",] ++++|-| | *This documentation is written against version [16.12](https://wiki.apertis.org/16.12) of Apertis; [Other versions](https://wiki.apertis.org/AppdevDocReleases)* | # Structure of an Apertis Application @@ -9,7 +14,7 @@ The structure of applications created using the [Eclipse wizard](appdev-hello-wo The following diagram gives an overview of MVC and the responsibilities of each component in the context of the UI framework: - + The main advantage of using MVC for the UI framework is that it enables loose coupling and therefore enhances reusability of each its components. @@ -31,7 +36,7 @@ Additionally, Below is the structure of the wizard-generated HelloWorld program: - + The main folders are: @@ -47,7 +52,7 @@ The main folders are: Picture below shows the structure of the application's **src** folder for the HelloWorld application. - + The file `HelloWorld_app` is the application's main GObject. It has the following functions: @@ -63,7 +68,7 @@ The `model` GObjects provide the **Model** part of the MVC architecture in the a It also uses PDI (Persistent Data Interface) to store *persistent* elements and restore the last-mode-data during the Application start-up. - + In the Helloworld application, `HelloWorld_model.c` is the GObject where the app can store the collection of data arranged in a structured way. It may be containing the backend data, parsed data etc, whichever an application needs for future reference. When the HelloWorld app is created, the model is empty. That is so that the app developer can decide what to store in the application model. @@ -75,9 +80,9 @@ ClutterModel is a data structure in which data is arranged in rows and columns. Below is a code snippet showing an application's model storing the metadata of songs that it has indexed. This data is then passed on to widgets to display on the screen: - + - + > The Model GObject can be an implementation of GListModel — An interface describing a dynamic list of objects. This will localise the clutter dependency to *view* in the app and can be replaced with any other UI library if desired. The sample apps will be updated to GListModel in future. @@ -95,7 +100,7 @@ They are identified by the same, unique name across views. Only one instance of The structure of the views folder in the sample project is shown below: - + The view folder will have GObjects for all the views and a window GObject. @@ -117,11 +122,11 @@ Widgets provide a wide range of functionalities to cater to the needs of differe The view and widget JSON files are stored in the resources folder. On expanding the resources folder you can see a folder for each view and their JSON files directly under the resources folder. - + The view folders (ListView, ThumbView, etc...) will hold the JSON files of widgets used in the respective views. - + The generic form of the json file for a view is as follows: @@ -147,13 +152,13 @@ The generic form of the json file for a view is as follows: * A sample json file for a view, named `DetailedView.json` is shown below: - + Now, if we explore the JSON files inside a particular view, we can find one such file per widget in the folder. Here is an example for a ViewsDrawer widget: - + This file indicates that the properties X and Y of the widget can be modified by the app. @@ -242,13 +247,13 @@ Data has to be provided by the user through the Model, which contains data in a Widgets will provide signals to indicate the occurrence of any event in the view. Views can register to those events and then decide if they can be handled in the view itself, or if they should be forwarded to the controller. - + ## Setting a property on a widget We can update or modify the properties of the widget at runtime. For example, if we want to close the views drawers before switching to other views, then we set the `close` property of the views drawer widget to `TRUE` in a view switch callback we registered. - + ## View Switch @@ -256,7 +261,7 @@ Views can be switched when the user clicks on something on the screen / faceplat In general the view switching state machine is part of the controller. However the views have to support controller in view switching. By default, if the events from a widget can not be handled within a particular view, they should be handed over to the controller. In order to do this , the view class has to create a signal and emit it. The controller catches this signal and decides to make the switch. - + The switching of views happens in controller, refer to [Performing View Switch](#performing-view-switch). @@ -272,7 +277,7 @@ To add a new widget to an existing view the below steps needs to be followed: Here's an example code snippet: -  +  * The widgets' JSON files can be seen at this path: `/usr/share/mildenhall/` @@ -300,7 +305,7 @@ It has three major responsibilities: The picture below shows the controller Gobject structure in the sample project (HelloWorld) - + The controller class holds the reference to all the views' GObjects and connects to signals exposed by views' GObjects. For example, if the user pressed ListView from views-drawer in the UI, the button-press event will be relayed to the controller by the view's GObject, which switches the current view to ListView. @@ -312,7 +317,7 @@ A trigger to switch the view should come from the UI using some widget or from t This code snippet shows how to switch views using the view drawer widget. -##  +##  ## Connecting with the backend @@ -322,18 +327,18 @@ An example is the controller GObject of media player registering to the SDK audi This code snippet shows the app registering to the application service (also called agent). - + After registering to backend services, controller can use the fi's or connect to signals exposed by the service. For example, controller can call pause / play fi exposed by service to pause / play the media files. - + - + ## Updating model with information from backend Controller updates the application model with the data (when there is a change in data or view). Here the controller updates the info widget with the respective artist / album meta detail which is played currently: - + diff --git a/content/developer/apps-core.md b/content/developer/apps-core.md index ecf92cd340bd1d4c86161507a815e21e96716389..56a1bf528c8d530a557945d3086fa8cea416a873 100644 --- a/content/developer/apps-core.md +++ b/content/developer/apps-core.md @@ -1,12 +1,11 @@ ---- -short-description: "Generic system applications" - -authors: - - name: Robert Bosch Car Multimedia GmbH - years: [2015, 2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Generic system applications" +license = "CC-BY-SAv4.0" +title = "Apps-core" +weight = 100 +aliases = [ "/old-developer/latest/apps-core.html", "/old-developer/v2019/apps-core.html", "/old-developer/v2020/apps-core.html", "/old-developer/v2021pre/apps-core.html", "/old-developer/v2022dev0/apps-core.html",] +outputs = [ "html", "pdf-in",] ++++ # Core applications diff --git a/content/developer/bundle-spec.md b/content/developer/bundle-spec.md index 05678394d6cd22b16cac58cdbd0a8d2b5c307d46..2903e6943c5d36d3619b416c2b116ea836adc143 100644 --- a/content/developer/bundle-spec.md +++ b/content/developer/bundle-spec.md @@ -1,13 +1,11 @@ ---- -short-description: "Apertis application bundle spec" - -authors: - - name: Simon McVittie - email: smcv@collabora.com - years: [2016, 2017] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Apertis application bundle spec" +license = "CC-BY-SAv4.0" +title = "Bundle-spec" +weight = 100 +aliases = [ "/old-developer/latest/bundle-spec.html", "/old-developer/v2019/bundle-spec.html", "/old-developer/v2020/bundle-spec.html", "/old-developer/v2021pre/bundle-spec.html", "/old-developer/v2022dev0/bundle-spec.html",] +outputs = [ "html", "pdf-in",] ++++ # Apertis Application Bundle Specification, version 1.2.0 @@ -44,28 +42,27 @@ be upgraded or rolled back at the same time as a corresponding upgrade or rollback for the Apertis platform. However, by following the requirements and recommendations in this specification, a built-in application bundle author can minimize the changes necessary between -Apertis platform releases. Please see -[](Appendix: built-in application bundles) for differences between +Apertis platform releases. Please see [Appendix: built in application bundles]( {{< ref "Appendix: built-in application bundles" >}} ) for differences between the required structure of store bundles and the required structure of built-in application bundles. App-bundles contain some or all of the following files: -* `bin/*` ([][Executables]) -* `etc/apparmor.d/Applications.`*bundle-ID* ([][AppArmor profile]) -* `lib/*` ([][Libraries]) -* `libexec/*` ([][Executables]) -* `share/applications/`*entry-point*`.desktop` ([][Entry points]) -* `share/glib-2.0/schemas/`*schema-ID*`.gschema.xml` ([][GSettings schemas]) -* `share/glib-2.0/schemas/gschemas.compiled` ([][GSettings schemas]) -* `share/icons/hicolor/64x64/apps/`*bundle-ID*`.png` ([][Icon for the bundle]) -* `share/icons/hicolor/64x64/apps/`*entry-point*`.png` ([][Icons for entry points]) -* `share/icons/`*theme*`/` ([][Icons for use by the bundle]) -* `share/locale/*/LC_MESSAGES/*.mo` ([][Localized strings]) -* `share/metainfo/`*bundle-ID*`.appdata.xml` ([][Bundle metadata]) -* `share/metainfo/`*bundle-ID*`.metainfo.xml` ([][Bundle metadata]) -* `share/themes/`*theme*`/*` ([][Theme data for use by the bundle]) -* `share/*` ([][Generic resource data]) +* `bin/*` ( [Executables]( {{< ref "#executables" >}} )) +* `etc/apparmor.d/Applications.`*bundle-ID* ( [AppArmor profile]( {{< ref "#apparmor-profile" >}} )) +* `lib/*` ( [Libraries]( {{< ref "#libraries" >}} )) +* `libexec/*` ( [Executables]( {{< ref "#executables" >}} )) +* `share/applications/`*entry-point*`.desktop` ( [Entry points]( {{< ref "#entry-points" >}} )) +* `share/glib-2.0/schemas/`*schema-ID*`.gschema.xml` ( [GSettings schemas]( {{< ref "#gsettings-schemas" >}} )) +* `share/glib-2.0/schemas/gschemas.compiled` ( [GSettings schemas]( {{< ref "#gsettings-schemas" >}} )) +* `share/icons/hicolor/64x64/apps/`*bundle-ID*`.png` ( [Icon for the bundle]( {{< ref "#icon-for-the-bundle" >}} )) +* `share/icons/hicolor/64x64/apps/`*entry-point*`.png` ( [Icons for entry points]( {{< ref "#icons-for-entry-points" >}} )) +* `share/icons/`*theme*`/` ( [Icons for use by the bundle]( {{< ref "#icons-for-use-by-the-bundle" >}} )) +* `share/locale/*/LC_MESSAGES/*.mo` ( [Localized strings]( {{< ref "#localized-strings" >}} )) +* `share/metainfo/`*bundle-ID*`.appdata.xml` ( [Bundle metadata]( {{< ref "#bundle-metadata" >}} )) +* `share/metainfo/`*bundle-ID*`.metainfo.xml` ( [Bundle metadata]( {{< ref "#bundle-metadata" >}} )) +* `share/themes/`*theme*`/*` ( [Theme data for use by the bundle]( {{< ref "#theme-data-for-use-by-the-bundle" >}} )) +* `share/*` ( [Generic resource data]( {{< ref "#generic-resource-data" >}} )) all of which will be installed relative to `/Applications/`*bundle-ID*. @@ -144,17 +141,17 @@ not recommended for any type of bundle, or not allowed. | `provides` → *any other* | not allowed | | `custom` → `value` | optional | -If the app-bundle has [][Entry points], the file MUST be named +If the app-bundle has [Entry points]( {{< ref "#entry-points" >}} ), the file MUST be named either `${bundle_id}.appdata.xml` or `${bundle_id}.metainfo.xml`, replacing -`${bundle_id}` with the [][Bundle ID]. In this case the `component` tag MUST +`${bundle_id}` with the [Bundle ID]( {{< ref "#bundle-id" >}} ). In this case the `component` tag MUST have its `type` attribute set to `desktop`. -If the app-bundle does not have [][Entry points], the file MUST be named +If the app-bundle does not have [Entry points]( {{< ref "#entry-points" >}} ), the file MUST be named `${bundle_id}.metainfo.xml`, again replacing `${bundle_id}` with the -[][Bundle ID]. In this case the `component` tag MUST NOT have a `type` + [Bundle ID]( {{< ref "#bundle-id" >}} ). In this case the `component` tag MUST NOT have a `type` attribute. -The `id` tag MUST contain exactly the Apertis [][Bundle ID]. +The `id` tag MUST contain exactly the Apertis [Bundle ID]( {{< ref "#bundle-id" >}} ). The `name` tag MUST contain a human-readable name for the app-bundle, for example `Shopping List`. @@ -208,13 +205,13 @@ entry point in this application bundle. It MUST NOT contain any of the other child tags that can be provided. The `mimetypes` tag MUST NOT be present. In Apertis, content-type support -is handled by [][Entry points]. +is handled by [Entry points]( {{< ref "#entry-points" >}} ). The `project_group` tag MUST NOT be present. Tags that are not specified in the AppStream upstream XML specification MUST NOT be present, with the exception of `custom` (see -[][Extended bundle metadata], below). + [Extended bundle metadata]( {{< ref "#extended-bundle-metadata" >}} ), below). Tags not specified in this document, in particular `screenshots`, `suggests`, `translation` and `update_contact`, SHOULD NOT be present. @@ -260,7 +257,7 @@ metadata like this: Apertis uses [AppArmor] to provide [security between application bundles]. Each app-bundle MUST install exactly one AppArmor profile file at `${prefix}/etc/apparmor.d/Applications.${bundle_id}`, replacing -`${bundle_id}` with the [][Bundle ID]. +`${bundle_id}` with the [Bundle ID]( {{< ref "#bundle-id" >}} ). This file MUST define exactly one AppArmor profile. Its name MUST be exactly `/Applications/${bundle_id}/**`, again replacing `${bundle_id}` @@ -270,7 +267,7 @@ or subprofiles), and in particular MUST NOT have any [hats][AppArmor hats] (which are a special case of local profiles). This file SHOULD contain the following rules, replacing `@BUNDLE_ID@` with the -[][Bundle ID] throughout: + [Bundle ID]( {{< ref "#bundle-id" >}} ) throughout: ``` /Applications/@BUNDLE_ID@/** { @@ -324,19 +321,19 @@ are interpreted according to the [Desktop Entry Specification]. App bundles are not required to install any entry points at all, but many features can only be provided by an app bundle that has entry points: -[][Graphical programs] in the main menu MUST have an entry point, -and [][Content type and uri scheme handlers] MUST have a -[][Main entry point]. + [Graphical programs]( {{< ref "#graphical-programs" >}} ) in the main menu MUST have an entry point, +and [Content type and uri scheme handlers]( {{< ref "#content-type-and-uri-scheme-handlers" >}} ) MUST have a + [Main entry point]( {{< ref "#main-entry-point" >}} ). The name of each desktop entry file, excluding the `.desktop` extension, is -called the [][Entry point ID]. +called the [Entry point ID]( {{< ref "#entry-point-id" >}} ). This table provides a summary of the allowed, recommended and optional fields. All other fields are either not recommended for any type of entry point, or not allowed. A table cell containing a literal value indicates that the field is required and must have exactly that value. -| Field | [][Main entry point] | Other graphical programs | Agents | +| Field | [Main entry point]( {{< ref "#main-entry-point" >}} ) | Other graphical programs | Agents | |--------------------------------|-----------------------|--------------------------|--------------------| | `Categories` | required | required | not recommended | | `Exec` | required | required | required | @@ -405,11 +402,11 @@ and MUST NOT assume that it will take any particular value. `Interfaces` MAY be set, for [interface discovery]. `DBusActivatable` MAY be present and set to `true`, as described in -[][D-Bus activation]. + [D-Bus activation]( {{< ref "#d-bus-activation" >}} ). -`X-Apertis-ServiceExec` MAY be set, as described in [][D-Bus activation]. +`X-Apertis-ServiceExec` MAY be set, as described in [D-Bus activation]( {{< ref "#d-bus-activation" >}} ). -`X-Apertis-ParentEntry` MAY be set, as described in [][Multiple views]. +`X-Apertis-ParentEntry` MAY be set, as described in [Multiple views]( {{< ref "#multiple-views" >}} ). The following keys MUST NOT be present: @@ -439,10 +436,10 @@ rely on their normal functionality (if any): * `X-Apertis-DataExchangeRules` (obsolete) * `X-Apertis-ManifestUrl` (obsolete) * `X-Apertis-SettingsIcon` (set an `Icon` instead) -* `X-Apertis-SettingsName` (set the `name` in the [][Bundle metadata] +* `X-Apertis-SettingsName` (set the `name` in the [Bundle metadata]( {{< ref "#bundle-metadata" >}} ) instead) * `X-Apertis-SettingsPath` (use the mechanism described in - [][GSettings schemas] instead) + [GSettings schemas]( {{< ref "#gsettings-schemas" >}} ) instead) * `X-Apertis-SplashScreen` * `X-Apertis-WindowName` (obsolete) @@ -456,11 +453,11 @@ rely on their normal functionality (if any): ### Entry point ID Each entry point MUST have an *entry point ID*, which is a string with the -same syntax requirements as a [][Bundle ID]. The name of the `.desktop` file +same syntax requirements as a [Bundle ID]( {{< ref "#bundle-id" >}} ). The name of the `.desktop` file MUST be the entry point ID followed by `.desktop`. -Like the [][Bundle ID], all entry point IDs in an app-bundle MUST start with a -[][Reversed domain name] controlled by the author. It is RECOMMENDED that all +Like the [Bundle ID]( {{< ref "#bundle-id" >}} ), all entry point IDs in an app-bundle MUST start with a + [Reversed domain name]( {{< ref "#reversed-domain-name" >}} ) controlled by the author. It is RECOMMENDED that all entry point IDs in an app-bundle either match its bundle ID exactly, or start with the bundle ID followed by a dot. @@ -473,7 +470,7 @@ name MUST be the same as one of its entry point IDs. ### Main entry point Each app-bundle that has any entry points SHOULD have an entry point -whose [][Entry point ID] is exactly the [][Bundle ID]. This entry point +whose [Entry point ID]( {{< ref "#entry-point-id" >}} ) is exactly the [Bundle ID]( {{< ref "#bundle-id" >}} ). This entry point is referred to as the *main entry point*, and MUST be a [graphical program][Graphical programs]. @@ -483,20 +480,20 @@ installation and hence made available to platform applications. ### Content type and URI scheme handlers -The [][Main entry point] MAY be registered as the [content type handler] for +The [Main entry point]( {{< ref "#main-entry-point" >}} ) MAY be registered as the [content type handler] for media types such as `audio/mpeg`, by setting `MimeType` to a list of [content types][IETF media types], each followed by a semicolon `;`. Non-main entry points MUST NOT be content type handlers. For example, a media player with support for the MP3 and RealAudio formats might use `MimeType=audio/mpeg;audio/vnd.rn-realaudio;` in its entry point. -The [][Main entry point] MAY be registered as the handler for +The [Main entry point]( {{< ref "#main-entry-point" >}} ) MAY be registered as the handler for [URI schemes][IETF URI schemes] such as `tel` or `http`, by including an entry in `MimeType` for the pseudo-content-type `x-scheme-handler/`*scheme*, for example `x-scheme-handler/http` for a web browser. Non-main entry points MUST NOT be URI scheme handlers. -If the entry point implements [][D-Bus activation], sending the +If the entry point implements [D-Bus activation]( {{< ref "#d-bus-activation" >}} ), sending the [`org.freedesktop.Application.Open` method call][DBusActivatable] to the object path corresponding to its entry point ID MUST result in it attempting to open the URI or URIs passed as parameters. @@ -546,11 +543,11 @@ values are therefore platform-specific). > of having launchers parse Categories in a later minor version of this > specification. -`Icon` MUST be set to the name of either the [][Icon for the bundle] or one -of the [][Icons for entry points], as a bare icon name (without any `/` +`Icon` MUST be set to the name of either the [Icon for the bundle]( {{< ref "#icon-for-the-bundle" >}} ) or one +of the [Icons for entry points]( {{< ref "#icons-for-entry-points" >}} ), as a bare icon name (without any `/` characters, and without a file-type extension such as `.png` or `.svg`). In particular, this implies that its string value MUST match either the -[][Bundle ID], or the [][Entry point ID] of an entry point. + [Bundle ID]( {{< ref "#bundle-id" >}} ), or the [Entry point ID]( {{< ref "#entry-point-id" >}} ) of an entry point. ### Multiple views @@ -562,7 +559,7 @@ album, or as a single flat list of songs. In applications that work like this, one of these views MUST be nominated to be the *parent entry point*, with the others as *child entry -points*. The parent will usually be the [][Main entry point], although this +points*. The parent will usually be the [Main entry point]( {{< ref "#main-entry-point" >}} ), although this is not required. The main entry point SHOULD NOT be a child entry point. A parent entry point MUST NOT have the `X-Apertis-ParentEntry` field. @@ -572,7 +569,7 @@ of all associated child entry points. It SHOULD set `X-Apertis-ServiceExec`. Child entry points MUST set the `X-Apertis-ParentEntry` field -to the [][Entry point ID] of the parent entry point, and MUST set +to the [Entry point ID]( {{< ref "#entry-point-id" >}} ) of the parent entry point, and MUST set `DBusActivatable` to `true`. They MUST NOT set `X-Apertis-ServiceExec`. Agents and other non-graphical programs MUST NOT be parent or child @@ -676,7 +673,7 @@ Agents MUST set `X-Apertis-Type` to `agent-service`. Agents MUST set `NoDisplay` to `true`. Agents SHOULD set `DBusActivatable` to `true`, and implement -[][D-Bus activation] as described above. + [D-Bus activation]( {{< ref "#d-bus-activation" >}} ) as described above. ## Paths for other file types @@ -766,7 +763,7 @@ format, 64×64 pixels in size, and MUST be located at ${prefix}/share/icons/hicolor/64x64/apps/${name}.png ``` -where `${name}` is set to the [][Bundle ID]. +where `${name}` is set to the [Bundle ID]( {{< ref "#bundle-id" >}} ). > **Open question**: I'm arbitrarily choosing 64x64 because that's what the > AppStream specification uses, but do we have a different preferred size in @@ -795,9 +792,9 @@ ${prefix}/share/icons/net.example.Metallic/64x64/apps/${name}.png Any entry point MAY have an icon to represent it. If present, it MUST be named in the same way as the icon for the bundle as a whole, except -that `${name}` is set to the [][Entry point ID] instead of the bundle ID. +that `${name}` is set to the [Entry point ID]( {{< ref "#entry-point-id" >}} ) instead of the bundle ID. -Note that this means the [][Main entry point] of the app-bundle will +Note that this means the [Main entry point]( {{< ref "#main-entry-point" >}} ) of the app-bundle will always use the same icon as the bundle itself. ### Icons for use by the bundle @@ -846,7 +843,7 @@ The app-bundle MAY install one or more [GSettings schemas][GSettings] into `${prefix}/share/glib-2.0/schemas/`. The filenames used MUST be the schema ID followed by `.gschema.xml`, optionally accompanied by enum definitions in a file named by the schema ID followed by `.enums.xml`. -Each schema ID SHOULD either match the [][Bundle ID] exactly, or +Each schema ID SHOULD either match the [Bundle ID]( {{< ref "#bundle-id" >}} ) exactly, or start with the bundle ID followed by a dot. If the app-bundle installs any schemas, then it MUST also install a compiled @@ -854,7 +851,7 @@ binary form of those schemas, in `${prefix}/share/glib-2.0/schemas/schemas.compiled`. The `glib-compile-schemas` tool can be used to compile this binary form. -The app-bundle MAY install a schema whose schema ID matches the [][Bundle ID] +The app-bundle MAY install a schema whose schema ID matches the [Bundle ID]( {{< ref "#bundle-id" >}} ) exactly. If it does, then that schema's child schemas MUST all start with the bundle ID followed by a dot, and that schema and its child schemas will be made available in the system settings user interface. @@ -879,8 +876,8 @@ version and a set of translations at build-time. For the following file formats, the app-bundle MUST include all of its supported translations (for example a translated `Name`) in a single file: -* [][Entry points] -* [][Bundle metadata] +* [Entry points]( {{< ref "#entry-points" >}} ) +* [Bundle metadata]( {{< ref "#bundle-metadata" >}} ) Otherwise, application bundles that contain localized strings SHOULD use [GNU gettext] @@ -888,7 +885,7 @@ Otherwise, application bundles that contain localized strings SHOULD use with a subdirectory named for the *locale* in which the language is used, and a `LC_MESSAGES` subdirectory inside that containing one or more `.mo` files. The name of the `.mo` files (the *text domain*) SHOULD either be -exactly the [][Bundle ID], or the bundle ID followed by a dot and +exactly the [Bundle ID]( {{< ref "#bundle-id" >}} ), or the bundle ID followed by a dot and one or more additional components. Using a single text domain whose name is exactly the bundle ID is RECOMMENDED. @@ -925,9 +922,9 @@ If this is done, the application bundle author is responsible for arranging for those localized strings to be loaded. There is one special case where use of gettext and this specific layout -*is* mandatory. If an app bundle contains [][GSettings schemas], and those +*is* mandatory. If an app bundle contains [GSettings schemas]( {{< ref "#gsettings-schemas" >}} ), and those schemas support localized contents by using the `gettext-domain` attribute, -then the `gettext-domain` that is declared MUST be either the [][Bundle ID], +then the `gettext-domain` that is declared MUST be either the [Bundle ID]( {{< ref "#bundle-id" >}} ), or the bundle ID followed by a dot and one or more additional name components. Again, using exactly the bundle ID for the gettext domain is RECOMMENDED. @@ -1008,12 +1005,12 @@ command like `glib-compile-schemas --strict ${DESTDIR}${prefix}/share/glib-2.0/schemas` while building the bundle. -[][Localized strings] used in the app itself, or in its GSettings schema, would + [Localized strings]( {{< ref "#localized-strings" >}} ) used in the app itself, or in its GSettings schema, would be installed as `${prefix}/share/locale/${locale}/LC_MESSAGES/com.example.ShoppingList.mo`, where `${locale}` represents a locale such as `fr_CA` or `de`. -[][Main entry point] for the user interface, to be installed as + [Main entry point]( {{< ref "#main-entry-point" >}} ) for the user interface, to be installed as `${prefix}/share/applications/net.example.ShoppingList.desktop`: [Desktop Entry] @@ -1045,7 +1042,7 @@ The user interface's [icon][Icon for the bundle] would be installed as X-GNOME-FullName=Example Shopping List DBusActivatable=true -[][AppArmor profile], to be installed as + [AppArmor profile]( {{< ref "#apparmor-profile" >}} ), to be installed as `${prefix}/etc/apparmor.d/Applications.net.example.ShoppingList`: /Applications/net.example.ShoppingList/** { @@ -1104,7 +1101,7 @@ As an exception to the usual use of the `${prefix}`, built-in application bundles MUST install their [AppArmor profiles][AppArmor profile] directly to `/etc/apparmor.d`, in a file named `/etc/apparmor.d/usr.Applications.${bundle_id}` where `${bundle_id}` is to -be replaced by the [][Bundle ID]. +be replaced by the [Bundle ID]( {{< ref "#bundle-id" >}} ). They MUST NOT contain `/usr/Applications/*/etc/apparmor.d`. For the following categories of files, if an equivalent store application @@ -1114,11 +1111,11 @@ file for the built-in application bundle must include symbolic links `/usr/share/*` pointing to the corresponding regular files in `${prefix}/share/*`: -* [][Entry points] -* [][GSettings schemas] -* [][Icon for the bundle] -* [][Icons for entry points] -* [][Bundle metadata] +* [Entry points]( {{< ref "#entry-points" >}} ) +* [GSettings schemas]( {{< ref "#gsettings-schemas" >}} ) +* [Icon for the bundle]( {{< ref "#icon-for-the-bundle" >}} ) +* [Icons for entry points]( {{< ref "#icons-for-entry-points" >}} ) +* [Bundle metadata]( {{< ref "#bundle-metadata" >}} ) For example, the `.deb` file for a built-in application bundle `org.apertis.Eye` might include a symbolic link @@ -1133,12 +1130,12 @@ bundle would include files in that category, built-in application bundles MUST install the files into `${prefix}`, but MUST NOT include symbolic links to them in `/usr/*`: -* [][Executables] -* [][Libraries] -* [][Icons for use by the bundle] -* [][Localized strings] -* [][Theme data for use by the bundle] -* [][Generic resource data] +* [Executables]( {{< ref "#executables" >}} ) +* [Libraries]( {{< ref "#libraries" >}} ) +* [Icons for use by the bundle]( {{< ref "#icons-for-use-by-the-bundle" >}} ) +* [Localized strings]( {{< ref "#localized-strings" >}} ) +* [Theme data for use by the bundle]( {{< ref "#theme-data-for-use-by-the-bundle" >}} ) +* [Generic resource data]( {{< ref "#generic-resource-data" >}} ) ### Permissions and policy differences @@ -1148,7 +1145,7 @@ has total control over both the [platform layer] and the built-in application bundles that are packaged with it; they are responsible for ensuring that those components fit together correctly and meet their functional and security requirements. For example, a platform -vendor can provide any [][AppArmor profile] for a built-in application +vendor can provide any [AppArmor profile]( {{< ref "#apparmor-profile" >}} ) for a built-in application bundle, and it is up to the platform vendor to ensure that the profile is consistent with their security policy. diff --git a/content/developer/connectivity.md b/content/developer/connectivity.md index 20e7fea27b1ef2c7ab4e22415c9ca9d2e0cd6e6b..57fc824a61df32219d2925de06acf86e88eafb76 100644 --- a/content/developer/connectivity.md +++ b/content/developer/connectivity.md @@ -1,12 +1,11 @@ ---- -short-description: "Wi-Fi, Bluetooth ..." - -authors: - - name: Robert Bosch Car Multimedia GmbH - years: [2015, 2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Wi-Fi, Bluetooth ..." +license = "CC-BY-SAv4.0" +title = "Connectivity" +weight = 100 +aliases = [ "/old-developer/latest/connectivity.html", "/old-developer/v2019/connectivity.html", "/old-developer/v2020/connectivity.html", "/old-developer/v2021pre/connectivity.html", "/old-developer/v2022dev0/connectivity.html",] +outputs = [ "html", "pdf-in",] ++++ # Connectivity diff --git a/content/developer/cross-build-toolchain.md b/content/developer/cross-build-toolchain.md index 0bcecfc3d7cb61d7cabc1369820d0623552b4234..dfc3810fa761eeeafbef35b8cb24705b7dec4acc 100644 --- a/content/developer/cross-build-toolchain.md +++ b/content/developer/cross-build-toolchain.md @@ -1,13 +1,11 @@ ---- -short-description: "Toolchain: how to use it" - -authors: - - name: Frédéric Dalleau - email: frederic.dalleau@collabora.com - years: [2019] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Toolchain: how to use it" +license = "CC-BY-SAv4.0" +title = "Cross-build-toolchain" +weight = 100 +aliases = [ "/old-developer/latest/cross-build-toolchain.html", "/old-developer/v2019/cross-build-toolchain.html", "/old-developer/v2020/cross-build-toolchain.html", "/old-developer/v2021pre/cross-build-toolchain.html", "/old-developer/v2022dev0/cross-build-toolchain.html",] +outputs = [ "html", "pdf-in",] ++++ # Apertis Toolchain diff --git a/content/developer/deployment-management.md b/content/developer/deployment-management.md index 8c9536fa82a7030b7224637ffd8b539d6f07dee9..3bc84a51f184857c1a2e129e80bef979f7aa2ecb 100644 --- a/content/developer/deployment-management.md +++ b/content/developer/deployment-management.md @@ -1,13 +1,11 @@ ---- -short-description: "Deployment management: How to install and use hawkBit for Apertis" - -authors: - - name: Frédéric Danis - email: frederic.danis@collabora.com - years: [2019] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Deployment management: How to install and use hawkBit for Apertis" +license = "CC-BY-SAv4.0" +title = "Deployment-management" +weight = 100 +aliases = [ "/old-developer/latest/deployment-management.html", "/old-developer/v2019/deployment-management.html", "/old-developer/v2020/deployment-management.html", "/old-developer/v2021pre/deployment-management.html", "/old-developer/v2022dev0/deployment-management.html",] +outputs = [ "html", "pdf-in",] ++++ # Deployment management ## Design diff --git a/content/developer/faq.md b/content/developer/faq.md index db88eb326ca8507d93d01f98bb290673bc1f25d4..1f0cc110fb3a492a5dd1e19c57d79dde5740df1e 100644 --- a/content/developer/faq.md +++ b/content/developer/faq.md @@ -1,13 +1,11 @@ ---- -short-description: "Frequently Asked Questions" - -authors: - - name: Micah Fedke - email: micah.fedke@collabora.co.uk - years: [2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Frequently Asked Questions" +license = "CC-BY-SAv4.0" +title = "Faq" +weight = 100 +aliases = [ "/old-developer/latest/faq.html", "/old-developer/v2019/faq.html", "/old-developer/v2020/faq.html", "/old-developer/v2021pre/faq.html", "/old-developer/v2022dev0/faq.html",] +outputs = [ "html", "pdf-in",] ++++ # FAQ diff --git a/content/developer/framework-app.md b/content/developer/framework-app.md index 18a0e76a13c0220187fb0196ae7b4635024098b7..f61211bc3509996f43a1f3c3854f59c37ed07cce 100644 --- a/content/developer/framework-app.md +++ b/content/developer/framework-app.md @@ -1,12 +1,11 @@ ---- -short-description: "The application framework" - -authors: - - name: Robert Bosch Car Multimedia GmbH - years: [2015, 2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "The application framework" +license = "CC-BY-SAv4.0" +title = "Framework-app" +weight = 100 +aliases = [ "/old-developer/latest/framework-app.html", "/old-developer/v2019/framework-app.html", "/old-developer/v2020/framework-app.html", "/old-developer/v2021pre/framework-app.html", "/old-developer/v2022dev0/framework-app.html",] +outputs = [ "html", "pdf-in",] ++++ # Application framework diff --git a/content/developer/framework-ui.md b/content/developer/framework-ui.md index 80a158f7252cb7a09e7f76a4eafaa034a7a9253b..7c088e202478a0f9d306017ae8aaf7f438a8be2d 100644 --- a/content/developer/framework-ui.md +++ b/content/developer/framework-ui.md @@ -1,12 +1,11 @@ ---- -short-description: "The UI framework" - -authors: - - name: Robert Bosch Car Multimedia GmbH - years: [2015, 2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "The UI framework" +license = "CC-BY-SAv4.0" +title = "Framework-ui" +weight = 100 +aliases = [ "/old-developer/latest/framework-ui.html", "/old-developer/v2019/framework-ui.html", "/old-developer/v2020/framework-ui.html", "/old-developer/v2021pre/framework-ui.html", "/old-developer/v2022dev0/framework-ui.html",] +outputs = [ "html", "pdf-in",] ++++ # UI framework diff --git a/content/developer/index.md b/content/developer/index.md index 93a3c40251bd6e1f99d7a12a7ab030607a64d717..75fb024da7ee5c681c77df0a9d3fe84743189cdf 100644 --- a/content/developer/index.md +++ b/content/developer/index.md @@ -1,15 +1,11 @@ ---- -short-description: "Apertis application developer portal" - -authors: - - name: Robert Bosch Car Multimedia GmbH - years: [2015, 2016] - - name: Micah Fedke - email: micah.fedke@collabora.co.uk - years: [2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Apertis application developer portal" +license = "CC-BY-SAv4.0" +title = "Index" +weight = 100 +aliases = [ "/old-developer/latest/index.html", "/old-developer/v2019/index.html", "/old-developer/v2020/index.html", "/old-developer/v2021pre/index.html", "/old-developer/v2022dev0/index.html",] +outputs = [ "html", "pdf-in",] ++++ # Apertis application developer guide @@ -22,10 +18,10 @@ The SDK is a linux virtual machine running a standard desktop environment on top ### Next |-| -|  **Questions?** Read the [FAQ](faq.md). | -|  **Ready to start development?** [Install the SDK](install.md). | -|  **Want to create or update Apertis apps?** Find out [What's new in the latest version of Apertis](#whats-new-in-this-version) or use the [API quick links](#apertis-api-quick-links) below. | -|  **Ready to distribute your app?** Continue on to [Distribution](app-distribution.md). | +|  **Questions?** Read the [FAQ](faq.md). | +|  **Ready to start development?** [Install the SDK](install.md). | +|  **Want to create or update Apertis apps?** Find out [What's new in the latest version of Apertis](#whats-new-in-this-version) or use the [API quick links](#apertis-api-quick-links) below. | +|  **Ready to distribute your app?** Continue on to [Distribution](app-distribution.md). | ## Support @@ -102,4 +98,4 @@ If you encounter any problems using the SDK and need help, please send us an ema [Soup](https://developer.gnome.org/libsoup/stable/): Network protocol [LLVM](http://llvm.org/docs/): Compiler technology ---- +``` diff --git a/content/developer/infrastructure-ui.md b/content/developer/infrastructure-ui.md index e063eb567498a461b9da1a67bfc7df975bbe13ec..5cb811c8814ffe0ea57f2a321695ad61d9bcb722 100644 --- a/content/developer/infrastructure-ui.md +++ b/content/developer/infrastructure-ui.md @@ -1,12 +1,11 @@ ---- -short-description: "Generic system utilities" - -authors: - - name: Robert Bosch Car Multimedia GmbH - years: [2015, 2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Generic system utilities" +license = "CC-BY-SAv4.0" +title = "Infrastructure-ui" +weight = 100 +aliases = [ "/old-developer/latest/infrastructure-ui.html", "/old-developer/v2019/infrastructure-ui.html", "/old-developer/v2020/infrastructure-ui.html", "/old-developer/v2021pre/infrastructure-ui.html", "/old-developer/v2022dev0/infrastructure-ui.html",] +outputs = [ "html", "pdf-in",] ++++ # Infrastructure UI diff --git a/content/developer/install.md b/content/developer/install.md index 956d40cf072e27b3c77276c0a92c14dde46edd88..51524b4ed69d7a94d5133d7776fde7cdaf287b1a 100644 --- a/content/developer/install.md +++ b/content/developer/install.md @@ -1,15 +1,11 @@ ---- -short-description: "Step-by-step guide for installing our SDK" - -authors: - - name: Robert Bosch Car Multimedia GmbH - years: [2015, 2016] - - name: Micah Fedke - email: micah.fedke@collabora.co.uk - years: [2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Step-by-step guide for installing our SDK" +license = "CC-BY-SAv4.0" +title = "Install" +weight = 100 +aliases = [ "/old-developer/latest/install.html", "/old-developer/v2019/install.html", "/old-developer/v2020/install.html", "/old-developer/v2021pre/install.html", "/old-developer/v2022dev0/install.html",] +outputs = [ "html", "pdf-in",] ++++ # Installing the SDK @@ -46,4 +42,4 @@ Download the gzipped VDI image of the latest stable release to your development ### Next |-| -|  **Ready to install the downloaded SDK?** [Continue on to setting up the virtual machine](vm-setup.md) | +|  **Ready to install the downloaded SDK?** [Continue on to setting up the virtual machine](vm-setup.md) | diff --git a/content/developer/internet.md b/content/developer/internet.md index 4ce1f589b27bc2c51a9fc09a68136b4f64bb0b5b..0574ab23d496355b8d5868a288faca0fb29828a8 100644 --- a/content/developer/internet.md +++ b/content/developer/internet.md @@ -1,12 +1,11 @@ ---- -short-description: "Various internet utilities provided by the SDK" - -authors: - - name: Robert Bosch Car Multimedia GmbH - years: [2015, 2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Various internet utilities provided by the SDK" +license = "CC-BY-SAv4.0" +title = "Internet" +weight = 100 +aliases = [ "/old-developer/latest/internet.html", "/old-developer/v2019/internet.html", "/old-developer/v2020/internet.html", "/old-developer/v2021pre/internet.html", "/old-developer/v2022dev0/internet.html",] +outputs = [ "html", "pdf-in",] ++++ # Internet services diff --git a/content/developer/licensing.md b/content/developer/licensing.md index deb29de7b97b6b11ee65da80746daccbf9ef584b..4d2362d34b2b8c9ecb8ec1fdf02ceed6b7f8ffff 100644 --- a/content/developer/licensing.md +++ b/content/developer/licensing.md @@ -1,13 +1,11 @@ ---- -short-description: "A summary of licensing implications" - -authors: - - name: Ekaterina Gerasimova - email: kat@collabora.co.uk - years: [2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "A summary of licensing implications" +license = "CC-BY-SAv4.0" +title = "Licensing" +weight = 100 +aliases = [ "/old-developer/latest/licensing.html", "/old-developer/v2019/licensing.html", "/old-developer/v2020/licensing.html", "/old-developer/v2021pre/licensing.html", "/old-developer/v2022dev0/licensing.html",] +outputs = [ "html", "pdf-in",] ++++ # Choose a license for your application diff --git a/content/developer/multimedia.md b/content/developer/multimedia.md index 41730102c6f9db8ce388a4d2e3b57596669be4b0..e299813ace3e01068cc11e0b5fad6d62933f79dc 100644 --- a/content/developer/multimedia.md +++ b/content/developer/multimedia.md @@ -1,12 +1,11 @@ ---- -short-description: "Multimedia interfaces provided by the SDK" - -authors: - - name: Robert Bosch Car Multimedia GmbH - years: [2015, 2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Multimedia interfaces provided by the SDK" +license = "CC-BY-SAv4.0" +title = "Multimedia" +weight = 100 +aliases = [ "/old-developer/latest/multimedia.html", "/old-developer/v2019/multimedia.html", "/old-developer/v2020/multimedia.html", "/old-developer/v2021pre/multimedia.html", "/old-developer/v2022dev0/multimedia.html",] +outputs = [ "html", "pdf-in",] ++++ # Multimedia diff --git a/content/developer/navigation.md b/content/developer/navigation.md index 5ca44c422cee2a589419eaceaed2a800197933ce..491a683e138fde94fd908f6ab76d11d8c214c073 100644 --- a/content/developer/navigation.md +++ b/content/developer/navigation.md @@ -1,12 +1,11 @@ ---- -short-description: "Navigation services (maps, guidance, ...)" - -authors: - - name: Robert Bosch Car Multimedia GmbH - years: [2015, 2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Navigation services (maps, guidance, ...)" +license = "CC-BY-SAv4.0" +title = "Navigation" +weight = 100 +aliases = [ "/old-developer/latest/navigation.html", "/old-developer/v2019/navigation.html", "/old-developer/v2020/navigation.html", "/old-developer/v2021pre/navigation.html", "/old-developer/v2022dev0/navigation.html",] +outputs = [ "html", "pdf-in",] ++++ # Navigation diff --git a/content/developer/platform-guide.md b/content/developer/platform-guide.md index 7db2cda64080a9ade7084271033bb45a3872d0ff..c2c51ceab48135e35ae0f60c65a9e806902504e7 100644 --- a/content/developer/platform-guide.md +++ b/content/developer/platform-guide.md @@ -1,16 +1,11 @@ ---- -short-description: "Introductory guide to the Apertis platform" - -authors: - - name: Emanuele Aina - email: emanuele.aina@collabora.com - years: [2017] - - name: Sjoerd Simons - email: sjoerd.simons@collabora.co.uk - years: [2017] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Introductory guide to the Apertis platform" +license = "CC-BY-SAv4.0" +title = "Platform-guide" +weight = 100 +aliases = [ "/old-developer/latest/platform-guide.html", "/old-developer/v2019/platform-guide.html", "/old-developer/v2020/platform-guide.html", "/old-developer/v2021pre/platform-guide.html", "/old-developer/v2022dev0/platform-guide.html",] +outputs = [ "html", "pdf-in",] ++++ # Apertis platform guide @@ -229,7 +224,7 @@ will take care of deploying the freshly generated images on actual target devices running in the Collabora device farm, and of controlling them over serial connections to run the defined testcases and gather the results. - + ## The workflow diff --git a/content/developer/programming-guide-api-stability.md b/content/developer/programming-guide-api-stability.md index 137b4025f521b2074dd0db7f5060284df377288e..72a701c02f5772e450aa0d9a41461e3bc84e2ff6 100644 --- a/content/developer/programming-guide-api-stability.md +++ b/content/developer/programming-guide-api-stability.md @@ -1,16 +1,11 @@ ---- -short-description: "Choose which version of Apertis to develop against and how to work with the APIs" - -authors: - - name: Ekaterina Gerasimova - email: kat@collabora.co.uk - years: [2016] - - name: Philip Withnall - email: philip@tecnocode.co.uk - years: [2015] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Choose which version of Apertis to develop against and how to work with the APIs" +license = "CC-BY-SAv4.0" +title = "Programming-guide-api-stability" +weight = 100 +aliases = [ "/old-developer/latest/programming-guide-api-stability.html", "/old-developer/v2019/programming-guide-api-stability.html", "/old-developer/v2020/programming-guide-api-stability.html", "/old-developer/v2021pre/programming-guide-api-stability.html", "/old-developer/v2022dev0/programming-guide-api-stability.html",] +outputs = [ "html", "pdf-in",] ++++ # Apertis API stability diff --git a/content/developer/programming-guide-apparmor.md b/content/developer/programming-guide-apparmor.md index e4dd12a6e2c977aae2429b74490216f29832f4bd..4c6229c9829838a9db6e347ffe066c2e5c730e35 100644 --- a/content/developer/programming-guide-apparmor.md +++ b/content/developer/programming-guide-apparmor.md @@ -1,16 +1,11 @@ ---- -short-description: "Use AppArmor add a security layer which enforces access control" - -authors: - - name: Ekaterina Gerasimova - email: kat@collabora.co.uk - years: [2016] - - name: Philip Withnall - email: philip@tecnocode.co.uk - years: [2015] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Use AppArmor add a security layer which enforces access control" +license = "CC-BY-SAv4.0" +title = "Programming-guide-apparmor" +weight = 100 +aliases = [ "/old-developer/latest/programming-guide-apparmor.html", "/old-developer/v2019/programming-guide-apparmor.html", "/old-developer/v2020/programming-guide-apparmor.html", "/old-developer/v2021pre/programming-guide-apparmor.html", "/old-developer/v2022dev0/programming-guide-apparmor.html",] +outputs = [ "html", "pdf-in",] ++++ # Security and access control diff --git a/content/developer/programming-guide-coding-conventions.md b/content/developer/programming-guide-coding-conventions.md index 811399a8dca5d0d72c832da794582d92eb66db36..adaa1117d856d58910b50287dc6dbef8aa779468 100644 --- a/content/developer/programming-guide-coding-conventions.md +++ b/content/developer/programming-guide-coding-conventions.md @@ -1,16 +1,11 @@ ---- -short-description: "Follow standard coding conventions to make best use of available resources and build your app to be more maintainable" - -authors: - - name: Ekaterina Gerasimova - email: kat@collabora.co.uk - years: [2016] - - name: Philip Withnall - email: philip@tecnocode.co.uk - years: [2015] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Follow standard coding conventions to make best use of available resources and build your app to be more maintainable" +license = "CC-BY-SAv4.0" +title = "Programming-guide-coding-conventions" +weight = 100 +aliases = [ "/old-developer/latest/programming-guide-coding-conventions.html", "/old-developer/v2019/programming-guide-coding-conventions.html", "/old-developer/v2020/programming-guide-coding-conventions.html", "/old-developer/v2021pre/programming-guide-coding-conventions.html", "/old-developer/v2022dev0/programming-guide-coding-conventions.html",] +outputs = [ "html", "pdf-in",] ++++ # Coding conventions diff --git a/content/developer/programming-guide-filesystem.md b/content/developer/programming-guide-filesystem.md index 47a9286a77d8a4340acb1d9ab4dde19f86da49dc..97c3e058acef29a9359eea8fe6adefd0bf9a8ede 100644 --- a/content/developer/programming-guide-filesystem.md +++ b/content/developer/programming-guide-filesystem.md @@ -1,16 +1,11 @@ ---- -short-description: "Working with files" - -authors: - - name: Ekaterina Gerasimova - email: kat@collabora.co.uk - years: [2016] - - name: Philip Withnall - email: philip@tecnocode.co.uk - years: [2015] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Working with files" +license = "CC-BY-SAv4.0" +title = "Programming-guide-filesystem" +weight = 100 +aliases = [ "/old-developer/latest/programming-guide-filesystem.html", "/old-developer/v2019/programming-guide-filesystem.html", "/old-developer/v2020/programming-guide-filesystem.html", "/old-developer/v2021pre/programming-guide-filesystem.html", "/old-developer/v2022dev0/programming-guide-filesystem.html",] +outputs = [ "html", "pdf-in",] ++++ # Filesystem access diff --git a/content/developer/programming-guide-gsettings.md b/content/developer/programming-guide-gsettings.md index d84bbd07be469ce8c71669476f4d25b65408819c..40fc9a4952f396a6384107b573c10e2c6a8f38e5 100644 --- a/content/developer/programming-guide-gsettings.md +++ b/content/developer/programming-guide-gsettings.md @@ -1,16 +1,11 @@ ---- -short-description: "Learn to store your app settings correctly" - -authors: - - name: Ekaterina Gerasimova - email: kat@collabora.co.uk - years: [2016] - - name: Philip Withnall - email: philip@tecnocode.co.uk - years: [2015] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Learn to store your app settings correctly" +license = "CC-BY-SAv4.0" +title = "Programming-guide-gsettings" +weight = 100 +aliases = [ "/old-developer/latest/programming-guide-gsettings.html", "/old-developer/v2019/programming-guide-gsettings.html", "/old-developer/v2020/programming-guide-gsettings.html", "/old-developer/v2021pre/programming-guide-gsettings.html", "/old-developer/v2022dev0/programming-guide-gsettings.html",] +outputs = [ "html", "pdf-in",] ++++ # GSettings diff --git a/content/developer/programming-guide-index.md b/content/developer/programming-guide-index.md index e669437058c26c2fa0b86b41191d4ac9e742055b..cbe99b6b0311b93648f7c4e85b71a9c2adbebeae 100644 --- a/content/developer/programming-guide-index.md +++ b/content/developer/programming-guide-index.md @@ -1,11 +1,10 @@ ---- -authors: - - name: Ekaterina Gerasimova - email: kat@collabora.co.uk - years: [2016] - -license: CC-BY-SAv4.0 ---- ++++ +license = "CC-BY-SAv4.0" +title = "Programming-guide-index" +weight = 100 +aliases = [ "/old-developer/latest/programming-guide-index.html", "/old-developer/v2019/programming-guide-index.html", "/old-developer/v2020/programming-guide-index.html", "/old-developer/v2021pre/programming-guide-index.html", "/old-developer/v2022dev0/programming-guide-index.html",] +outputs = [ "html", "pdf-in",] ++++ # Programming guidelines diff --git a/content/developer/programming-guide-internationalization.md b/content/developer/programming-guide-internationalization.md index 0bd6402cd185062a30859216aff1c2c11ff5d118..9684058160544e4f35a210b65cbe7cfe2e5c097c 100644 --- a/content/developer/programming-guide-internationalization.md +++ b/content/developer/programming-guide-internationalization.md @@ -1,16 +1,11 @@ ---- -short-description: "Develop your app to be easily translatable and localisable." - -authors: - - name: Ekaterina Gerasimova - email: kat@collabora.co.uk - years: [2016] - - name: Philip Withnall - email: philip@tecnocode.co.uk - years: [2015] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Develop your app to be easily translatable and localisable." +license = "CC-BY-SAv4.0" +title = "Programming-guide-internationalization" +weight = 100 +aliases = [ "/old-developer/latest/programming-guide-internationalization.html", "/old-developer/v2019/programming-guide-internationalization.html", "/old-developer/v2020/programming-guide-internationalization.html", "/old-developer/v2021pre/programming-guide-internationalization.html", "/old-developer/v2022dev0/programming-guide-internationalization.html",] +outputs = [ "html", "pdf-in",] ++++ # Internationalization diff --git a/content/developer/programming-guide-introspection.md b/content/developer/programming-guide-introspection.md index c16216d2ea7d4aae6004a5f81d21da7cb39d17de..897904ae3fb058a433d6b397cc50fa230aca99cf 100644 --- a/content/developer/programming-guide-introspection.md +++ b/content/developer/programming-guide-introspection.md @@ -1,16 +1,11 @@ ---- -short-description: "APIs for languages other than C." - -authors: - - name: Ekaterina Gerasimova - email: kat@collabora.co.uk - years: [2016] - - name: Philip Withnall - email: philip@tecnocode.co.uk - years: [2015] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "APIs for languages other than C." +license = "CC-BY-SAv4.0" +title = "Programming-guide-introspection" +weight = 100 +aliases = [ "/old-developer/latest/programming-guide-introspection.html", "/old-developer/v2019/programming-guide-introspection.html", "/old-developer/v2020/programming-guide-introspection.html", "/old-developer/v2021pre/programming-guide-introspection.html", "/old-developer/v2022dev0/programming-guide-introspection.html",] +outputs = [ "html", "pdf-in",] ++++ # Introspection diff --git a/content/developer/programming-guide-logging.md b/content/developer/programming-guide-logging.md index 8123c5a2af976aa6b381d76119a9f84b09e2f0ab..710b1ab42290958ae461f53b61dee30bcb0b9a48 100644 --- a/content/developer/programming-guide-logging.md +++ b/content/developer/programming-guide-logging.md @@ -1,16 +1,11 @@ ---- -short-description: "Log debug and other output from your app" - -authors: - - name: Ekaterina Gerasimova - email: kat@collabora.co.uk - years: [2016] - - name: Philip Withnall - email: philip@tecnocode.co.uk - years: [2015] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Log debug and other output from your app" +license = "CC-BY-SAv4.0" +title = "Programming-guide-logging" +weight = 100 +aliases = [ "/old-developer/latest/programming-guide-logging.html", "/old-developer/v2019/programming-guide-logging.html", "/old-developer/v2020/programming-guide-logging.html", "/old-developer/v2021pre/programming-guide-logging.html", "/old-developer/v2022dev0/programming-guide-logging.html",] +outputs = [ "html", "pdf-in",] ++++ # Logging diff --git a/content/developer/programming-guide-memory-management.md b/content/developer/programming-guide-memory-management.md index a80a086950678b1d9d54615689c1f3cb973410ef..14d27ce141a5a03a189cdce79ac09b1eeca0de7a 100644 --- a/content/developer/programming-guide-memory-management.md +++ b/content/developer/programming-guide-memory-management.md @@ -1,16 +1,11 @@ ---- -short-description: "How to manage memory allocation in your app" - -authors: - - name: Ekaterina Gerasimova - email: kat@collabora.co.uk - years: [2016] - - name: Philip Withnall - email: philip@tecnocode.co.uk - years: [2015] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "How to manage memory allocation in your app" +license = "CC-BY-SAv4.0" +title = "Programming-guide-memory-management" +weight = 100 +aliases = [ "/old-developer/latest/programming-guide-memory-management.html", "/old-developer/v2019/programming-guide-memory-management.html", "/old-developer/v2020/programming-guide-memory-management.html", "/old-developer/v2021pre/programming-guide-memory-management.html", "/old-developer/v2022dev0/programming-guide-memory-management.html",] +outputs = [ "html", "pdf-in",] ++++ # Memory management diff --git a/content/developer/programming-guide-processes.md b/content/developer/programming-guide-processes.md index 7fa126d578d670ebc2d0ede6a8d4d18a367494fd..1559b0bd62a97597e7d8db37c3a9a0a6fd222e38 100644 --- a/content/developer/programming-guide-processes.md +++ b/content/developer/programming-guide-processes.md @@ -1,16 +1,11 @@ ---- -short-description: "Manage your processes and subprocesses" - -authors: - - name: Ekaterina Gerasimova - email: kat@collabora.co.uk - years: [2016] - - name: Philip Withnall - email: philip@tecnocode.co.uk - years: [2015] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Manage your processes and subprocesses" +license = "CC-BY-SAv4.0" +title = "Programming-guide-processes" +weight = 100 +aliases = [ "/old-developer/latest/programming-guide-processes.html", "/old-developer/v2019/programming-guide-processes.html", "/old-developer/v2020/programming-guide-processes.html", "/old-developer/v2021pre/programming-guide-processes.html", "/old-developer/v2022dev0/programming-guide-processes.html",] +outputs = [ "html", "pdf-in",] ++++ # Processes diff --git a/content/developer/programming-guide-pstore.md b/content/developer/programming-guide-pstore.md index eab006b14e74b75dae29da70281683fefa330eee..26780c0421e6400bd1b20234e75d6acfbe683ccc 100644 --- a/content/developer/programming-guide-pstore.md +++ b/content/developer/programming-guide-pstore.md @@ -1,13 +1,11 @@ ---- -short-description: "Persistent storage: How to use PStore" - -authors: - - name: Frédéric Danis - email: frederic.danis@collabora.com - years: [2019] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Persistent storage: How to use PStore" +license = "CC-BY-SAv4.0" +title = "Programming-guide-pstore" +weight = 100 +aliases = [ "/old-developer/latest/programming-guide-pstore.html", "/old-developer/v2019/programming-guide-pstore.html", "/old-developer/v2020/programming-guide-pstore.html", "/old-developer/v2021pre/programming-guide-pstore.html", "/old-developer/v2022dev0/programming-guide-pstore.html",] +outputs = [ "html", "pdf-in",] ++++ # PStore diff --git a/content/developer/programming-guide-sqlite.md b/content/developer/programming-guide-sqlite.md index 6b5ff04be3cad0156a608b40629b82654c271fad..346a2a24ecf28814180b3fd3d54c2395dc487287 100644 --- a/content/developer/programming-guide-sqlite.md +++ b/content/developer/programming-guide-sqlite.md @@ -1,16 +1,11 @@ ---- -short-description: "Use SQLite for single user or low throughput databases" - -authors: - - name: Ekaterina Gerasimova - email: kat@collabora.co.uk - years: [2016] - - name: Philip Withnall - email: philip@tecnocode.co.uk - years: [2015] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Use SQLite for single user or low throughput databases" +license = "CC-BY-SAv4.0" +title = "Programming-guide-sqlite" +weight = 100 +aliases = [ "/old-developer/latest/programming-guide-sqlite.html", "/old-developer/v2019/programming-guide-sqlite.html", "/old-developer/v2020/programming-guide-sqlite.html", "/old-developer/v2021pre/programming-guide-sqlite.html", "/old-developer/v2022dev0/programming-guide-sqlite.html",] +outputs = [ "html", "pdf-in",] ++++ # Using databases diff --git a/content/developer/programming-guide-tooling.md b/content/developer/programming-guide-tooling.md index 6a0c59d1b351c79029c4e1eaab83a7720660785b..0f912caea991e4db2618dd7d9954c5a31522cbab 100644 --- a/content/developer/programming-guide-tooling.md +++ b/content/developer/programming-guide-tooling.md @@ -1,16 +1,11 @@ ---- -short-description: "Learn about available development tools and how you can use them to write a better app" - -authors: - - name: Ekaterina Gerasimova - email: kat@collabora.co.uk - years: [2016] - - name: Philip Withnall - email: philip@tecnocode.co.uk - years: [2015] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Learn about available development tools and how you can use them to write a better app" +license = "CC-BY-SAv4.0" +title = "Programming-guide-tooling" +weight = 100 +aliases = [ "/old-developer/latest/programming-guide-tooling.html", "/old-developer/v2019/programming-guide-tooling.html", "/old-developer/v2020/programming-guide-tooling.html", "/old-developer/v2021pre/programming-guide-tooling.html", "/old-developer/v2022dev0/programming-guide-tooling.html",] +outputs = [ "html", "pdf-in",] ++++ # Tooling diff --git a/content/developer/programming-guide-tracker.md b/content/developer/programming-guide-tracker.md index 5344a1316471785df27be1b102b9aab234289472..b2ba8d121518cf0337fae92fdf0f74f370adaf52 100644 --- a/content/developer/programming-guide-tracker.md +++ b/content/developer/programming-guide-tracker.md @@ -1,16 +1,11 @@ ---- -short-description: "Use Tracker to index file metadata and search storage devices" - -authors: - - name: Ekaterina Gerasimova - email: kat@collabora.co.uk - years: [2016] - - name: Philip Withnall - email: philip@tecnocode.co.uk - years: [2015] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Use Tracker to index file metadata and search storage devices" +license = "CC-BY-SAv4.0" +title = "Programming-guide-tracker" +weight = 100 +aliases = [ "/old-developer/latest/programming-guide-tracker.html", "/old-developer/v2019/programming-guide-tracker.html", "/old-developer/v2020/programming-guide-tracker.html", "/old-developer/v2021pre/programming-guide-tracker.html", "/old-developer/v2022dev0/programming-guide-tracker.html",] +outputs = [ "html", "pdf-in",] ++++ # Indexing and searching diff --git a/content/developer/programming-guide-unit-testing.md b/content/developer/programming-guide-unit-testing.md index 2269a3e4eb2aaf86388391f5ac22b7f9b979af13..4f1c36c1f7c135391d796505545f29e9b46624fa 100644 --- a/content/developer/programming-guide-unit-testing.md +++ b/content/developer/programming-guide-unit-testing.md @@ -1,16 +1,11 @@ ---- -short-description: "Test your app to ensure quality" - -authors: - - name: Ekaterina Gerasimova - email: kat@collabora.co.uk - years: [2016] - - name: Philip Withnall - email: philip@tecnocode.co.uk - years: [2015] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Test your app to ensure quality" +license = "CC-BY-SAv4.0" +title = "Programming-guide-unit-testing" +weight = 100 +aliases = [ "/old-developer/latest/programming-guide-unit-testing.html", "/old-developer/v2019/programming-guide-unit-testing.html", "/old-developer/v2020/programming-guide-unit-testing.html", "/old-developer/v2021pre/programming-guide-unit-testing.html", "/old-developer/v2022dev0/programming-guide-unit-testing.html",] +outputs = [ "html", "pdf-in",] ++++ # Unit testing diff --git a/content/developer/sdk-techs.md b/content/developer/sdk-techs.md index 5806736a87fe4ee09f83560938d42629bd9b96eb..b2172657f4f32ce99fe70a57ee103c39d3364cb9 100644 --- a/content/developer/sdk-techs.md +++ b/content/developer/sdk-techs.md @@ -1,12 +1,11 @@ ---- -short-description: "Presentation of our software stack" - -authors: - - name: Robert Bosch Car Multimedia GmbH - years: [2015, 2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Presentation of our software stack" +license = "CC-BY-SAv4.0" +title = "Sdk-techs" +weight = 100 +aliases = [ "/old-developer/latest/sdk-techs.html", "/old-developer/v2019/sdk-techs.html", "/old-developer/v2020/sdk-techs.html", "/old-developer/v2021pre/sdk-techs.html", "/old-developer/v2022dev0/sdk-techs.html",] +outputs = [ "html", "pdf-in",] ++++ # Technologies diff --git a/content/developer/sdk-usage.md b/content/developer/sdk-usage.md index 26d24934fa83c9ae9e4552b0a2de84d22261dbee..d1027f54811333e4faa227d4b4c8d8de2cda4d66 100644 --- a/content/developer/sdk-usage.md +++ b/content/developer/sdk-usage.md @@ -1,18 +1,11 @@ ---- -short-description: "Collection of guides for using the SDK" - -authors: - - name: Robert Bosch Car Multimedia GmbH - years: [2015, 2016] - - name: Micah Fedke - email: micah.fedke@collabora.co.uk - years: [2016] - - name: Peter Senna Tschudin - email: peter.senna@collabora.co.uk - years: [2019] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Collection of guides for using the SDK" +license = "CC-BY-SAv4.0" +title = "Sdk-usage" +weight = 100 +aliases = [ "/old-developer/latest/sdk-usage.html", "/old-developer/v2019/sdk-usage.html", "/old-developer/v2020/sdk-usage.html", "/old-developer/v2021pre/sdk-usage.html", "/old-developer/v2022dev0/sdk-usage.html",] +outputs = [ "html", "pdf-in",] ++++ # Using the SDK @@ -20,18 +13,18 @@ license: CC-BY-SAv4.0 Take a moment to familiarize yourself with some of the more commonly used tools in the SDK. These include the file browser, Eclipse, DevHelp and the simulator. All of these tools have shortcut links placed on the desktop. ## File browser - + This icon opens the file manager so you can access the local folders and use the shared folder for exchanging documents between your host system and the virtual machine. You should be able to find your shared folder under **Places** on the left hand side of the file manager window. ## Eclipse IDE - + Eclipse is the IDE used for application development in the SDK. Eclipse includes a custom Apertis plugin for updating the sysroot from within Eclipse. ## Apertis API documentation - + DevHelp is the standard browser for offline API documentation across many Open Source projects. The DevHelp installation in the SDK provides a local, offline version of the all the documentation found in the Application Developer Portal, including the Apertis API references. ---- +``` # Persistent workspace @@ -58,65 +51,65 @@ This involves two different SDK virtual machines: the *old* SDK and the *new* SD Start by adding a second disk to the *old* SDK on VirtualBox. This disk should be big enough to host the contents of /home and /opt: we recommend using more than 40GiB and no less than 20GiB. We suggest using dynamically allocated VDI images so that the unused space does not consume disk space on the host. Open the *Settings* window of the *old* SDK, click on the *Storage* tab, select *Controller SATA*, and click on the icon *Adds hard disk*: - + Choose *Create new disk*: - + Choose *VDI (VirtualBox Disk Image)* and click *Next*: - + Choose *Dynamically allocated* and click *Next*: - + Choose a folder to store the disk, a file name, and the size of the disk. Then click on *create*: - + ## Preparing the persistent disk on the *old* SDK psdk is installed by default on *base SDK* and on *SDK* images since Apertis v2019pre. The psdk package is also available on Apertis package repositories. If you want to install psdk on an older SDK, you can try installing the [Debian package](https://repositories.apertis.org/apertis/pool/sdk/p/psdk/) directly or install from the [source code](https://gitlab.apertis.org/apertis/psdk). At the time of writing psdk required the following packages to be installed: python3, zenity After adding the second disk, start the *old* SDK and click on the psdk icon: Applications -> System -> *Persistent Disk Setup*. - + psdk will open in interactive mode, and will guide you trough the processes of initializing the new disk and configuring the SDK to use it. Do not worry if the Linux device node(/dev/vdb) is different for you. - + psdk will show progress while initializing the disk. - + After psdk is done, it will ask you to reboot the SDK. Click OK, wait for the reboot to complete. - + After the reboot completes **turn off** the *old* SDK. ## VirtualBox: Adding the persistent disk to the *new* SDK Open the *Settings* window of the *new* SDK, click on the *Storage* tab, select *Controller SATA*, and click on the icon *Adds hard disk*: - + Click on *Choose existing disk*: - + The persistent disk will be under the category *Attached*. Select the persistent disk, and click on *Choose*: - + ## Using the persistent disk on the *new* SDK The final step is to call psdk from the *new* SDK. Start the *new* SDK and click on the psdk icon: Applications -> System -> *Persistent Disk Setup*. - + psdk will open in interactive mode, and will guide you trough the processes of configuring the *new* SDK to use the persistent disk. Do not worry if the Linux device node(/dev/vdb) is different for you. - + This will be much faster than initializing the disk. After psdk is done, it will ask you to reboot the SDK. Click OK, and wait for the reboot to complete. - + ---- +``` Congratulations! You now have everything you need to start developing applications for Apertis. ### Next |-| -|  **Start developing your app in the SDK.** [Continue on to application development](app-dev.md) | +|  **Start developing your app in the SDK.** [Continue on to application development](app-dev.md) | diff --git a/content/developer/sysroots-and-devroots.md b/content/developer/sysroots-and-devroots.md index 1ce4c3798cd5eecac3eb7d301c18ced2e1dd0409..f1f9c04d811ba4fc85672eff74a74f89a10d508b 100644 --- a/content/developer/sysroots-and-devroots.md +++ b/content/developer/sysroots-and-devroots.md @@ -1,13 +1,11 @@ ---- -short-description: "Sysroot and devroot: what are they and when to use them" - -authors: - - name: Emanuele Aina - email: emanuele.aina@collabora.com - years: [2019] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Sysroot and devroot: what are they and when to use them" +license = "CC-BY-SAv4.0" +title = "Sysroots-and-devroots" +weight = 100 +aliases = [ "/old-developer/latest/sysroots-and-devroots.html", "/old-developer/v2019/sysroots-and-devroots.html", "/old-developer/v2020/sysroots-and-devroots.html", "/old-developer/v2021pre/sysroots-and-devroots.html", "/old-developer/v2022dev0/sysroots-and-devroots.html",] +outputs = [ "html", "pdf-in",] ++++ # Sysroot and devroots diff --git a/content/developer/telephony-ip.md b/content/developer/telephony-ip.md index 357c70b28279a57dba2ba33bf94825b9a4a48d68..9852c4ce62842b4a49512aa6cf6e3c20ddf8c16b 100644 --- a/content/developer/telephony-ip.md +++ b/content/developer/telephony-ip.md @@ -1,12 +1,11 @@ ---- -short-description: "Online communication services" - -authors: - - name: Robert Bosch Car Multimedia GmbH - years: [2015, 2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Online communication services" +license = "CC-BY-SAv4.0" +title = "Telephony-ip" +weight = 100 +aliases = [ "/old-developer/latest/telephony-ip.html", "/old-developer/v2019/telephony-ip.html", "/old-developer/v2020/telephony-ip.html", "/old-developer/v2021pre/telephony-ip.html", "/old-developer/v2022dev0/telephony-ip.html",] +outputs = [ "html", "pdf-in",] ++++ # VoIP, IM and groupware diff --git a/content/developer/telephony.md b/content/developer/telephony.md index ae502f60029b274ab9e548ca29cc440c9f2721dc..806f5e6660ca4a70317d72938ba70dc0c10351a4 100644 --- a/content/developer/telephony.md +++ b/content/developer/telephony.md @@ -1,12 +1,11 @@ ---- -short-description: "Telephony services" - -authors: - - name: Robert Bosch Car Multimedia GmbH - years: [2015, 2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Telephony services" +license = "CC-BY-SAv4.0" +title = "Telephony" +weight = 100 +aliases = [ "/old-developer/latest/telephony.html", "/old-developer/v2019/telephony.html", "/old-developer/v2020/telephony.html", "/old-developer/v2021pre/telephony.html", "/old-developer/v2022dev0/telephony.html",] +outputs = [ "html", "pdf-in",] ++++ # Telephony diff --git a/content/developer/vm-config.md b/content/developer/vm-config.md index e8c9d88038248382b90cfcb984f9b07aaffddbee..68b74168ae30f3aee52e72b73725b07909574169 100644 --- a/content/developer/vm-config.md +++ b/content/developer/vm-config.md @@ -1,15 +1,11 @@ ---- -short-description: 'Basic customization of the SDK virtual machine' - -authors: - - name: Robert Bosch Car Multimedia GmbH - years: [2015, 2016] - - name: Micah Fedke - email: micah.fedke@collabora.co.uk - years: [2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Basic customization of the SDK virtual machine" +license = "CC-BY-SAv4.0" +title = "Vm-config" +weight = 100 +aliases = [ "/old-developer/latest/vm-config.html", "/old-developer/v2019/vm-config.html", "/old-developer/v2020/vm-config.html", "/old-developer/v2021pre/vm-config.html", "/old-developer/v2022dev0/vm-config.html",] +outputs = [ "html", "pdf-in",] ++++ # Configuring the virtual machine @@ -21,19 +17,19 @@ Once the SDK is installed, you might need to modify your keyboard layout for the * In the dialog box, select the tab **Layout**, uncheck **Use system defaults** and click **Edit** under Keyboard layout. Select your required keyboard layout from the list, click **OK** and close the window. You do not need to select a Keyboard model. -  +  ## Adjusting virtual machine window size Once the guest additions are installed, the window size can be changed. Select the option **Adjust Window Size**. Then resize the window to make it appear as a normal working size. - + ## Put the virtual machine in Fullscreen mode You can switch the display of the SDK to fullscreen mode by selecting **View** in the VirtualBox menu and choosing **Switch to Fullscreen**. - + You can still access the most important options of VirtualBox in the menu that appears at the bottom of the screen when you get close to it with your cursor. @@ -45,4 +41,4 @@ You can still access the most important options of VirtualBox in the menu that a ### Next |-| -|  **Let's get started using the SDK.** [Continue on to using the SDK](sdk-usage.md) | +|  **Let's get started using the SDK.** [Continue on to using the SDK](sdk-usage.md) | diff --git a/content/developer/vm-management.md b/content/developer/vm-management.md index ed9c1fab1e426be7e5c2f06e632008d0098f39fb..8a6d2b696824ba8de47ba04250fb29e16262edee 100644 --- a/content/developer/vm-management.md +++ b/content/developer/vm-management.md @@ -1,15 +1,11 @@ ---- -short-description: "Basic VirtualBox tips for developers not familiar with that technology" - -authors: - - name: Robert Bosch Car Multimedia GmbH - years: [2015, 2016] - - name: Micah Fedke - email: micah.fedke@collabora.co.uk - years: [2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Basic VirtualBox tips for developers not familiar with that technology" +license = "CC-BY-SAv4.0" +title = "Vm-management" +weight = 100 +aliases = [ "/old-developer/latest/vm-management.html", "/old-developer/v2019/vm-management.html", "/old-developer/v2020/vm-management.html", "/old-developer/v2021pre/vm-management.html", "/old-developer/v2022dev0/vm-management.html",] +outputs = [ "html", "pdf-in",] ++++ # Managing the virtual machine @@ -17,17 +13,17 @@ license: CC-BY-SAv4.0 If you want to shut the virtual machine down, you can use the icon in the top right corner of the screen. If you want to restart it, go to **Applications Menu** and click **Log Out**: - + In the dialog box, you can choose if you want to log out, restart the virtual machine, or shut it down. - + ## Uninstall the virtual machine To uninstall the virtual machine, open VirtualBox and right click the machine you want to remove. Chose **Remove** from the menu. - + In the following dialog you can decide if you want to remove the virtual machine from VirtualBox or if you want to delete the files containing the virtual machine from your hard drive as well. This will remove the hard drive of the virtual machine and all files saved there. Please make sure to make backups of the files you still need before deleting all files. **Remove only** will just delete the virtual machine from VirtualBox but leave the files containing the virtual machine intact. diff --git a/content/developer/vm-netboot-server.md b/content/developer/vm-netboot-server.md index 482cc6a3fc383fffdf7f2f1cae31ff38aaeadb59..dbe9fbf605203fe8bb1e9a8d51c849f8c84e55a7 100644 --- a/content/developer/vm-netboot-server.md +++ b/content/developer/vm-netboot-server.md @@ -1,13 +1,11 @@ ---- -short-description: 'Use the SDK virtual machine for network management and boot' - -authors: - - name: Denis Pynkin - email: denis.pynkin@collabora.com - years: [2019] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Use the SDK virtual machine for network management and boot" +license = "CC-BY-SAv4.0" +title = "Vm-netboot-server" +weight = 100 +aliases = [ "/old-developer/latest/vm-netboot-server.html", "/old-developer/v2019/vm-netboot-server.html", "/old-developer/v2020/vm-netboot-server.html", "/old-developer/v2021pre/vm-netboot-server.html", "/old-developer/v2022dev0/vm-netboot-server.html",] +outputs = [ "html", "pdf-in",] ++++ # Setup SDK VM as network management server @@ -33,10 +31,10 @@ For the board network setup, boot and IPAM management we need to provide service * To avoid any influence from the host and isolate the network connection between the host and development board please attach the USB Network Adapter as USB device -- this allows Apertis SDK to manage the dedicated network: - + * The USB Network Adapter is attached as USB device into SDK VM and connected to development board: - + * Check the network interfaces after the SDK VM boot: diff --git a/content/developer/vm-setup.md b/content/developer/vm-setup.md index f0b027ab51f97f339806318ee9e667836a0ff382..2101c24cc1bc6bc064fa579bd965ca53900ee856 100644 --- a/content/developer/vm-setup.md +++ b/content/developer/vm-setup.md @@ -1,15 +1,11 @@ ---- -short-description: 'Get the SDK virtual machine up and running' - -authors: - - name: Robert Bosch Car Multimedia GmbH - years: [2015, 2016] - - name: Micah Fedke - email: micah.fedke@collabora.co.uk - years: [2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Get the SDK virtual machine up and running" +license = "CC-BY-SAv4.0" +title = "Vm-setup" +weight = 100 +aliases = [ "/old-developer/latest/vm-setup.html", "/old-developer/v2019/vm-setup.html", "/old-developer/v2020/vm-setup.html", "/old-developer/v2021pre/vm-setup.html", "/old-developer/v2022dev0/vm-setup.html",] +outputs = [ "html", "pdf-in",] ++++ # Setting up the virtual machine @@ -32,35 +28,35 @@ Oracle VM VirtualBox is used to run the SDK. If you have not yet installed the c * Start the VirtualBox application (Oracle VM VirtualBox in the Start menu). -  +  * Go to `Machine ▸ New` or click the **New** Icon. This launches the **Create New Virtual Machine** screen. If you would like additional information about creating a new virtual machine you can find it in the [VirtualBox manual](https://www.virtualbox.org/manual/ch01.html#gui-createvm) * Enter a name and select **Type: Linux**, **Version: Ubuntu (64 bit)** from the menu. -  +  * Select the RAM size. Change the values manually according to your requirements. Assign at least 50% RAM for the virtual machine if your total RAM is more than 2 GB. -  +  > Not enough RAM might cause problems while you use the SDK (the simulator might be too slow, Eclipse might crash). * Select **Use an existing virtual hard drive file** and browse to the location of your unzipped file. -  +  * Click **Create** to create the virtual machine. * If using an apertis AMD image select **Enable EFI** - by selecting your virtual machine and clicking **Settings**. Select **System-> Motherboard**. If *not* using AMD image this setting is not needed -  +  -  +  * If you want to start your virtual machine from the desktop without having to open the VirtualBox every time, you can create a desktop icon. Right-click the entry of your virtual machine on the left and choose **Create Shortcut on Desktop** from the menu. -  +  ## Start the virtual machine for the first time @@ -74,7 +70,7 @@ Find more information on the mouse and keyboard settings [here](https://www.virt If you need to configure a network proxy to establish an internet connection, you can make the necessary configuration by clicking **ApplicationsSettingsNetwork proxy** and following the instructions given in the terminal window. - + The dialog will ask you for the following information: @@ -95,9 +91,9 @@ It is necessary to install guest additions corresponding to the virtual box vers Start the SDK and go to `Devices ▸ Insert Guest Additions CD Image…` on the VirtualBox menu bar. A virtual device will appear in the file orer. - + - + The CD image should be shown on the desktop. Now, follow the below instructions: @@ -107,7 +103,7 @@ Open a terminal by rightlick->open terminal in the guest additions folder Run the command - sudo ./VBoxLinuxAdditions.run ``` - + Once the Guest Additions are installed successfully (the process might take a few minutes), restart the virtual machine, see [here](vm-management.md) if you need help with that. @@ -115,9 +111,9 @@ Once the Guest Additions are installed successfully (the process might take a fe Go to **Settings** and click **Shared Folders** and select **Add Shared Folders** (use the icon on the left hand side). Browse to the path you created your share folder in (e.g. `C:\SHARE`). Click **OK** and close the Settings window. The VirtualBox VM Settings can only be edited when the VM is closed. So please close all VMs if any should be running, before setting up a shared folder. - + - + Once you start the virtual machine, go to **ApplicationsTerminal Emulator** and run this command in the terminal: @@ -136,4 +132,4 @@ This command will mount the share folder to the current `/mnt`. ### Next |-| -|  **Ensure that the virtual machine is properly configured.** [Continue on to configuring the virtual machine](vm-config.md) | +|  **Ensure that the virtual machine is properly configured.** [Continue on to configuring the virtual machine](vm-config.md) | diff --git a/content/developer/widget-catalog.md b/content/developer/widget-catalog.md index 9cff9db82b78bb3574a75439c9f35b3f055d2517..ea8262d023aa27f3786654b571b55a5bd833b2be 100644 --- a/content/developer/widget-catalog.md +++ b/content/developer/widget-catalog.md @@ -1,13 +1,11 @@ ---- -short-description: "Widget catalog" - -authors: - - name: Gustavo Noronha Silva - email: gustavo.noronha@collabora.co.uk - years: [2016] - -license: CC-BY-SAv4.0 ---- ++++ +short-description = "Widget catalog" +license = "CC-BY-SAv4.0" +title = "Widget-catalog" +weight = 100 +aliases = [ "/old-developer/latest/widget-catalog.html", "/old-developer/v2019/widget-catalog.html", "/old-developer/v2020/widget-catalog.html", "/old-developer/v2021pre/widget-catalog.html", "/old-developer/v2022dev0/widget-catalog.html",] +outputs = [ "html", "pdf-in",] ++++ # Widget catalog