Blogs de SharePoint

Conozca lo que es Microsoft SharePoint como herramienta de colaboración y productividad
Welcome to Blogs de SharePoint Sign in | Join | Help
in Search

Julio Casal

Desarrollo de Soluciones con SharePoint

  • Materiales del SharePoint Web 2.0 Fire Starter

    Hace poco más de una semana se llevó a cabo el SharePoint Web 2.0 Fire Starter, un evento realizado por Microsoft en el que se presentaron varias sesiones relacionadas con la creación y personalización de sitios SharePoint y su integración con tecnologías como Silverlight para llevar a SharePoint hacia el mundo Web 2.0. De lo que he visto de las diapositivas (que mi amigo Jorge Aguilar logró obtener y me compartió), el contenido está muy bueno y me acabo de enterar también de que las grabaciones de las sesiones están ya publicadas.

    Entonces aquí les comparto las diapositivas de cada sesión (formato PDF) y su correspondiente grabación:

    Sesión Diapositivas Grabación
    Introduction to Day & Keynote Descarga Link
    Whirlwind SharePoint on Visual Studio – VSeWSS Descarga Link
    Silverlight on SharePoint Descarga Link
    Web Parts on SharePoint Descarga Link
    Web Services on SharePoint Descarga Link
    Workflow on SharePoint Descarga Link
    Event Handlers on SharePoint Descarga Link
    Page Branding on SharePoint Descarga Link

    En particular me llama mucho la atención la parte de integrar SharePoint con Silverlight. SharePoint simplifica muchas cosas a la hora de crear un portal bien estructurado y fácil de administrar, mientras que Silverlight te brinda todo para hacer que el portal se vea cool. Qué más puedes pedir!

    Julio

    Cross-Posting desde juliocasal.com

  • Cómo hacer que tus aplicaciones Silverlight 1.0 funcionen en Firefox 3

    Ayer luché un rato con una pequeña aplicación Silverlight que hice para un cliente. Resulta ser que la aplicación funcionaba bien en FireFox 2, pero nunca se presentaba en el recientemente liberado Firefox 3, sino que más bien presentaba la imagen para instalación de Silverlight constantemente, aún cuando Silverlight ya estaba instalado.

    El problema está en el archivo Silverlight.js, que es el que contiene toda la lógica de instalación y ejecución de Silverlight 1.0. Este archivo no está preparado para FireFox 3, pero, como lo comenta Tim Heuer, Microsoft liberó una versión actualizada de Silverlight.js en el SDK de Silverlight 2 Beta 2, el cual ya está preparado para trabajar con Firefox 3.

    Entonces, una vez que instales el SDK, nada más dirígete a este directorio y encontrarás el nuevo archivo:

    C:\Program Files\Microsoft SDKs\Silverlight\v2.0\Tools

    Incluye este nuevo Silverlight.js en tu aplicación y presto! Funcionará tan bien como en cualquier otro navegador. Nada más te recomiendo borres todos los archivos temporales cookies del navegador antes de probar la aplicación actualizada.

    Espero sea de utilidad,

    Julio

    Cross-Posting desde juliocasal.com

  • Cómo utilizar Autenticación Basada en Formularios para Autenticar Usuarios de Active Directory en MOSS 2007

    Esto es algo que puede causar más de un dolor de cabeza si no se sabe hacer correctamente. De hecho, me tomó varios días y leer una serie de artículos y posts en diversos blogs antes de lograr comprender la configuración correcta. Para asegurarme de no olvidarme de los pasos que seguí, listo aquí todo lo que hice para habilitar la Autenticación Basada en Formularios para autenticar usuarios de Active Directory en MOSS 2007.

    Escenario

    Tienes levantado un portal SharePoint que funciona en tu Intranet y los usuarios inician sesión en dicho portal con sus cuentas de Windows (autenticación basada en Windows). Ahora te han solicitado exponer este portal para que pueda ser accedido desde el exterior de la empresa por un canal público como es el Internet. Esto convierte a tu Intranet en una Extranet.

    Por su puesto podrías simplemente configurar tu router y/o firewall para permitir exponer a tu servidor SharePoint al Internet y listo, tus usuarios podrán iniciar sesión con sus cuentas Windows hacia la extranet desde fuera de la empresa. Sin embargo, es muy conocido que al hacer esto estás exponiendo tu Active Directory al exterior, lo cual trae consigo una serie de amenazas. Tus usuarios nunca deberían ver una pantalla de inicio de sesión de Windows al entrar al portal desde Internet, sino que, más bien, deben ver una página web que les solicite usuario y contraseña.

    Autenticación Basada en Formularios y LDAP

    La clave de esta solución radica en hacer uso del mecanismo de Autenticación Basada en Formularios de ASP.NET y un proveedor de LDAP (Lightweight Directory Access Protocol) que permita la comunicación entre los formularios y Active Directory. SharePoint está construido sobre ASP.NET, así que este mecanismo de autenticación ya es nativo en él. Así mismo, MOSS 2007 ya incorpora un proveedor de LDAP, que está listo para ser utilizado.

    Implementando la Solución

    Para este ejemplo voy a suponer que estamos creando un portal desde cero y lo habilitaremos para que utilice autenticación basada en formularios. En el caso de que ya tengas un portal existente en tu intranet y desees exponerlo al exterior, simplemente debes iniciar extendiendo tu portal existente, mas no creando uno nuevo.

    Creación del Sitio Web

    1. Navega hacia tu SharePoint Central Administration y, en el tab Application Management selecciona Create or extend Web application.

    SharePointFBA1

    2. En Create or Extend Web Application selecciona Create a new Web Application.

    SharePointFBA2

    3. En Create a New Web Application ingresa los detalles de tu aplicación como lo haces normalmente. Sin embargo, asegúrate de elegir Yes en Allow Anonymous, en la sección de Security Configuration. Luego dale OK para que cree la nueva aplicación Web.

    SharePointFBA3

    4. Luego de unos minutos aparecerá la página Application Created. Allí, dale click a Create Site Collection.

    SharePointFBA4

    5. En la página Create Site Collection llena los detalles de tu nueva colección de sitios y elige una plantilla. Para el ejemplo elegiré la plantilla Collaboration Portal. Dale click a OK para crear a colección de sitios.

    SharePointFBA5

    6. Luego de unos minutos tu nuevo sitio estará creado, aunque no es necesario navegar hacia él todavía.

    SharePointFBA6

     

    Configuración del Proveedor LDAP

    1. Ubica el archivo web.config utilizado por tu SharePoint Central Administration. Para esto:

    a. Abre el Internet Information Services (IIS) Manager

    b. Expande el árbol de la izquierda para ver las aplicaciones Web del servidor

    c. Dale click derecho a SharePoint Central Administration v3 y selecciona Open del menú contextual

    d. Se abrirá una ventana del explorador de Windows con el directorio físico de la aplicación Web en el cual encontrarás el archivo web.config

    2. Abre el archivo web.config en cualquier editor de texto.

    3. Ubica el elemento system.web y, justo debajo de él, agrega lo siguiente:

    <membership defaultProvider="LdapMembership">
      <providers>
        <add name="LdapMembership"
          type="Microsoft.Office.Server.Security.LDAPMembershipProvider, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"
          server="julio-server"
          port="389"
          useSSL="false"
          userDNAttribute="distinguishedName"
          userNameAttribute="sAMAccountName"
          userContainer="CN=Users,DC=casal,DC=local"
          userObjectClass="person"
          userFilter="(|(ObjectCategory=group)(ObjectClass=person))"
          scope="Subtree"
          otherRequiredUserAttributes="sn,givenname,cn"
          connectionUsername="casal\unUsuarioDeDominio"
          connectionPassword="elPassword" />
      </providers>
    </membership>
     
    <roleManager defaultProvider="AspNetWindowsTokenRoleProvider" enabled="true" cacheRolesInCookie="true" cookieName=".PeopleDCRole">
      <providers>
        <add
          name="LdapRole"
          type="Microsoft.Office.Server.Security.LDAPRoleProvider, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"
          server="julio-server"
          port="389"
          useSSL="false"
          groupContainer="DC=casal,DC=local"
          groupNameAttribute="cn"
          groupMemberAttribute="member"
          userNameAttribute="sAMAccountName"
          dnAttribute="distinguishedName"
          groupFilter="(ObjectClass=group)"
          scope="Subtree"
          connectionUsername="casal\unUsuarioDeDominio"
          connectionPassword="elPassword" />
      </providers>
    </roleManager>

    Aquí, los atributos más relevantes son los siguientes:

    server: Tu servidor controlador de dominio que brinda el servicio de Active Directory (AD)

    port: El puerto abierto para las comunicaciones por LDAP. Típicamente es el 389.

    userContainer: El contenedor, dentro de AD, de los usuarios que se autenticarán en SharePoint. En este ejemplo el contenedor a usar será Users dentro del dominio casal.local

    connectionUsername: El usuario de dominio que utilizará el proveedor LDAP para conectarse a AD

    connectionPassword: El password del usuario especificado para connectionUsername

    4. Tal como lo hiciste para el web.config del Central Administration, ubica y abre el web.config de la aplicación Web recién creada en cualquier editor de texto.

    5. Ubica el elemento system.web y, justo debajo de él, agrega lo siguiente:

    <membership defaultProvider="LdapMembership">
      <providers>
        <add
          name="LdapMembership"
          type="Microsoft.Office.Server.Security.LDAPMembershipProvider, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"
          server="julio-server"
          port="389"
          useSSL="false"
          userDNAttribute="distinguishedName"
          userNameAttribute="sAMAccountName"
          userContainer="CN=Users,DC=casal,DC=local"
          userObjectClass="person"
          userFilter="(|(ObjectCategory=group)(ObjectClass=person))"
          scope="Subtree"
          otherRequiredUserAttributes="sn,givenname,cn"
          connectionUsername="casal\unUsuarioDeDominio"
          connectionPassword="elPassword" />
      </providers>
    </membership>
     
    <roleManager defaultProvider="LdapRole" enabled="true" cacheRolesInCookie="true" cookieName=".PeopleDCRole">
      <providers>
        <add 
          name="LdapRole"
          type="Microsoft.Office.Server.Security.LDAPRoleProvider, Microsoft.Office.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71E9BCE111E9429C"
          server="julio-server"
          port="389"
          useSSL="false"
          groupContainer="DC=casal,DC=local"
          groupNameAttribute="cn"
          groupMemberAttribute="member"
          userNameAttribute="sAMAccountName"
          dnAttribute="distinguishedName"
          groupFilter="(ObjectClass=group)"
          scope="Subtree"
          connectionUsername="casal\unUsuarioDeDominio"
          connectionPassword="elPassword" />
      </providers>
    </roleManager>

    6. Guarda y cierra ambos archivos web.config.

    Configuración el Proveedor de Autenticación

    1. De vuelta en el SharePoint Central Administration, en el tab Application Management selecciona Authentication providers.

    SharePointFBA7

    2. En Authentication Providers, asegúrate de tener seleccionada la aplicación Web que creaste y dale click a la zona Default cuyo proveedor actual es Windows.

    SharePointFBA8

    3. En la página Edit Authentication selecciona Forms en Authentication Type, ingresa LdapMembership en Membership provider name e ingresa LdapRole en Role manager name.

     

    SharePointFBA9

    4. Dale click a Save para guardar tus cambios.

    Autorizando Usuarios

    1. En el SharePoint Central Administration, en el tab Application Management selecciona Policy for Web application.

    SharePointFBA10

    2. En Policy for Web application dale click a Add Users.

    SharePointFBA11

    3. En Add Users selecciona la zona Default y dale click a Next.

    SharePointFBA12

    4. En la nueva pantalla, en la caja de texto Users, digita el nombre del administrador del sitio o de cualquier otro usuario al que desees dar acceso y dale click al botón Check names. Así mismo, dale los permisos adecuados en la sección Permissions y finalmente dale Finish.

    SharePointFBA13

    Probando la Autenticación

    1. Navega hacia tu nuevo sitio Web y notarás que eres redirigido hacia un página de inicio de sesión. Ingresa la credenciales del usuario que autorizaste en el paso anterior y dale click a Sign In.

    SharePointFBA14

    2. Y listo, haz iniciado sesión utilizando Autenticación Basada en Formas en tu nuevo sitio web.

    SharePointFBA15

    Recuerda hacer esta configuración siempre que necesites exponer un portar SharePoint al Internet para evitar las cada vez mayores amenazas que existen allá afuera.

    Espero sea de utilidad,

    Julio

    Cross-Posting desde juliocasal.com

  • Cómo modificar tu archivo hosts para resolver problemas de resolución de nombres con tu máquina virtual

    Esto no siempre ocurre, pero sí es algo muy común. El escenario es este: tienes levantada tu máquina virtual con Windows Server 2003 y WSS o MOSS y, desde tu máquina real o host, que tiene Windows Vista por ejemplo, quieres poder navegar hacia el sitio que tienes en tu virtual. Entonces haces esto desde tu host:

    http://MiServer:puerto/default.aspx

    Donde MiServer es el nombre de tu servidor en tu virtual y puerto es el puerto que le asignaste a tu sitio SharePoint. Pero, en lugar de mostrarte la home de tu sitio, el navegador presenta algo como esto:

    Hosts1

    El problema está en que tu Windows cliente no sabe cómo traducir o resolver el nombre de tu servidor hacia la IP correspondiente para poder navegar hacia ella. No voy a discutir aquí el por qué Windows no puede resolver el nombre en estos casos, pero sí te comentaré que siempre debe haber alguien o algo que haga la traducción del nombre.

    La forma más simple de resolver esto es editar el archivo hosts de Windows, el cual contiene una lista de pares de nombres de equipo e IPs que le sirven a Windows para conocer cómo hacer la traducción. Para editar tu archivo hosts:

    1. Abre NotePad como Administrador.

    hosts2

    2. Dale File –> Open y abre el archivo hosts que encontrarás en C:\Windows\System32\drivers\etc.

    Hosts5

    3. Ingresa una nueva línea con la IP y el nombre de tu servidor.

    Hosts3

    4. Guarda el archivo.

    Y listo, intenta ahora navegar hacia tu sitio SharePoint, usando el nombre del servidor, y el navegador cargará la página sin problemas.

    Hosts4

    Espero sea de utilidad,

    Julio

    Cross-Posting desde juliocasal.com

  • Cómo definir el idioma de tu plantilla de deployment usando las Extensiones de Visual Studio para SharePoint

    Si, como yo, estás usando la versión en inglés de las extensiones de Visual Studio para SharePoint, habrás notado que, de manera predeterminada, tu plantilla de deployment, ya instalada, aparece debajo del tab Development en la página de creación de un nuevo sitio. Así mismo, la plantilla solo aparece cuando eliges inglés en el selector de idiomas:

    PlantillaVsExtIng

    El resultado de crear tu sitio con esta plantilla es, por supuesto, un sitio cuya UI estará totalmente en inglés:

    SitioIngles

    Cómo hacer que tu plantilla aparezca entre las plantillas para otro idioma, como por ejemplo el español y por ende te genere un sitio con toda su UI en ese idioma?

    De hecho, es muy simple y solo requiere un ligero cambio en tu proyecto creado con las extensiones de Visual Studio para SharePoint.

    Para generar tu plantilla de deployment en un idioma diferente al inglés:

    1. Determina cuál es el local identification number para tu lenguaje. Para este ejemplo, donde usaremos el español, el número es 3082. Encontré el código en la lista que está por acá.

    2. En tu proyecto Visual Studio, que creaste usando las Extensiones de VS para SharePoint, abre la WSP View. Si no la encuentras al lado del Solution Explorer, la puedes abrir desde el menú View –> Other Windows –> WSP View.

    WSPView

    3. En la WSP View, abre el archivo manifest.xml y verifica el valor del atributo Location en el elemento WebTempFile. Notarás que la ruta inicia con el valor 1033 que, pues, corresponde al idioma inglés.

    Manifest1

    4. Como ya lo habrás intuido, solo debes cabiar ese 1033 por el código de tu idioma, que sería 3082 para el ejemplo y hacer el Deploy:

    Manifest2

    5. Hecho esto, ahora puedes dirigirte a crear un nuevo sitio y encontrarás tu plantilla de entre las plantillas del idioma que elegiste:

    PlantillaVsExtEsp

    6. Y, al crear el sitio, notarás que ahora todo asoma en español:

    SitioEspañol

    Espero sea de utilidad,

    Julio

    Cross-Posting desde juliocasal.com

  • ¡Silverlight 2 Beta 2 Ya Disponible!

    silverlight Tal como lo comenta Scott Guthrie, el día de ayer fue liberada la Beta 2 de Silverlight 2 y, con ella se incorporan una serie de nuevas características y algunos cambios. Aquí les copio la lista de todo lo nuevo que se incluye en la Beta 2 según lo indica el blog del Silverlight SDK:

    Animation
    1. Support for animating custom data points
    2. Object Animation support (animating structs)

    DeepZoom
    1. New file format completely XML based. Also, there will be a new Deep Zoom Composer tool that will allow you to create these new file types.
    2. MultiScaleTileSource  (implement a tile source to existing tile databases)
    3. Better notifications when sub-images enter the view

    Controls
    1. New TabControl
    2. DataGrid improvements: Autosize, Reorder, Sort, Performance increase, and more
    3. Calendar now supports multi-selection and blackout dates
    4. Improved Templating Model: Visual State Manager
    5. Control properties changes (Background, Tooltip, FontFamily, FontSize…)
    6. Including controls in the runtime instead of having them packaged in app package

    TextBox
    1. IME Level 3 input support on Windows and Level 1 on Mac
    2. Text wrapping and multiline selection highlighting in textbox
    3. Scrollbar Support
    4. Document Level Navigation keys

    Improvements in error handling, reporting

    Property System/Parser
    1. DependencyProperty.Register/RegisterAttached now supports PropertyMetadata
    2. DependencyObject.ClearValue
    3. Visual Tree Helper

    Data Binding
    1. Per-binding level validation
    2. Support for element syntax for binding markup extension
    3. Binding to Attached Properties
    4. ItemsControl Extensibility (OnItemsChanged method)
    5. Fallback in Value Conversion (Binding.UnsetValue)

    Input
    1. Limited keyboard support in FullScreen mode (arrow, tab, enter, home, end, pageup/pagedown, space)
    2. Managed APIs for Inking

    Networking and Data
    1. Cross Domain support in Sockets
    2. Cross Domain security enhancements
    3. BrowserHttpWebRequest and WebClient callable from BackGround Threads
    4. Upload support for WebClient
    5. UI for isolated storage (ability to change quota)
    6. Duplex communications (“push” from Server to Silverlight client)
    7. LINQ-to-JSON
    8. Configuration support for web service proxies
    9. Significantly improved SOAP interop
    10. “Add New Item” template in Visual Studio for “Silverlight-enabled WCF Service”
    11. ADO.NET Data Services support

    UIAutomation and Accessibility support in platform

    Media
    1. Platform support for Adaptive streaming
    2. Silverlight DRM, Powered by PlayReady
    3. Basic SSPL support

    Localization
    1. Changes in application model for multilingual apps (one xap per supported locale)
    2. Expanded localization languages of runtime and SDK
    3. Japanese SDK Installer and documentation (July 17)

    Several changes for WPF compatibility

    Remote Debugging for VB on Mac

    CLR
    1. Developer Runtime Package facilitate development (localized strings, debugging binaries, etc)
    2. Support the OS fallback logic for resources
    3. CurrentCulture and CurrentUICulture Isolation

    DLR
    1. Performance improvements
    2. Various new DLR and IronPython 2.0 Beta 2 language features
    3. Various new IronRuby Features

     

    Puedes descargar el runtime de Silverlight 2 Beta 2 más todos los tools necesarios para desarrollar con él desde aquí.

    Con este update Microsoft soporta la licencia go-live que te permite hacer aplicaciones comerciales que aprovechen todo el poder de Silverlight 2. Así mismo, la Beta 2 ya es compatible con el recientemente liberado VS 2008 SP1 beta.

    Más info sobre lo que puedes haer con esta Beta 2 y sobre los cambios desde la Beta 1 en el blog de Scott Guthrie.

    Julio

  • El Último Día de Bill Gates en Microsoft

    Sé que no tiene nada que ver con SharePoint, pero este video es bastante gracioso y en realidad no lo encontré en otro lado. Lo extraje del Keynote que ofreció Bill Gates hace unos días como parte del Tech-Ed. El video por acá:

    http://juliocasal.com/blog/el-uacute-ltimo-d-iacute-a-de-bill-gates-en-microsoft

    Que lo disfruten,

    Julio

  • ¡Visual Studio 2008 Extensions v1.2 para WSS 3.0 ya están disponibles!

    Vaya, este anuncio sí que es algo que esperaba desde hacía un buen rato, y creo no soy el único. Los Visual Studio Extensions para WSS (VSeWSS) son un compendio de plantillas y herramientas para Visual Studio que te permiten crear tus soluciones orientadas ya sea a WSS 3.0 o MOSS 2007 y prepararlas para un deployment sumamente sencillo. Hasta ahora solo se podían usar con VS 2005, pero con este update ya es posible usar VS 2008 en todo su esplendor.

    Descarga las extensiones desde aquí.

    Estas extensiones normalmente se necesitan cuando quieres hacer algo más que usar la funcionalidad predeterminada de SharePoint, como por ejemplo cuando quieres agregarle:

    • Web Parts personalizados
    • Tus propios servicios Web
    • Nuevos features
    • Listas y tipos de contenido personalizados
    • Timer jobs
    • Código .NET que responda a eventos de SharePoint
    • Una masterpage personalizada

    vssNuevoProj

    vssNuevoItem

    VSSEstructura

    Eso, entre otras cosas, lo puedes hacer sin usar estas extensiones por supuesto, pero te aseguro que te tomará un buen tiempo desarrollarlas, depurarlas, probarlas y luego hacer su deployment. Con los extensions es solo cuestión de crear todo (o casi todo) usando las plantillas, personalizar la estructura generada, compilar y mandar a hacer deploy desde el mismo Visual Studio. Este compilará todo y generará un paquete con extensión WSP al que le hace deploy en tu sitio SharePoint.

    VSSDeploy1

    VSSDeploy2

    VSDeploy3

    Hecho esto, te diriges a tu portal SharePoint y, al dirigirte a la página para creación de un nuevo sitio, encontrarás un nuevo grupo de plantillas llamado Development en el cual estará listada tu nueva plantilla de proyecto, basada en el proyecto que preparaste en Visual Studio. Y, luego de crear el sitio, todas las personalizaciones que preparase se habrán generado en el nuevo sitio.

    VSSNuevoSitio

    VSSTerminado

    He estado usando las extensiones para VS 2005 desde hace un par de meses y, aunque no creo que resuelvan todos los problemas de deployment, realmente me parecen sumamente útiles y una gran ayuda para las tareas diarias de desarrollo con SharePoint. No puedo esperar a preparar la máquina virtual con SharePoint y Visual Studio 2008 para empezar a sacarle provecho a este fascinante ambiente de desarrollo.

    Por cierto, para saber más sobre cómo usar las extensiones, te recomiendo descargar la guía del usuario que está por acá. La escribieron para la versión 1.1 de las extensions, pero la versión 1.2 no varía en nada más que dar soporte para VS 2008, así que la guía te servirá muy bien.

    Espero sea de utilidad,

    Julio

  • ¡Dame tu voto en Blog It!

    Desde hace algunos días arrancó el concurso Blog It de Microsoft, cuyo objetivo es encontrar al Top Blogger de México. La idea es premiar a quienes demuestren su pasión por alguno de los productos Microsoft que están concursando a través de su blog y, como no podía faltar, SharePoint hace presencia!

    mai_mx_blogit2

    Entonces, si de algo te ha servido lo que he publicado en este blog o si simplemente te gusta lo que has visto aquí, regálame un voto!

    Para votar:

    Regístrate en www.blogit.ms, dale click a Vota Aquí, selecciona la categoría SharePoint y presiona Vota junto a la URL de mi blog (http://juliocasal.com).

    De antemano, ¡muchas gracias por tu apoyo!

    Julio

  • Aprende a Desarrollar para SharePoint con MSSharePointDeveloper.com

    En verdad me siento muy afortunado de haberle entrado a la onda del desarrollo con SharePoint en un momento en el que aparecen cada vez más iniciativas y recursos al respecto. Este nuevo sitio es un ejemplo, pues en MSSharePointDeveloper.com encontrarás muchos recursos esenciales para familiarizarte y prepararte en muchos temas relacionados con el desarrollo de aplicaciones para SharePoint.

    mssharepointdeveloperfrontpage

    Aparte de ser un sitio muy cool desarrollado con Silverlight, allí hay laboratorios, webcasts, screencasts, presentaciones, ejemplos y muchos otros recursos con los que puedes iniciarte.

    Julio

  • Hands-On-Labs de Desarrollo de Aplicaciones para Windows SharePoint Services 3.0 con Visual Studio 2005

    Hace uno días les comentaba de unos excelentes Webcasts de Introducción a SharePoint para Desarrolladores .NET. Pues bien, para mi sorpresa Andrew Connell acaba de anunciar que los laboratorios correspondientes a esos webcasts están ya disponibles para descarga desde acá.

    Estos labs cubren varios de los tópicos con los que un developer se enfrenta al querer desarrollar aplicaciones para SharePoint:

    1. Web Parts
    2. Data Lists
    3. Event Handlers
    4. Workflow
    5. Silverlight
    6. Page Navigation
    7. Page Branding
    8. Web Services
    9. Content Types
    10. User Authentication

    Todos vienen con sus instrucciones paso a paso y con el código completo en C# y VB.NET.

    Espero sea de utilidad,

    Julio

  • Webcasts de Introducción a SharePoint para Desarrolladores .NET

    Me acabo de enterar, pero no es tarde para ponerse al día. Robert Bogue y Andrew Connell, dos MVPs de SharePoint muy reconocidos (en particular he aprendido mucho de Andrew!), están llevando a cabo una serie de 10 webcasts en los que cubren los tópicos fundamentales para el desarrollo de aplicaciones con SharePoint.

    La serie de webcasts arrancó el 20 de mayo y están transmitiendo un webcast cada Martes y Miércoles a las 9AM desde ese día. Cada sesión es de 60 minutos y las sesiones son de nivel 200.

    Aquí copio el calendario de los webcasts:

    Fecha Tópico Link de Registro
    May 20 Web Parts ¡Regístrate!
    May 21 Data Lists ¡Regístrate!
    May 27 Silverlight and SharePoint ¡Regístrate!
    May 28 Using Event Handlers ¡Regístrate!
    Jun 3 Page Branding ¡Regístrate!
    Jun 4 Workflow ¡Regístrate!
    Jun 10 Web Services ¡Regístrate!
    Jun 11 Page Navigation ¡Regístrate!
    Jun 17 User Management ¡Regístrate!
    Jun 18 Custom Content Types ¡Regístrate!

     

    Si te perdiste alguno, no te preocupes, el link te lleva a una página que te permite ver el video bajo demanda o descargarlo para verlo fuera de línea.

    Espero sea de utilidad,

    Julio

  • Cómo definir un campo de solo lectura en la página de edición de una lista de SharePoint

    Esto es algo que esperaba lograr hacer a través de las opciones de configuración de SharePoint, pero que por el momento requiere de unos cuantos pasos más y la ayuda de SharePoint Designer. El requerimiento que tenía mi cliente en este caso era pues que deseaban que en una determinada lista de SharePoint los usuarios no pudieran editar uno de sus campos luego de que la lista ya estaba creada.

    Para demostrar cómo se puede lograr esto he creado dos listas personalizadas. La primera se llamada Frecuencias y la muestro en la siguiente figura:

    Frecuencias

    Y la segunda se llama Evaluaciones, la cual pues tiene un campo de tipo búsqueda (lookup) que recibe datos de la lista Frecuencias:

    Evaluaciones

    Lo que deseamos hacer aquí es evitar que el usuario pueda cambiar la frecuencia de alguno de los elementos desde la página de edición de los elementos de la lista:

    EditarEvaluación

    Para esto debemos convertir el DropDownList de la Frecuencia en un texto de solo lectura.

    Entonces, para convertir un campo editable de la lista en un campo de solo lectura:

    1. Abre SharePoint Designer.

    2. Abre tu sitio web y, en el panel izquierdo, ubícate en la lista a la que le harás la modificación. En este caso, la lista Evaluaciones.

    EditarLista1

    3. Saca una copia de EditForm.aspx con un simple copy-paste de la misma sobre la lista de Evaluaciones y dale un nombre apropiado a la nueva forma (EditFormPersonalizada.aspx en el ejemplo).

    EditarLista2

    4. Dale doble click a tu nueva forma para que se abra en el diseñador de la parte central.

    EditarLista3

    5. En la parte inferior, selecciona la vista Code para ver el HTML de la página. Allí selecciona el elemento WebPartPages:ListFormWebPart y todo su contenido y elimínalo.

    EditarLista4

    6. Cámbiate a la vista Split para ver el código y el diseño de la página en pantalla dividida. Ubícate en la zona del código en la que eliminaste el código y seleciona Insert --> SharePoint Controls --> Custom List Form... desde el menú.

    EditarLista5

    7. En el cuadro de diálogo List or Document Library Form elige la lista a editar (Evaluaciones), selecciona Elemento en Content type to use for form, elige Edit Item Form en Type of form to create y dale click a OK. Te aparecerá el HTML de la lista en la pantalla de código y su representación visual en la vista de diseño.

    EditarLista6

    8. Selecciona el campo Frecuencia en la vista de diseño, abre la flecha que aparece en la parte superior izquierda del campo y en el pequeño recuadro que aparece selecciona Format As: Text.

    EditarLista7

    9. Regresa ahora al árbol de archivos de la izquierda, dale click derecho a la lista Evaluaciones y selecciona Propiedades. En el cuadro de diálogo List Properties, dirígete al tab Supporting Files. Allí elige Elemento en Content type specific forms y dale click a Browse en Edit item form para seleccionar la forma que acabas de personalizar (EditFormPersonalizada.aspx en el ejemplo).

    EditarLista8

    10. Guarda tus cambios y listo! Si ahora te diriges al portal con tu navegador y tratas de editar un elemento de la lista te toparás con esto:

    EditarLista9

    El campo Frecuencia ya no es editable y por ende ningún usuario podrá modificarlo.

    Como nota adicional, es posible que necesites hacer check-in del formulario o publicarlo si es que el usuario con el que hiciste esos cambios tiene privilegios limitados sobre el sitio.

    Espero sea de utilidad,

    Julio

  • Cómo Habilitar InfoPath Forms Services en SharePoint 2007

    Hoy me llevé tremendo susto cuando me di cuenta de que mi máquina virtual (que me tomó un par de días en preparar) no soportaba InfoPath Forms Services y que esto sucedía porque había instalado la edición Estándar de MOSS 2007 y no la Empresarial! ¿Tendría que volver a instalar todo el MOSS nada más por esta mala selección? Afortunadamente no.

    La administración de SharePoint incluye una opción muy útil que permite hacer el upgrade de la versión Estándar a la Empresarial sobre la marcha. Para esto hay que dirigirse al tab Operations del Central Administration y escoger Convert license type, en la sección Upgrade and Migration.

    ConvertirLicenciaMoss1

    En la siguiente página ingresas tu clave de la edición Empresarial y le das OK.

    ConvertirLicenciaMoss2

    Una vez convertida la licencia, aparecerá otra página que te permitirá habilitar las características empresariales en tus sitios actuales y listo, InfoPath Forms Services y el resto de características empresariales están habilitados.

    Copio aquí un par de links adicionales que me sirvieron para comprender mejor qué características están incluidas en cada edición de SharePoint y cuáles son los tipos de upgrade soportados:

    Which SharePoint technology is right for you?

    Version to Version Supported Upgrade Paths

    Espero sea de utilidad,

    Julio

  • Cambiando el lenguaje de tu sitio SharePoint

    Mientras creaba una solución MOSS 2007 para un cliente local cometí un error de principiante. Creé el sitio de SharePoint usando la plantilla Team Site, en lugar de usar la plantilla en Español. Como sabrán, esa es una muy mala elección, puesto que no se supone que puedas cambiar el lenguaje luego de que el sitio es creado. Mi sitio ya estaba listo para deployment, pero cómo cambiarlo a Español?

    Entonces, gracias a este post de Mirjam (quien tiene todos los créditos por esta gran solución), hay una forma de resolver esta situación. Solo tienes que cambiar el lenguaje y código local en la tabla Webs de la Base de Contenido de tu Aplicación Web.

    Así que, para cambiar el lenguaje de tu sitio:

    1. Encuentra el nombre de tu base de contenido. Ve al Central Administration > Application Management > Content Databases, selecciona tu aplicación web en el link de la parte superior derecha y encontrarás el nombre debajo de Database Name.

    ManageContentDatabases

    2. Encuentra el local identification number para tu lenguaje. Para mi escenario, donde necesitaba Español, el número es 3082. Encontré el código en la lista que está por acá.

    3. Abre una nueva ventana de query en SQL Server Management Studio y tipea este query:

    UPDATE [Content_Database].[dbo].[Webs]
    SET [Language] = <your language code>
          ,[Locale] = <your language code>
    WHERE [Title] = 'YourSiteTitle'

    ...que en mi caso era algo como esto:

    UPDATE [WSS_Content_502cdb9132c6469fb04ba4744a6ce6d6].[dbo].[Webs]
    SET [Language] = 3082
          ,[Locale] = 3082
    WHERE [Title] = 'MySiteTitle'

    Y listo, todos los menus y muchas de las configuraciones aparecen en Español. Por supuesto esto no cambia los nombres y descripciones de las librerías y listas y nombres de páginas, pero para mi escenario es una solución perfecta.

    ContentInSpanish

    Espero sea de utilidad,

    Julio

Powered by Community Server (Personal Edition), by Telligent Systems