-
Notifications
You must be signed in to change notification settings - Fork 169
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Packaging/publication services and analysis execution results data providers for Shiny applications #2399
base: master
Are you sure you want to change the base?
Conversation
…es while configuring application Docker container with an --env-file
…n the same metadata as used by Atlas
…ishing connect/read/write timeout, no changes/limits to the call timeout), Improved shiny apps code design, eliminated duplicate logic, implemented properties propagation into R apps using a single file app.properties
…ocale formatting of numbers
…the generated filenames to the UI
<include>shiny-cohortCounts.zip</include> | ||
<include>shiny-incidenceRates.zip</include> | ||
<include>shiny-cohortCharacterizations.zip</include> | ||
</includes> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should clean 'shiny-cohortPathways.zip' as well
return dto; | ||
} | ||
@Override | ||
public PathwayPopulationResultsDTO getGenerationResults(Long generationId) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Being extracted from PathwayController
dataConsumers.getAppProperties().accept("atlas_link", String.format("%s/#/cc/characterizations/%s", atlasUrl, cohortCharacterization.getId())); | ||
dataConsumers.getAppProperties().accept("analysis_name", cohortCharacterization.getName()); | ||
|
||
generationResults.getReports() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For Cohort Characterization Shiny application report listings export CSV interface has been chosen
import java.util.stream.Collectors; | ||
import java.util.stream.Stream; | ||
|
||
public abstract class CommonShinyPackagingService { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A Javadoc to be added
} | ||
} | ||
|
||
public final TemporaryFile packageApp(Integer generationId, String sourceKey, PackagingStrategy packaging) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As Shiny applications template archives shouldn't have data and a manifest file should be extended properly with new file entries and signatures an application package creation takes place on the fly so that a 'data' folder is populated with analysis execution results
CommonFileUtils.unzipFiles(templateArchive, path.toFile()); | ||
Path manifestPath = path.resolve("manifest.json"); | ||
if (!Files.exists(manifestPath)) { | ||
throw new PositConnectClientException("manifest.json is not found in the Shiny Application"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A malformed or missing manifest.json will result in an error while publishing an application to Posit Connect
Notes from demo today on ATLAS WG Call:
|
@alex-odysseus I've set up the https://github.com/OHDSI/webapi-shiny to hold the Shiny application templates your team has developed. |
Converting this to a draft since the necessary Shiny resources are not yet posted to https://github.com/OHDSI/webapi-shiny |
Addressing #2349
By default the feature is not enabled
There was a new profile added 'webapi-shiny' so that while building an application it should be specified together with a set property 'shiny.app.directory' pointing to a checked out directory on the build server with the Shiny applications source code (a new OHDSI repository to be created @chrisknoll @anthonysena)
mvn clean package -s WebAPIConfig/settings.xml -P webapi-postgresql,webapi-shiny -D shiny.app.directory=D:\\webapi\\checkout
The following properties to be specified in settings.xml:
A specific Spring profile is activated
<spring.profiles.active>default,shiny</spring.profiles.active>