<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Screenshot Widget in Web AppBuilder Custom Widgets Questions</title>
    <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/screenshot-widget/m-p/779946#M2520</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="https://community.esri.com/migrated-users/40673"&gt;2CDSD 2C&lt;/A&gt;‌ &lt;A href="https://community.esri.com/migrated-users/185543"&gt;Nico Luus&lt;/A&gt;‌ I will look in to it! I am currently porting a variety of 1.x sites to WAB with much customization.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 09 Feb 2017 19:35:32 GMT</pubDate>
    <dc:creator>Anonymous User</dc:creator>
    <dc:date>2017-02-09T19:35:32Z</dc:date>
    <item>
      <title>Screenshot Widget</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/screenshot-widget/m-p/779940#M2514</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: bold; font-size: 18.6667px;"&gt;&lt;STRONG&gt;&lt;SPAN style="border: 0px; color: #3a0699; font-weight: inherit; text-decoration: underline; font-size: 18.6667px;"&gt;Screenshot&lt;/SPAN&gt;&lt;SPAN style="border: 0px; color: #3a0699; font-weight: inherit; font-size: 18.6667px;"&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff; border: 0px; color: #3d3d3d; font-weight: normal; font-size: 15px;"&gt;(WAB 1.x works / WAB 2.x unknown)&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;This widget is designed to take a screenshot of the entire viewport of the WebApp window. Widget bar and all. It then prompts the user to open or save it as an image file. Note: this wdget requires PHP.&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;Screenshot widget at &lt;A href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fgithub.com%2Fkevinsagis%2FScreenshotDemo%2F" rel="nofollow" style="color: #287433; border: 0px; font-weight: inherit; padding: 0px calc(12px + 0.35ex) 0px 0px;" target="_blank"&gt;kevinsagis/ScreenshotDemo · GitHub&lt;/A&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;Widget demo at:&amp;nbsp; &lt;A href="https://cloud.sagis.org/screenshotwidget" rel="nofollow" style="color: #287433; border: 0px; font-weight: inherit; padding: 0px calc(12px + 0.35ex) 0px 0px;" target="_blank"&gt;screenshotwidget&lt;/A&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;Why is Screenshot useful? Maybe your users want to see "exactly what you are seeing" which was my user request. This is powered by html2canvas, canvas to blob, and filesaver.js, Credits in documentation.&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: bold;"&gt;&lt;STRONG&gt;&lt;SPAN style="border: 0px; font-weight: inherit;"&gt;&lt;EM&gt;Status:&lt;/EM&gt;&lt;/SPAN&gt; 1.0 b 1 -- &lt;/STRONG&gt;&lt;/SPAN&gt;&amp;nbsp; Screenshot &lt;SPAN style="border: 0px; font-weight: inherit; text-decoration: underline;"&gt;works&lt;/SPAN&gt; now, as in this link, with WebApp Builder 1.x. &amp;nbsp;It is unknown if working in WAB 2.x. Note sometimes there are minor graphical oddities like the button's CSS but these limitations are well explained by the html2canvas author Niklas. Also, minor caveat, at small-scale levels, i.e. zoomed out farther than 20,000, sometimes esri basemap tiles will not load. this appears to be a caveat with html2canvas and sporadic. Report results back. For our purposes this widget now works great!&amp;nbsp; I may turn it into a 'feedback' widget in the future.&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;I am using this proxy:&amp;nbsp; &lt;A href="https://community.esri.com/external-link.jspa?url=https%3A%2F%2Fgithub.com%2Fbrcontainer%2Fhtml2canvas-php-proxy" rel="nofollow" style="color: #287433; border: 0px; font-weight: inherit; padding: 0px calc(12px + 0.35ex) 0px 0px;" target="_blank"&gt;brcontainer/html2canvas-php-proxy · GitHub&lt;/A&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;Note as this uses PHP. There are also Python and ASP.NET proxies. These do not work inside WebApp Builder! WebApp Builder runs on node.js.&amp;nbsp; PHP will run inside node.js but only after you install some other libraries.&amp;nbsp; The simple solution I elected to follow is to put this widget into your application after Downloading it out of WebApp Builder, and tweak it after downloading, if desired.\&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;&lt;SPAN style="border: 0px; font-weight: bold;"&gt;&lt;STRONG&gt;Screenshot "Alternate Version" 1.0:&lt;/STRONG&gt;&lt;/SPAN&gt;&amp;nbsp; If you need a true screenshot, use this:&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;Demo site:&amp;nbsp;&lt;A href="https://cloud.sagis.org/screenshotaltvers" rel="nofollow" style="color: #287433; border: 0px; font-weight: inherit; padding: 0px calc(12px + 0.35ex) 0px 0px;" target="_blank"&gt;screenshotaltvers&amp;nbsp;&lt;/A&gt;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;Git: &lt;SPAN style="color: #2989c5; border: 0px; font-weight: inherit;"&gt;kevinsagis/ScreenshotAlternateVers · GitHub&lt;/SPAN&gt;&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P style="background-color: #ffffff; border: 0px;"&gt;It is just About with text instructing users to leverage the screenshot capability built in to the operating system (Windows).&amp;nbsp; For Mac, you'd add the text to press "&lt;SPAN style="color: #6a6a6a; border: 0px; font-weight: bold; font-size: small;"&gt;Command&lt;/SPAN&gt;&lt;SPAN style="color: #545454; border: 0px; font-weight: inherit; font-size: small;"&gt; (⌘)-&lt;/SPAN&gt;&lt;SPAN style="color: #6a6a6a; border: 0px; font-weight: bold; font-size: small;"&gt;Shift&lt;/SPAN&gt;&lt;SPAN style="color: #545454; border: 0px; font-weight: inherit; font-size: small;"&gt;-&lt;/SPAN&gt;&lt;SPAN style="color: #6a6a6a; border: 0px; font-weight: bold; font-size: small;"&gt;3&lt;/SPAN&gt;".&amp;nbsp; This is probably a better method anyway if you need a true screenshot. Javascript can never really do a true screenshot, by design, for security.&amp;nbsp; The Screenshot 1.0 original version just copies the DOM to a new canvas object, then other code pipes it to a Save As.&amp;nbsp;&amp;nbsp; This 'alternate' widget has users leverage the screenshot Windows / MacOS provide.&amp;nbsp; You can edit the text easily in this because it is actually just the About widget.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Jan 2017 20:43:24 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/screenshot-widget/m-p/779940#M2514</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2017-01-10T20:43:24Z</dc:date>
    </item>
    <item>
      <title>Re: Screenshot Widget</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/screenshot-widget/m-p/779941#M2515</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Not sure I 'get' the screen shot widget. &amp;nbsp;Id much prefer to use some other 3rd party tool such as GreenShot to do a faster screen shot and also have the added benefit ability to highlight, mark up, create arrows or even obfuscate sensitive data. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG class="image-1 jive-image" src="https://community.esri.com/legacyfs/online/299273_pastedImage_1.png" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Jan 2017 23:53:38 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/screenshot-widget/m-p/779941#M2515</guid>
      <dc:creator>MichaelRobb</dc:creator>
      <dc:date>2017-01-10T23:53:38Z</dc:date>
    </item>
    <item>
      <title>Re: Screenshot Widget</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/screenshot-widget/m-p/779942#M2516</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;There was a user request for us to replicate the Adobe Flash 'Screenshot' widget from Flex builder, if you have seen that. Of course it is impossible to grab a screenshot through Javascript, it being a security issue. However, what this does is replicate it a shadow regeneration of the DOM. This sometimes causes issues. It may or may not be useful to folks though, as it should re-create the toolbar etc. &amp;nbsp;However, I settled upon directing users to employ the Windows screenshot key with a 'hint' in an About widget with instructions. I posted this here in case it is of use to others..&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 11 Jan 2017 17:21:07 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/screenshot-widget/m-p/779942#M2516</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2017-01-11T17:21:07Z</dc:date>
    </item>
    <item>
      <title>Re: Screenshot Widget</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/screenshot-widget/m-p/779943#M2517</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Kevin, thanks for the app. It was very easy to implement with your instructions. &amp;nbsp;All panes, pop-ups &amp;amp; the basemap captures perfectly.&lt;/P&gt;&lt;P&gt;However for some reason the layers are not pulled through. &amp;nbsp;Also if I have a chart widget open the values don't pull through and it will show "null" values. &amp;nbsp;Have you come across this yet and have any idea to fix it?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Jan 2017 14:00:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/screenshot-widget/m-p/779943#M2517</guid>
      <dc:creator>NicoLuus</dc:creator>
      <dc:date>2017-01-25T14:00:09Z</dc:date>
    </item>
    <item>
      <title>Re: Screenshot Widget</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/screenshot-widget/m-p/779944#M2518</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This widget is nice, although i can't get it to work with Web Appbuilder 2.2.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Jan 2017 21:51:32 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/screenshot-widget/m-p/779944#M2518</guid>
      <dc:creator>CCWeedcontrol</dc:creator>
      <dc:date>2017-01-26T21:51:32Z</dc:date>
    </item>
    <item>
      <title>Re: Screenshot Widget</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/screenshot-widget/m-p/779945#M2519</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi 2CDSD 2C,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Up to which point do you come that you say the widget does not work for WAB 2.2?&lt;/P&gt;&lt;P&gt;I find that whenever I add the widget to the list.json, all the other widgets also dissapear in the WAB "Choose Widget" screen.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Feb 2017 09:44:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/screenshot-widget/m-p/779945#M2519</guid>
      <dc:creator>NicoLuus</dc:creator>
      <dc:date>2017-02-09T09:44:14Z</dc:date>
    </item>
    <item>
      <title>Re: Screenshot Widget</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/screenshot-widget/m-p/779946#M2520</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="https://community.esri.com/migrated-users/40673"&gt;2CDSD 2C&lt;/A&gt;‌ &lt;A href="https://community.esri.com/migrated-users/185543"&gt;Nico Luus&lt;/A&gt;‌ I will look in to it! I am currently porting a variety of 1.x sites to WAB with much customization.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 09 Feb 2017 19:35:32 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/screenshot-widget/m-p/779946#M2520</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2017-02-09T19:35:32Z</dc:date>
    </item>
    <item>
      <title>Re: Screenshot Widget</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/screenshot-widget/m-p/779947#M2521</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="https://community.esri.com/migrated-users/83912"&gt;Kevin MacLeod&lt;/A&gt;‌ - &lt;SPAN style="color: #000000;"&gt;do you have a version of this that works with 2.13?&lt;/SPAN&gt;&amp;nbsp; The &lt;A href="https://community.esri.com/migrated-users/2691"&gt;custom widget list indicates compatibility with 2.x versions is or was unknown.&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;I downloaded the code I could find on &lt;A href="https://github.com/kevinsagis/ScreenshotDemo/"&gt;GitHub&lt;/A&gt; and added it to an app but I don't think it's actually taking a screenshot.&amp;nbsp; I did update the proxy line (42) in widget.js to the full path of my app + /widgets/Screenshot/tml2canvasproxy.php.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Jul 2020 16:37:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/screenshot-widget/m-p/779947#M2521</guid>
      <dc:creator>AdamGebhart</dc:creator>
      <dc:date>2020-07-27T16:37:06Z</dc:date>
    </item>
    <item>
      <title>Re: Screenshot Widget</title>
      <link>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/screenshot-widget/m-p/779948#M2522</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;A href="https://community.esri.com/migrated-users/87360"&gt;Adam Gebhart&lt;/A&gt; It's been a long time. It was working great with earlier versions like 2.5 or 2.6. However, the main issue was it was not a "screen shot" per se, but a re-creation of the DOM. It would sometimes be missing elements. A more modern approach with React and virtual DOM (VDOM) might work great. This one was 90%-ish and so while it may work for very simple use cases, for heavily customized WebApp Builder Developer it may not be appropriate. The "goal" was to re-create the old Screenshot widget in Flash. The reason it worked well in Flash was that Flash punched a hole in the browser security model and actually allowed for a true screenshot. Of course JavaScript alone can't command the OS-level of a screenshot. And using the open source libraries to re-create the DOM I had hoped would work well enough but frankly, while it mostly works, with older 2.x WebApp versions, I would recommend starting from scratch and looking into ReactJS and VDOM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Jul 2020 22:11:28 GMT</pubDate>
      <guid>https://community.esri.com/t5/web-appbuilder-custom-widgets-questions/screenshot-widget/m-p/779948#M2522</guid>
      <dc:creator>Anonymous User</dc:creator>
      <dc:date>2020-07-27T22:11:28Z</dc:date>
    </item>
  </channel>
</rss>

