<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Efficy Overflow Q&amp;A - Recent questions tagged widget</title>
<link>https://overflow.efficy.io/?qa=tag/widget</link>
<description>Powered by Question2Answer</description>
<item>
<title>Setting default widget list per user group</title>
<link>https://overflow.efficy.io/?qa=7102/setting-default-widget-list-per-user-group</link>
<description>&lt;p&gt;Hi everyone !&lt;/p&gt;

&lt;p&gt;Maybe is it a stupid question but i havn't found any documentation on how to add default widgets to the dashboard of a group of user.&lt;/p&gt;

&lt;p&gt;We are switching from efficy 11 to 12 and we have a large custom to adapt to the specifications of v12.&lt;br&gt;
Previously we made changes to the WidgetsTody.htm file but now that there is some change in v12 for the widgets (making them a system entity) i'm unable to reproduce its comportment.&lt;/p&gt;

&lt;p&gt;If not possible could we at least pre load the favorite widget list when user is trying to add a widget ?&lt;/p&gt;

&lt;p&gt;Thanks in advance&lt;/p&gt;
</description>
<category>Efficy/ Client side</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=7102/setting-default-widget-list-per-user-group</guid>
<pubDate>Fri, 06 Sep 2024 09:35:27 +0000</pubDate>
</item>
<item>
<title>Show iframe widget with parameters in URL</title>
<link>https://overflow.efficy.io/?qa=7017/show-iframe-widget-with-parameters-in-url</link>
<description>&lt;p&gt;We have a PowerBi report I want to show via an iFrame in the dashboard of a customer.&lt;br&gt;
I can add the iFrame url but I would need to dynamically add the {KEY} of the customer as a filter in URL so the iFrame report is filterd on the correct customer.&lt;/p&gt;

&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://app.powerbi.com/reportEmbed?reportId=5...&amp;amp;pageName=ReportSection...&amp;amp;filter=Efficy_x0020_uitvoer/CompaniesKey&quot;&gt;https://app.powerbi.com/reportEmbed?reportId=5...&amp;amp;pageName=ReportSection...&amp;amp;filter=Efficy_x0020_uitvoer/CompaniesKey&lt;/a&gt; eq &lt;strong&gt;{KEY}&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This should be the result&lt;br&gt;
&lt;img src=&quot;https://overflow.efficy.io/?qa=blob&amp;amp;qa_blobid=5229034214917148809&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;
</description>
<category>Efficy/ Client side</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=7017/show-iframe-widget-with-parameters-in-url</guid>
<pubDate>Mon, 08 Jan 2024 10:22:27 +0000</pubDate>
</item>
<item>
<title>How can we integrate AmCharts 5 in Efficy 12?</title>
<link>https://overflow.efficy.io/?qa=6983/how-can-we-integrate-amcharts-5-in-efficy-12</link>
<description>&lt;p&gt;This is my example code, but the Widget window stays blanc&lt;/p&gt;

&lt;p&gt;&quot;MacroWidgetCustom.txt&quot;&lt;br&gt;
    /* &lt;em&gt;macrofile=MacroWidgets&amp;amp;&lt;/em&gt;macro=am5Demo */&lt;br&gt;
am5Demo {[&lt;br&gt;
&amp;lt;%UseScript('custom/js/amcharts5/index', fixedline=T)%&amp;gt;&lt;br&gt;
&amp;lt;%UseScript('custom/js/amcharts5/percent', fixedline=T)%&amp;gt;&lt;br&gt;
&amp;lt;%UseScript('custom/js/amcharts5/themes/Animated', fixedline=T)%&amp;gt;&lt;br&gt;
&lt;br&gt;
    #chartdiv2 {&lt;br&gt;
        width: 100%;&lt;br&gt;
        height: 100%;&lt;br&gt;
    }&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
    // Create root and chart&lt;br&gt;
var root = am5.Root.new(&quot;chartdiv2&quot;);&lt;/p&gt;

&lt;p&gt;root.setThemes([&lt;br&gt;
  am5themes_Animated.new(root)&lt;br&gt;
]);&lt;/p&gt;

&lt;p&gt;var chart1 = root.container.children.push(&lt;br&gt;
  am5percent.PieChart.new(root, {})&lt;br&gt;
);&lt;/p&gt;

&lt;p&gt;// Define data&lt;br&gt;
var data1 = [{&lt;br&gt;
  country: &quot;France&quot;,&lt;br&gt;
  sales: 100000&lt;br&gt;
}, {&lt;br&gt;
  country: &quot;Spain&quot;,&lt;br&gt;
  sales: 160000&lt;br&gt;
}, {&lt;br&gt;
  country: &quot;United Kingdom&quot;,&lt;br&gt;
  sales: 80001&lt;br&gt;
}];&lt;/p&gt;

&lt;p&gt;// Create series&lt;br&gt;
var series1 = chart1.series.push(&lt;br&gt;
  am5percent.PieSeries.new(root, {&lt;br&gt;
name: &quot;Series&quot;,&lt;br&gt;
valueField: &quot;sales&quot;,&lt;br&gt;
categoryField: &quot;country&quot;&lt;br&gt;
  })&lt;br&gt;
);&lt;/p&gt;

&lt;p&gt;series1.data.setAll(data1);&lt;/p&gt;

&lt;p&gt;// Disabling labels and ticks&lt;br&gt;
series1.labels.template.set(&quot;visible&quot;, false);&lt;br&gt;
series1.ticks.template.set(&quot;visible&quot;, false);&lt;/p&gt;

&lt;p&gt;series1.slices.template.states.create(&quot;active&quot;, {&lt;br&gt;
  shiftRadius: 0,&lt;br&gt;
  stroke: am5.color(0x995522),&lt;br&gt;
  strokeWidth: 5&lt;br&gt;
});&lt;br&gt;
&lt;br&gt;
&lt;/p&gt;&lt;div id=&quot;chartdiv2&quot;&gt;&lt;/div&gt;&lt;br&gt;
]}

&lt;p&gt;Download site:&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.amcharts.com/download/&quot;&gt;https://www.amcharts.com/download/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Download files:&lt;br&gt;
&lt;a rel=&quot;nofollow&quot; href=&quot;https://www.amcharts.com/dl/amcharts5/&quot;&gt;https://www.amcharts.com/dl/amcharts5/&lt;/a&gt;&lt;/p&gt;
</description>
<category>Efficy/ Client side</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=6983/how-can-we-integrate-amcharts-5-in-efficy-12</guid>
<pubDate>Wed, 04 Oct 2023 08:32:26 +0000</pubDate>
</item>
<item>
<title>Widget Efficy 11.3 type Grid and Export Excel</title>
<link>https://overflow.efficy.io/?qa=5502/widget-efficy-11-3-type-grid-and-export-excel</link>
<description>&lt;p&gt;A customer would like to be able to export the Grids in widgets in Excel Format.&lt;/p&gt;

&lt;p&gt;Is it possible and does anyone already have done something similar ?&lt;/p&gt;
</description>
<category>Efficy/ Client side</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=5502/widget-efficy-11-3-type-grid-and-export-excel</guid>
<pubDate>Tue, 30 Jun 2020 15:32:44 +0000</pubDate>
</item>
<item>
<title>RSS widget in Efficy 11.3 ?</title>
<link>https://overflow.efficy.io/?qa=5501/rss-widget-in-efficy-11-3</link>
<description>&lt;p&gt;Is it possible in 11.3 to add an RSS feed as a widget?&lt;br&gt;
Like there was in Efficy 2012 ?&lt;/p&gt;
</description>
<category>Efficy/ Client side</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=5501/rss-widget-in-efficy-11-3</guid>
<pubDate>Fri, 26 Jun 2020 09:46:14 +0000</pubDate>
</item>
<item>
<title>Widget security</title>
<link>https://overflow.efficy.io/?qa=5370/widget-security</link>
<description>&lt;p&gt;Hello,&lt;/p&gt;

&lt;p&gt;Is it possible, in Efficy 11.3, to restrict the availability/visibility of a widget to only a specific group?&lt;/p&gt;

&lt;p&gt;In other words, is it possible to restrict some widgets in terms of security?&lt;/p&gt;

&lt;p&gt;Thank you.&lt;/p&gt;

&lt;p&gt;Ken&lt;/p&gt;
</description>
<category>Efficy/ Client side</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=5370/widget-security</guid>
<pubDate>Fri, 20 Mar 2020 11:05:38 +0000</pubDate>
</item>
<item>
<title>Show iframe widget with parameters</title>
<link>https://overflow.efficy.io/?qa=5258/show-iframe-widget-with-parameters</link>
<description>&lt;p&gt;Efficy 11.3 is able to show a static Iframe as far as I can see here: &lt;a rel=&quot;nofollow&quot; href=&quot;https://help.efficy.com/edn/admin/crft_11_kpi_widg&quot;&gt;https://help.efficy.com/edn/admin/crft_11_kpi_widg&lt;/a&gt;&lt;br&gt;
Is it possible to add a dynamic key to the URL, for example like Macros: &lt;code&gt;&amp;amp;key={key}&lt;/code&gt; &lt;br&gt;
or is there any other way to create dyamic content in Efficy which shows information from other webbased applications or SQL-server Report server?&lt;/p&gt;
</description>
<category>Efficy/ Client side</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=5258/show-iframe-widget-with-parameters</guid>
<pubDate>Mon, 27 Jan 2020 15:32:02 +0000</pubDate>
</item>
<item>
<title>Unable to get Widget Macro to work in 11.3</title>
<link>https://overflow.efficy.io/?qa=5257/unable-to-get-widget-macro-to-work-in-11-3</link>
<description>&lt;p&gt;We've got a macro which used to work in Efficy 11.1. The macro is supposed to show the project area at the dashboard tab. But in 11.3 it is not showing anything.&lt;/p&gt;

&lt;p&gt;In 11.3 we tried to add the same widget again, but now using the new widget entity. The Macro-widget is loaded using: &lt;em&gt;macrofile=MacroWidgets&amp;amp;&lt;/em&gt;macro=Projectgrens&amp;amp;key={key}&lt;/p&gt;

&lt;p&gt;Should this still work in 11.3? And if so, any idea what is going wrong here?&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Projectgrens.Oppo [
&amp;lt;%LoadScript(&quot;serverscripts/Projectgrens.js&quot;)%&amp;gt;

 &amp;lt;link rel=&quot;stylesheet&quot; href=&quot;https://unpkg.com/leaflet@1.5.1/dist/leaflet.css&quot;
  integrity=&quot;sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ==&quot;
  crossorigin=&quot;&quot;/&amp;gt;

&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;
var geojsonFeature;
$( document ).ready(function() {
geojsonFeature = &amp;lt;%RunScript(&quot;getOppoCoordinates&quot;)%&amp;gt;;
oppoReference = &amp;lt;%RunScript(&quot;getOppoReference&quot;)%&amp;gt;;
var oppoKey = &amp;lt;%GetArgument('key', context=ATTR)%&amp;gt;;
run(geojsonFeature, oppoKey);
});

function run(json, oppoKey) {
var mymap = L.map('mapid');

L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', {
maxZoom: 18,
attribution: 'Map data &amp;amp;copy; &amp;lt;a href=&quot;https://www.openstreetmap.org/&quot;&amp;gt;OpenStreetMap&amp;lt;/a&amp;gt; contributors, ' +
'&amp;lt;a href=&quot;https://creativecommons.org/licenses/by-sa/2.0/&quot;&amp;gt;CC-BY-SA&amp;lt;/a&amp;gt;, ' +
'Imagery © &amp;lt;a href=&quot;https://www.mapbox.com/&quot;&amp;gt;Mapbox&amp;lt;/a&amp;gt;',
id: 'mapbox.streets'
}).addTo(mymap);

var geojsonLayer = L.geoJSON(json).addTo(mymap);
mymap.fitBounds(geojsonLayer.getBounds());

var popup = L.popup();

function onMapClick(e) {
popup
.setLatLng(e.latlng)
.setContent('&amp;lt;a href=&quot;https://projecten.cobra360.nl/index.php?@projecten&amp;amp;id=' + oppoReference + '&quot; target=&quot;_blank&quot;&amp;gt; Klik hier om de projectenviewer te openen&amp;lt;/a&amp;gt;')
.openOn(mymap);
}

mymap.on('click', onMapClick);
}

&amp;lt;/script&amp;gt;
&amp;lt;div id=&quot;mapid&quot; style=&quot;width: 100%; height: 400px;&quot;&amp;gt;&amp;lt;/div&amp;gt; 
]
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>Efficy/ Client side</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=5257/unable-to-get-widget-macro-to-work-in-11-3</guid>
<pubDate>Mon, 27 Jan 2020 15:06:11 +0000</pubDate>
</item>
<item>
<title>Widget dashboard list columns definition</title>
<link>https://overflow.efficy.io/?qa=5208/widget-dashboard-list-columns-definition</link>
<description>&lt;p&gt;Hi,&lt;br&gt;
I got a problem with column definition on dashboard widget of type list.&lt;br&gt;
I made a selection with this structure: &lt;br&gt;
tables: actions, acti&lt;em&gt;comp, companies&lt;br&gt;
fields: k&lt;/em&gt;action, subject, done, d&lt;em&gt;begin, name, k&lt;/em&gt;company&lt;/p&gt;

&lt;p&gt;on column section I show k&lt;em&gt;action, k&lt;/em&gt;company, name(comp) {DEFAULT} or {EDIT}&lt;/p&gt;

&lt;p&gt;But when I click on Name an error occur because the key is the k&lt;em&gt;action and not the k&lt;/em&gt;company.&lt;br&gt;
javascript:view('Comp', XXXXX)  XXXX = k_action &lt;br&gt;
I try the same case without custom and got the same result.&lt;/p&gt;
</description>
<category>Efficy Partners</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=5208/widget-dashboard-list-columns-definition</guid>
<pubDate>Fri, 17 Jan 2020 09:52:39 +0000</pubDate>
</item>
<item>
<title>Calculate the total of column in a grid widget</title>
<link>https://overflow.efficy.io/?qa=5076/calculate-the-total-of-column-in-a-grid-widget</link>
<description>&lt;p&gt;Hello Efficy community,&lt;/p&gt;

&lt;p&gt;I am upgrading our Efficy from 11.1 to 11.3.&lt;br&gt;
In the 11.1 version we used a lot of macros to create widgets according to our style.&lt;br&gt;
However, in the new 11.3 version we try to implement those macros as a grid, so that with future upgrades those widgets will be upgradet as well.&lt;/p&gt;

&lt;p&gt;Now I got the following 'problem'. In 11.1 we calculated the total of some columns, like this:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://overflow.efficy.com/?qa=blob&amp;amp;qa_blobid=15475150802595058183&quot; alt=&quot;Example of expected output&quot;&gt;&lt;/p&gt;

&lt;p&gt;However, when creating the widget as a grid, this seems to be no option (yet).&lt;br&gt;
Do I miss something? Or will this be an option within future releases of Efficy?&lt;/p&gt;

&lt;p&gt;I am looking forward to the responses!&lt;/p&gt;
</description>
<category>Efficy/ Client side</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=5076/calculate-the-total-of-column-in-a-grid-widget</guid>
<pubDate>Tue, 26 Nov 2019 12:19:28 +0000</pubDate>
</item>
<item>
<title>Issues with using $KEY$ in native SQL-query widgets</title>
<link>https://overflow.efficy.io/?qa=5030/issues-with-using-key-in-native-sql-query-widgets</link>
<description>&lt;p&gt;We've got a native SQL query in Efficy containing the parameter &lt;code&gt;...where K_PROJECT = :param1&lt;/code&gt;&lt;br&gt;
When creating a widget out of this I read in the &lt;a rel=&quot;nofollow&quot; href=&quot;https://help.efficy.com/edn/admin/crft_11_kpi_widg_grid&quot;&gt;documentation&lt;/a&gt; it should be possible to use the widget within a project dashboard using $KEY$ as variable. So I added the $key$ as parameter and used 'Element' as type for the widget. See screenshot. &lt;img src=&quot;https://overflow.efficy.com/?qa=blob&amp;amp;qa_blobid=8790121401626813556&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;

&lt;p&gt;When executing the query from Queries directly, it works fine. But when requesting the data using a widget within the project dashboard, the data cannot be retrieved. See screenshot. Any ideas what is going wrong here?&lt;br&gt;
&lt;img src=&quot;https://overflow.efficy.com/?qa=blob&amp;amp;qa_blobid=10588912999353082467&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;
</description>
<category>Efficy/ Client side</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=5030/issues-with-using-key-in-native-sql-query-widgets</guid>
<pubDate>Thu, 14 Nov 2019 13:32:25 +0000</pubDate>
</item>
<item>
<title>Access the table &quot;sys_changed&quot; with queries module (and KPI)</title>
<link>https://overflow.efficy.io/?qa=4922/access-the-table-syschanged-with-queries-module-and-kpi</link>
<description>&lt;p&gt;Hello the team, &lt;/p&gt;

&lt;p&gt;One of my customer would like to create KPI (with the widget module), based on the sys_changed table. They would like to know when and who change the value of the field &quot;status&quot;.&lt;/p&gt;

&lt;p&gt;Is that possible to get this in a widget (without developing the widget himself, but the access to the sys_changed table).&lt;/p&gt;

&lt;p&gt;I wrote this query a long time ago, in pure SQL to do that (can probably be improved) : &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;select 
(select name from opportunities where k_opportunity = sc.K_1) as name,
(select status from lk_oppo_status where k_oppo_status = sc.comment ) as 'Before change',
sc.d_change, 
(select status from lk_oppo_status where k_oppo_status = 
       ( select COMMENT from 
             (
                    select top 2 comment, K_3, K_TABLE, K_1, D_CHANGE, Row_Number() over (order by d_change) as rownum 
                    from SYS_CHANGED 
                    where d_change &amp;gt; sc.d_change and K_TABLE = sc.k_table and k_3 = sc.k_3  and K_1 = sc.k_1
             ) as sc2
       where sc2.K_3 = sc.K_3 and sc2.K_TABLE = sc.K_TABLE and sc2.K_1 = sc.K_1 and rownum = 1
)
) as 'After change',
( select D_CHANGE from 
       (
             select top 2 comment, K_3, K_TABLE, K_1, D_CHANGE, Row_Number() over (order by d_change) as rownum 
             from SYS_CHANGED 
             where d_change &amp;gt; sc.d_change and K_TABLE = sc.k_table and k_3 = sc.k_3  and K_1 = sc.k_1
       ) as sc2
where sc2.K_3 = sc.k_3 and sc2.K_TABLE = sc.K_TABLE and sc2.K_1 = sc.K_1 and rownum = 1
) as 'after change date'
from sys_changed as sc
where sc.K_TABLE = 22000 and sc.k_3 = 12  and year(d_change) &amp;gt; 2015 and (select nature from r_opportunities where k_opportunity = sc.K_1)  = 6
order by d_change desc
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Regards, &lt;/p&gt;

&lt;p&gt;Loïc&lt;/p&gt;
</description>
<category>Efficy/ Client side</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=4922/access-the-table-syschanged-with-queries-module-and-kpi</guid>
<pubDate>Tue, 15 Oct 2019 16:30:15 +0000</pubDate>
</item>
<item>
<title>error when add widget in local: TWidgetRequestHandler - Required Argument not found: &quot;ITEMS&quot;</title>
<link>https://overflow.efficy.io/?qa=4459/error-widget-local-twidgetrequesthandler-required-argument</link>
<description>&lt;p&gt;Hi,&lt;br&gt;
I am in local in efficy 11.2 &lt;br&gt;
I had the following error in the console when I want to press ok to add a widget in local.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Access to XMLHttpRequest at 'https://xxxx.efficytest.com/crm/widget?action=todayadd' from origin 'http://127.0.0.1:1026' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;then I changed my appBase in the custom.js&lt;/p&gt;

&lt;p&gt;and now it shows me another error;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;TWidgetRequestHandler - Required Argument not found: &quot;ITEMS&quot; 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;at this in the Base.js:  &lt;code&gt;errorfunc(msg.replace(/&quot;/g,'&quot;'), det);&lt;/code&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;function IsNotEfficyErrorHtml(html, errorfunc) {
if (typeof errorfunc !== 'function') {
errorfunc = (typeof console === 'object' &amp;amp;&amp;amp; typeof console.log === 'function') ? console.log.bind(console) : function () {};
}
var errPos = html.indexOf('&amp;lt;span id=&quot;error-message&quot;&amp;gt;');
var tagPos = html.indexOf('&amp;lt;!--ISEFFICYERROR--&amp;gt;'); // will be -1 if html is a memo where a user copied and pasted the error page, HTML comments do not get copied
if (errPos &amp;gt;= 0 &amp;amp;&amp;amp; tagPos &amp;gt;= 0) {
var msg = html.substring(errPos + 25,html.indexOf('&amp;lt;/span&amp;gt;', errPos + 25)); // = html.match(/&amp;lt;span id=&quot;ErrorMsg&quot;&amp;gt;((.|[\r\n])*)&amp;lt;\/span&amp;gt;/)[1] but IE has regex issues
var detPos = html.indexOf('&amp;lt;div id=&quot;Scrollbox&quot;&amp;gt;', errPos);
var det = (detPos &amp;gt;=0) ? html.substring(detPos + 20,html.indexOf('&amp;lt;/div&amp;gt;', detPos + 20)).replace(/&quot;/g,'&quot;') : '';
if (errorfunc === alert)
msg = msg.replace(/&amp;lt;br&amp;gt;/g,'\n').replace(/[\n\r]+/, '\n');
errorfunc(msg.replace(/&quot;/g,'&quot;'), det);
return false;
}
else {
return true
}
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;any ideas what's wrong ?&lt;/p&gt;
</description>
<category>Efficy/ Client side</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=4459/error-widget-local-twidgetrequesthandler-required-argument</guid>
<pubDate>Thu, 13 Jun 2019 18:04:35 +0000</pubDate>
</item>
<item>
<title>Hide widgets in overview when not applicable</title>
<link>https://overflow.efficy.io/?qa=3319/hide-widgets-in-overview-when-not-applicable</link>
<description>&lt;p&gt;Several entities have an Overview tab with several widgets. I would like to make it possible to hide when they are not applicable. This can be the case when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;there is no content. For example no recent emails.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;the widget does not meet criteria I determine on the backend (I also need to know how to define these criteria). For example we've got an overview tab at the project entity, but I would like to show or hide certain widgets depending on the type of project.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;the user has no rights to see the widget &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;optional: every user can define by himself to collapse a certain widget like the dashboard/ startscreen of Efficy.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;How should I manage the widgets in such a way that I can meet the criteria above? Would be great if there are more options to make the widgets more flexible.&lt;/p&gt;

&lt;p&gt;Thanks for your help!&lt;/p&gt;
</description>
<category>Efficy/ Client side</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=3319/hide-widgets-in-overview-when-not-applicable</guid>
<pubDate>Tue, 19 Jun 2018 10:01:00 +0000</pubDate>
</item>
<item>
<title>retrieve text argument from url</title>
<link>https://overflow.efficy.io/?qa=2856/retrieve-text-argument-from-url</link>
<description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;For a custom widget I need to get back a text argument &lt;br&gt;
In the macro file I have : dialog?entity=Acti&amp;amp;&lt;em&gt;MACRO=CustomsCharts&amp;amp;widgetId=1&amp;amp;queryId=857&amp;amp;chartType=pie&amp;amp;&lt;/em&gt;MACROFILE=......&lt;/p&gt;

&lt;p&gt;and  at the bottom of the file&lt;br&gt;
CustomsCharts {[&lt;br&gt;
    &lt;br&gt;
    alert(' arg : ' +&amp;lt;%GetArgument(&quot;chartType&quot;)%&amp;gt;)&lt;br&gt;
    &lt;br&gt;
]}&lt;/p&gt;

&lt;p&gt;the alert show nothing but if i change &quot;pie&quot; to a number is working ??&lt;br&gt;
So How can get my pie text back ?&lt;/p&gt;
</description>
<category>Efficy Partners</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=2856/retrieve-text-argument-from-url</guid>
<pubDate>Tue, 26 Dec 2017 17:01:22 +0000</pubDate>
</item>
<item>
<title>display external web page in widget</title>
<link>https://overflow.efficy.io/?qa=2827/display-external-web-page-in-widget</link>
<description>&lt;p&gt;Hi,&lt;br&gt;
I try to display an external web page in an iFrame inside a widget but I got this error;&lt;br&gt;
Refused to display '&lt;a rel=&quot;nofollow&quot; href=&quot;http://www.xxx.fr/&quot;&gt;http://www.xxx.fr/&lt;/a&gt;' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.&lt;br&gt;
Is there a way to set the iFrame to by pass this problem&lt;/p&gt;
</description>
<category>Efficy Partners</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=2827/display-external-web-page-in-widget</guid>
<pubDate>Tue, 12 Dec 2017 11:08:52 +0000</pubDate>
</item>
<item>
<title>Force Widget to specific user(s)</title>
<link>https://overflow.efficy.io/?qa=2683/force-widget-to-specific-user-s</link>
<description>&lt;p&gt;Probably a simple one, &lt;br&gt;
but never done it before an maybe handy for everyone,&lt;/p&gt;

&lt;p&gt;How can we push a (new) widget on the dashboard of specific user(s) ?&lt;br&gt;
with an sql script maybe ?&lt;/p&gt;
</description>
<category>Efficy/ Client side</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=2683/force-widget-to-specific-user-s</guid>
<pubDate>Fri, 08 Sep 2017 14:48:28 +0000</pubDate>
</item>
<item>
<title>How would I create a new widget? Is there a how to guide?</title>
<link>https://overflow.efficy.io/?qa=2631/how-would-i-create-a-new-widget-is-there-a-how-to-guide</link>
<description>&lt;p&gt;Hi all!&lt;/p&gt;

&lt;p&gt;I need to integrate the result of a query into a new widget.&lt;br&gt;
What's the best practice to do this? There is nothing in edn!?&lt;/p&gt;

&lt;p&gt;This is what I did, but I think I am missing something here:&lt;/p&gt;

&lt;p&gt;Edit MacroWidgetsCustom.txt and add somthing like:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;CustomerAnniversaries {[&amp;lt;%LoadScript(&quot;serverscripts/Global.js&quot;)%&amp;gt;                                     
    &amp;lt;%RunQuery(id=&quot;CustomerAnniversaries&quot;, store=&quot;59&quot;, SQL=&quot;exec  ADMINALS.CUSTOM_CONT_ANNIVERSARIES :p1;&quot;, Param1=&quot;%%GetUserKey()&quot;)%&amp;gt;
    &amp;lt;%GetDataGrid(query=&quot;CustomerAnniversaries&quot;, columndefs=&quot;GridColumns.txt&quot;, entity=&quot;CONT&quot;, noheader=true, count=-1, columns=&quot;SampleColumn1,SampleColumn2,SampleColumn3,SampleColumn4&quot;)%&amp;gt;
]}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Then edit:MacroDashBoardCustom.txt and add&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&amp;lt;%Macro(&quot;WidgetTemplate59&quot;, $MACRO$=&quot;TodayWidget&quot;, $COLLAPSE$=&quot;0&quot;)%&amp;gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;like &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ContainerWidgetsDefault3 {[
&amp;lt;%Macro(&quot;WidgetTemplate59&quot;, $MACRO$=&quot;TodayWidget&quot;, $COLLAPSE$=&quot;0&quot;)%&amp;gt;
]}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&quot;Refresh Settings&quot; in Admin....&lt;/p&gt;

&lt;p&gt;Bute the Widget won't show up the the widget list ...&lt;br&gt;
What is wrong here?&lt;/p&gt;

&lt;p&gt;Thank you&lt;br&gt;
Tim&lt;/p&gt;
</description>
<category>Efficy/ Client side</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=2631/how-would-i-create-a-new-widget-is-there-a-how-to-guide</guid>
<pubDate>Wed, 26 Jul 2017 15:07:54 +0000</pubDate>
</item>
<item>
<title>is it possible to create a multiple drilldown with HighCharts</title>
<link>https://overflow.efficy.io/?qa=2467/is-it-possible-to-create-multiple-drilldown-with-highcharts</link>
<description>&lt;p&gt;I want to display CA for family product then be able to down to the articles in this families.&lt;br&gt;
I try this but drilldown doesn't work if I have double call. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here the code into my macro&lt;/strong&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;div id=&quot;containerCommCAProd&quot; style=&quot;height: 260px; margin: 0 auto; overflow: hidden&quot;&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;%LoadScript(&quot;serverscripts/Highcharts.js&quot;)%&amp;gt;
&amp;lt;script&amp;gt;
    &amp;lt;%Macro(&quot;HighChartsTheme&quot;)%&amp;gt;
    this._chart = new Highcharts.Chart({
        chart: {
            renderTo: 'containerCommCAProd',
            type: 'column'
        },
        title: {
            text: 'CA Mensuel'
        },
        xAxis: {
            type: 'category'
        },
        yAxis: {
             title: {
                text: 'CA'
            }
        },
        legend: {
            enabled: true
        },
        plotOptions: {
            series: {
                borderWidth: 0,
                dataLabels: {
                    enabled: true,
                    overflow:&quot;none&quot;,
                    crop:false,
                    rotation: 310,
                    x: 4,
                    y: -15
                }
            }

        }
        ,
        series :[ {name: 'Produit', colorByPoint: true, 
        &amp;lt;%RunScript(&quot;GetFirstDrillDown&quot;, CompID=&quot;%%GetKey()&quot;,UserId=&quot;%%GetUserKey()&quot;,Type=&quot;CA&quot;,detail=&quot;%%GetDetail()&quot;)%&amp;gt;}
        ]
        ,
        drilldown : {
            series : [{name: 'Article', colorByPoint: true, data: [
            &amp;lt;%RunScript(&quot;GetSecondDrillDown&quot;, CompID=&quot;%%GetKey()&quot;,UserId=&quot;%%GetUserKey()&quot;,Type=&quot;CA&quot;,detail=&quot;%%GetDetail()&quot;)%&amp;gt;], 
            drilldown : {
                series : [&amp;lt;%RunScript(&quot;GetThirdDrillDown&quot;, CompID=&quot;%%GetKey()&quot;,UserId=&quot;%%GetUserKey()&quot;,Type=&quot;CA&quot;,detail=&quot;%%GetDetail()&quot;)%&amp;gt;]
            }
        }]
        }
    });
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;here the statics test data I inject &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GetFirstDrillDown :&lt;/strong&gt; &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ChartKey =&quot;data: [&quot;
    ChartKey +=&quot;{name: 'Beurre au 01/2016', y: 56.33, drilldown: 'BEURRE-01-2016'},{name: 'Chevre au 01/2016', y: 20.10, drilldown: 'CHEVRE-01-2016'}&quot;
    ChartKey +=&quot;]&quot;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;GetSecondDrillDown :&lt;/strong&gt; &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ChartKey = &quot;{ name: 'BEURRE', id: 'BEURRE-01-2016', data: [['BEURRE NIZO',30.12],['BEURRE-BIO', 15.26, {name:'BEURRE-BIO-01-2016', y:15.26, drilldown: 'BEURRE-BIO-01-2016'}],['BEURRE AOC',10.48]]}&quot;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;GetThirdDrillDown :&lt;/strong&gt; &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;ChartKey =&quot;{ name: 'BEURRE BIO', id: 'BEURRE-BIO-01-2016', data: [['BEUR DSELMER BIO GFERM 250GC3K',30.12],['BEURRE DSEL BIO GFERM 250G C5K',15.26],['BEUR DX BIO BDA PAIN5K B540KPB',10.48]]}&quot;
&lt;/code&gt;&lt;/pre&gt;
</description>
<category>Efficy/ Client side</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=2467/is-it-possible-to-create-multiple-drilldown-with-highcharts</guid>
<pubDate>Thu, 04 May 2017 10:28:04 +0000</pubDate>
</item>
<item>
<title>Who want the birthday widget back? there it is</title>
<link>https://overflow.efficy.io/?qa=2223/who-want-the-birthday-widget-back-there-it-is</link>
<description>&lt;p&gt;Dear partners and Efficy workers, &lt;/p&gt;

&lt;p&gt;as far as I work with Efficy, The birthday widget is here to help me to remember the birthday of my pretty awesome coworkers. &lt;/p&gt;

&lt;p&gt;since Pascal is out of the serverscripts language I ve remake the widget with real improvement.&lt;br&gt;
Have it as a tribute to the community that loved it. &lt;/p&gt;

&lt;p&gt;in macroWidgetsCustom this will add the entry in the available widget list only for the users of the SPECIAL group : &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;WidgetTemplate5@SPECIAL {[&amp;lt;%Macro(&quot;$MACRO$&quot;, $KEY$=5, $KIND$=&quot;Macro&quot;, $TITLE$=&quot;Today's Birthdays&quot;,
    $ICON$=&quot;../efficy/img/user16.gif&quot;, $COLLAPSED$=&quot;$COLLAPSE$&quot;, $SENTITY$=&quot;User&quot;,
    $CONFIG$=|{url:&quot;dialog?entity=Acti&amp;amp;_MACRO=BirthdayEfficy&amp;amp;_MACROFILE=MacroWidgets.txt&quot;}|)%&amp;gt;]}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;In the same file : This will drag the magic back on line : &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;BirthdayEfficy [
    &amp;lt;%LoadScript(&quot;serverscripts/NL_server_birthday.js&quot;)%&amp;gt;
    &amp;lt;%RunScript(&quot;getBirthdays&quot;)%&amp;gt;
]
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;then add a NL&lt;em&gt;server&lt;/em&gt;birthday.js file in your custom/serverscripts with this content : &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;function getBirthdays(){
    var result = '&amp;lt;table style=&quot;width: 100%; margin-bottom: 0px;&quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;th colspan=2&amp;gt;A venir&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;';

    var picBirthday = '&amp;lt;img src=&quot;&amp;lt;%GetCustomBase()%&amp;gt;img/birthday2.gif&quot; style=&quot;width: 100%;&quot;/&amp;gt;';
    var isBirthday = false;

    var 
        qh = 0,
        context = Database.OpenTemporaryContext(),
        sql = &quot;&quot;;

    sql += &quot;select TOP 3 &quot;;
    sql += &quot;    U.FULLNAME  &quot;;
    sql += &quot;    ,left(convert(nvarchar(10), C.BIRTHDAY, 103), 5) as birthday  &quot;;
    sql += &quot;    ,case when cast(getdate() as date) &amp;gt; cast(year(getdate()) as nvarchar(4)) + right(convert(nvarchar(8),C.BIRTHDAY,112), 4) &quot;;
    sql += &quot;        then cast(year(getdate()) +1 as nvarchar(4)) + right(convert(nvarchar(8),C.BIRTHDAY,112), 4) &quot;;
    sql += &quot;        else cast(year(getdate()) as nvarchar(4)) + right(convert(nvarchar(8),C.BIRTHDAY,112), 4) &quot;;
    sql += &quot;    end as nextBirthday &quot;;
    sql += &quot;    ,case when getdate() &amp;gt; cast(year(getdate()) as nvarchar(4)) + right(convert(nvarchar(8),C.BIRTHDAY,112), 4) &quot;;
    sql += &quot;        then datediff(day, GETDATE(), cast(year(getdate()) +1 as nvarchar(4)) + right(convert(nvarchar(8),C.BIRTHDAY,112), 4)) &quot;;
    sql += &quot;        else datediff(day, GETDATE(), cast(year(getdate()) as nvarchar(4)) + right(convert(nvarchar(8),C.BIRTHDAY,112), 4)) &quot;;
    sql += &quot;    end as daysToBirthday &quot;;

    sql += &quot;from  &quot;;
    sql += &quot;    ADMIN.ACC_ACCOUNTS U &quot;;
    sql += &quot;    inner join ADMIN.CONTACTS C on C.K_CONTACT = U.K_CONTACT &quot;;
    sql += &quot;where C.BIRTHDAY is not null &quot;;
    sql += &quot;order by  &quot;;
    sql += &quot;    case when cast(getdate() as date) &amp;gt; cast(year(getdate()) as nvarchar(4)) + right(convert(nvarchar(8),C.BIRTHDAY,112), 4) &quot;;
    sql += &quot;        then datediff(day, GETDATE(), cast(year(getdate()) +1 as nvarchar(4)) + right(convert(nvarchar(8),C.BIRTHDAY,112), 4)) &quot;;
    sql += &quot;        else datediff(day, GETDATE(), cast(year(getdate()) as nvarchar(4)) + right(convert(nvarchar(8),C.BIRTHDAY,112), 4)) &quot;;
    sql += &quot;    end asc&quot;;

    var ds = Database.ExecuteSystemSQLQuery(qh, context, sql, &quot;&quot;, true, true, 1);
    ds.First;

    var today = new NL_date();
    today = today.toString(&quot;dd/MM&quot;);

    while (!ds.EoF) {
        if (today == ds.FieldByName(&quot;birthday&quot;).AsString) {
            result = '&amp;lt;table style=&quot;width: 100%; margin-bottom: 0px;&quot;&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;th colspan=2&amp;gt;C\'est le grand jour&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;';
            result += '&amp;lt;tr&amp;gt;&amp;lt;td colspan=2&amp;gt;' + ds.FieldByName(&quot;FULLNAME&quot;).AsString + '&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;';
            result += '&amp;lt;tr&amp;gt;&amp;lt;th colspan=2&amp;gt;A venir&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;';
            isBirthday = true;
        }
        else{
            result += &quot;&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&quot; + ds.FieldByName(&quot;FULLNAME&quot;).AsString + &quot;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&quot; + ds.FieldByName(&quot;birthday&quot;).AsString + &quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&quot;;
        }

        ds.Next;
    }

    result += &quot;&amp;lt;/table&amp;gt;&quot;;

    result = (isBirthday)? picBirthday + result: result;

    return result
}

function NL_date(_date){
    this.date;

    this.date = (_date)? _date : new Date();
}

NL_date.prototype.toString = function(_format){


    var result = &quot;&quot;;

    var yyyy = this.date.getFullYear().toString();
    var MM = (this.date.getMonth()+1).toString();
    var dd  = this.date.getDate().toString();

    dd = (dd.length == 2)? dd: &quot;0&quot; + dd;
    MM = (MM.length == 2)? MM: &quot;0&quot; + MM;

    result = (_format)? _format: &quot;yyyyMMdd&quot;;
    result = result.replace(/yyyy/i, yyyy);
    result = result.replace(/MM/, MM);
    result = result.replace(/dd/i, dd);

    return result;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Feel free to change the Ugly hardcoded labels I ve used in there... (line 2 and 42)&lt;br&gt;
And finally add in your custom/img folder a gif you want to appear for the birthday (i ve called it 100% width it s going to be huge^^)&lt;/p&gt;

&lt;p&gt;I personnaly recommand my selection : &lt;/p&gt;

&lt;p&gt;&lt;a rel=&quot;nofollow&quot; href=&quot;https://media.giphy.com/media/ToMjGpM3hk5UL5UMQ4o/giphy.gif&quot;&gt;https://media.giphy.com/media/ToMjGpM3hk5UL5UMQ4o/giphy.gif&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;have the preview here : &lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;https://media.giphy.com/media/ToMjGpM3hk5UL5UMQ4o/giphy.gif&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;

&lt;p&gt;Last part add  the users you want to a group called SPECIAL (don't add your boss imho)&lt;/p&gt;

&lt;p&gt;Enjoy&lt;/p&gt;
</description>
<category>Efficy Partners</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=2223/who-want-the-birthday-widget-back-there-it-is</guid>
<pubDate>Tue, 24 Jan 2017 16:27:22 +0000</pubDate>
</item>
<item>
<title>how to consider my new tab as an Ovrw tab?</title>
<link>https://overflow.efficy.io/?qa=377/how-to-consider-my-new-tab-as-an-ovrw-tab</link>
<description>&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;I created a new tab in an entity consult, I named it &lt;strong&gt;Frma&lt;/strong&gt;. This tab displays widget but buttons from widgetheader are not working.&lt;/p&gt;

&lt;p&gt;This is the widget code :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;OvrwQualifications {[   
      &amp;lt;div class=&quot;Widget&quot; _key=&quot;$KEY$&quot; _icon=&quot;$ICON$&quot; _kind=&quot;$KIND$&quot; _title=&quot;$TITLE$&quot; 
    _link=&quot;$LINK$&quot; _hint=&quot;$HINT$&quot; _collapsed=&quot;$COLLAPSED$&quot; _config='$CONFIG$'&amp;gt;      
                  &amp;lt;%Macro(&quot;**WidgetHeader**&quot;, $ENTETE$=&quot;$TITLE$&quot;)%&amp;gt;         
                   &amp;lt;div id=&quot;Qualifications&quot; class=&quot;WidgetBody WidgetKind$KIND$ has-icons&quot;&amp;gt;                  &amp;lt;/div&amp;gt;  
     &amp;lt;/div&amp;gt; ]}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;When i called the same widget in the Overview tab, it worked correctly. &lt;/p&gt;

&lt;p&gt;So the question is how to consider my &lt;strong&gt;Frma&lt;/strong&gt; tab as an &lt;strong&gt;Ovrw&lt;/strong&gt; tab?&lt;/p&gt;

&lt;p&gt;I created the Frma Tab as follow :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;    DetailCommands..Frma {[#EMPTY#]}
    DetailSwitch..Frma {[&amp;lt;%Macro(&quot;DetailSpecial&quot;%&amp;gt;]}
    DetailSpecial..Frma {[  
        &amp;lt;div id=&quot;dash-board&quot;&amp;gt;
            &amp;lt;div class=&quot;Widgetbox&quot; rel=&quot;1&quot; style=&quot;width:49.7%; float:left&quot;&amp;gt;
                &amp;lt;%Macro(&quot;OvrwQualifications &quot;, rights=&quot;&quot;, $SENTITY$=&quot;&quot;, $KEY$=1,
                                 $KIND$=&quot;Page&quot;, $TITLE$=&quot;Metiers&quot;, $ICON$=&quot;&quot;, $LINK$=&quot;&quot;, 
                                 $HINT$=&quot;&quot;,  $CONFIG$=|{noreload:true, noclose:true}|)%&amp;gt;
            &amp;lt;/div&amp;gt;
            &amp;lt;div class=&quot;clear&quot;&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;br&amp;gt;
        &amp;lt;/div&amp;gt;
    ]}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Thanks in advance,&lt;br&gt;
Cyril&lt;/p&gt;
</description>
<category>Efficy Developers</category>
<guid isPermaLink="true">https://overflow.efficy.io/?qa=377/how-to-consider-my-new-tab-as-an-ovrw-tab</guid>
<pubDate>Wed, 06 May 2015 09:23:04 +0000</pubDate>
</item>
</channel>
</rss>