<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">

<channel>
<title>Tecno Dgs Blog: MS-CRM 3.0</title>
<link>http://tecnodgs.zoomblog.com/</link>
<description>Hablando de mis experiencias tecnologicas
&#40; MS-CRM, SAP, SharePoint, DotNetNuk</description>
<dc:language>es</dc:language>
<dc:date>2006-10-25T21:04:00-03:00</dc:date>
<lastBuildDate>Tue, 07 Oct 2008 04:33:23 GMT</lastBuildDate>
<sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>
<sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>
<image>
<title>ZoomBlog</title>
<url>http://www.zoomblog.com/pics/blogs/ZoomBlog_mini.gif</url>
<link>http://www.zoomblog.com/</link>
</image>

<item>
 <title>Establecer el LookUp Type por defecto</title>
<link>http://tecnodgs.zoomblog.com/archivo/2006/10/25/establecer-el-Lookup-Type-por-defecto.html</link>
 <guid isPermaLink="true">http://tecnodgs.zoomblog.com/archivo/2006/10/25/establecer-el-Lookup-Type-por-defecto.html</guid>
 <description>
 <![CDATA[
<p>Nuestros usuarios, se quejaban de que al seleccionar los Clientes (al crear casos), les <span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;">aparec&#237;a</span> por default "CUENTA", en lugar de "CONTACTO". En nuestro caso en particular, los casos siempre est&#225;n asociados a contactos, y no a cuentas. Este problema genera principalmente disconformidad en el uso del sistema, adem&#225;s de agregar una selecci&#243;n mas en cada caso que crean.</p>
<p>Encontr&#233; en el blog de <a href="http://www.stunnware.com/crm2/Default2.aspx">stunnware</a> una soluci&#243;n interesante. La cual consiste en incorporar un poco de JavaScript, para cambiar esta configuraci&#243;n en el momento que se carga la pagina. En el ejemplo muestro como hacerlo en Casos, pero es valida para otras entidades</p>
<ol>
<li>Ir a la edici&#243;n del Formulario : Configuraci&#243;n -&gt; <span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;">Personalizaciones</span> -&gt; entidades -&gt; Casos -&gt; Formularios y Vistas -&gt; Formulario </li>
<li>Editar las Propiedades del Formulario. Ah&#237; encontraremos 2 solapas, una Eventos y la otra Dependencias. La que nos interesa es la de eventos.</li>
<li>Dentro de eventos hay 2 : OnLoad, es el Script que se ejecutar&#225; al cargar el formulario. Y OnSave, que se ejecutar&#225; al grabar. el que nos interesa es OnLoad.</li>
<li>Agregar el codigo : <code><br />if (crmForm.all.customerid != null) {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; crmForm.all.customerid.setAttribute("defaulttype","2");<br />}<br /></code>Con esto, le indicamos que el defaultType sea 2 = Contacto ( el valor default de este atributo es 1 = Cuenta )</li>
<li>activar el script. en el Chekbox.</li>
<li>Grabar, y publicar.</li>
<p>Las posibilidades de customizaci&#243;n que tiene MS-CRM 3.0 son increibles.</p></ol>
 ]]>
</description>
 <dc:date>2006-10-25T21:04:00-03:00</dc:date>
 <dc:creator>dgsosa</dc:creator>
</item>

<item>
 <title>Plantillas Visio</title>
<link>http://tecnodgs.zoomblog.com/archivo/2006/09/26/plantillas-Visio.html</link>
 <guid isPermaLink="true">http://tecnodgs.zoomblog.com/archivo/2006/09/26/plantillas-Visio.html</guid>
 <description>
 <![CDATA[
<p>Leo en este <a target="_blank" href="http://www.invokesystems.com/cs/blogs/mscrm/archive/2006/09/25/80.aspx">post</a> de la gente de <span style="font-weight: bold;">Invoke System</span>, que han publicado, una plantilla de Figuras de Visio, para el Dise&#241;o de la interfase de Usuario de CRM:</p> 

<p>Las figuras incluidas son&nbsp; :</p> 

<p></p>
<ul> 

<li>CRM Menu Bar</li> 

<ul> 

<li>Top Menu Item</li> 

<li>Menu Item </li></ul> 

<li>CRM Tool Bar</li> 

<ul> 

<li>Toolbar Button (Icon &amp; Label)</li> 

<li>Toolbar Dropdown</li> 

<li>Spacer</li></ul> 

<li>CRM Form Page</li> 

<ul> 

<li>Tab Control Body</li> 

<li>Tab Control Tab</li> 

<li>Field Control (for Label)</li> 

<li>Section Control</li> 

<li>Textbox</li> 

<li>Radio</li> 

<li>Memo/Notes Control</li> 

<li>Lookup</li> 

<li>Date/Time</li> 

<li>Checkbox</li></ul> 

<li>CRM Home Page</li> 

<ul> 

<li>Left Navigation Bar (W&#252;nderbar)</li> 

<li>Left Navigation Bar Item</li> 

<li>CRM Grid Control</li> 

<ul> 

<li>Grid View Control</li> 

<li>Grid Colum</li></ul></ul> 

<li>All CRM Form Controls support the following features:</li> 

<ul> 

<li>Label &amp; Field Values</li> 

<li>Required Levels: None, Recommended, Required</li> 

<li>Enabled / Disabled</li> 

<li>Hide / Show Label </li></ul> 

<li>Other controls support features that typically "make sense".&nbsp; Be sure to "right-click" on shapes to see all the special properties that are available.</li> 

<ul> 

<li>Tabs can be active or not</li> 

<li>Toolbar Buttons can show Icon only, Label Only, Spacer only or any combination</li> 

<li>Page Controls allow you to set the title </li></ul></ul> 

<p></p>
<p>Pueden bajerlos <a target="_blank" href="http://www.gotdotnet.com/codegallery/releases/checkfordownload.aspx?id=b6499eb0-0eae-4597-b38e-ee9cbc71a404&amp;ReleaseId=7307ac31-b3ce-4b8b-b9f6-d412ddb3ba61">Aqui</a></p> 

<p>Muchisismas gracias al <span style="font-weight: bold;">Visio Shape Development Team de Invoke</span>: Phillip Hunt y Jake HoffnerVer</p>
 ]]>
</description>
 <dc:date>2006-09-26T10:14:00-03:00</dc:date>
 <dc:creator>dgsosa</dc:creator>
</item>

<item>
 <title>Error IE 6</title>
<link>http://tecnodgs.zoomblog.com/archivo/2006/09/20/error-Ie-6.html</link>
 <guid isPermaLink="true">http://tecnodgs.zoomblog.com/archivo/2006/09/20/error-Ie-6.html</guid>
 <description>
 <![CDATA[
<p>Seg&#250;n el art&#237;culo <a target="_blank" href="http://support.microsoft.com/?id=923996"><b><i>"Cuando visita una p&#225;gina Web que usa un objeto emergente personalizado, Internet Explorer 6 se cierra inesperadamente."</i></b></a>, que fue publicado el d&#237;a 4/9, el problema de los Men&#250;s de CRM era provocado por un error en el IExplorer. Y comentado en <a href="http://www.invokesystems.com/cs/blogs/mscrm/archive/2006/09/20/75.aspx" target="_blank">InvokeSystems</a> y en <a href="http://icu-mscrm.blogspot.com/2006/09/ie6-error-in-crm-update-released.html" target="_blank">I.C.U CRM</a></p>
<p>Resumen art&#237;culo:</p><blockquote cite="http://support.microsoft.com/?id=923996">
<p>Cuando visita una p&#225;gina Web que usa un objeto emergente personalizado,Microsoft Internet Explorer 6 se cierra inesperadamente y genera unerror en el archivo Mshtml.dll. Este problema se produce despu&#233;s deinstalar la actualizaci&#243;n de seguridad 918899 en un equipo basado en elService Pack 2 (SP2) de Windows XP o en el Service Pack 1 (SP1) deWindows Server 2003. Si se ve afectado gravemente por este problema,hay disponible un hotfix. De lo contrario, recomendamos que espere a lasiguiente actualizaci&#243;n de seguridad acumulativa para Internet Explorer.</p></blockquote>
<p>Para solucionarlo hay que aplicar un &#233;ste <a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?displaylang=es&amp;FamilyID=ff9bc431-01f3-48e8-9a58-d701d2e60c1d">HotFix</a> que fue liberado el d&#237;a 19/9, (es una descarga con Validaci&#243;n de Windows Genuino).</p>
 ]]>
</description>
 <dc:date>2006-09-20T14:27:00-03:00</dc:date>
 <dc:creator>dgsosa</dc:creator>
</item>

<item>
 <title>Acceso a Casos vias WebService</title>
<link>http://tecnodgs.zoomblog.com/archivo/2006/09/14/acceso-a-Casos-vias-Webservice.html</link>
 <guid isPermaLink="true">http://tecnodgs.zoomblog.com/archivo/2006/09/14/acceso-a-Casos-vias-Webservice.html</guid>
 <description>
 <![CDATA[
<p>Es este ejemplo, la idea es mostrar como, hacer una encuesta,
que se comunique con CRM, por medio de los WebServices y que a partir
de la respuesta de la misma, pueda cerrar el caso ( incident ) , adem&#225;s
de almacenar los resultados en una tabla ( en una base separada ) para
luego hacer estad&#237;sticas sobre el resultado de las mismas.</p>
<p>Es una pagina asp.net que recibe como par&#225;metro el "Nro de
Caso" (ticketnumber) de un caso (incident).&nbsp; Muestra el
Cliente, el Titulo y la Descripci&#243;n del caso. Para ello se conecta al
WebService y hace un Query con el nro de caso y los &#237;tems a elegir de
la encuesta. (En este caso en particular son 4 preguntas con 4 opciones
cada una) y un Bot&#243;n "Enviar".</p> 
<p>Al "Enviar"
(dependiendo del par&#225;metro "CerrarEncuesta")&nbsp; crea una
resoluci&#243;n de caso, la asocia al caso, y env&#237;a la petici&#243;n de
resoluci&#243;n por medio del servicio. Poniendo como descripci&#243;n de la
resoluci&#243;n, la respuesta de la encuesta. Adem&#225;s, graba un registro en
la tabla de datos de la encuesta.</p> 
<p>El
c&#243;digo:</p> 
<p>Esta funci&#243;n, devuelve una instancia del
WebService, usando las credenciales
correspondientes.</p><code>Private Function Login() As
CrmService<br /><br />&nbsp;&nbsp;&nbsp; '
funci&#243;n Login ()<br />&nbsp;&nbsp;&nbsp; ' Toma los
parametros del Web.config, y se loguea en el webservice<br /><br />&nbsp;&nbsp;&nbsp; Dim MyService As New
CrmService<br /><br />&nbsp;&nbsp;&nbsp; Dim
CRMServiceUser As String =
ConfigurationSettings.AppSettings("CRMServiceUser")<br />&nbsp;&nbsp;&nbsp; Dim CRMServicePass As String =
ConfigurationSettings.AppSettings("CRMServicePass")<br />&nbsp;&nbsp;&nbsp; Dim CRMServiceDominio As String =
ConfigurationSettings.AppSettings("CRMServiceDominio")<br /><br />&nbsp;&nbsp;&nbsp; ' Si el parametro
CRMServiceUser esta vacio,<br />&nbsp;&nbsp;&nbsp; '
utiliza las credenciales del usuario que lo est&#225; corriendo<br />&nbsp;&nbsp;&nbsp; If IsNothing(CRMServiceUser)
Then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
MyService.Credentials =
System.Net.CredentialCache.DefaultCredentials<br />&nbsp;&nbsp;&nbsp; Else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
MyService.Credentials = New
System.Net.NetworkCredential(CRMServiceUser, CRMServicePass,
CRMServiceDominio)<br />&nbsp;&nbsp;&nbsp; End
If<br />&nbsp;&nbsp;&nbsp; Return MyService<br />End Function<br /><br /></code> 
<p>Esta
funci&#243;n, retorna un caso (incident) a partir del Nro de Caso
(string)</p><code>Private Function GetCaso(ByVal NroCaso As
String) As incident<br />&nbsp;&nbsp;&nbsp; ' funci&#243;n
GetCaso ()<br />&nbsp;&nbsp;&nbsp; ' Parametros :
Numero de caso ( ticketnumber ) del caso que se quiere mostrar<br />&nbsp;&nbsp;&nbsp; ' Retorna : un Caso ( incident
)<br /><br />&nbsp;&nbsp;&nbsp; ' DEfinir las
columnas a recibir<br />&nbsp;&nbsp;&nbsp; Dim cols
As New ColumnSet<br />&nbsp;&nbsp;&nbsp;
cols.Attributes = New String() {"title", "description", "customerid",
"ticketnumber", "ownerid", "statecode"}<br />&nbsp;&nbsp;&nbsp; ' Definir las Condiciones<br />&nbsp;&nbsp;&nbsp; Dim condition As New
ConditionExpression<br />&nbsp;&nbsp;&nbsp;
condition.AttributeName = "ticketnumber"<br />&nbsp;&nbsp;&nbsp; condition.Operator =
ConditionOperator.Like<br />&nbsp;&nbsp;&nbsp;
condition.Values = New String() {NroCaso}<br /><br />&nbsp;&nbsp;&nbsp; ' Armar el filtro con las
condiciones<br />&nbsp;&nbsp;&nbsp; Dim filter As New
FilterExpression<br />&nbsp;&nbsp;
&nbsp;filter.FilterOperator = LogicalOperator.And<br />&nbsp;&nbsp; &nbsp;filter.Conditions = New
ConditionExpression() {condition}<br />&nbsp;&nbsp;
&nbsp;<br />&nbsp;&nbsp; &nbsp;' Crear el Query
con las Columnas y el filtro<br />&nbsp;&nbsp;
&nbsp;Dim query As New QueryExpression<br />&nbsp;&nbsp; &nbsp;query.EntityName =
EntityName.incident.ToString<br />&nbsp;&nbsp;
&nbsp;query.ColumnSet = cols<br />&nbsp;&nbsp;
&nbsp;query.Criteria = filter<br />&nbsp;&nbsp;
&nbsp;<br />&nbsp;&nbsp; &nbsp;Try<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; '
Ejecutar el query<br />&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; Dim Casos As
BusinessEntityCollection = service.RetrieveMultiple(query)<br />&nbsp;&nbsp; &nbsp;<br />&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; If
Casos.BusinessEntities.Length = 1 Then<br />&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Dim caso As incident<br />&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
caso = Casos.BusinessEntities(0)<br />&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Return caso<br />&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; Else<br />&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Return Nothing<br />&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; End If<br />&nbsp;&nbsp; &nbsp;Catch e As Exception<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;
Return Nothing<br />&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp; 'Stop<br />&nbsp;&nbsp; &nbsp;End Try<br />End
Function</code> 
<p>Esta funci&#243;n, recibe por par&#225;metro el
caso (incident) y el texto que ira en la descripci&#243;n. Retorna
Verdadero, si pudo cerrar el caso.&nbsp; Podr&#237;a no poder hacerlo si
se encuentra Actividades pendientes, en el caso. O si es caso ya
estuviera cerrado.</p><code>Private Function
CloseCaso(ByVal caso As incident, ByVal TxtEncuesta As String) As
Boolean<br />&nbsp;&nbsp;&nbsp; ' funci&#243;n CloseCaso
()<br />&nbsp;&nbsp;&nbsp; ' Parametros :&nbsp;
Caso ( incident ) que se quiere cerrar<br />&nbsp;&nbsp;&nbsp;
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
TxtEncuesta : texto que se va a incluir<br />&nbsp;&nbsp;&nbsp;
'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
como descripcion del cierre del caso (incidentresolution)<br />&nbsp;&nbsp;&nbsp; ' Retorna : True si OK<br /><br />&nbsp;&nbsp;&nbsp; If caso.statecode.Value
&lt;&gt; IncidentState.Activo Then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Return False<br />&nbsp;&nbsp;&nbsp; Else<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Dim activity As New incidentresolution<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
activity.incidentid = New Lookup<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
activity.incidentid.type = EntityName.incident.ToString()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
activity.incidentid.Value = caso.incidentid.Value<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
activity.ownerid = New Owner<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
activity.ownerid.type = EntityName.systemuser.ToString()<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
activity.ownerid.Value = caso.ownerid.Value<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
activity.subject = SUBJECT_RESULUCION_CASO<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
activity.description = TxtEncuesta.ToString<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Dim closeReq As New CloseIncidentRequest<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
closeReq.IncidentResolution = activity<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
closeReq.Status = -1<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
' Cierra el caso<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Try<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Dim stateSet As CloseIncidentResponse =
CType(service.Execute(closeReq), CloseIncidentResponse)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Return True<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Catch e As Exception<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
'Stop<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Return False<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
End Try<br /><br />&nbsp;&nbsp;&nbsp; End
If<br /><br />End Function</code>
 ]]>
</description>
 <dc:date>2006-09-14T16:00:00-03:00</dc:date>
 <dc:creator>dgsosa</dc:creator>
</item>

<item>
 <title>Aumentando la velocidad de CRM</title>
<link>http://tecnodgs.zoomblog.com/archivo/2006/09/08/aumentando-la-velocidad-de-Crm.html</link>
 <guid isPermaLink="true">http://tecnodgs.zoomblog.com/archivo/2006/09/08/aumentando-la-velocidad-de-Crm.html</guid>
 <description>
 <![CDATA[
<p style="font-family: Verdana,Arial,Helvetica,sans-serif; text-align: justify;" class="MsoNormal"><font size="2">Encontr&#233; en el <a href="http://blogs.msdn.com/joris_kalz/archive/2006/08/09/Caching_Tool.aspx" target="_blank">Blog de Joris Kalz</a> un excelente programita (un Servicio), que Pre-Cachea las p&#225;ginas de CRM (y seg&#250;n el autor podr&#237;a cachear cualquier otra aplicaci&#243;n Web). Esto permite que al ser solicitadas, ya las tenga en memoria el IIS con lo cual son entregadas al Cliente en forma casi instant&#225;nea. <br /><br /> Lo he probado en nuestra instalaci&#243;n y he logrado bajar violentamente los tiempos de respuestas. Por ejemplo: el traer la grilla con 50 Casos tardaba unos 2-3 seg., con la utilizaci&#243;n del pre-cache, es instant&#225;neo.<br /><br /> La instalaci&#243;n es muy sencilla, y su configuraci&#243;n tambi&#233;n. Para instalarlo, solo hay que ejecutar el setup, poner el usuario que va a correr el servicio y listo. El Servicio es instalado en: <span style="font-family: Courier New,Courier,mono; font-style: italic;">&lt;Archivos de Programas&gt;/CRMTools/Caching Tool </span>. Al reiniciar el Server ya estar&#225; cacheando las paginas indicadas en el archivo <span style="font-style: italic; font-family: Courier New,Courier,mono;">URLList.txt</span> (que ya viene preparado con una muy amplia cantidad de paginas de CRM). Se puede usar para cachear cualquier otra aplicaci&#243;n Web. Solo hay que editar el archivo de configuraci&#243;n<br /><br /> Puedes bajarlo aqu&#237; : <a href="http://microsoft_crm.kalz.de/SharedFiles/MicrosoftCRM/CachingTool/CachingTool.zip" target="_blank">CachingTool.zip</a>. tambi&#233;n esta disponible el c&#243;digo fuente <a href="http://microsoft_crm.kalz.de/SharedFiles/MicrosoftCRM/CachingTool/SourceCode.zip" target="_blank">SourceCode.zip</a><br /> Requiere tener instalado .Net Framework 2.0 y el fuente, esta en VS.2005<br /><br /> Pr&#243;ximos pasos : Probarlo para cachear paginas de DNN y ver como responde.</font></p>   
<hr style="width: 100&#37;; height: 2px;" />
 ]]>
</description>
 <dc:date>2006-09-08T09:44:00-03:00</dc:date>
 <dc:creator>Diego</dc:creator>
</item>

</channel>
</rss>

