Archivo

Archive for the ‘Sharepoint’ Category

[Sharepoint 2010] Custom Actions en Sharepoint 2010 dese Visual Studio

enero 3, 2011 2 comentarios

Buenas,

El escenario es el siguiente, necesito colocar un Grupo de acciones dentro de la página de Configuración del Sitio, para dar mantenimiento a unas listas. (limpiar en mi caso). Esto lo podemos hacer, desde la Interface de usuario, pero aquí el objetivo es hacerlo desde nuestra aplicación de SharePoint para que solo despleguemos y esta haga todo el trabajo, además es practico, entre menos configuremos manualmente nuestra aplicación mejor.

Una vez platicado que quiero hacer, les platico como hacerlo:

1.- Tener un Feature.

  • Cuando creamos un proyecto de SharePoint 2010 desde Visual Studio 2010, por default agrega un Feature con el que podemos trabajar, le podemos agregar nombre, descripción etc. Cómo hacemos esto: Abrir Visual Studio, Crear Nuevo Proyecto-> SharePoint 2010->Empty SharePoint Project.

image

2.- Ahora agregamos un ElementManifest a nuestro feature, en el archivo Feature1.Template.xml

image

El XML queda más o menos así:

<Feature xmlns="http://schemas.microsoft.com/sharepoint/" 
        ActivateOnDefault="FALSE"
        AlwaysForceInstall="FALSE"
        AutoActivateInCentralAdmin="FALSE" Hidden="FALSE" Scope="Web"
        Description="Permite Limpiar las Listas"
        Title="Limpiar Listas 11">
    <ElementManifests>
      <ElementManifest Location="Listassss\Elements.xml" />
    </ElementManifests>
</Feature>

 

La parte de Location se refiere al XML que contiene la definición de nuestro Grupo de Acciones, y como lo agregamos de la siguiente manera, clic derecho en nuestra solución->Add->New Item…, y seleccionamos Empty Element, con el nombre que mejor les guste: mis caso Listassss

image

3.- Aquí viene la definición de nuestro Grupo de Acciones, y las acciones mismas. En mi caso solo un link que apunta a mi blog, pero podemos agregar un query string para poder manipular datos de nuestras listas den el evento Load de alguna ASPX que tengamos. El XML se ve así:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <CustomActionGroup Description="Revisar el Blog del desarrollador" 
                     Id="BlogDelNor" ImageUrl="/_layouts/images/medios/agregar.png"
                      Location="Microsoft.SharePoint.SiteSettings" Sequence="10000" Title="My ContentPipeline">
  </CustomActionGroup>
  <CustomAction GroupId="BlogDelNor" Id="CustomFeatureLink"  Location="Microsoft.SharePoint.SiteSettings"
                Sequence="10001"
                Title="My Content Pipeline">
    <UrlAction Url="https://mspnor.wordpress.com" />
  </CustomAction>
</Elements>

Con esto es más que suficiente para agregar un grupo en nuestras Configuraciones del Sitio, algo curioso aquí es que si se dan cuenta agregueen la propiedad Location el valor de Microsoft.SharePoint.SiteSettings porque ahí es donde quiero que se vea este Grupo de Acciones, pero aquí les dejo la documentación del MSDN sobre los diferentes sitios en donde podemos agregarlos: http://msdn.microsoft.com/en-us/library/bb802730%28office.14%29.aspx

Y bien el resultado que obtenemos al hacer esto es el siguiente:

 

image

Es un post rápido y sencillo, pero seguro saca a alguien de un apuro y sino, mínimo me sirve de referencia, porque luego se me olvida.

Saludos.

Etiquetas de Technorati:

Categorías:Ejemplos, Sharepoint, Tips

[Sharepoint 2010]Error occurred in deployment step ‘Retract Solution’: Cannot start service SPUserCodeV4 on computer

diciembre 1, 2010 1 comentario

Buenas,

image

Aquí rápido un como solucionar este error si es que les ocurre. Como bien lo dice el mensaje al parecer tenemos un servicio detenido así que solo tenemos que iniciarlo, para ello vamos hacemos lo siguiente:

1.- Central Administration -> System Settings -> Manage services on server

2.- Localizamos el servicio de "Microsoft SharePoint “Microsoft SharePoint Foundation Sandboxed Code Service" y lo iniciamos

Listo!!

espero que les sea de utilidad.

Etiquetas de Technorati: ,,
Categorías:Errores, Sharepoint, Tips

[Sharepoint 2010] La fórmula contiene un error de sintaxis o no se admite.

septiembre 9, 2010 3 comentarios

buenas…

Aquí de nuevo un error de SharePoint que para variar es poco descriptivo. El escenario es el siguiente: El SO esta en Inglés y SharePoint 2010 también pero instale el paquete de lenguaje en Español entonces.

Quiero agregar una formula para un campo calculado, ya saben de Tipo Calculated y la función es de lo más sencilla:

        <Formula>=DATEDIF([ColumnaInicio],[ColumnaFin],"d")</Formula>

Están de acuerdo que es muy sencilla, pero al desplegar mi solución me muestra el siguiente error:

image

Solución

Pues parece que SharePoint también tiene dolores de cabeza con la región y este rollo de los idiomas. Solo basta con escribir la Función en Inglés y en lugar de usar comas “,” usar punto y coma “;”. Entonces la Formula queda de esta manera:

    
    <Formula>=DATEDIF([ColumnaInicio];[ColumnaFin];"d")</Formula

Y con esto queda solucionado el problema.

Notas: Esto es en la definición de un campo desde un XML, y hay que tener en cuenta lo del idioma ya que si todo esta en Inglés debe funcionar correctamente tal y como lo dice el MSDN. Otra es que si su campo en el atributo DisplayName tiene espacios ejemplo “Dia Inicial“ así deben colocarlo en la formula (extrañamente SharePoint toma el nombre de la columna del DisplayName y no del Name ¿qué raro no?

Saludos.

Etiquetas de Technorati:
Categorías:Errores, Sharepoint

The content type with Id [GUID] defined in feature [GUID] was found in the current site collection or in a subsite.

septiembre 9, 2010 Deja un comentario

¿De qué va este error? Se trata de un despliegue puede ser de lo más normal, pero conforme nuestra aplicación de Sharepoint crece con más y más campos se puede volver compleja la administración de tantos campos, tantos ContentType’s y tantas Listas. Para no hacer el cuento largo el error puede ocurrir (como lo es en mi caso) porque tenemos repetido el ContentType.

Solución

Buscar el ContentType en nuestra solución y ver el nombre seguro tenemos otro contentType con ese nombre pero con otro ID. Lo más fácil pero no lo correcto es colocar un Overwrite=TRUE
y el problema se “soluciona” pero realmente no se haría algo correcto ya que imaginen que tienen un ContentType con Correo Electrónico con ciertas características y otro con el mismo nombre que describe otra características totalmente diferentes, realmente necesitamos los 2 pero si sobre escribimos lo que sucederá es que tendremos 2 ContentType con el mismo nombre y Visual Studio nos dirá que tenemos este error entonces lo mejor es cambiara el nombre a estos ContentTypes si es que necesitamos los 2, sino es el caso pues habrá que eliminar uno.

 

Espero que les sea de utilidad.

 

Saludos.

Categorías:Errores, Sharepoint

[SharePoint 2010] Poblar datos en la instancia de una lista con datos múltiples (lookupmulti)

agosto 24, 2010 1 comentario

Buenas,

Creo que es el primer post de Sharepoint que escribo :P. Bueno les comento cual es el caso rápido como sabemos nosotros podemos poblar con datos una lista desde la instancia para esto contamos con un tag llamado Data y otro llamado DataSource. Yo ocupo el primero… y la sintaxis es más o menos asi

<?xml version="1.0" encoding="utf-8"?><Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <ListInstance Title="milista"
                OnQuickLaunch="TRUE"
                TemplateType="000000"
                FeatureId="bd6f49e7-68ac-4988-b6ad-eff181bfdd02"
                Url="listas/milista"
                Description="">    
    <Data>
      <Rows>
        <Row>
          <Field Name="Id">1</Field>
          <Field Name="Nombre">NOMBRE1</Field>
        </Row>
      </Rows>
    </Data>
  </ListInstance>
</Elements>

Hasta aquí todo bien, creo que esto lo encuentran en la documentación del MSDN-

http://msdn.microsoft.com/en-us/library/ms478860.aspx

Pero que pasa si quiero mandar múltiples valores por ejemplo en un campo Lookupmulti, bien aquí la solución lo que tenemos que hacer es lo siguiente:

<Data>
  <Rows>
    <Row>
      <Field Name="Id">1</Field>
      <Field Name="Nombre">1;#nombre1;#2;#nombre2</Field>
    </Row>
  </Rows>
</Data>

Solo tenemos que  separarlos con “;#” pero es importante que coloquemos el ID y el VALOR para que esto funcione, recuerden que solo es para campos que aceptan valores múltiples.

Espero que les sirva y sino lo pongo porque luego sirve de referencia para  mi, porque se me olvida 😛

Etiquetas de Technorati: ,
Categorías:Sharepoint, Tips