Development platform features

Overview


The XR4ALL development platform gives access to a private area where the developers will find all the necessary tools to manage their project from the specification up to the delivery. It also gives access to a public area where developers will have the opportunity to expose their developments to the XR community thanks to an XR solution catalog, and to receive backup from users thanks to a forum.

Private area


The access to each site will be controlled by a unique Identity Manager with a personal account. Once the XR4ALL supported project is created, the related users will be granted the required permissions to access all the public and their private areas.
Project management tools are meant to plan development of features, releases, and manage issues, while keeping everyone synchronized. Pieces of source code might be organized in multiple projects, or even grouped.

Source code management


XR4ALL solutions will have their dedicated and private area to develop a XR components or applications. This is private, and confidentiality is guaranteed to avoid any source code or binaries leakage. Source code will be stored in a GIT Source Configuration Management Tool (SCMT) repository, to keep track of modification and permit Continuous Integration systems.

Issue Tracker

An issue tracking base will ease project management and releases planning, by associating code modifications with the issues reported by users. The issues might be related to a bug, an incomplete functionality, or an enhancement.
As public users do not have access to the private area, they will use the dedicated forum in the XR solutions portal to discuss their requests towards the Developers.

Releases


Private Releases


Source code will be built with the continuous integration tool provided in the XR4ALL development platform.
After a successful pass over pre-defined tests and integration into a formatted asset, the asset will be stored in the assets store (might it be a binary or an archive of elements). These assets will be private to the XR4ALL solution team.
If needed, 2 versions can be produced: a public one with limited features, which will be available with free access, and a private one fully featured.
If the XR solution is available in the catalog of the XR solutions portal in a restricted version without all functionalities, and is not present on an existing marketplace, the Public User will have to contact the Solution Developers to buy the full version. As a reminder, the XR solutions portal is not responsible for purchase transactions.

Public Releases


A release candidate will be promoted as a public release and its asset be stored in the XR solutions Catalog. These assets will be downloadable by authenticated users, so users can test and use the proposed solution.

XR4ALL solution homepage


A dedicated homepage for the solution will be exposed to public users with extended information such as: User documentation, API …
This homepage is hosted by the platform and will be automatically generated from the XR4ALL development platform.

Solution Documentation


Every project should be able to provide documentation in a mark-up language (i.e. AssciiDoctor) to create the XR4ALL solution homepage, which will be published together with the solution on the catalog of the XR solutions portal.
Documentation can contain all the aspects that might help End Users, or XR Developers using the XR solution , such as architecture description, starting guide, usage documentation, API description, etc.
The purpose of these homepages is to provide users with information about:
• Detailed description of the component/application.
• Usage description for XR Developers, and target end users.
• Description of the PAI.
• Examples of its integration with a component and/or use cases for an application.
Templates for generating such documentation will be found in the development support sample codes.

Dedicated Sub-Forum


A dedicated sub-forum will permit communication between public users and XR solution developers to discuss uses they may make, enhancements or features they might require, or issues they might encounter. Fixing the recommended topics (enhancements, requested features) will allow the publication of release notes, and issues noticed by users might lead the developer to create and make available a new release.
Developpers will be in charge of topic moderation.

Continuous Integration and Automation


Testing and integration


To help solutions to reach a high TRL, the process of testing the code shall become essential. Thus, templates for generating tests shall be found in the development support sample codes.
Testing SDKs is up to the XRALL solution developers as long as these SDKs can provide a XUnit compatible output format to feed the Continuous Itegration (CI).
The testing environment will be shared by the solutions; execution will happen in a dockerized environment that will allow for a great flexibility.
3.8.2 Automation
In order to reduce the effort needed to maintain the solution, the processes related to project publication and communication will be automated as much as possible, with tasks such as:

  • documentation updates pushed on the XR solutions portal
  • solution description updated on the XR solutions portal
  • assets generation in the private assets and public assets release to the public repository.