<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Patrick Howard</title>
    <description>The latest articles on DEV Community by Patrick Howard (@phoward38).</description>
    <link>https://dev.to/phoward38</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F577995%2Ff3891c92-a108-4b74-aed2-2f48b2959054.png</url>
      <title>DEV Community: Patrick Howard</title>
      <link>https://dev.to/phoward38</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/phoward38"/>
    <language>en</language>
    <item>
      <title>polished 0.6.0 is now on CRAN!</title>
      <dc:creator>Patrick Howard</dc:creator>
      <pubDate>Thu, 24 Feb 2022 18:14:59 +0000</pubDate>
      <link>https://dev.to/tychobra/polished-060-is-now-on-cran-359n</link>
      <guid>https://dev.to/tychobra/polished-060-is-now-on-cran-359n</guid>
      <description>&lt;p&gt;The newest release of &lt;code&gt;polished&lt;/code&gt;, 0.6.0, is now on CRAN.  The biggest user facing enhancement of this release is the new ability to secure R Markdown documents using Polished Auth. The secured R Markdown output can be a static document, or it can use the &lt;code&gt;shiny&lt;/code&gt; runtime. We discussed this capability in more detail in a &lt;a href="https://www.tychobra.com/posts/2022-02-10-secure-rmd/" rel="noopener noreferrer"&gt;previous post here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Another welcome addition in this release is the ability to access each &lt;code&gt;polished&lt;/code&gt; users' data via the &lt;code&gt;session$user&lt;/code&gt; object.  By default, &lt;code&gt;polished&lt;/code&gt; now passes the signed in user's data to &lt;code&gt;session$user&lt;/code&gt;.  This won't break any of your existing &lt;code&gt;polished&lt;/code&gt; Shiny apps as the signed in user's data will always still be available at &lt;code&gt;session$userData$user()&lt;/code&gt; as it has been in all previous &lt;code&gt;polished&lt;/code&gt; releases.  &lt;/p&gt;

&lt;p&gt;&lt;code&gt;Polished&lt;/code&gt; has historically stored the user's data at this &lt;code&gt;session$userData$user()&lt;/code&gt; location because that is where &lt;code&gt;shiny&lt;/code&gt; recommends &lt;code&gt;shiny&lt;/code&gt; developers and package authors store arbitrary user data.  However, as long as you are not using an RStudio hosting option, &lt;code&gt;session$user&lt;/code&gt; is usually unused, and, with &lt;code&gt;polished&lt;/code&gt;, you can now use it as an alias to &lt;code&gt;session$userData$user()&lt;/code&gt;. If you need access to &lt;code&gt;session$user&lt;/code&gt; as set by RStudio Connect (or another RStudio hosting option), set the &lt;code&gt;override_user&lt;/code&gt; argument of &lt;code&gt;polished_config()&lt;/code&gt; to &lt;code&gt;FALSE&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The largest change in this release was an internal refactor of many of the objects and functions for managing Polished Auth.  We switched from using a single large &lt;code&gt;R6&lt;/code&gt; class to a base R environment and regular R functions (rather than &lt;code&gt;R6&lt;/code&gt; methods).  This change was inspired by our development efforts on a new package, &lt;code&gt;polishedpayments&lt;/code&gt;. &lt;code&gt;polishedpayments&lt;/code&gt; makes it easy to add Stripe payments to your &lt;code&gt;polished&lt;/code&gt; Shiny app. &lt;code&gt;polishedpayments&lt;/code&gt; sits between  &lt;code&gt;polished&lt;/code&gt; and your custom Shiny app. It needs to intercept the &lt;code&gt;polished&lt;/code&gt; user and handle the user based on your selected &lt;code&gt;polished&lt;/code&gt; and &lt;code&gt;polishedpayments&lt;/code&gt; options before passing the user along to your Shiny app.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--OJcR_2bL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/dxqnb8xjb/image/upload/v1645627927/auth-payments-diagram.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OJcR_2bL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://res.cloudinary.com/dxqnb8xjb/image/upload/v1645627927/auth-payments-diagram.png" width="445" height="716"&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;In our earlier development of &lt;code&gt;polishedpayments&lt;/code&gt;, we were having difficulty integrating &lt;code&gt;polishedpayments&lt;/code&gt; with &lt;code&gt;polished&lt;/code&gt;. After this refactor, the integration is much more seamless. We plan to continue development on other R packages that similarly provide middleware between the &lt;code&gt;polished&lt;/code&gt; users and the your custom &lt;code&gt;polished&lt;/code&gt; Shiny app. We will share more details on &lt;code&gt;polishedpayments&lt;/code&gt; and how you can write similar packages in upcoming blog posts. In the meantime, the source code for &lt;code&gt;polishedpayments&lt;/code&gt; can be found &lt;a href="https://github.com/Tychobra/polishedpayments" rel="noopener noreferrer"&gt;here&lt;/a&gt; &amp;amp; the development version of the package can be installed with &lt;code&gt;remotes::install_github("Tychobra/polishedpayments")&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;There are several other minor updates in this &lt;code&gt;polished&lt;/code&gt; release.  See the &lt;a href="https://github.com/Tychobra/polished/releases/tag/v0.6.0" rel="noopener noreferrer"&gt;release notes&lt;/a&gt; for a full list of updates.&lt;/p&gt;

&lt;p&gt;Please subscribe below if you'd like to be notified when new blog posts are released. As always, please reach out if you have suggestions, feedback, or just want to get in touch!&lt;/p&gt;

</description>
      <category>rstats</category>
      <category>shiny</category>
      <category>opensource</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Securing RMarkdown Documents</title>
      <dc:creator>Patrick Howard</dc:creator>
      <pubDate>Thu, 17 Feb 2022 01:22:52 +0000</pubDate>
      <link>https://dev.to/tychobra/securing-rmarkdown-documents-50po</link>
      <guid>https://dev.to/tychobra/securing-rmarkdown-documents-50po</guid>
      <description>&lt;p&gt;You can now use the &lt;code&gt;R&lt;/code&gt; package &lt;code&gt;polished&lt;/code&gt; to secure RMarkdown (&lt;code&gt;.Rmd&lt;/code&gt;) documents that use the &lt;code&gt;shiny&lt;/code&gt; runtime. This includes &lt;code&gt;flexdashboard&lt;/code&gt;s! &lt;/p&gt;

&lt;p&gt;Check out the &lt;a href="https://www.tychobra.com/posts/2022-02-10-secure-rmd/" rel="noopener noreferrer"&gt;full blog post here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>r</category>
      <category>rmarkdown</category>
      <category>security</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
