Releases: smartdevicelink/sdl_server
Policy Server UI and Administrative Enhancements
2.2.0 (February 26, 2018)
Policy Server UI and Administrative Enhancements
What's New
- Running in dev mode allows for hot reloading upon changing files related to the UI
- Large structural changes to the server and to the database for optimization and clarity
A New UI
- UI powered by VueJS
- Shows previews of what kind of policy table would be sent in response to a policy table update request
- Shows a list of application requests from SHAID, and allows the ability to approve or deny them
- Has an inuitive interface for creating, editing and deleting functional groups and consumer messages
- Introduces a new "staging" context to allow for safe testing
Remote Control Permission Update
Changes
-
Updated to include permissions from the newest RPC spec (ex. Climate and Radio)
-
Setting default permission groups to apps are now specified in the
functionalGroupData.js
exported object via thealwaysAllow
property -
All different types of permissions are now combined into just "permissions". This changes the structure of the DB and the data in the policy server
-
Permissions are now categorized by
type
properties which allow for maximum flexibility in the case that unknown permissions come from SHAID -
App request data now has loose references to sources such as countries, categories, and permissions so that new data coming from SHAID can be handled
-
New required function to implement in collector modules:
getPermissions
. The two existing permission collector functions are now deprecated -
Data sources that are stored on the policy server are now split from the SHAID module into a "static" module
-
New required function to implement in policy-builders:
createPermissionRelations
. This lets the policy server know what kind of permissions depend on other permissions, such as vehicle data permissions depending on GetVehicleData, OnVehicleData, etc.
2.0.0 (August 15, 2017)
SHAID Integration
- Communicates with SHAID to retrieve application information
- Checks for updated data from SHAID on start up, and when the
/api/v1/request
route is hit
SQL Database Integration
- Connects to PostgreSQL and can connect to other SQL implementations if plugins are written for them
- Stores pieces of the policy table and application information in the database
Policy Table Construction
- Uses the information in the database to reconstruct a policy table
- Listens for policy table update requests
- Compares incoming app IDs to the app IDs stored in the policy table's database to determine if those app IDs have permissions
- Allows automating the process of assigning functional groups to apps for granting permissions
Customization
- Offloads work to modules in the custom folder which allow for high flexibility in how the work should be handled
- Database modules can change to support different SQL databases
- Logger modules can change to support different log outputs
- Data collector modules can change to add extra information that can exist for an application from SHAID
- Policy builder modules can change how the policy table is constructed and what kinds of permissions and HMI levels are used
API Changes
GET /api/v1/request
Queries SHAID for updated application information. WebHook integration is planned for future releases so that this process can be automaticPOST /api/v1/staging/policy
Constructs a policy table, and is the route sdl_core's default policy table should use when requesting a policy table update