New features in the Common Data Service for Apps! (Spring Update)

We are extremely excited to announce a major update to the Common Data Service for Apps. Since the release of the Common Data Service (to learn more about the Common Data Service in general, please see this blog post from April 2017) we’ve been investing in several features focused on server side logic, improved app building experiences and developer capabilities – and today we’re excited to share these updates with the broader community.

These updates come as part of the Business Application Platform and PowerApps announcements made today. The Common Data Service is an integral part of the Business Application Platform, providing secure cloud storage for your app data and integrating with Office 365 and Dynamics 365. As part of the Business Application Platform announcement today we have renamed what was the Common Data Service to the Common Data Service for Apps. We also announced the Common Data Service for Analytics, the Analytics offering is closely tied with the Common Data Service for Apps and PowerBI to focus on insights and analytics. In this blog post, we'll be focusing on the Common Data Service for Apps (CDS for Apps).

In this update, we've merged the platform supporting Dynamics 365 for Customer Engagement and the functionality of the Common Data Service. Providing a common platform for customers to extend and develop applications, while allowing them to benefit from the rich set of features available in the Dynamics 365 Platform.

Customers who are using Dynamics 365 for Customer Engagement will be able to leverage their data in the Common Data Service for Apps experience and functionality and the PowerApps when they upgrade to the latest version.

Calculated fields, validation, and server-side logic

Data stored within CDS for Apps can now benefit from rich server-side logic to ensure data quality, and reduce repetitive code in each individual app. In this update we are introducing new capabilities to close this gap:

Calculated and Roll up fields – entities can now include calculations and roll ups of related records to allow you to create Excel like formulas on both number and text-based fields. Defining a calculated field at the entity level allows it to be used in Canvas Apps, Model-driven apps, Flows and through the SDK and WebAPI. This means calculations can be defined once, ensuring its presented in the same way across all your apps.

Business Rules and Validation – Ensuring accurate data, regardless of the app that created or edit it is important to maintain data consistency, and ensure apps and analytics continue to operate as expected. Business Rules can now be defined to set simple, or complex validation and actions on data being created and edited in CDS for Apps.

By combining conditions and actions, you can do any of the following with business rules:

Business Process Flows – driving users to capture the correct information at the right time and drive a business process is now supported through Business Process Flows. Allowing you to specific stages and steps for users to follow through their model-driven apps. You can find more information in the Flow Spring Update.

Workflow – automating actions with a user interface is yet another way to reduce app level code and expressions, and ensure consistency at the data service level. Workflows trigger based on changes in data and can result in other data operations, sending email and even be extended to include custom code.

In addition to calculated fields, business rules and workflow – we also now support the ability for users to extend and apply business logic through code with workflow extensions and plug-ins. For more information, see Apply business logic with code.

Building Apps

To get a better understanding of the full set of updates, check out Frank's blog post on the Spring Update.

Now when building an app through PowerApps, you can choose between Canvas ( a more visual, WYSIWYG) or a Model-driven app (driven by entities, Business process). Both apps can access your data and logic in CDS for Apps.

New Data Types

Data stored in CDS for Apps in both standard and custom entities can use an updated list of data types. Data types provide a basic validation of the data stored in a field, as well as different experiences within apps to ensure the correct type of data is collected.

Support for IME Mode for complex characters and symbols such as Japanese Kanji characters is now supported on Single and Multiline text data types.

New data types available include:

Multi Select Option Sets. Allows multiple values to be selected from a drop-down.

Two Options. Similar to a boolean data type but with customizable selections.

Floating Point Number. Similar to decimal number supporting greater control on precision.

Customer. Creates a lookup to a combined list of Accounts and Contacts within CDS for Apps.

Import data and create entities using Power Query

Getting data into CDS for Apps is a critical step to make sure your app building experience is fast, and productive. We had previously announced the release of a Technical Preview for Power Query in the Common Data Service to import data and create entities – we are pleased to announce this functionality is no longer in Technical Preview and is available as part of the updated version of CDS for Apps.

Power Query allows you to connect to your data source directly from web.powerapps.com, preview it, and update and transform your data. Once your data is in the format you need, it can either import into an existing entity or create a new entity based on your data source, making it easy to migrate data or apps from other sources.

Common Data Model

The Common Data Model (CDM) is a definition of standard entities that represent commonly used concepts and activities that can be used and extended to fit your data requirements. In this update, we’ve included updates to the model to support new scenarios and provide tighter integration with the Dynamics 365 products. For more information, see Common Data Model. Customers who are using Dynamics 365 for Customer Engagement will be able to see their data in the CDM once upgraded to the latest version.

Developer Capabilities

We had previously released a limited preview of a Software Development Kit, with this update we are now releasing a new SDK to better support more complex requirements and development scenarios for CDS for Apps.

The SDK can be used by developers to create and customize:

Entities (including fields and views)

Charts and dashboards

Business processes

Virtual entities

Plug-ins, Azure extensions and webhooks

Code-based data generation and import

Solution creation and management (ALM)

We are also releasing a new OData V4 RESTful endpoint. Direct access to data through standardized endpoints, like OData has been a common ask on the Common Data Service, and we hope by introducing this functionality we will be able to provide easier access to data, for a wider set of development scenarios which weren't previously supported.

In addition to the SDK and OData, we are also excited to introduce the Solution framework to the platform to support the import, export and management of custom objects to support Application Lifecycle scenarios.

Simplified Experiences

As we bring in more and more features, we are focusing on keeping our experiences for CDS for Apps as simply and intuitive as possible, while still supporting complex scenarios. Along with our latest update, you'll notice an updated interface throughout the portal which is aimed at supporting our continued feature expansion, without overloading or complicating the experience. We want the simple things to remain simple, and let you find what you need when you need it. You'll notice new concepts around entities like filters and improved search to help you focus on what's important. This is an ongoing focus for us, and will continue to develop as we see capabilities in CDS for Apps expand.

Customers with existing environments

From today, any new environment created will get the latest version of the CDS for Apps and the features discussed in this blog. If you’re already using the Common Data Service and have an environment created, you won’t see these features immediately. We will be announcing the update process for existing environments in the coming weeks, until then you can create a new environment to try out these features.