in

Comunidad de Blogs de SharePoint

Este espacio es para poder colaborar, compartiendo y publicando contenido de valor sobre la herramienta de colaboración Microsoft Office SharePoint

Julio Casal

Desarrollo de Soluciones con SharePoint
  • Webcast de Desarrollo para SharePoint con Visual Studio 2008

    El día de mañana mis amigos de la comunidad de SharePoint de México, D.F. y mi persona estaremos brindando un webcast en el que trataremos el tema del desarrollo para SharePoint usando Visual Studio 2008, viendo cómo se puede usar efectivamente a WSS 3.0 como una plataforma de desarrollo.

    Aquí el anuncio oficial:

     webcast_SharePoint_VS

    Por acá el link para entrar al webcast:

    https://www.livemeeting.com/cc/microsoft/join?id=H55WG7&role=attend&pw=z//%2BF%2BW6w

    La sesión empieza mañana 28 de Agosto, a las 5PM. Sin embargo, les recomiendo dirigirse al link unos minutos antes para que instalen el cliente de Live Meeting que necesitarán para visualizar el webcast.

    ¡Los esperamos!

    Julio

    Cross-posting desde juliocasal.com

  • Guía para el Desarrollo de Aplicaciones para SharePoint de P&P

    Patterns & Practices (P&P) es un equipo de Microsoft dedicado a proveer las mejores guías,  patrones y herramientas que nos ayuden a diseñar, desarrollar y probar las aplicaciones que creamos basadas en tecnologías Microsoft. A la fecha tienen publicadas una gran cantidad de guías y herramientas para la construcción de aplicaciones de escritorio, aplicaciones Web, aplicaciones para dispositivos móviles, servicios Web, entre otras.

    Me acabo de enterar que ahora le han puesto el ojo a SharePoint y para nuestra gran fortuna están trabajando en una serie de guías sobre cómo desarrollar aplicaciones o soluciones de Intranet basadas en SharePoint.

    En particular, tienen ya un pequeño avance publicado por acá que incluye:

    • Una implementación de referencia basada en un escenario llamado Training Management. Esta es una solución de Visual Studio 2008 que contiene un site definition, lists definitions, content types, webparts, workflows y muchos de los otros típicos artefactos que deben usarse al crear soluciones SharePoint. Algo fantástico aquí es que incluyen una serie de pruebas unitarias que no solo aseguran la calidad del código sino que nos dan una guía sobre cómo implementar estas pruebas en nuestros proyectos SharePoint.
    • Una guía en formato chm que explica la arquitectura y los escenarios que cubre esta implementación de referencia, así como el cómo resolver típicos problemas que enfrentamos los desarrolladores al crear soluciones para SharePoint.

    También está disponible el documento de Visión/Alcance para poder conocer qué es lo que tienen planeado cubrir en esta guía.

    El proyecto de Codeplex con toda la información acerca de esta nueva guía está por acá: http://www.codeplex.com/spg

    Cabe recalcar que el proyecto aún está verde, aún no llegan ni a fase alfa, pero es muy grato saber que hay este tipo de esfuerzo de parte de Microsoft para ayudarnos a todos quienes hemos tomado a SharePoint como nuestra nueva plataforma de desarrollo.

    Julio

    Cross-posting desde juliocasal.com

  • Usando el DateTimeControl de SharePoint en tus páginas y controles ASP.NET

    Hace unos días estaba trabajando en un control de usuario de ASP.NET que debía incluir como parte de una solución SharePoint para un cliente. En este control debía incluir el clásico mecanismo de selección de rango de fechas que determinarían los registros a mostrar como resultado de una consulta. Esto pues implica colocar algún control para la selección de fecha de inicio y fecha de finalización.

    ASP.NET no incluye un control para selección de fechas del tipo DateTimePicker que sí incluye Windows Forms (aunque sí hay un control Calendar) y por ello me lanzé a la búsqueda de un control sencillo (y si es posible gratutito) que pudiera incorporar en mi solución y, aunque encontré varios, cada uno implicaba una o más configuraciones para que pudiera funcionar apropiadamente en el ambiente de SharePoint, sin hablar de que luego hay que hacer el correspondiente deployment del mismo.

    Luego se me ocurrió que tal vez SharePoint incluyera ya un control de este tipo, pues después de todo está basado en ASP.NET y en más de una página de SharePoint aparece un control para selección de fechas como el que quería usar. Sin mucho buscar encontré este post de Ishai Sagi (SharePoint MVP), donde hace exactamente lo que yo quería, que es usar un control llamado DateTimeControl que ya viene incluido en uno de los assemblies de SharePoint.

    Entonces, para agregar el DateTimeControl a tu página o control ASP.NET (estoy asumiendo que estás haciendo esto en un proyecto de tipo SharePoint que creas con las Extensiones de Visual Studio para SharePoint):

    1. En tu proyecto, agrega una referencia al assembly Microsoft.SharePoint.dll (aunque la referencia viene de manera predeterminada en este tipo de proyectos)

    2. En la parte superior de tu página o control ASP.NET, declara la siguiente directiva:

    <%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls"
        Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

    3. En el lugar donde necesites el control decláralo como lo harías con cualquier control ASP.NET, pero con el prefijo SharePoint. Por ejemplo:

    <SharePoint:DateTimeControl ID="dateTimeFechaInicio" runat="server" DateOnly="true"
                                AutoPostBack="true"   LocaleId="3082" />

    En este ejemplo en particular, estoy declarando el control y especificando que solo muestre fechas (DateOnly=”true”) y que use la configuración regional de Español (LocaleId=”3082”) en lugar de la predeterminada en Inglés.

    El resultado, en mi ejemplo, es algo como esto:

    …donde he colocado dos instancias del control para la selección del rango. Y, al dar click en el selector de fecha aparece así:

    Realmente me agrada mucho este “poder” adicional que me brinda SharePoint como desarrollador, puesto que al reutilizar sus controles me evito cualquier trabajo de configuración y deployment adicionales que hubiera tenido que realizar si los controles no estuvieran disponibles. Allí es cuando realmente se aplica aquello de que SharePoint es una verdadera plataforma de desarrollo.

    Espero sea de utilidad,

    Julio

    Cross-posting desde juliocasal.com

  • Cómo acceder a servicios web de SharePoint en sitios que usan forms based authentication

    Como muchos saben, hay una serie de servicios web que exponen tanto WSS 3.0 como MOSS 2007, los cuales pueden ser consumidos para realizar una diversa serie de acciones sobre los sitios SharePoint programáticamente. Sin embargo, algo que no es tan obvio, es el hecho de que cuando aquellos sitios no utilizan la autenticación basada en Windows, que es la predeterminada, sino que están configurados para usar autenticación basada en formas, o forms based authentication (FBA), se requieren pasos adicionales para hacer la invocación apropiadamente.

    Si intentas la invocación y no utilizas las líneas adicionales que comento más abajo obtendrás una WebException con este mensaje:

    The request failed with HTTP status 403: Forbidden.

    Entonces, si por ejemplo deseas invocar al servicio web de listas (Lists.asmx) que expone SharePoint desde tu código C#, en un sitio que usa FBA, esto es lo que debes hacer:

    // Autenticar
    AuthenticationService.Authentication auth = new AuthenticationService.Authentication();
    auth.CookieContainer = new CookieContainer();
    AuthenticationService.LoginResult result = auth.Login("usuario", "contraseña");

    if (result.ErrorCode == AuthenticationService.LoginErrorCode.NoError)
    {
        // Crear el servicio de listas y asociarle la cookie
        // retornada por el servicio de autenticación
        ListsService.Lists lists = new ListsService.Lists();
        CookieCollection cookies = auth.CookieContainer.GetCookies(new Uri(auth.Url));
        Cookie authCookie = cookies[result.CookieName];
        lists.CookieContainer = new CookieContainer();
        lists.CookieContainer.Add(authCookie);

        // Invocar al servicio de listas
        XmlNode responseNode = lists.GetListCollection();
        // Utilizar los datos retornados...
    }

    En este ejemplo, AuthenticationService y ListsService son referencias web a lo servicios de SharePoint que encontrarás en http://midominio.com/_vti_bin/authentication.asmx y http://midominio.com/_vti_bin/lists.asmx respectivamente.

    El código lo que hace es invocar el servicio de autenticación utilizando un usuario y contraseña válidos en el contexto de este sitio que usa FBA. El resultado de esa autenticación contiene una cookie que es como el token que identificará a las sucesivas invocaciones a otros servicios web. Luego de verificar que no hubo errores al autenticar, se crea la instancia del servicio de listas, se le agrega la cookie obtenida a su contenedor de cookies y finalmente se invoca al servicio. Y listo, la llamada debe ejecutarse sin problemas.

    Notas Importantes

    • El usuario que utilices para invocar al método Login de Authentication.asmx debe ser un usuario que forme parte del sitio que utiliza FBA, mas no puede ser uno de tus usuarios de Active Directory, es decir, no pueden ser usuarios de un sitio que use Windows Authentication. Authentication.asmx funciona únicamente para sitios que usen FBA.
    • El dominio de los servicios web que utilizarás no puede contener un puerto específico, pues en ese caso la cookie no funcionará. Es decir, si haces tus referencias web a http://midominio:12000, obtendrás un error al invocar al servicio de listas, más si usas http://midominio.com (que corre en el puerto 80) todo funcionará sin problemas.

    Espero sea de utilidad,

    Julio

    Cross-posting desde juliocasal.com

  • ¡SPSite no es un site!

    Una pequeña nota acerca del modelo de objetos de SharePoint. Aunque ya lo he estado usando durante unos cuantos meses, recién ahora leyendo un excelente libro llamado Inside Microsoft Windows SharePoint Services 3.0, me he enterado de ciertas diferencias entre el nombramiento de objetos en el modelo de objetos de SharePoint y los elementos correspondientes que se utilizan en su UI.

    Y es que SPSite pues no se refiere a un site de SharePoint, sino a un site collection, mientras que SPWeb tampoco se refiere a una Web Application como lo hubiera esperado, sino a un site!

    Entonces, en el siguiente código:

    using Microsoft.SharePoint;

    class Program {
      static void Main() {
        string ruta = "http://misitio.com";

        SPSite siteCollection = new SPSite(ruta);
        SPWeb site = siteCollection.RootWeb;
        foreach (SPList lista in site.Lists) {
          Console.WriteLine(lista.Title);
        }
        site.Dispose();
        siteCollection.Dispose();
      }
    }

    … pues estoy obteniendo primeramente una referencia al site collection del sitio (un SPSite), luego una referencia al sitio de nivel superior dentro de esa site collection (un SPWeb) y luego pues recorro las listas del sitio, despliego sus nombres en la consola y finalmente hago dispose de los objetos que lo requieren.

    Aparentemente esto es un legado de el nombramiento de estos objetos en versiones pasadas de la plataforma. Seguramente es obvio para los masters en desarrollo con SharePoint, pero a mi me acaba de aclarar algunas dudas :)

    Julio

    Cross-posting desde juliocasal.com

  • Cambiando la vista inicial en tu Forma InfoPath programáticamente

    Sí, en muchos casos podrás hacer ese cambio de vistas usando reglas de InfoPath, pero, tarde o temprano, te pasará como a mi y las reglas no serán suficiente para el tipo de personalización que tus usuarios demandan. Cómo le haces entonces para definir la vista inicial que debe mostrarse en la forma InfoPath programáticamente dependiendo de tus reglas de negocio?

    Supongamos que tienes una forma InfoPath con 2 vistas: VistaCreacion y VistaAprobacion y que el mostrar una u otra vista depende del usuario que inició sesión en SharePoint.

    Para agregar el código que cambie la vista inicial de la forma:

    1. En InfoPath, selecciona el menú Tools –> Programming –> Loading Event…, lo cual abre el código C# de la forma y te sitúa en el manejador del evento Loading.

    2. En el método FormEvents_Loading agrega las siguientes líneas:

    public void FormEvents_Loading(object sender, LoadingEventArgs e)
    {
        if (Application.User.LoginName.Equals(@"MiDominio\UnAprobador"))
            e.SetDefaultView("VistaAprobacion");
        else
            e.SetDefaultView("VistaCreacion");
    }

    Y listo. Una vez que hagas el deployment de tu forma ésta mostrará la vista apropiada dependiendo de quien inició sesión en el portal SharePoint.

    Una nota personal: cada vez más prefiero usar código C# en vez de las reglas de InfoPath, principalmente porque las reglas suelen ser limitadas y complicadas cuando quieres resolver escenarios no tan simples. Más aún, cuando tienes muchas reglas y luego necesitas agregar también código C#, eso puede convertirse en una verdadera ensalada muy difícil de entender aún para ti mismo, menos aún para el pobre que deberá darle mantenimiento a tu forma más adelante.

    Espero sea de utilidad,

    Julio.

    Cross-posting desde juliocasal.com

  • Conoce SharePoint Magazine

    Aquí nada más para pasarles la noticia de este nuevo sitio, llamado sharepointmagazine.net, en el que se están presentando interesantes artículos relacionados con SharePoint.

    SharePointMagazine

    En este momento hay un artículo interesante sobre cómo se ve SharePoint en un dispositivo móvil como el iPhone, una entrevista con el muy conocido Joel Oleson y algunas otras cosas. Seguramente vendrá mucho más contenido en adelante.

    Julio.

    Cross-posting desde juliocasal.com

  • Nace la International SharePoint Professionals Association

    ispa-med

    Desde hace varios meses nos hemos venido juntando algunos entusiastas de las tecnologías SharePoint alrededor de todo el mundo y el día de hoy, gracias a los esfuerzos que ha liderado Bob Fox, MVP de SharePoint, ha nacido la International SharePoint Professionals Association (ISPA), una gran comunidad de profesionales voluntarios independientes que queremos difundir la voz acerca de SharePoint y guiar su adopción por todo el mundo.

    Estamos muy contentos por poder dar inicio a esta nueva gran comunidad y quién mejor que Bob para introducirnos a esta iniciativa (el anuncio oficial en inglés está por acá):

    “La Asociación Internacional de Profesionales de SharePoint, también conocida como ‘ISPA’ (por sus siglas en inglés), es una organización independiente, sin fines de lucro e impulsada por la comunidad dedicada a brindar soporte a profesionales y grupos de SharePoint alrededor del mundo. La misión primaria de ISPA es el promover la adopción global de las Tecnologías SharePoint proveyendo soporte y guías para la comunidad SharePoint como un todo – estableciendo conexiones entre los profesionales, grupos, recursos, educación e información de SharePoint. ISPA es liderado y soportado por voluntarios a través del mundo y se enfocará en llevar a toda la comunidad a estar mucho más unidos.

    La primera oferta de la ISPA para la comunidad es brindar soporte a los grupos de usuarios alrededor del mundo a través de sitios web WSS v3 gratuitos para cada grupo que se afilie a la ISPA. Adicionalmente, uno de los objetivos de la ISPA es el facilitar un intercambio de ideas entre líderes de grupos de usuarios que ayuden a incrementar las posibilidades de éxito de sus grupos. Siendo así, ISPA está proveyendo a los líderes de los grupos de usuario del acceso a espacios colaborativos donde pueden interactuar con otros líderes de grupo, compartiendo ideas, recursos, mejores prácticas, guías y, más importante, brindarse soporte entre ellos.

    ISPA también ha establecido Evangelistas Regionales – líderes de comunidad existentes que han exhibido previamente un compromiso fuerte hacia la promoción de la comunidad SharePoint y que se han comprometido a llevar el mensaje de ISPA a través de su región particular. Estos evangelistas son contactos locales clave que están disponibles para trabajar con profesionales locales de SharePoint y grupos de usuarios a través de su región para ayudar a promover la comunidad y SharePoint. Si estás interesado en iniciar un grupo de usuarios, tienes uno existente o necesitas guía – los Evangelistas Regionales de la ISPA son excelentes recursos que están disponibles para asistirte inmediatamente.

    Finalmente, como todos saben, ninguna comunidad está completa sin un sitio web, y la ISPA se enorgullece en anunciar el lanzamiento de su sitio oficial, http://www.sharepointpros.org. Aún cuando el sitio está todavía en sus fases iniciales de desarrollo, los planes para el soporte multilenguaje y la funcionalidad existente que asistirá a todos los involucrados con SharePoint están en el horizonte.

    Si tienes ideas para ISPA, te gustaría iniciar un grupo de usuarios o necesitas asistencia, visita el nuevo sitio de la ISPA o contacta a ISPA en contactus@sharepointpros.org. Juntos, la comunidad puede lograr lo que era imposible de forma individual – conviértete en parte de la ISPA hoy!”

     

    Quisiera extender la invitación de Bob a todos quienes estén trabajando o estén interesados en las tecnologías SharePoint aquí en México, en particular a quienes participan ya de la Comunidad SharePoint de México y a los fabulosos Bloggers locales, para que se unan a esta iniciativa y me den a conocer las ideas sobre aquello en lo que les gustaría se convierta esta gran comunidad. Qué les gustaría ver en el sitio? Qué áreas de este gran producto SharePoint les interesa más? Qué clase de actividades de aprendizaje o intercambio de conocimientos les resulta más útiles?

    Me encantaría recibir su feedback que me pueden enviar ya sea dejándome un comentario en este post, escribiéndome a mi link de contacto ó directamente a mi email.

    Visiten por favor el sitio, donde podrán enterarse de quienes están formando parte ya de la ISPA, y estén atentos a las novedades que tendremos más adelante. Así mismo, aún hay algunos países de habla hispana que carecen de representación en la ISPA, no necesariamente por que no existan, sino porque simplemente no los conocemos. Si perteneces a alguno de ellos o conoces a sus líderes, por favor contáctate con nosotros y únanse!

    Julio.

    Cross-posting desde juliocasal.com

  • Tutoriales para aprender Excel Services

    En estos días he estado evaluando la factibilidad de utilizar Excel Services, y en particular Excel Web Access, en mi proyecto actual. En mi búsqueda de información encontré una serie de tutoriales que me dieron todo el contexto general para implementar distintos escenarios posibles con Excel Services y, pues, me gustaría compartirlos.

    Aquí los tutoriales con sus links de descarga:

    Setting up the Server - Step 1: Creating a Trusted Location with Excel Services

    Setting up the Server - Step 2: Configuring Single Sign-On for Excel Services

    Setting up the Server - Step 3: Creating a Trusted Data Connection Library with Excel Services

    Building a Report Based on Cube Functions for Excel Web Access

    Protecting Workbook Intellectual Property (IP) with View Item Rights

    Using OLAP Formulas, Conditional Formatting, and Charts

    Building an OLAP PivotTable Report with Excel Services

    Building a Relational PivotTable Report with Excel Services

    Building a Report with a Chart for Excel Web Access Based on Cube Functions

    Creating a Multi-Report Summary Page of Reseller Sales Data

     

    Por acá algunas imágenes para que se den una idea de lo que se puede implementar con los tutoriales:

    clip_image002

    clip_image001

    clip_image002[4]

    ExcelServices1 

    ExcelServices2

    Tal vez ya conocían sobre esto, porque Excel Services lleva rato en el mercado, pero yo soy nuevo en esto, así que a mis amigos novatos pues de seguro les será de utilidad. Por cierto, este otro link está también muy bueno para empezar.

    Julio

    Cross-posting desde juliocasal.com

  • Cómo compactar un disco duro virtual (pero bien compactado)

    Quienes trabajen construyendo aplicaciones de servidor, especialmente aquellas basadas en SharePoint, saben lo que es trabajar a diario con máquinas virtuales y el dolor de cabeza que presentan aquellas máquinas cuando empiezan a crecer exponencialmente en tamaño. Esto sin duda causa que tan solo con unas cuantas máquinas virtuales pues te quedes sin espacio en disco rápidamente.

    Lo interesante es que las máquinas virtuales crecen en función de la cantidad de archivos que se creen dentro de ella o que se le agreguen desde el exterior, pero nunca recuperan el espacio que queda libre luego de eliminar aquellos archivos que ya no son necesarios. Esto quiere decir que tu máquina virtual puede tener 30GB de tamaño, pero estar utilizando realmente no más de 15GB, teniendo otros 15GB de espacio desperdiciado. ¿Cómo recuperarlo?

    Bueno pues, para quienes ya lo intentaron, no basta con usar el wizard de Virtual PC que compacta las máquinas virtuales. Tal como lo aprendí de este post de Guoqiang Wu son necesarios algunos otros pasos para asegurar recuperar el máximo espacio posible en la virtual y aquí describo brevemente dichos pasos.

    1. Ejecuta un Disk Clean Up

    Esto es por su puesto lo más obvio. Debes asegurarte de eliminar para siempre todos los archivos temporales y reciclados que anden por ahí en la virtual. Para esto, la forma más fácil es utilizando la utilidad Disk Clean Up de Windows que puedes acceder desde la ventana de propiedades del disco a limpiar.

    DiskCleanup

    2. Defragmenta el Disco (¡pero bien defragmentado!)

    Esta es la parte más importante a mi parecer. Como probablemente sabes, tu disco se fragmenta día a día, haciendo que archivos que normalmente ocupan unos cuantos sectores de tu disco lleguen a ocupar cientos de ellos a traves de todo el disco, desperdiciando toneladas de bytes en el camino.

    Podrías usar para esto el defragmentador de Windows, pero he comprobado que el defragmentador de Dave Whitney, que puedes descargar desde acá, hace un mejor trabajo al dejar los archivos mucho mejor ubicados continuamente en el disco. Una vez descargada la utilidad coloca los archivos tal como lo indica el Readme.txt que viene en la descarga y luego ejecuta esto desde tu línea de comandos:

    defrag –i (esto instala el servicio del defragmentador)

    defrag –d C: (esto inicia la defragmentación del disco C:)

    Defrag

    Esto tomará varios minutos, más que el defragmentador de Windows eso sí, pero lo que ganas vale la pena. Para darte una idea aquí te muestro una imagen del análisis que hace el defragmentador de Windows sobre mi disco luego de usar la utilidad de Dave:

    Defragmented

    Toma en cuenta que el tamaño de la máquina virtual crecerá bastante durante este proceso pero al compactar verás las ganancias.

    3. Haz una Pre-Compactación del disco

    Antes de proceder a compactar el disco es necesario encerar todos aquellos bytes que actualmente representan espacios vacíos. Es una forma de decirle a Virtual PC “hey, estos bytes ya no tienen nada útil, asegúrate de eliminarlos cuando compactes”.

    Para hacer esto, dirígete al menú CD –> Capture ISO image… de Virtual PC y carga la imagen ISO del Virtual Disk Precompactor que encontrarás en tu directorio C:\Program Files\Microsoft Virtual PC\Virtual Machine Additions, de manera predeterminada. Luego simplemente sigue los pasos del wizard.

    precompactor1

    precompactor2

    4. Compacta el disco

    En este último paso apaga la máquina virtual y, desde la consola de Virtual PC, abre los Settings de la máquina, selecciona tu disco e inicia el asistente dándole click a Virtual Disk Wizard. Indícale que deseas editar un disco y luego selecciona Compact it.

    wizard1

    wizard2

    Luego de unos minutos tu máquina se habrá compactado y todos los bytes vacíos habrán desaparecido, ganando mucho valioso espacio.

    Una nota adicional: Asegúrate de tener suficiente espacio en tu disco real para realizar la compactación. Por ejemplo, si inicias con una máquina virtual de 10GB, esta crecerá posiblemente hasta 20GB durante el proceso y luego Virtual PC demandará otros 20GB para hacer la compactación. En este ejemplo entonces deberías tener unos 30GB libres antes de iniciar todo el proceso.

    Espero sea de utilidad,

    Julio

    Cross-posting desde juliocasal.com

  • Cómo forzar la ejecución de jobs pendientes en SharePoint

    Ayer estaba tratando de ejecutar el retract de una solución que tenía publicada en el portal SharePoint de un cliente, para luego hacer el deployment de una nueva versión de esta solución. El retract siempre se ejecuta como parte de un timer job. Sin embargo, este job nunca terminaba de ejecutarse, aún cuando ya llevaba casi 20 minutos esperando y la solución era realmente pequeña como para que demore tanto.

    Afortunadamente me enteré de la operación execadmsvcjobs, parte del comando stsadm de SharePoint, la cual forza la ejecución de todos los jobs pendientes del servidor. Para ejecutarla simplemente colocas esto en la línea de comandos:

    stsadm.exe –o execadmsvcjobs

    execadmsvcjobs

    Mi job se ejecutó con éxito, con lo cual el retract se completó y pude hacer el deployment de la nueva solución.

    Espero sea de utilidad,

    Julio

    Cross-posting desde juliocasal.com

  • Cómo aumentar el tamaño máximo permitido para cargar archivos a SharePoint

    Hace unos días tuvimos este problema de querer cargar un archivo de alrededor de 80MB a nuestro portal SharePoint. No justifico el hecho de querer subir un documento Word tan grande cuando en realidad lo podíamos haber reducido modificando el formato de las imágenes incrustadas (usaba puros bmps, cuando podían ser simples jpegs), o tal vez cambiando de .doc a .docx (que de hecho lo hicimos recientemente), pero en muchos casos sí puede ser necesario cargar un archivo así al portal. Luego de buscar un rato, nos topamos con la opción apropiada en el Central Administration de SharePoint, así que aquí les comento cómo se hace esto.

    Para aumentar el tamaño máximo permitido para cargar archivos a SharePoint:

    1. Dirígete al tab Application Management en tu Central Administration y selecciona Web application general settings en la sección SharePoint Web Application Management.

    UploadSize1

    2. En la página Web Application General Settings asegúrate de tener seleccionada tu aplicación Web en Web Application y luego, en Maximum upload size, ingresa el tamaño máximo que desees permitir para la carga de archivos al portal.

    UploadSize2

    Y listo. En mi ejemplo he subido el máximo permitido a 100MB.

    Espero sea de utilidad,

    Julio

    Cross-posting desde juliocasal.com

  • Reunión de la Comunidad .NET en el Evento Software Guru 2008

    Ayer pasamos un grato momento durante la reunión de la Comunidad .NET al finalizar el evento Software Guru 2008, uno de los más importantes de América Latina. Hubo alrededor de 25 personas en la sala, muy entusiastas por cierto y con muy buenas preguntas para ambas sesiones. Me encantaron las instalaciones de la sala que nos facilitaron, pues tenía todo: micrófono inalámbrico, otros dos micrófonos de mano, un podium muy cómodo, amplificadores de sonido, muy buena iluminación y proyección, y hasta servicio de cafetería! Estuvo excelente y me sentí afortunado porque no siempre se logra conseguir un lugar así.

    SG3

    SG6

    SG10

    Tuve la oportunidad de brindar la primera charla, en la que di una introducción a Silverlight. Allí presenté las características de esta tecnología, los escenarios en los que se aplica y cómo se integra con Visual Studio 2008 y Expression Blend 2.5. Presenté varias demos que demuestran su gran potencial y aplicabilidad. Espero les haya agradado.

    SG1

    SG2

    SG4

    SG5

    Luego, José Raúl Guerrero, MVP de aquí de México, a quién tuve el placer de conocer durante el evento, presentó una charla muy interesante sobre SQL Server 2008, particularmente sobre los nuevos tipos de datos y nuevos queries que es posible generar gracias a las nuevas características de este poderoso motor de bases de datos. José Raúl tuvo muchas más preguntas que las que hubo durante mi sesión, así que vaya si estuvo buena la charla!

    SG8

    SG9

    SG11

    Fue muy agradable dar mi primera charla en el D.F. y desde ya recibí la invitación de José Raúl para brindar nuevas charlas en futuras reuniones de la comunidad. Ya tengo pensada la idea para la siguiente charla, así que ahí estaré!

    Julio

    Cross-posting desde juliocasal.com

  • Nuevo whitepaper sobre Escalabilidad y Rendimiento de MOSS 2007

    Quisiera nada más comentarles y recomendarles este whitepaper que Microsoft publicó hace poco y que es un compendio de las consideraciones de rendimiento y diseño arquitectónico de una implementación de SharePoint del mundo real y a gran escala (alrededor de 50 millones de items de contenido).

    En el documento encontrarán todas las configuraciones de hardware definidas para este escenario, así como todas las configuraciones y optimizaciones implementadas en SharePoint para conseguir el máximo rendimiento posible. Así mismo, hay varias explicaciones y gráficos de la arquitectura planteada, así como un detalle de las pruebas realizadas para medir el rendimiento de la solución en distintos casos.

    Por acá los links de descarga:

  • Microsoft Office Word 2007 (.docx)

  • Word 2003 (.doc)

  • PDF

    Más info por acá.

    Julio

    Cross-posting desde juliocasal.com

  • 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

More Posts Next page »
Comunidad Microsoft TechNet SharePoint
Powered by Community Server (Commercial Edition), by Telligent Systems