Skip to content

Version 1.0.0-alpha.38

Pre-release
Pre-release
Compare
Choose a tag to compare
@Whathecode Whathecode released this 02 Dec 15:51
· 272 commits to master since this release
a01c008

Common/Protocols

  • Data type changes (#331):

    • Acceleration renamed to NonGravitationalAcceleration and should hold SI unit (m/s^2) excluding gravity instead of g force.
    • Added AngularVelocity.
    • Both Acceleration and AngularVelocity were added to Smartphone.Sensors.
  • For known supported data stream data types on DeviceDescriptor, the sampling configuration is now validated (#312).

  • Devices can now be configured to be optional, using DeviceDescriptor.isOptional (#323).

  • Various new TypeScript declarations to access members of StudyProtocolSnapshot, including devices, tasks, and triggers.

Studies

Various changes related to managing participant group life cycle (#314):

  • Added StagedParticipantGroup to Recruitment domain object to store participant groups that aren't necessarily deployed yet. But, this functionality is not exposed in application service yet.
  • ParticipantGroupStatus is turned into a state machine with states Staged, Invited, Running, and Stopped. Invited contains an invitedOn field, and Stopped a stoppedOn field.
  • RecruitmentService.deployParticipantGroup renamed to inviteNewParticipantGroup.

Deployments

  • Renamed StudyDeploymentStatus.DeploymentReady to Running.
  • Renamed MasterDeviceDeployment.configuration to registration.
  • Renamed DeploymentService.deploymentSuccessful to deviceDeployed.
  • Include assigned device roles in StudyDeploymentStatus.participantsStatus, as the new type ParticipantStatus which in the future will also hold information on consent, etc. (#329).

Clients

Cleaner API to obtain default sampling configurations (#318):

  • DeviceDescriptor.getDefaultSamplingConfiguration() moved to RuntimeDeviceInfo.defaultSamplingConfiguration. RuntimeDeviceInfo can be retrieved through MasterDeviceDeployment.getRuntimeDeviceInfo().
  • Updated documentation for client implementations which sampling configuration to use at runtime.

Major rework of client API, in line with DDD principles (#321):

  • Main API, accessed through ClientManager has been moved to the application namespace.
  • StudyRuntime is split into Study and StudyDeploymentProxy.
  • Study state is represented in StudyStatus, representing the state based on incoming study deployment events.
  • ClientManager.addStudy() no longer calls tryDeployment(). You can thus add a study without trying to deploy it, at which point it will be in the DeploymentNotStarted state.

Data

  • The data subsystem now accepts data types for which no corresponding Data object is available at runtime (#334).
  • Completed tasks should be uploaded using CompletedTask.
  • Better defined SyncPoint behavior and helper methods (#333).

Multiplatform release accessible through Maven:
https://mvnrepository.com/artifact/dk.cachet.carp