Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel2
outlinefalse
typelist
printablefalse

Legal Notes

Copyright 2022 by TECHNIA AB

All rights reserved.

PROPRIETARY RIGHTS NOTICE

This documentation is proprietary property of TECHNIA AB. In accordance with the terms and conditions of the Software License Agreement between the Customer and TECHNIA AB, the Customer is allowed to print as many copies as necessary of documentation copyrighted by TECHNIA relating to the software being used. This documentation shall be treated as confidential information and should be used only by employees or contractors with the Customer in accordance with the Agreement.

Preface

Widget as a Service (WaaS) is a configurable widget framework for the 3DEXPERIENCE platform and is a cost efficient solution to raise productivity and user acceptance.

WaaS allows configuration of tailored 3DDASHBOARD widgets presenting data from standard OOTB services in any preferred way making users more efficient and happy using the platform. The framework contains many different building blocks, such as tables and forms, that could be configured individually into simple or together into more complex apps, all integrating well with OOTB functionality such as 6WSearch.

The widget framework and definition is hosted on TECHNIA.cloud. Access controlled by subscription and token it can be added to any 3DEXPERIENCE environment, including cloud tenants. The widget is added by pasting a link into the administration dialog “Create Additional App“. The dialog allows adding widgets without any customization to the target environment just by adding the metadata of the whereabouts of the widget that is kept fully outside.

Widget as a Service consume all 3DEXPERIENCE data locally, between the 3DEXPERIENCE platform and the client browser. No 3DEXPERIENCE data, except user information for usage audit purposes (see agreement for details), is passed elsewhere or to the TECHNIA.cloud.

Supported Platforms

3DEXPERIENCE 2019x or higher

Subscription & Access

All widget configurations are controlled by an access token tied to a subscription. Subscriptions have an end date and a user count. As the subscription runs out the widget is no longer accessible.

Info

To control usage the logged in user name is passed each time a widget definition is loaded from TECNNIA.cloud

. This also applies to trial use

. Fore more detail on the data stored see the privacy policy & data processing agreement.

Note

To avoid unauthorized use of your subscription keep your access token a secret and renew it with a cadence.

Hosting

All widget definitions are hosted on TECHNIA.cloud (currently on AWS). For more detail please refer to the agreement.

Tip

No on-premise installation is required. The full widget is hosted and ready to link to any 3DEXPERIENCE platform.

The following resources are hosted on TECHNIA.cloud

  • Widget Framework (.html, .css, .js)

  • Widget Definition

    • Configuration (e.g. columns, datasets etc .json)

    • Code (e.g. custom rendering, data calculations etc .js)

Setup (Adding a widget in 3DEXPERIENCE)

Adding widgets is standard functionality part of the 3DEXPERIENCE platform. To access the command you need to be logged in with an administration user with the access to “Platform Management”. Once in “Platform management” navigate to the “Members” tab and scroll down to “Additional Apps” and you will fins the “Create Additional App” command.

A dialog will appear and you should enter

Short Name: The app label as displayed to users in the compass

Type: Select “Widget”

Source code URL: Enter the widget framework host URL & access key (shared with your subscription) followed by the name of the widget you like to add.

Info

As you press Create the widget should be made available under the Compass within seconds.

Updates

Lock version? Evergreen?

Widget Definition & Administration

Customers or customer representatives (consultants) sometimes control widget definitions themselves (depending on the agreement). Widget definition is currently managed over https://curl.se/ using basic authentication (you can use git bash or similar terminal).

Note

Note that all modification to definitions is immediately reflected. Widget lifecycle management is not currently in place and it is recommended to use other specific widgets for dev and test purposes before updating the production definition.

Info

As we currently do not version control definitions, it is recommended to source control your definitions elsewhere.

Tip

To simplify administration and improve security further an admin UI with MFA is planned for later.

List Configurations

The following cURL will list the id and name of all configurations related to the admin user.

Code Block
export SERVER=https://waas.technia.cloud
export USER=
export PASSWORD=
curl ${SERVER}/api/v1/configs -u "${USER}:${PASSWORD}" -k 

Parameter Detail

Parameter

Description

USER

An administration user with the proper access.

PASSWORD

The password of the administration user.

Create a Configuration

The following cURL template will create a new widget definition.

Note

Make sure that you are using a unique name without special characters or spaces.

Code Block
export SERVER=https://waas.technia.cloud
export CONFIG_NAME=
export CONFIG_FILE=
export USER=
export PASSWORD=
export CONTENT_TYPE='Content-Type: multipart/form-data'
curl -XPOST ${SERVER}/api/v1/configs -H "${CONTENT_TYPE}" -F "name=${CONFIG_NAME}" -F "config=@${CONFIG_FILE}" -u "${USER}:${PASSWORD}" -k 

Parameter detail

Parameter

Description

CONFIG_NAME

A unique string representation of the configuration. Used when referring the widget from the “Create additional app” dialog.

CONFIG_FILE

The configuration file holding the definition.

USER

An administration user with the proper access.

PASSWORD

The password of the administration user.

Update a Configuration

The following cURL template will update the widget definition and/or its name (used referring from 3DX).

Note

Make sure that you are using a unique name without special characters or spaces.

Code Block
export SERVER=https://waas.technia.cloud
export CONFIG_ID=
export CONFIG_NAME=
export CONFIG_FILE=
export USER=
export PASSWORD=
export CONTENT_TYPE='Content-Type: multipart/form-data'
curl -XPUT ${SERVER}/api/v1/configs/${CONFIG_ID} -H "${CONTENT_TYPE}" -F "name=${CONFIG_NAME}" -F "config=@${CONFIG_FILE}" -u "${USER}:${PASSWORD}" -k 

Parameter detail

Parameter

Description

CONFIG_ID

A numeric identifier of the configuration. Can be found calling list configurations.

CONFIG_NAME

A unique string representation of the configuration. Could be changed, used when referring the widget from the “Create additional app” dialog.

CONFIG_FILE

The configuration file holding the new definition.

USER

An administration user with the proper access.

PASSWORD

The password of the administration user.

Create / Update a Code resource

To add a custom js resource to use in configurations (e.g. custom dataHandlers) you can push a js file to the server using the following cURL.

Code Block
export SERVER=https://waas.technia.cloud
export COMPANY_ID=
export FILE=
export USER=
export PASSWORD=
export CONTENT_TYPE='Content-Type: multipart/form-data'
curl -XPOST ${SERVER}/api/v1/companies/${COMPANY_ID}/resources -H "${CONTENT_TYPE}" -F "file=@${FILE}" -u "${USER}:${PASSWORD}" -k 

Parameter detail

Parameter

Description

COMPANY_ID

A numeric identifier of your company. Where to get this?

FILE

The js file holding the new resource definition.

USER

An administration user with the proper access.

PASSWORD

The password of the administration user.

Components

Technical concept

Configuration