::runGitHub('tbep-tech/nwqmc-shiny', subdir = 'app-wq') shiny
3 Deployment and IT Hurdles
Learning Objectives
Understand how to share a Shiny application and the tradeoffs of the different approaches. Learn to navigate common IT hurdles for developing and deploying Shiny applications.
3.2 IT hurdles
One of the biggest challenges developing and deploying Shiny applications is having support from your institution’s IT or administrative staff. Nearly all of these deployment options are not viable if you do not have administrative privileges on your computer nor the ability to host and expose internal applications outside of your institution. So, the challenge becomes acceptance of the new approach rather than the technical logistics of hosting. There is no simple solution to this issue, but we offer some suggestions as you begin or continue your journey developing robust applications.
Demonstrate the value of the tool: IT or administrative staff may be more willing to accept these new approaches if they can see the value it has for the organization. Presenting a functional, useful, and well designed application can go a long way in changing opinions on whether adopting the new technology is worthwhile and acceptable.
Transparency in process: Clearly explaining the logistics of creating an application and the deployment requirements may be necessary to address concerns that IT staff may have about exposing content to external users. Having them understand IT requirements will also ensure that any deployment system that is setup will meet the needs for your application. This may require explaining which packages are required and what computational resources are needed. Specific versions for R packages, R itself, and Shiny Server (if used) should also be discussed.
Data: Having a discussion about how data will be used by the application may also be needed. This discussion could serve two purposes. First, IT staff may have concerns about data ownership or if the application will share any sensitive information. Hosting the application on a third-party server may mean that the data are now external to your organization if included as files within the application. This may not be a huge concern if the data are not sensitive, but this potential issue should be stated upfront if a solution is needed. Any application that uses sensitive information (e.g., personal data) should also anonymize or otherwise not present this information directly. The second purpose of this discussion may be more technical if hosting the data with an application is prohibitive given the size. Shiny applications can use external databases as a data source and you may need to discuss with IT staff how this is accomplished. Using an external database may also greatly improve app performance.
Licensing: The open source community has a well-established practice of licensing that defines how others may or may not use software or data. The license does not directly control how others could use your app, but it does establish a legal framework for use should it be needed with bad actors. Explaining the purpose and value of licensing to IT staff could address any legal concerns about sharing software and data publicly. Guidance on choosing an appropriate license can be found at https://choosealicense.com/.
Internal applications: Controlling access to an application may be all that is needed to convince IT or administrative staff that hosting is okay. Many of the hosting services described above can be configured with credential authentication that requires a login for access. Additional services provided by Posit (e.g., Posit Connect) can also be used to setup an internal server accessible only within the organization. Posit has recognized the value of enterprising their services (at a cost) and has developed hosting products to serve these needs.
3.3 Next Steps
Now that our brief workshop is complete, we hope that you continue your journey learning to develop actionable dashboards with Shiny. Please continue to use this website as a resource for continued learning and feel free to connect with the instructors for additional advice or guidance. The Resources page also includes many useful links for additional learning and applications that can be used as templates for building your own dashboards.