CI Status (master) | Website Docker Image |
---|---|
This project is still not "officially" released, and may contain errors/bugs/dragons/smooth-jazz. During this initial period, your patience is greatly appreciated.
The validator CLI will still be generated and hosted as normal within the hapifhir/core.hl7.fhir.core for now. Be advised that on release of v1.0 of the this project, we will stop publishing the cli as part of the core, and users will be expected to download the cli jar from the latest release of this project.
All integration and delivery done on Azure pipelines. Azure project can be viewed here.
Docker image for the fullstack website is stored on DockerHub, and can be downloaded and run locally.
Updates to the docker image are triggered through the Azure Pipelines CI/CD.
This project uses the gradle build tool to build. In particular, we take advantage of Gradle's Kotlin DSL as an alternative syntax to the traditional Groovy DSL.
To generate the jar containing all resources locally:
- Ensure you have Gradle installed on your system
- Generate the Gradle Wrapper files locally by running the command
gradle wrapper --gradle-version=6.7
- Build the project by running the command
./gradlew build
- This will generate three jar files in the
/build/libs/
directory. The only one we care about isvalidator-wrapper-jvm-{$project-version}.jar
There are three possible ways this jar can be utilized:
Execute the jar by providing the argument '-startServer'
. This boots the Ktor validation back end and KotlinJS
front-end. Refer to the jvmMain/resources/application.conf
file in the resources directory to view the different deployment flavours available.
These deployment types can be set through the environment variable ENVIRONMENT
. If no such environment variable is
set, the application will default to a dev
type deployment.
Execute the jar by providing the argument '-gui'
. This boots the Ktor server locally on the port 8080, and starts a
wrapped instance of the KotlinJS front end within a Chromium web window to appear as a desktop application. This
wrapped website should mimic all the same functionality of the full KotlinJS website in the full-stack hosted server.
Once the Chromium browser window is closed, the local Ktor server is also shutdown.
We realize that for many users, the cli is still the primary way in which validation is performed, so we've made it possible to still execute this jar, as done previously, from the command line. All validator cli functionality remains as detailed on the confluence wiki.
N.B.
If you attempt to run this as both a full-stack server and a locally hosted application (by including both the
startServer
and -gui
commands from the cli, the full-stack server takes priority, and the desktop version will
not be booted.
- Manual entry validation is a little screwy, bad inputs will cause website to hang and results are not displayed in an intuitive way
- Localization is not enabled...yet
Have you found an issue not listed above? Do you have a feature request? Great! Submit it here and we'll try to fix it as soon as possible.
This project is maintained by Grahame Grieve and Mark Iantorno on behalf of the FHIR community.