<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1178145461688012054</id><updated>2011-11-28T01:14:58.369+01:00</updated><category term='Web Services en los eventos'/><category term='Cargar un picklist'/><category term='Integración CRM en MOSS2007'/><category term='Autenticación CRM 4.0 y 3.0'/><title type='text'>CRM for all</title><subtitle type='html'>Adaptando la tecnología a los negocios!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://crm4all.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1178145461688012054/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://crm4all.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jose Manuel González Cívicos</name><uri>http://www.blogger.com/profile/08458915700357165239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_7bkOqZcASV0/R63yxjkWR7I/AAAAAAAAAAM/y9ACHUHh1Ls/S220/DSC00147.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1178145461688012054.post-4441708527572901199</id><published>2008-03-02T13:38:00.005+01:00</published><updated>2008-03-02T14:08:31.071+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Autenticación CRM 4.0 y 3.0'/><title type='text'>Autenticación en CRM 4.0 y 3.0</title><content type='html'>El sistema de autenticación de Microsoft Dynamics 4.0 y 3.0 es muy robusto. El acceso viene definido por dos procesos: autenticación contra AD (Active Directory) y autenticación contra usuario de Microsoft Dynamics.&lt;br /&gt;&lt;br /&gt;Si el equipo desde que accedemos a Microsoft Dynamics CRM está dentro del dominio al que está asociado Microsoft Dynamics CRM el proceso de autenticación es totalmente transparente ya que no es necesario ningún tipo de formulario de logín previo al acceso. Simplemente, Microsoft Dynamics CRM comprueba que el usuario que está intentando acceder es un usuario de Microsoft Dynamics CRM con  su licencia correspondiente.&lt;br /&gt;&lt;br /&gt;Si accedemos desde fuera de del dominio de Microsoft Dynamics CRM el acceso es permitido previo usuario y password introducido en un formulario de autenticación.&lt;br /&gt;&lt;br /&gt;En muchas ocasiones es necesario agrupar varios usuarios de una organización para que accedan a Microsoft Dynamics CRM como un único usuario. En mi experiencia personal en un cliente es la siguiente:&lt;br /&gt;&lt;br /&gt;Una organización donde tienen montado un Sharepoint 2007 y tienen Microsoft Dynamics CRM embebido en un webpart. El acceso a Sharepoint viene definido por usuario de AD, pero el acceso a CRM es agrupado. Es decir, varios usuarios de Sharepoint pertenecen a único usuario de CRM. El problema es que cuando se accede a CRM desde Sharepoint, CRM coge el usuario con el que se accede a Sharepoint y lo que interesaba en este caso es el usuario fuera distinto. La solucón que encontramos para esta problemática era crea una nueva unidad organizativa de usuarios de CRM dentro de la unidad organizativa del AD creada para el acceso a Sharepoint.  De esta manera, cuando se accede a Sharepoint como usuario "Jose" y posteriormente se accede a CRM (embebido en un web part en un site de Sharepoint) nos pide usuario y contraséña para que se valide con la nueva unidad organizativa de AD creada para los usuarios de CRM.&lt;br /&gt;&lt;br /&gt;Postriormente, nos surge la pregunta de concurrencia de usuarios, ¿puedo acceder con un mismo usuario desde distintas ubicaciones a la vez? la respuesta es SI. El licenciamiento es nominal, lo que significa que tenemos acceso por cada usuario de AD que tiene una licencia asociada pero sin restricciones de número de accesos.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1178145461688012054-4441708527572901199?l=crm4all.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crm4all.blogspot.com/feeds/4441708527572901199/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1178145461688012054&amp;postID=4441708527572901199' title='2 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1178145461688012054/posts/default/4441708527572901199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1178145461688012054/posts/default/4441708527572901199'/><link rel='alternate' type='text/html' href='http://crm4all.blogspot.com/2008/03/autenticacin-en-crm-40-y-30.html' title='Autenticación en CRM 4.0 y 3.0'/><author><name>Jose Manuel González Cívicos</name><uri>http://www.blogger.com/profile/08458915700357165239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_7bkOqZcASV0/R63yxjkWR7I/AAAAAAAAAAM/y9ACHUHh1Ls/S220/DSC00147.JPG'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1178145461688012054.post-2176074105393436912</id><published>2008-02-17T12:06:00.006+01:00</published><updated>2008-03-04T11:02:25.384+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Services en los eventos'/><title type='text'>Web Services en los eventos(onload,onsave, onchange) de una entidad</title><content type='html'>Biiiiien!!!que dilema me supuso pensar que no podía obtener datos de un BD (Base de datos) desde los eventos onload, onsave y onchange (que sólo admiten JavaScript) que me ofrecen las entidades de Microsoft Dynamics CRM 4.0. y 3.0&lt;br /&gt;&lt;br /&gt;Claro, lo primero que hice fue buscar por toda la red si existía alguna posibilidad de obtener datos de una BD a través de JavaScript, todo lo que encontré fueron respuestas negativas (JavaScript es código que se ejecuta en el cliente....y conectarte a una BD de un servidor IMPOSIBLE!!!). Pero derrepente vi la luz cuando pensé en web Service e indagué un poquito más en la web y encontré un post que utilizaba javaScript para llamar a un web service:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://geeks.ms/blogs/marco/archive/2007/01/08/c-mo-implementar-bloqueos-de-registro-en-crm-3-0-servicios-web-jscript.aspx"&gt;http://geeks.ms/blogs/marco/archive/2007/01/08/c-mo-implementar-bloqueos-de-registro-en-crm-3-0-servicios-web-jscript.aspx&lt;/a&gt; de Marco Amoedo (tiene un blog muy muy muy interesante para todo lo relacionado con CRM &lt;a href="http://geeks.ms/blogs/marco/"&gt;http://geeks.ms/blogs/marco/&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Bueno, ya sabemos como llamar a un web services desde JavaScript, ahora ya sólo nos queda crearnos un web services que se comunique con el origen de datos que queramos y ya tenemos todo solucionado!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1178145461688012054-2176074105393436912?l=crm4all.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crm4all.blogspot.com/feeds/2176074105393436912/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1178145461688012054&amp;postID=2176074105393436912' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1178145461688012054/posts/default/2176074105393436912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1178145461688012054/posts/default/2176074105393436912'/><link rel='alternate' type='text/html' href='http://crm4all.blogspot.com/2008/02/ejecutar-jsp-en-eventosonloadonsave.html' title='Web Services en los eventos(onload,onsave, onchange) de una entidad'/><author><name>Jose Manuel González Cívicos</name><uri>http://www.blogger.com/profile/08458915700357165239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_7bkOqZcASV0/R63yxjkWR7I/AAAAAAAAAAM/y9ACHUHh1Ls/S220/DSC00147.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1178145461688012054.post-5916299841869554487</id><published>2008-02-16T18:19:00.011+01:00</published><updated>2008-02-17T14:19:50.339+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cargar un picklist'/><title type='text'>Cargar un picklist desde BBDD</title><content type='html'>&lt;div&gt;&lt;div&gt;Sin duda, todos los que nos hemos o estamos pegándonos con Microsoft Dynamic CRM 3.0 nos ha surgido la duda de como cargar un picklist (típico combox de asp.net ) desde un origen de datos distinto al propio de CRM (BBDD, ficheros, etc,...). Y es que el SDK de CRM 3.0 NO nos proporciona métodos Add para cargar elementos en un picklist ¡es necesario modificar el xml que contiene la estrcutura de cada entidad!&lt;br /&gt;&lt;br /&gt;La solución es la siguiente para Microsoft Dynamics CRM 3.0:&lt;br /&gt;&lt;br /&gt;Ejemplo en vb.net para modificar el xm de la entidad cuenta (account)&lt;br /&gt;&lt;br /&gt;1. Exportamos la entidad: &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://bp2.blogger.com/_7bkOqZcASV0/R7gxEjkWSGI/AAAAAAAAABk/_GroknaxgZY/s1600-h/Exportarentidad.PNG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5167934526744578146" style="CURSOR: hand" alt="" src="http://bp2.blogger.com/_7bkOqZcASV0/R7gxEjkWSGI/AAAAAAAAABk/_GroknaxgZY/s320/Exportarentidad.PNG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://bp0.blogger.com/_7bkOqZcASV0/R7gwMDkWSFI/AAAAAAAAABc/NKFtIrQePA4/s1600-h/Exportarentidad.PNG"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;2. Realizamos los cambios del campo del picklist la entidad.&lt;br /&gt;&lt;br /&gt;En este proceso hay que cargar en un xmldocument el xml que representa la entidad (el xml que hemos exportado con el procedimiento anterior). Posteriormente hay que modificar la sección del xml que representa el campo picklist que muestro acontinuación para añadir, quitar o modificar los elementos del picklist: &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://bp2.blogger.com/_7bkOqZcASV0/R7guPjkWSCI/AAAAAAAAABE/hVUwPu-7Q3Y/s1600-h/xml.PNG"&gt;&lt;/a&gt;&lt;a href="http://bp2.blogger.com/_7bkOqZcASV0/R7guPjkWSCI/AAAAAAAAABE/hVUwPu-7Q3Y/s1600-h/xml.PNG"&gt;&lt;/a&gt;&lt;a href="http://bp2.blogger.com/_7bkOqZcASV0/R7guPjkWSCI/AAAAAAAAABE/hVUwPu-7Q3Y/s1600-h/xml.PNG"&gt;&lt;/a&gt;&lt;a href="http://bp1.blogger.com/_7bkOqZcASV0/R7gukTkWSDI/AAAAAAAAABM/fk78_-fKo6w/s1600-h/xml.PNG"&gt;&lt;img id="BLOGGER_PHOTO_ID_5167931773670541362" style="CURSOR: hand" alt="" src="http://bp1.blogger.com/_7bkOqZcASV0/R7gukTkWSDI/AAAAAAAAABM/fk78_-fKo6w/s320/xml.PNG" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;3. Importamos la entidad y la publicamos:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Public Sub importar_entidad()&lt;br /&gt;Dim service As New CRMWebServer.CrmService &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;service.Credentials = System.Net.CredentialCache.DefaultCredentials &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;' Create the import request. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Dim importRequest As New CRMWebServer.ImportXmlRequest&lt;br /&gt;' Tell the request where the temporary xml file is located. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;'importRequest.Filename = temporyFileName&lt;br /&gt;Dim customizationPath As String = Path.Combine(Environment.CurrentDirectory, "customization_original.xml")&lt;br /&gt;' Pass the stream of customization XML to the import request. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Dim sr As New StreamReader(customizationPath) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Dim customizationXml = sr.ReadToEnd()&lt;br /&gt;importRequest.CustomizationXml = customizationXml &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;' Tell the request that the Account entity is being imported. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;importRequest.ParameterXml = _ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;"&lt;importexportxml&gt;" + _ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;"&lt;entities&gt;" + _ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;"&lt;entity&gt;account&lt;/entity&gt;" + _ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;"&lt;/entities&gt;" + _ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;"&lt;nodes&gt;" + _ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;"&lt;/importexportxml&gt;"&lt;br /&gt;' Execute the import. &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Dim importResponse As CRMWebServer.ImportXmlResponse = CType(service.Execute(CType(importRequest, &lt;/span&gt;&lt;span style="font-size:78%;"&gt;CRMWebServer.Request)), CRMWebServer.ImportXmlResponse)&lt;/span&gt;&lt;span style="font-size:78%;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;'Publico la entidad&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;Dim publishRequest As New CRMWebServer.PublishXmlRequest&lt;br /&gt;' Supply the request that is being published with the Bank Account and Safe Deposit Box. publishRequest.ParameterXml = &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;"&lt;importexportxml&gt;" + _ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;"&lt;entities&gt;" + _ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;"&lt;entity&gt;account&lt;/entity&gt;" + _ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;"&lt;/entities&gt;" + _ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;"&lt;nodes&gt;" + _ &lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;"&lt;/importexportxml&gt;"&lt;br /&gt;' Execute the request. Dim publishResponse As CRMWebServer.PublishXmlResponse = CType(service.Execute(CType(publishRequest, CRMWebServer.Request)), CRMWebServer.PublishXmlResponse)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;End Sub&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Pero en el nuevo SDK de Microsoft Dynamics CRM 4.0 parece ser que ya tenemos estos métodos Add tan deseados para cargar de una manera mucho más sencilla un picklist con datos de cualquier origen de datos...No lo he probado pero en próximos post seguro que puedo ofreceros algunos ejemplos!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1178145461688012054-5916299841869554487?l=crm4all.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crm4all.blogspot.com/feeds/5916299841869554487/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1178145461688012054&amp;postID=5916299841869554487' title='0 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1178145461688012054/posts/default/5916299841869554487'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1178145461688012054/posts/default/5916299841869554487'/><link rel='alternate' type='text/html' href='http://crm4all.blogspot.com/2008/02/cargar-un-picklist-desde-bbdd.html' title='Cargar un picklist desde BBDD'/><author><name>Jose Manuel González Cívicos</name><uri>http://www.blogger.com/profile/08458915700357165239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_7bkOqZcASV0/R63yxjkWR7I/AAAAAAAAAAM/y9ACHUHh1Ls/S220/DSC00147.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_7bkOqZcASV0/R7gxEjkWSGI/AAAAAAAAABk/_GroknaxgZY/s72-c/Exportarentidad.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1178145461688012054.post-6238628275504405423</id><published>2008-01-30T11:39:00.002+01:00</published><updated>2008-02-17T12:04:15.654+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Integración CRM en MOSS2007'/><title type='text'>Integración CRM en MOSS2007</title><content type='html'>Cuando hablamos de CRM 4.0 en muchas ocasiones lo hacemos en un contexto donde Sharepoint 2007 (MOSS 2007) también se haya presente y necesariamente surge la pregunta ¿Cómo se integran CRM 4.0 y MOSS 2007? Pues la solución es muy sencilla:&lt;br /&gt;&lt;br /&gt;1. Embeber CRM 4.0 en el propio site creado en MOSS 2007 a traves de un web part de visualización de páginas web. Este proceso es realmente sencillo ya que CRM 4.0 es una aplicación web, y por tanto, todas las interfaces que nos ofrece CRM 4.0 están disponibles directamente desde una dirección web. Por ejemplo:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. Embeber MOSS 2007 en cualquier página de CRM 4.0 a través de un iframe. Por ejemplo:&lt;br /&gt;&lt;br /&gt;3. Crear un web part en MOSS2007 que utilice el motor de Microsoft CRM. Este el caso más engorroso, pero en ocasiones necesario cuando no nos interesa la interface de Microsoft Dynamics CRM y si su información. ¿Cuando es necesario? Por ejemplo, puede que queramos utilizar una lista BDC (Business Data Catalog) de MOSS y queramos aplicarle uná lógica interaccionando con la información de Microsoft Dynamics CRM a través de su SDK y además queremos que todo se muestre en un web part de MOSS para que lo puedan administrar los propios usuarios de MOSS. Lo mismo se puede aplicar en una página .aspx cualquiera ;.)&lt;br /&gt;&lt;br /&gt;Un ejemplo &lt;a href="http://thesource.ofallevil.com/downloads/details.aspx?FamilyId=BC9B3526-DECF-4057-A530-91840C0D5401&amp;amp;displaylang=en"&gt;CRMlistwebpart&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1178145461688012054-6238628275504405423?l=crm4all.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://crm4all.blogspot.com/feeds/6238628275504405423/comments/default' title='Enviar comentarios'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1178145461688012054&amp;postID=6238628275504405423' title='1 comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1178145461688012054/posts/default/6238628275504405423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1178145461688012054/posts/default/6238628275504405423'/><link rel='alternate' type='text/html' href='http://crm4all.blogspot.com/2008/01/integracin-crm-en-moss2007.html' title='Integración CRM en MOSS2007'/><author><name>Jose Manuel González Cívicos</name><uri>http://www.blogger.com/profile/08458915700357165239</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_7bkOqZcASV0/R63yxjkWR7I/AAAAAAAAAAM/y9ACHUHh1Ls/S220/DSC00147.JPG'/></author><thr:total>1</thr:total></entry></feed>
