Posts recientes

El contenido de este blog tiene una licencia Creative Commons.
Creative Commons

Error al cargar y ejecutar el receptor de eventos. “<nativehr>0x8007047e</nativehr>”

Necesitaba que al crear cualquier site todas sus páginas tuviesen un diseño de página customizado.

Aunque en la configuración del site padre tenía configurado que tan sólo podían crearse páginas con el diseño de página en concreto, cuando se creaba el site, la página por defecto (Pages/default.aspx) seguía teniendo el diseño de página “WelcomeLinks”.

Para cambiarlo creé un EventReceiver sobreescribiendo el WebProvisioned (que se dispara una vez que el site se ha creado). Dentro del método, cambiaba el PageLayout y también su ContentType también customizado (añadiéndolo también a la biblioteca de Páginas, ya que no existía por defecto).

Éste es el código del event receiver:

SPWeb w = properties.Web;
PublishingWeb curPubWeb = PublishingWeb.GetPublishingWeb(properties.Web);
SPSite s = properties.Web.Site;
SPContentType contentType = s.RootWeb.ContentTypes["PaginaInvestigador"];
SPList spList = curPubWeb.PagesList;
PublishingPageCollection ppc = curPubWeb.GetPublishingPages();

foreach (PageLayout curLayout in curPubWeb.GetAvailablePageLayouts())
{
     if (ppc.Count > 0)
     {
          PublishingPage curPage = ppc[0];
          curPage.CheckOut();
          curPage.Layout = curLayout;
          curPage.ListItem["ContentTypeId"] = curLayout.AssociatedContentType.Id;
          curPage.ListItem.Update(); 
          curPage.Update();
          curPage.CheckIn(""); 
     }        
}

Para probarlo creaba un nuevo sitio. Cuando lo había creado intentaba editar la página default para comprobar que tanto el diseño de página como el tipo de contenido se habían cambiado correctamente y me daba el siguiente error:

Error al cargar y ejecutar el receptor de eventos Client.Web.SharePointApp.ResearcherSiteEventReceiver.ResearcherSiteEventReceiver en Client.Web.SharePointApp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d3b00d8781e2eddd. A continuación se incluye información adicional.

: <nativehr>0x8007047e</nativehr><nativestack></nativestack>

Lo solucioné registrando el event receiver como síncrono de la siguiente forma:

En el fichero Elements.xml, añadir dentro de <Receiver>:

<Synchronization>Synchronous</Synchronization>

Autor: Anna Vilalta Gili
Publicado: 25/01/2012  10:40 | 0  Comentarios | 0  Enlaces a este post

Publicación de portales web públicos en SharePoint 2010 para plataformas móviles

SharePoint 2010 dispone de vistas especiales pensadas para dispositivos móviles, más reducidas en tamaño y más dirigidas a la gestión de la información almacenada en las bibliotecas y listas que en las propias páginas de publicación. Al desplegar un portal público nos podemos encontrar la sorpresa que el mismo portal no es visible en según que dispositivos móviles, precisamente por la existencia de estas vistas para móviles.

La solución más sencilla, a no ser que queramos desarrollar un aspecto distinto para dispositivos reducidos, es forzar la vista estándar también para estos dispositivos. Para ello debe retocarse un fichero de configuración en el directorio App_Browsers del directorio virtual de IIS (p.e. \inetpub\wwwroot\wss\VirtualDirectories\80App_Browsers\compat.browser). El fichero compat.browser es el responsable de distinguir los distintos dispositivos que se conectan a la web y determinar ciertas características de visualización. Si cambiamos el atributo IsMobileDevice a false de este fichero para cada una de las entradas forzaremos a que se visualice la web siempre en el mismo formato sea cual sea el dispositivo.

Autor: Rubén Claramunt Vicente
Publicado: 10/10/2011  14:20 | 0  Comentarios | 0  Enlaces a este post

Undefined ‘g_ExpGorupXSLTQueue’ en vistas agrupadas en SP1 de SharePoint

El primer bug del SP1 de SharePoint 2010 ya ha aparecido. Nos hemos topado con un bug en los ficheros JS que afecta a las vistas agrupadas de listas y bibliotecas de documentos. En una vista con agrupaciones aparece el siguiente error, haciendo inservible la navegación en la vista.

image

La forma más fácil de solucionar el problema es copiar los ficheros INIT.JS y CORE.JS del hive 1033 (/TEMAPLATES/LAYOUTS/1033) en el hive correspondiente del idioma no inglés, en este caso el español (3082). Tras sustituir los ficheros y reiniciar el servicio de IIS todo vuelve a funcionar correctamente. No conocemos efectos laterales de la sustitución, pero os iremos informando.

Autor: Rubén Claramunt Vicente
Publicado: 24/08/2011  11:36 | 0  Comentarios | 0  Enlaces a este post

Service Pack 1 de SharePoint 2010

imageSí, por fín, el tan esperado SP1 de SharePoint 2010 está disponible. En http://support.microsoft.com/kb/2460045 encontrarís toda la información al respecto. Microsoft SharePoint Server 2010 Service Pack 1 (SP1) incluye todas las actualizaciones hasta Junio de 2011.

Además podéis consultar el siguiente enlace, con una relación de todos los cambios realizados por el Service Pack.

Cambios de Microsoft SharePoint Server 2010 Service Pack 1

Autor: Rubén Claramunt Vicente
Publicado: 26/07/2011  11:47 | 0  Comentarios | 0  Enlaces a este post

Starter master page (versión extendida)

image

Todos conocemos los beneficios de las versiones starter de las páginas maestras de SharePoint 2010, llamadas minimal master pages en la versión 2007. Se trata de una páginas maestras simplificadas para iniciar un diseño de cero, comentadas para ayudar en su desarrollo. Estas páginas maestras las encontramos en CodePlex en el proyecto Starter Master Pages for SharePoint 2010.

De la mano de Steve Ottenad nos llega una versión extendida o mejorada de estas páginas maestras, SharePoint 2010 Starter Master Page – Extended, que incluyen ciertas mejoras sobre las originales. En sus propias palabras:

  • A solid Starter Master page
  • A sticky footer
  • A concealed Ribbon (very useful)
  • An improved scroll fix that overrides the horrendous V4 one.
  • Lots and lots of compression

 

Lo que está claro es que sea con unas u otras cualquier proyecto que implique diseño en la presentación se beneficiará notablemente del uso de estas páginas maestras.

Autor: Rubén Claramunt Vicente
Publicado: 14/07/2011  18:00 | 0  Comentarios | 0  Enlaces a este post

Error de “List not found” para un DataFormWebPart exportado a otro sitio

En el anterior post (http://www.codepoint.es/archive/2011/07/11/como-crear-p%C3%A1ginas-para-gestionar-listas-en-un-sitio-distinto-al-que-se-alojan-.aspx) se comentaba como exportar un DataFormWebPart de SharePoint a otro sitio dentro de la colección para que siguiera accediendo a los datos de la lista alojada en otro sitio. Aún siguiendo las instrucciones en ocasiones puede ocurrir que SharePoint Designer visualice bien la información pero no así el explorador web, que nos devuelve un error de “List not found”.

Para solucionar este problema simplemente deberemos cambiar el atributo ViewFlag de la DataFormWebPart y ponerlo a “0”.

<WebPartPages:DataFormWebPart runat="server" IsIncluded="True" AsyncRefresh="True" FrameType="None" NoDefaultStyle="TRUE" ViewFlag="0" …

Espero que os ayude.

Autor: Rubén Claramunt Vicente
Publicado: 12/07/2011  21:58 | 0  Comentarios | 0  Enlaces a este post

Como crear páginas para gestionar listas en un sitio distinto al que se alojan.

Desarrollando una web en Sharepoint 2010 me encontré con el siguiente problema:

Creé una lista de solicitudes en la raíz de la colección de sitios para que los usuarios anónimos pudiesen rellenar la información necesaria y enviarla desde la misma web (a modo de formulario).

La web era multi-idioma, y el formulario debía aparecer en un subsitio en concreto.

Bien, no había manera de hacer referencia a una lista que estaba situada en la raíz desde una página ubicada en un subsitio de la colección.

Ahí va la solución:

1. Crear una página .aspx en la raíz (biblioteca de páginas).

2. Desde SharePoint Designer, en el menú, hacer clic en: Insertar –> Formulario de nuevo elemento – > Formulario de lista personalizada.

3. Estos pasos crean un DataFormWebPart. Debe copiarlo y pegarlo en la página del subsitio en la que desea que esté el formulario.

4. Localizar el tag “SharePointWebControls:SPDataSource” y dentro de éste, en el tag “<SelectParameters>” añadir el parámetro siguiente:

<WebPartPages:DataFormParameter Name="WebURL" ParameterKey="WebURL" PropertyName="ParameterValues" DefaultValue="/"/>

Es decir, quedaría de la siguiente forma:

<SelectParameters><WebPartPages:DataFormParameter Name="WebURL"…

A partir de este momento el DataFormWebPart, sabe que la localización de la lista está en la raíz de la colección de sitios, y se muestra el formulario sin más problemas.

Autor: Anna Vilalta Gili
Publicado: 11/07/2011  11:09 | 0  Comentarios | 0  Enlaces a este post

System.ServiceModel.ExceptionDetail al realizar un FullTextQuery en SharePoint

Si alguna vez os habéis encontrado que de repente al realizar consultas al motor de indexación de SharePoint, os devuelve un error System.ServiceModel.ExceptionDetail no desesperéis.
Es poco intuitivo SharePoint a la hora de informarnos de como corregir el error. Pues bien, lo único que hemos de hacer para solucionar el error es incluir en nuestra Query una cláusula Order by, ¿la mar de sencillo,no?
 
 
Autor: Javier Tirado Pampín
Publicado: 16/03/2011  13:10 | 0  Comentarios | 0  Enlaces a este post

Cambiar la URL del sitio en un proyecto de SharePoint en Visual Studio 2010

Al realizar un cambio de servidor de desarrollo de una solución de SharePoint 2010 en Visual Studio 2010 nos encontramos con la sorpresa de no poder realizar desarrollo visual ni desplegar debido a que la URL del sitio de SharePoint ya no coincide con la del nuevo servidor.

Para realizar un cambio de esta URL tan solo necesitamos acceder a la ventana de propiedades del proyecto, debajo del explorador de la solución, y modificar la propiedad Site URL con la del nuevo sitio o servidor. Es el método más sencillo.

image

Autor: Rubén Claramunt Vicente
Publicado: 07/03/2011  12:25 | 0  Comentarios | 0  Enlaces a este post

Diferencias de versiones entre SharePoint 2010 y SharePoint Designer 2010

Si habéis decidido instalar la actualización del CU (Cumulative Update) de SharePoint 2010 de Octubre de 2010 (leer el artículo de Stefan Goßner al respecto), habréis actualizado la versión de vuestra instalación a la 14.0.5128.5000. Si intentais entonces abrir vuestro sitio de SharePoint con SharePoint Designer 2010 os aparecerá un mensaje como éste:

“Server error: La versión de Microsoft SharePoint Foundation que se está ejecutando en el servidor es más reciente que la versión de SharePoint Designer que está usando. Necesita una versión posterior de SharePoint Designer.”

clip_image002

Para solucionar esta situación es necesario actualizar de la misma manera vuestra instalación de SharePoint Designer 2010 con otro CU de Microsoft, que podéis encontrar en http://support.microsoft.com/kb/2276347. Esto os igualará las versiones y os permitirá abrir el sitio de SharePoint con Designer.

Nuestra experiencia es que a Designer (o a SharePoint) le cuesta un poco darse cuenta del cambio de versión una vez actualizado Designer. No desistáis, finalmente, de alguna forma, acaba por funcionar.

Autor: Rubén Claramunt Vicente
Publicado: 03/03/2011  12:55 | 0  Comentarios | 0  Enlaces a este post

 Siguiente >>