Skip to content

Appstore

David Nestle edited this page Feb 24, 2020 · 1 revision

Access Appstore and Install Apps on Gateway

  • Log into your OGEMA instance or your OGEMA gateway that has the Appstore App installed and open the Appstore:
    Appstore_Icon.png
  • If you do not have an OGEMA Gateway with Appstore access at hand you can also log into the demo Gateway on
    https://quattro.iwes.fraunhofer.de:6509/ogema/index.html
  • You can now see all Apps that are available for your gateway. You can use the dropdown menu above the app tiles to filter the applications shown.
    Appstore-Startscreen.png
  • If you click on an Application tile you get more detailed information on the application. From the details page you can also reach the properties page that displays all details of the application.
  • On the Detail page you can install the app to your gateway (if the app is available for direct installation). If the app is already installed you can start, stop, update or uninstall the app.

Publish your own application in the Appstore

  • Log into the OGEMA Alliance Appstore on (https://quattro.iwes.fraunhofer.de:6504/smartrplace/appstore/index.html )
    If you have not yet received access data, ask the OGEMA Contact point to create an account for you. If you want to set up apps you should ask to be registered as developer right away. You can find the OGEMA Contact point on the following Website ( http://www.ogema.org/contact/ )
  • When you now log into the appstore main page as developer you should see a button "add App" below the app tiles. Clicking this button you can add you application to the Appstore.
  • In the new template enter the details of your app first. Note that you have to save the app (with the "Save" button at the bottom of the page) first before you can upload any files. You have to press save to make changes effective in most cases (except for the multiselect entries that are usually saved with separate buttons).
  • Do not forget to click on "Save" at the bottom of the page when you are done, you can also save sometimes in between and go back clicking the "edit" button. If you have not published your app yet the app is not shown normally on the main page. If you select "my apps" in the dropdown, the app will be shown and accessible even when it is not published yet.
    You can also get back to your unpublished app by clicking "add app" as long as it is not published yet. So you can only have one unpublished app at a time.
  • To add a link to a more detailed documentation of your new App, click on "Add Link" first, then enter the text and the URL of this link and select the link type.
  • To upload the jar-file you developed with the OGEMA SDK go to the Edit App view of the App and select the file to upload in the row "Upload files". You can select a file with drag&drop moving the file from the explorer to the field "Keine Datei ausgewählt". Then click on "Upload file & Save". Follow the instructions in the box shown.
  • Note that the jar-file uploaded needs to have a higher version in its POM.xml than any version previously submitted to the store. This does not concern jar-files that were only uploaded to check permissions and that were not committed (see the following tutorial for a detailed description of these two steps).
    Also note that the MAVEN coordinates (group id and artifact id) cannot be changed once the first jar file has been uploaded. If you would require to change these you have to start a new app. Also no app can take over the MAVEN coordinates of any other app in the store, also not you own apps. So if you want to offer one of your apps as a new app you have to change the MAVEN coordinates.
  • After uploading a jar it is checked regarding the permissions declared. You will only be able to publish apps that are limited to standard OGEMA permissions and resource permissions that are not critical (meaning not using wildcards). If you want to publish an app with higher permissions you have to contact the OGEMA Contact Point for clearance / certificaction of your application first. The permission status is shown after uploading the jar.
    The total criticality status of the app is shown in the line above the red or green symbol indicating whether the app can be published without certification of the OGEMA contact point. This should be the lowest number of all criticality stati of the permissions listed below the symbol. The criticality status of each permission is the number given before the respective permission. So if you get a red symbol check the permissions  with the lowest ciriticality status whether it can be deleted or replaced by another permission that is less critical.
  • To actually submit your jar into the appstore repository you will see an additional button "Submit update files" after uploading the jar. After performing this action your app is available in the appstore as beta version to be deployed on your beta tester gateways. After this submission a new beta version is available to beta users (see below), but the app is NOT publicly available yet.
  • To make the app accessible even to beta users you have to publish at least one version. You have to click "Release beta" for this (see below). At this time the app will start to appear in the app overview of the appstore.
  • Ask your beta testers to provide their gateway ids shown in the appstore app on the gateway in the page "Configure updates". You can enter these gateway ids in the multiselect "Beta Users". To do this enter the respective gateway id into the edit field right to the button "Submit/Add value", then press the button (you may have to click somewhere outside the edit field to move the focus from the edit field before clicking the button). Afterwards the new entry should appear in the Multiselect above the edit fields or you might have to reload. If it does not appear in the multiselect, try again.
  • Your beta testers also have to add your App in the "Configure updates" page to the apps they want to use as beta ("Accept Beta Testing for the following apps"). They have to select your App from the dropdown and press "Submit/Add Value". Only if both developer and gateway administrator have accepted beta status the beta version will be offered to the gateway. The beta testers can download your beta version afterwards.
    Beta versions can be offered in the appstore even if the permissions are critical. This will give the OGEMA Contact Point the possibility to test the app as part of the certification process.
  • If the app has uncritical permissions or is certified it can be published using the button "Release Beta". The button "Reject Beta" can be used to mark the beta version as deprecated e.g. if beta testing has shown that the new version requires additional work before general publication in the appstore.
  • You can also upload an icon for your application here.
    Note that png icons are recommended in a size of 48 x 48 pixels.
  • You can also upload a jar file directly from the OGEMA SDK in Eclipse. You have to add a file with path src\main\resources\OSGI-INF\ogema.appid inside the project (sitting next to the permissions.perm file). The file must contain only the AppId shown in the properties page of the app in the first row. Adapt the version in the POM.xml (as you would do with upload via Appstore interface), then open the context menu for the project, select OGEMA->Upload to Marketplace. You have to enter your username and passwort for your appstore account, then upload the file. You can now open the App Edit page in the appstore and go checking permission and submitting the app to the actual store repository.

Extended features

Most of the other features of the appstore can be used intuitively. Some more hints, though:

Access to source code and internal information

  • If the source code of the app is publicly available (e.g. on Github) it is recommended to provide a link to the source code (there is a link category for this). To discuss: How to provide config.xml-signature for these apps?
  • If the source code is not publicly available you can provide the Git repository location and the config.xml-signature in internal fields. In this way the developers of your company, organization and/or developers within the OGEMA Alliance can access this information.
  • Further internal information can be provided in a separate text field.

Control visibility of apps on gateways and possibility to install

  • Change access mode of the application in the page where you edit app settings. Access modes "Can be bought/installed directly" and "For installation from store after agreement/clearance by manufacturer" both allow gateways to install apps they are able to see - these two options are just differentiated to allow the developer to give more information to the users. The modes " will be installable from store soon" and "Product can be obtained from manufacturer, cannot be installed directly" both mean that the app cannot be installed directly from the store. Also here the two options are just provided to allow the developer to pass on more information to the users.
  • The actual control of ap visibility on certain gateways is controlled via the Multiselect "Visible To Gateways". Note that all apps that are initialized with an initial "Release Beta" are visible in the Web Viewer of the Appstore.
    If the multiselect is empty, all gateways may view the app.
  • A detailed control which apps may install the app is possible via the multiselect "Std Version installable by Gateways". If the access mode does not allow installation this field is not relevant, but entries are stored until the accessMode might be changed. Also here an empty multiselect means all gateways can install the app. If the app is not visible to a gateway it cannot be installed, so if both multiselects contain entries then gateways given for installation should also be contained in "visible" (this specification may be subject to change in the future).
  • Changes are stored here persistently directly when clicking the respective button "Submit/Add value".

Contact

If you have trouble get in touch with the OGEMA Contact point or Smartrplace regarding technical issues.

Clone this wiki locally