Repository navigation
rel-1.11.0
new API behaviors and breaking changes
Renamed createDataSet() and createAnnotation()
The createDataSet() and createAnnotation() methods defined in annotation.proto are renamed to saveDataSet() and saveAnnotation(), respectively, to reflect that they can now be used to both create new and update existing objects. To update an existing object, the unique id of that object is passed in the method parameters. github issue #93.
release development headlines
New desktop GUI application
Though not a primary project requirement, we decided it was useful to build a Java desktop GUI application to demonstrate the features of the MLDP. However, instead of making an application that can only be used as a demo, we decided to build a full-featured tool useful for navigating the MLDP data archive. Version 1.11 includes a new application that provides a user interface for navigating archive metadata and time-series data, viewing and creating annotations, and other tools for visualizing and exporting data. The application uses the MLDP gRPC API and provides a useful reference for calling those APIs from a Java client. The application is managed in the dp-desktop-app repo, which contains details for installing and using the GUI application. github issue #1
Other relevant notes include:
- Created in-process gRPC service ecosystem to support including Data Platform service implementations within the same Java process as the GUI application, to simplify the configuration for a demo system. Includes new classes InprocessServiceEcosystem, InprocessServiceBase, InprocessIngestionService, InprocessQueryService, InprocessAnnotationService, and InprocessIngestionStreamService.
Misc dp-grpc API changes
There are some minor changes to the dp-grpc API definition proto files primarily in support of the new desktop application:
- Updated pom.xml to use Java 21.
- Modified QueryProvidersResponse to embed a ProviderMetadata message in each ProviderInfo message contained in the query response for convenience (so that a single query returns both attributes and metadata for providers).
- Modified QueryPvMetadataResponse and DataBucket messages to include providerId and providerName fields to facilitate navigating from the PV domain to the Provider domain.
For more information see github issue #93.
Misc dp-service implementation changes
There are a number of changes in the dp-service repo to support the new desktop GUI application:
- Created simple API client framework for calling service methods from the desktop Application that can be used by any client application. Provides a useful reference for calling the API methods from Java. New classes include ApiClient, ServiceApiClientBase, IngestionClient, QueryClient, AnnotationClient, and IngestionStreamClient. Also added a framework for importing time-series data from Excel. github issue #151.
- Fixed bug in Excel export code that created corrupt output files in some cases. github issue #153.
Ecosystem scripts changes in dp-support repo
- Created new script app-run-desktop-app to run the new desktop GUI application. github issue #40
Build script changes in data-platform repo
- Modified the make-installer script to include the new desktop GUI application in the release installer, including copying the application config, creating the application jar, and copying it to the lib directory. github issue #41