The Powered By GoodData program helps software vendors, SaaS providers, media agencies, and consultancies deliver the best analytics experience to their customers as an embedded solution or standalone, branded portal.
Built on the GoodData platform, a complete Business Intelligence stack, custom-built applications inherit the leading-edge visualization features, performance characteristics, and continuous innovation of the best-in-class GoodData Platform.
This article outlines the essential steps of deploying a finished GoodData project across multiple projects for customer use. Each step of this process is also a part of the Powered By GoodData implementation, including:
- building and executing project, user, and ETL provisioning
- creation and application of Data Permissions
The Powered By GoodData implementation process is considered developer-level work and requires access to and comfort with the GoodData REST APIs. Before you begin, please be sure to review the Powered By GoodData Pre-Requisites below.
Before you begin, you should complete at least one tutorial on one of the example projects that are available through the Developer Portal.
The Twitter Search API example project is used in the Getting Started tutorial, which you should have already completed. During this tutorial, you acquire or complete the following pre-requisites:
- Download and install CloudConnect Designer
- Acquire a project authorization token
- Download the Twitter Search API example project and import into CloudConnect Designer
- Complete the tutorial
For more information, see GoodData CloudConnect Tutorial.
For other example projects, see CloudConnect Example Projects.
Powered By GoodData Pre-Requisites
The following pre-requisites apply to this tutorial and the Powered By GoodData implementation process in general.
Service Engagement with GoodData
You cannot complete an Powered By GoodData solution without involvement with GoodData and requires the creation of a project template.
The project templates are deprecated and will stop working on May 15, 2019. Consider using Life Cycle Management instead (see Managing Projects via Life Cycle Management).
GoodData Domain and a Domain Admin Account
Before you begin implementing Powered By GoodData solutions, you must create a GoodData Domain and acquire the administrator credentials for the domain.
In GoodData, a domain contains all of the projects, ETL processes, user definitions, and project data associated with a GoodData customer. At the technical level, it is a partition in the GoodData customer database.
For more information, see Your GoodData Domain.
One GoodData domain is provided to each Powered By GoodData customer. For more information, contact GoodData Account Management.
Before you are permitted to create a project template, your entire project must validate.
For more information, see Validate a Project.
In Powered By GoodData implementation projects, you begin by creating a single project, in which you build all of the technical and reporting components. When this project is completed and tested, you are ready to execute the steps required to make it available as individual projects to multiple user communities.
The overall Powered By GoodData implementation process includes significantly more than the steps listed here. Before you begin any large-scale implementation, you should review the recommended approach and sequencing for all stages of the process, which include discover, design, implementation, execution, and roll out. For more information, see the Powered By GoodData Implementation Guide.
The following are the basic flavors of Powered By GoodData solutions:
- Basic Analytics: Multiple sets of customer users access a single, read-only project, in which data filters limit access to the customer’s data. Basic Analytics projects are useful for enabling a new reporting feature in your web application, where you control all of the data.
- Premium Analytics Each customer accesses a separate project, which has been provisioned specifically for the customer. Customers may or may not be permitted to modify the reporting objects in the published project.
This tutorial focuses on creating a Premium Analytics implementation, in which individual projects are provisioned for individual customers.
- The steps for the Basic Analytics implementation are a subset of those required for Premium Analytics.
Powered By GoodData Provisioning Steps
This tutorial describes the following basic steps, listed in the order required to complete your Powered By GoodData provisioning.
- Complete Pre-Requisites - You must have a GoodData domain, access to the domain owner account, and Super Admin permissions in the project you wish to publish. See Powered By GoodData Pre-Requisites.
Create Project Template - After you have finalized the project you wish to provide to your customers, you may create the project template, from which your new customer projects can be created.
Creating a project template requires GoodData involvement.
- Build Project Provisioning - Build the mechanisms to use the GoodData APIs to create new projects, which use your project template as the basis for the project.
- Build ETL Provisioning - Build the mechanisms to use the GoodData APIs to provision the ETL processes in your CloudConnect project to your customer projects.
- Build User Provisioning - Build the mechanisms to use the GoodData APIs to add new users to your customer projects.
- Execute Project Provisioning - When the provisioning mechanisms are built and tested, you can execute the your project provisioning process to create the new customer projects.
- Execute ETL Provisioning - After the projects are created and verified, you can execute your ETL provisioning to deploy ETL processes to these new projects.
- Execute and Schedule ETL - Within the new projects, you should execute the ETL and then schedule the ETL to execute for regular updates.
- Execute User Provisioning - After the new projects have been provisioned and ETL processes are providing data, you can add users to the projects. Users should not be informed that the projects are ready until any required Data Permissions are in place.
- Add Data Permissions - In GoodData, a Data Permissions filter is a data access filter applied to individual based on the value of an attribute in the data model. You can use them to filter based on user ID, region, or other field value. If your projects require Data Permissions filters, separate ones must be created and applied in each project.
- Apply Data Permissions - Apply the Data Permissions filters to one or more users in each project.
- Next Steps - Inform the users that their projects are ready.
Powered By GoodData Tasks Not Covered
Depending on your Powered By GoodData implementation, you may be required to implement the following features into the project. These items are not covered in this tutorial:
- White Labeling
The GoodData white labeling program is a premium offering for Powered By GoodData solutions. As needed, you can replace the GoodData branding displayed in your projects with branding from your enterprise. For more information, see White Labeling.
- Single Sign On
The GoodData platform supports multiple methods of managing Single Sign On, so your users do not need to re-authenticate into the GoodData platform. For more information, see Single Sign-On.
- Embedding GoodData
- Your GoodData dashboards can be embedded into your existing web application. For more information, see GoodData Reference Guide.
GoodData Provisioning Scripts
GoodData provides a set of scripts to manage many of the provisioning tasks associated with Powered By GoodData implementations. Written in perl, these scripts are easy to use and can simplify the build and execute aspects of provisioning.