Skip to content

Content Settings Panel#

This chapter contains an overview of the Content Settings Panel available to publishers and administrators. Content settings are available for each content item and can be accessed by opening a piece of content through the Posit Connect user interface. The settings panel opens to the Access tab by default.

Overview of the content Settings panel in Posit Connect.

To toggle the Settings panel open and closed, click on the Settings icon (shaped like a gear) in the upper right Toolbar menu. To hide access to the content controls altogether, share content in Open Solo mode (also located in the Toolbar menu, or under the More icon on narrow screens.)

Hey! Where did the logs go?

The logs used to be accessible through the Settings pane, but they have been moved to the upper right Toolbar menu in the Connect dashboard. Learn more in the Content Logs section.

Info & Content Metadata#

After your Posit Connect content has been published, you can change its title, add a description, and upload a content image to make it easier for others to find your content.

First, open the content and click on the "info" tab.

Info tab showing title, description, and preview image
fields.

The top text field is the application title. This defaults to the application name if it was given. Other users will not be able to edit this field unless they are collaborators or administrators.

The large text area is the application description. You can describe the content in this field, or add other information that you feel is important. Other users will not be able to edit this field unless they are collaborators or administrators.

The area that displays a prompt to select an image for this content is the content image field. You can upload a jpeg, png, gif, or svg image that represents the content. Unlike title or description, users who cannot view the content (including administrators) will also be unable to view the image you have uploaded. This way, if you wish to upload a screenshot of the content, any information contained in that screenshot will not leak to users who would not otherwise be able to access it.

Usage Data#

Applications and document-based content types will also have basic usage data displayed in the Info panel (visible to the content owner and Posit Connect admins only).

Example usage data graphs for a Shiny application and an R Markdown report.

Usage data for the content item is summarized to show the last 30 days of activity across all associated versions and variants. Shiny applications will display the total number of visits and the total user interaction time in the past 30-day period, plus a plot of the daily visit count. Other content items have the same statistics displayed, except for user interaction time.

These data can also be accessed via the instrumentation endpoints in the Posit Connect Server API. If you're interested in performing custom usage metrics analysis, check out the API Cookbook which contains example R code snippets for retrieving Shiny application usage and content visits.

Execution Image#

Note

This section describes a feature that is currently in beta. If you are not sure if this applies to you, please speak with your administrator.

If your Posit Connect installation uses off-host content execution with Kubernetes, the Info panel will also display which image was used the last time your content was deployed.

Content execution metadata example, including image
name.

By default, an image is selected automatically by Posit Connect, but you can also specify which image you want to be used at deploy time. See instructions for R and instructions for the command line. You can see a list of all available images by logging in to Posit Connect and clicking the Documentation button at the top of the page.

Access#

After publishing a piece of content to Posit Connect, the Connect user interface will open to show the access panel.

There are three types of user interaction settings available to publishers in this panel:

  • Sharing Settings (who can see this content)
  • Access List (who can view or change this content)
  • Execution User (which server user will run the content)

The final setting for creating a custom URL is reserved for administrators by default.

Access settings panel, showing visibility and collaboration options, 
content execution user choice, and custom URL.

To enable this feature for publishers, have your administrator refer to the Authorization configuration section of the Posit Connect Admin Guide: PublishersCanManageVanities.

Note

The PublishersCanManageVanities setting is available in Posit Connect version 1.7.6 and later. Instructions for upgrading Posit Connect can be found in the Admin Guide.

Sharing Settings#

The default access settings are setup such that only the publisher will be able to view this new piece of content. This means that the content will not be visible to other users on your Posit Connect server until you change the access settings here.

There are several visibility options, arranged from most open to least:

  • Anyone - no login required
  • All users - login required
  • Specific users or groups

Choosing Specific users or groups will allow you to specify individual named user accounts or groups registered on the Posit Connect server with help from auto-complete text lookup.

Note

It is not possible to change the content owner through the dashboard settings available here. To transfer content ownership between users, an administrator can use the Posit Connect Server API for single content items, or the usermanager utility for all of a user's content.

Access List Settings#

To enable multiple users to maintain and update a single piece of content on Posit Connect, all users should be listed as collaborators on the content. You can control which users are collaborators and which are viewers with the dropdown at the end of the searchbox. After adding a user, you can also change the user's permission from viewer to collaborator using the icon dropdown on the user's row.

For more information about the best practices for collaborative development and data project management on Posit Connect, see the Publishing with Collaborators section.

Execution User Settings#

Content is initially configured to run on the server as a Unix user configured by your Posit Connect administrator, defaulting to the rstudio-connect user. Your content may need to run as a different Unix user due to resource permissions and constraints. If you specify an alternate user, the target user must be a member of a shared Unix group which is configured by your administrator. The default shared group is also called rstudio-connect.

Your Connect administrator can adjust the default Unix user and shared group by modifying the Applications.RunAs and Applications.SharedRunAsUnixGroup settings.

Custom Content URL#

Administrators and publishers (if allowed) can create a custom vanity URL for a piece of content. The vanity URL is appended to the server address to form the complete path to the content.

Vanity URLs can be useful for all published content types. The example below demonstrates how creating a custom content URL for a plumber API will update the base URL to a cleaner, more user-friendly address:

Example Custom URL.

Note

Only administrators can manage vanity paths by default. To allow publishers to create vanity paths for content items they own and collaborate on, a server administrator must enable the Authorization.PublishersCanManageVanities configuration setting.

Content URL restrictions#

Vanity URLs can not be nested inside of one another. So if a vanity URL /finance/ already exists, you would not be able to create a new vanity URL at /finance/budget/. Sibling paths, such as: /finance/budget/ and /finance/quarterly/ may both exist concurrently.

Posit Connect performs a case-sensitive match against vanity URLs when determining what piece of content is requested. If you create a vanity URL like this, /vanityURLexample/, but try to navigate to the content here /vanityurlexample/, Connect will return a 404 page not found response.

A case-insensitive match is performed when determining if a new vanity URL is permitted. If you try to apply /vanityURLexample/ to one piece of content, and /vanityurlexample/ to another, Connect considers them to be in conflict and will not allow the action.

Vanity URLs may 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.

Runtime#

Posit Connect is built to scale content. Publishers and administrators have access to runtime settings to help tune and scale their applications and APIs. The primary concern for scaling content in Posit Connect is understanding when and how R or Python code will be executed on the server.

A powerful component of Posit Connect is the ability to host data products that require backend processes during a user’s visit. Examples include Shiny applications, R Markdown documents with runtime: shiny and Quarto documents with server: shiny, Flask, FastAPI and Plumber APIs, and Dash and Streamlit applications. In the case of applications, an end user’s browser (the client) is connected with a process running on the server. When a user changes an input, the client sends a message to the server and a portion of code is re-run. The server sends back the result as output. In the case of APIs, a client makes a request which is sent to a running process, and the results are sent back to the client.

If runtime is not applicable to the content type (e.g. static/batch content including: documents, plots and HTML files), you will see a message stating that there are no runtime settings to configure. Posit Connect is able to update static content on a schedule.

Runtime settings panel
options.

Changes to runtime settings are applied immediately to running instances of this content. New connections use updated values. Existing connections are not modified or disconnected.

Process Configurations#

Note

References to per node configurations refer to Posit Connect instantiations which are configured for High Availability. Check with your server administrator if you're not sure whether this applies to you.

  • Max processes: The maximum number of processes that will be simultaneously running for this content per Posit Connect node, regardless of load.

  • Min processes: The minimum number of processes that will be kept running for this content per Posit Connect node, regardless of load.

  • Max connections per process: The maximum number of client connections allowed to an individual process. Incoming connections which will exceed this limit are routed to a new process or rejected.

  • Load factor: A value between 0 and 1 which determines how lazily additional processes will be spawned to handle incoming load for this process. At the highest setting, Connect will only spawn additional processes when existing processes are not allowed to accept an additional connection. At the lowest setting, Connect will create many new processes as new users arrive to handle the load.

Errors such as connection timeouts or HTTP 503 status codes indicate insufficient process resources to serve the incoming requests. This can be caused by sudden bursts of requests to this piece of content. If this occurs, some possible solutions are:

  • Increase Min processes so that one or more worker processes will be kept running. Those processes will begin handling requests while additional processes are starting up. Keep in mind that processes that are kept running when not needed will still consume system memory.
  • Increase Max processes and/or Max connections per process to provide enough total connections to hold all incoming requests while processes are starting up.

For more information, see Scaling and Performance Tuning in Posit Connect.

Timeout Configurations#

  • Idle timeout per process: The minimum time a worker process remains alive after it goes idle (in seconds) - i.e. no active connections.

  • Initial timeout: The maximum time to wait for an app to start (in seconds).

  • Connection timeout: The maximum time allowed without data sent or received across a client connection (in seconds). A value of 0 means connections will never time-out (not recommended).

  • Read timeout: Maximum time allowed without data received from a client connection (in seconds). A value of 0 means a lack of browser interaction will never cause the connection to close. This is useful when deploying dashboard applications which send regular updates but have no need for interactivity.

Schedule & Emailing#

This panel is available for content types that can be rendered on a schedule. If scheduling is not applicable to the content, you will see a message stating that there are no settings to configure.

The scheduling customization options available depend on which "schedule type" you choose. For example, selecting the daily schedule type allows a choice between running the report every x number of days or every weekday.

Note

By default, Posit Connect's email functionality is disabled until it is properly configured. Instructions are available in the Admin Guide.

Scheduled reports can be configured to send an email to targeted recipients upon successful completion. When a scheduled report fails to run, the content owner (and all collaborators unless otherwise configured) will get an email indicating that there has been rendering error.

Schedule settings panel and email configuration
options.

A full description of all scheduling features is available in the Scheduling chapter.

Tags#

Posit Connect administrators can create tags and a tag schema using the Tag Editor. If no tags have been created, you will see a message in this panel stating that no tags can be assigned (shown below).

Once an administrator has created tags, use the checkboxes to apply them to your content. Tags make content organization, discovery and filtering easier across the Posit Connect dashboard.

Tags panel options, and overview of Tag Editor for Admins.

Vars (Environment Variables)#

When developing content for Posit Connect, you should never place secrets (keys, tokens, passwords, etc.) in the code itself. Best practices dictate that this kind of sensitive information should be protected through the use of environment variables or another method of configuration such as the config package.

Posit Connect automatically provides CONNECT_SERVER and CONNECT_API_KEY environment variables to all content runtimes (except for TensorFlow Model APIs).

  • CONNECT_SERVER contains the configuration value set in Server.Address. The Server.Address property is the public URL used to access the server. Content owners may overwrite this value by resetting it in the Vars pane or with the Posit Connect Server API.

  • CONNECT_API_KEY is owned by the content owner and is ephemeral (only exists for the duration of the underlying R/Python process). Content owners may overwrite this value by resetting it in the Vars pane or with the Posit Connect Server API.

The automatic generation of these environment variables may be disabled for security reasons. Reach out to your Posit Connect server administrator or review the Admin Guide for additional details.

Posit Connect also sets the environment variable R_CONFIG_ACTIVE for use with the config package. The default value is rsconnect, but administrators can change this value globally in the Connect configuration.

Environment variables can be set prior to deploying a content bundle with the Posit Connect API. Follow the Deploying Content workflow in the Server API Cookbook. This workflow requires Posit Connect version 1.8.6 or later.

To set environment variables after initial deployment in the Posit Connect dashboard, navigate to the Vars pane. Enter a name and value for your environment variable, then click on the Add Variable button.

Once a variable is added, the value will be obscured. Environment variables are encrypted on-disk and in-memory. They are decrypted only when a process is about to be started.

Environment Variables panel
options.

Note

Documents must be published with source code to be executable. Static document content will not be able accept environment variables.

Logs#

The logs viewer contains execution details for each launched process associated with the piece of content. Standard output and standard error are captured and streaming log entries will appear in real time.

The logs viewer can be opened from the Connect dashboard (upper right) Toolbar menu by clicking the Show Logs icon. For smaller windows and mobile, this icon is consolidated into the More option. The logs can also be opened and closed with a keyboard shortcut (~).

Content Logs Viewer in Posit Connect dashboard.

Search and download functionality is scoped to the log file you currently have selected and displayed in the logs viewer.

Switching between logs#

Use the Logs Selection drop-down (located in the upper left) to view the available logs and switch between them in the viewer. Logs are organized by content bundle. Each time you publish an update to a content item, a new content bundle is created. The current bundle is denoted as "Active".

Logs Selection dropdown.

Currently running process logs are indicated by a green "live" symbol. The log currently shown in the viewer is indicated by a check mark symbol.

Use the filter to narrow the type of logs shown in the Logs Selection drop-down. There are several types of logs available to filter depending on the type of content you are inspecting. Documents published with source code will have environment restore logs and render logs. Applications will have environment restore logs and process logs.

Truncation#

The viewer output may be truncated for log line length (at 4096 characters) and lines shown (at 5000 lines). Truncation prevents performance issues in the browser.

To retrieve the full output of the log file, use the Download button located in the upper right corner of the viewer.