跳到内容

自定义登录页connectwidgets

作者阿什利亨利-技术作家

当您希望将已部署的内容作为内聚项目共享时
  • 你如何确保你的观众在Posit Connect上找到他们需要的东西,原RStudio 英格兰vs伊朗让球Connect,而不必在仪表板上翻页,记住正确的搜索词,或者把你分享的每个内容都收藏起来?
  • 如何将相关部署共享为一个内聚项目?

您可以使用Connect的内容管理工具之一-connectwidgets-用于建立一个自定义的登陆页面,与您的观众分享。

是什么connectwidgets?

connectwidgets是一个posiit维护的R包,可用于查询连接服务器的现有内容项的子集,然后在其中组织它们htmlwidgets在R Markdown文档或Shiny应用程序中。

下面的指南将带你了解:

  • 安装connectwidgets
  • 更新connectwidgets模板并部署到Connect
  • 添加自定义CSS
  • 配置一个虚荣的URL为您connectwidget指示板
  • 配置RootRedirect这样你的观众就会自动转到你的connectwidgets指示板
  • 配置DashboardPath所以你可以继续通过直接URL访问连接服务器仪表板

需求

  • RStud英格兰vs伊朗让球io Connect v1.9.0+或Posit Connect
  • 您将需要具有管理权限来访问和编辑Connect的配置,以自定义以下内容:

Prework

API密钥

如果您之前已将API密钥添加到.Renviron文件作为环境变量,请继续阅读下一节(connectwidgets).

添加API密钥步骤

API密钥让我们从RStudio IDE进行验证请求连接。英格兰vs伊朗让球

我们将把API凭证添加到.Renviron文件,使它们作为环境变量可供R使用。

  • 导航到连接,创建并复制你的API密钥。
  • 返回RStudio IDE。英格兰vs伊朗让球
  • 使用一个.Renviron文件来设置CONNECT_SERVER而且CONNECT_API_KEY环境变量:
    • 在控制台中,键入usethis::edit_r_environ()并按输入打开。renviron进行编辑。
    • 增加如下内容:
      CONNECT_SERVER= CONNECT_API_KEY=<粘贴键值>
    • 保存并关闭文件。
  • 重启R:
    • 麦克:Cmd+转变+F10
    • PC / Linux:Ctrl+转变+F10

connectwidgets

安装connectwidgets

安装connectwidegets并加载库:

install.packages“connectwidgets”图书馆connectwidgets
#这是开发版本# install.packages(“遥控器”)遥控器::install_github“英格兰vs伊朗让球rstudio / connectwidgets”图书馆connectwidgets

模板

connectwidgets提供一个内置模板,易于使用和编辑,让您开始。

模板的作用是什么?

该模板提供了以下介绍代码块:

  • 负载dplyr,它将用于从服务器创建您想要显示的内容子集。
  • 使用环境变量建立到服务器的连接CONNECT_SERVER而且CONNECT_API_KEY
  • 下拉连接服务器上您可以访问的所有内容。
  • 创建一个sample_content变量,它对一组内容项进行切片。

此外,您还可以配置主题、添加自定义CSS以及选择要显示的组件。

使用模板:

  • 在RStudio 英格兰vs伊朗让球IDE中,打开一个新的R Markdown文件:文件>新文件>R减价……
  • 在左侧窗格中,单击从模板中,选择connectwidgets (HTML)并点击好吧
  • 针织的模板。

下面是一个针织输出的例子:

渲染模板的示例。

为什么不显示内容的缩略图?

不幸的是,内容的缩略图将不会显示在开发中,因为:

  • 该请求不能跨原产地提出。但是,一旦页面部署到Connect,实际的内容缩略图将被拉出。
  • 您没有查看图片的权限。
  • 未设置镜像。

在针织输出中,您将注意到数据是按组件

connectwidgets具有不同类型的组件,如上图所示,以显示关于筛选的内容数据的信息:

  • 网格
  • 表格
  • 搜索和筛选(上图未显示)

有关这些组件的完整描述,请参见connectwidgets文档。

编辑模板

现在,我们已经到了可以编辑模板、配置主题和添加自定义的地方。

不要忘记使用Knit将更改应用到模板。

  • 请随时更新标题模板文档的。
  • 设定主题:

    • 您可以通过提供Bootswatch主题,例如有薄荷味的,在模板的YAML头文件中:
    模板。限制型心肌病文件
    ——title: "connectwidgets" output: html_document: theme: bootswatch: minty——

    的示例输出有薄荷味的主题:

    渲染薄荷主题的例子。

  • 自定义并选择显示的内容:
    1. 通过添加两个helper函数选择内容来选择要使用/显示的内容:by_tag而且by_owner
      • 假设您不想显示一组随机内容,对于本例,我们将根据标记为“Python”并由用户“kelly”拥有的内容进行过滤。
      • 删除表格而且搜索和筛选模板中的组件条目。现在,只有而且网格显示组件。
    2. 您也可以用您自己的图像替换库存图像。
    3. 另外,为每个组件定制头部。

  • 如果你用你自己的不是基于web的图像替换了库存图像,然后在YAML头文件中添加以下内容:

单击此处复制R Markdown模板更改,以直接粘贴到模板中
模板。限制型心肌病文件
——title: "connectwidgets" output: html_document: theme: bootswatch: minty rmd_output_metadata: rsc_output_files: - "connect-widgets.png" resource_files:- connect-widgets.png——' ' ' {r setup, include=FALSE} library(connectwidgets) library(dplyr) knitr::opts_chunk$set(echo =FALSE, message =FALSE, warning =FALSE)客户端<-连接(# server = Sys.getenv("CONNECT_SERVER"), # api_key = Sys.getenv("CONNECT_API_KEY")) all_content <-客户端%>% content() sample_content <- all_content %>% by_tag("") %>% by_owner("")) ## Python内容###特色内容{r card} sample_content %>% slice(1) %>% rsc_card(){r grid} sample_content %>% rsc_grid()' ' '

自定义CSS

  • 现在,我们可以进一步定制并添加CSS:
    • 这个CSS:

      • 在标题底部添加实线边框。
      • 将图像添加到标题的左侧。
      • 设置横幅图像的样式,并应用背景颜色、渐变、填充和位置。

单击这里复制CSS更改,直接粘贴到模板中
模板。限制型心肌病文件
' ' ' {css, echo=FALSE} .title {margin-top: 50px;padding-bottom: 20 px;padding-left: 85 px;背景图片:url(“connect-widgets.png”);Background-size: auto 64px;平铺方式:不再重演;背景图片:居左;} img。横幅{background-color: #303030;padding-left: 550 px; padding-top: 50px; padding-bottom: 50px; backrgound-position: right; background-image: linear-gradient(to left, #303030 40%, white); } ```

下面是渲染输出的一个例子,包括我们所有的自定义:

定制内容的示例。

最后,让我们比较默认模板和应用了自定义CSS更改的模板:

将您的内容发布到Connect

  • 一旦你对你的connectwidgets在RStudio IDE中自定义,发布英格兰vs伊朗让球你的内容连接。

让我们回顾!

✔️你已经安装了connectwidgets
✔️您已经选择了希望显示的组件
✔️您的模板是自定义的
✔️您已经成功地将内容发布到Connect

自定义仪表板

假设您希望用户看到的不是默认的Connect仪表板,而是漂亮的策展的仪表盘是建立与您的connectwidgets项目/app登录Connect后。

设置内容的虚URL路径RootRedirect允许你这么做!
例如:RootRedirect = " / pretty-dashboard”

这是一个很好的方式来展示你的相关内容片段,并将它们作为一个有凝聚力的项目共享。

了解更多RootRedirect继续之前,请参阅RootRedirect章节。

虚荣的URL

  • 导航到Connect服务器的仪表板并打开已发布的connectwidgets内容。
  • 选择访问面板,设置唯一内容的URL并保存更改。

要了解更多信息,请参阅自定义内容URL章节。

RootRedirect

角色:管理员

本节的过程要求您拥有管理权限来编辑Connect配置。如果您没有被授予这些特权,请与组织中的管理员进行协调。

  • 导航到/etc/英格兰vs伊朗让球rstudio-connect / rstudio-connect.gcfg文件。
  • 设置RootRedirect,更新等/ r英格兰vs伊朗让球studio-connect / rstudio-connect.gcfg使用下面的示例文件:

    文件:/etc/rst英格兰vs伊朗让球udio-connect / rstudio-connect.gcfg
    (服务器)RootRedirect“/ pretty-dashboard”

/ pretty-dashboardvalue是您在前一节中为Content URL使用的相同路径。

  • 保存更改并重新启动服务器:

    终端
    systemctl重新启动英格兰vs伊朗让球rstudio-connect

现在,当任何人导航到连接服务器的URL时,他们将被重定向到RootRedirect路径指向你的connectwidgets在虚URL路径上托管的内容。

DashboardPath

等等!您可能想知道,既然RootRedirect带你到你的connectwidgets着陆页?

你可以配置DashboardPath这是连接的仪表板托管的URL路径,允许您继续访问仪表板。

  • 导航到/etc/英格兰vs伊朗让球rstudio-connect / rstudio-connect.gcfg文件。
  • 设置DashboardPath,更新等/ r英格兰vs伊朗让球studio-connect / rstudio-connect.gcfg使用下面的示例文件:

    文件:/etc/rst英格兰vs伊朗让球udio-connect / rstudio-connect.gcfg
    (服务器)DashboardPath“连接/仪表盘”
  • 保存更改并重新启动服务器:

    终端
    systemctl重新启动英格兰vs伊朗让球rstudio-connect
  • 方法导航到连接服务器的IPDashboardPath您在上面配置的:http://your-connect-server-address: 3939 /连接/仪表板/

我该往哪里走?

在这一点上,你知道connectwidgets它是否对您的工作流有用,以及如何实现它。接下来是什么?

当你尝试的时候connectwidgets就您自己而言,这里有一个资源列表,在您实现时可能会有所帮助connectwidgets

任何问题吗?请在这里告诉我们:https://github.com/英格兰vs伊朗让球rstudio/connectwidgets/issues/