Overview

This page discusses:

What is Mashup Builder?

NETVIBES Mashup Builder allows you to build applications on top of Exalead CloudView indices. In context, customers expect all their applications to be available in a seamless user experience inside the 3DDashboard. Exalead CloudView Mashup Builder allows you to create Apps that can run inside a 3DDashboard using plugins.

The Mashup Application needs to be configured so that it can run properly inside a 3DDashboard and leverage components from the 3DEXPERIENCE platform. When deploying the Application, you must use the Mashup Builder user interface (to upload plugins and configure SSO security) and 3DEXPERIENCE environment (to setup reverse proxy or register Apps).

How do Exalead CloudView and 3DDashboard communicate?

The diagram below shows how 3DEXPERIENCE components (in dark blue) and Exalead CloudView components (in light blue) communicate:



The main Exalead CloudView components include:

  • Connectors such as ENOVIA Connector for crawling data sources and get data that will be stored into the index;
  • Indices, which are optimized data structures to ensure fast access to indexed data and provide advanced search and aggregation capabilities;
  • Search server web service that allows querying indices to retrieve data, create aggregates (facets, groups…) and compute analytics. This service is accessed via the low level Search API and the high level Access API. The Access API provides additional features on top of the Search API including security and multi-query orchestration;
  • Web app server that serves JSP-based web applications. These Apps are created using the Mashup Builder IDE.

What can I do with my Mashup App?

The diagram below shows a sample Mashup application running in 3DDashboard:



You can:

  1. Start the Mashup Application from the Compass (available in MyApps catalog)
  2. Authenticate to the Mashup Application using the Single Sign On mechanism provided by 3DPassport
  3. Search the Mashup Application from the 3DSearch field when using the 'Search In This Tab' mode
  4. Filter the Mashup Application content with 6WTags
  5. Adapt the look, feel and behavior of the Mashup Application to match your 3DEXPERIENCE interface

Components

The following Mashup Builder components are provided to run Mashup Apps in the 3DDashboard:

Component Description
3DEXPERIENCE - Widget Builder Mashup controller (web service) that gives access to a Mashup page as a UWA widget. This widget can be registered into MyApps as any Third Party App or added to a packaging definition to make it a trusted widget.
3DEXPERIENCE - Search and Refine

Mashup widget (HTML/Javascript page fragment) that defines the behavior of the Mashup Application when:

  • a search is performed from the 3DSearch TopBar search field (in 'Search In This Tab' mode)
  • a facet must be registered into the 6WTags
  • a refinement event is received from the 6WTags.

CAS Security Provider Mashup Security Provider for authenticating a user using 3DPassport SSO
3DEXPERIENCE - Detect Context Mashup trigger (server side Java code executed before page rendering) that enables the definition of specific Mashup App behaviors when run inside a 3DDashboard context
3DEXPERIENCE - Show / Hide widget Mashup triggers that allow to customize the Mashup App by either showing or hiding widgets when in 3DDashboard context
experience:is3DXP MEL (Mashup Expression Language) function that does the same thing as the Show / Hide widget triggers, but anywhere in the Mashup where MEL functions can be used

Security

Security controls rely on Exalead CloudView infrastructure (Security Providers for authorization on the Mashup side and Security Source on the search server side for authorization). When integrated into the 3DPassport / CAS single sign on mechanism, the app will delegate authentication checks to the 3DPassport server. Regarding data access security, the solution depends on Exalead CloudView ability to handle the associated security (such as LDAP, Active Directory or ENOVIA security).

Limitations

Facets

Facets are published to the 6WTags only when a Mashup page is loaded. It means that if the facets available in the Mashup page change without reloading the page, the 6WTags will not be updated accordingly. This limitation impacts the Mashup Apps in which widgets and associated feeds are refreshed/executed using asynchronous queries (ie. AJAX).

6W Vocabulary

The Mashup App doesn't communicate or use the 6W vocabulary services from the 3DEXPERIENCE platform. As a result, even if the Mashup App is configured to export its facets to the 6WTags, it doesn't mean that all facets shown inside the Mashup App pages will be displayed with the same name (especially localization-wise) as in the 6WTags.