Content Management
Posit Connect provides flexibility over how uploaded content is configured and shared.
Interactive vs. rendered/static content
Some settings are only available for interactive content or rendered/static content.
Content that requires Connect to manage an active Python or R process to support viewer interactivity is classified as interactive content. Examples of interactive content include Shiny applications, API frameworks such as Flask and FastAPI, and documents with a Shiny runtime or Voila.
Content that can be re-executed on a schedule is classified as rendered/static content, even if they contain browser-based interactive elements
Transferring Content
Content ownership can be transferred between user accounts, including from locked users. For more information, see the Update Content Ownership section of the Posit Connect Cookbook and the Update Content section of the Posit Connect API Reference.
Vanity Paths
All content receives a URL that includes its globally unique ID at at the time of deployment – something like https://connect.example.org/connect/#/apps/3e0271df-9b58-4f58-af12-1e6d12d045fd
. Connect administrative users can create additional, customized vanity paths for content.
This setting can be found at the bottom of the Access tab when editing a piece of content. There you can enter the path at which you want this content to be available and preview the complete URL. Once you save your content, you can access your content at the new vanity URL.
By default, publishers can manage vanity paths for content items they own and collaborate on. To restrict this to admins only, set the Authorization.PublishersCanManageVanities
configuration to false
.
Vanity path restrictions
Vanity URLs cannot be nested inside of one another. So, if a vanity URL /finance/
already exists, you cannot create a new vanity URL at /finance/budget/
. Sibling paths, such as: /finance/budget/
and /finance/quarterly/
can both exist concurrently.
Vanity URLs can include only alphanumeric characters, hyphens, underscores, and slashes.
The following path prefixes are prohibited in vanity URLs:
/__
/favicon.ico
/connect
/apps
/users
/groups
/setpassword
/user-completion
/confirm
/recent
/reports
/plots
/unpublished
/settings
/metrics
/tokens
/help
/login
/welcome
/register
/resetpassword
/content
- The custom location for the Connect dashboard, configured by
Server.DashboardPath
.
Bundle Management
Content published to Posit Connect is encapsulated in a bundle that contains the source code and data necessary to execute the content. An application or report is updated by uploading a new bundle. Old bundles are retained on disk until you reach the limit imposed by Applications.BundleRetentionLimit
at which point older bundles are deleted. You can adjust Applications.BundleRetentionLimit
to retain fewer bundles in order to free up disk space.
Users can manage their own bundles in the Connect dashboard by clicking the Source Versions button. Collaborators can delete, download, activate, and view activation logs for their applications’ bundles. Activating a different bundle is a way of rolling back or rolling forward to an older or newer version of your application, respectively. For more information, see the Source Versions section of the Posit Connect User Guide.
Activating an alternative bundle for a Shiny, PyShiny, Bokeh, or Streamlit application causes new incoming users to be directed to the new version of the application. This does not interrupt existing users of the application who are viewing the previously activated bundle. For reports, activating an alternate bundle immediately renders the newly activated bundle and promote it to be the authoritative version of that document. For parameterized reports, only the default variant is rerendered. Other instances of the report are not automatically regenerated, but the next manual or scheduled update is performed on the newly selected bundle.
When activating an alternative bundle for an API, existing requests are serviced by processes already launched running the old code. New requests are serviced by new processes running the new code.
Content Images
Once content has been published to Posit Connect, the publisher can open the Info tab in the Application Settings pane and upload an image to be associated with the content.
Application images are stored in the server’s data directory.
Application images can be viewed by anyone with permission to view the associated content.
Administrators cannot view images associated with content that they do not have access to. However, all administrators may change the visibility mode, or add themselves to the viewer list, for any piece of content. This ensures that the Administrator’s act of giving themselves viewer privileges can be tracked in the server’s audit logs.
Posit Connect rejects uploads of images larger than the
Applications.MaxAppImageSize
configuration setting value. By default, the server accepts images up to 10MB in size.Posit Connect does no post-processing. Images are sent back to the user exactly as they were uploaded, and the Posit Connect dashboard makes its best effort to display them in a consistent manner.
The Posit Connect dashboard attempts to cache images in an efficient and consistent manner. Every time the image is displayed, the dashboard checks the server for a newer version of the image, and accepts its cached version if a newer image does not exist.