SharePoint Latin Rotating Header Image

Demostraciones y Ejemplos

Comunicando anuncios por correo electrónico con SharePoint Designer 2010

El usuario final como siempre sorprendiedonos con nuevos escenarios, sucede que se busca hacer que en vez de mandar un correo electrónico con el enlace a un elemento de lista de anuncios como parte de la opcion de send link o de las alertas, que mejor en el correo electrónico viaje el texto del cuerpo del anuncio. Y sinceramente me pareció un escenario razonable el no querer enlaces en este específico tema de la lista de anuncios. Y bueno la solución para este ejemplo fue crear un flujo de trabajo de lista con una forma de iniciación para solicitarle al usuario capture el grupo o los usuarios a los que quiere hacer llegar vía correo electrónico el anuncio. Aprovecho para hacer mención de las caracteristicas de SharePoint Designer 2010.

Aquí el ejemplo:

Abrimos nuestro sitio con SharePoint Designer 2010 y seleccionamos la sección de Workflows para proceder a crear un flujo de trabajo de lista asociado a la lista de anuncios, como se muestra a continuación:

image

Nombramos el flujo de trabajo con los datos:

  • Name: Send Annoucement by Eamil
  • Description: Use this option to send anouncement by email

Una vez dentro del Workflow Designer entonces elegimos la opción de Initiation Form Parameters.

image

Usando el asistente de configuración de la forma de iniciación agregamos un campo de tipo persona dando clic en el botón Add, posteriormente especificamos el nombre del campo “Mail Receipients” una descripción y el tipo de campo, aquí tenemos que seleccionar el campo “Person of Group”, esto nos permite elegir a que grupos o usuarios mandaremos el correo electrónico. Posteriormente configuramos el campo especificando que muestre la cuenta, que permita capturar usuarios y grupos, que permita capturar más de un usuario o grupo y listo, damos clic en Finish y después Ok.

image

Posteriormente de la lista de acciones disponibles en el flujo elegimos el de Send Email.

image

Procedemos entonces a configurar la acción de Send Email dando clic en el enlace these users. Esto carga la ventana de configuración de la actividad permitiéndonos entonces definir lo siguiente:

  • Tomar a los destinatarios de los parámetros de iniciación del flujo para que a estos se les mande el correo electrónico
  • Tomar al título del anuncio para que este sea el título del correo
  • Tomar al cuerpo del anuncio para que este sea el cuerpo del correo electrónico

Tomar a los destinatarios de los parámetros de iniciación del flujo para que a estos se les mande el correo electrónico

Del cuadro de texto “To” o “Para” simplemente seleccionamos el icono de la libreta de direcciones para posteriormente elegir de la ventana de Selección de usuarios. En primer instancia la ventana de sección de usuarios nos permite elegir a cualquier usuario al que queramos mandarle el correo electrónico, de hecho esta ventana es rica en funcionalidad y ofrece opciones adicionales para obtener a los usuarios que nos interesa utiliza, por ejemplo personas o grupos del sitio, el usuario que creo el anuncio y la opción de Workflow lookup for users la cual nos permite buscar de diferentes fuentes de datos o del contexto del flujo de trabajo a los usuarios que necesitemos incluir. En este caso estoy mandando cargar de los parámetros y variables del flujo de trabajo “Workflow variables and parameters” a la variable “Mail recipients” que definimos en la forma de iniciación y además formatear el resultado para que nos regrese el correo electrónico separado por comas.

image

Sugiero que te des el tiempo de explorar la ventana de “Lookup for Person of Group” encontraras que es muy rica en funcionalidad y capaz de darte opciones muy útiles sin tener que recurrir a la programación.

Tomar al título del anuncio para que este sea el título del correo

De igual manera del campo “Subject” damos clic en el icono que muestra una función. En este caso se carga otro cuadro de dialogo con funcionalidad muy útil. Se llama Lookup for string y este nos permite elegir del elemento “recordemos que estamos en el contexto de un elemento de lista de anuncios” el campo Title.

image

Tomar al cuerpo del anuncio para que este sea el cuerpo del correo electrónico

En el caso de tomar el cuerpo del anuncio aquí usamos el botón “Add or Change Lookup” que se encuentra ubicado en la parte inferior de la ventana. Este botón también es “Lookup String” con el cual podemos hacer referencia dentro del cuerpo de correo electrónico al cuerpo del elemento del anuncio. Y con esto estaríamos cumpliendo con el requerimiento solicitado.

image

Podemos ver entonces que es sencillo incluir en el cuerpo del correo electrónico cualquier información que se encuentre dentro de una lista SharePoint.

Ya para terminar simplemente publicamos el flujo de trabajo

image

Este proceso compila en un archivo .xoml toda la configuración de nuestro flujo de trabajo expresada visualmente pero almacenada en forma declarativa. También he de mencionar que en las características iniciales del flujo de trabajo de manera pre determinada el flujo puede será invocado a manualmente por el usuario que estaría enviando el correo electrónico. Lo que no queremos es que se mande de forma automática cuando se da de alta o se edita algún anuncio, si ese fuese el caso, entonces el usar una forma de iniciación no sería la estrategia más adecuada, probablemente en vez de solicitar el llenado manual de los destinatarios, hacer que el flujo mande el correo usando el grupo de los integrantes del sitio o algún otro grupo creado manualmente para este proceso en particular.

Ya para terminar y facilitar el uso de este flujo de trabajo dentro de SharePoint Designer 2010 en la lista de anuncios existe la opción de Custom Action en la cual podemos crear un elemento del menú contextual de la lista que dispare la ejecución del flujo de trabajo recién creado, facilitando la experiencia de uso.

De la barra lateral de SharePonit Designer 2010 seleccionamos la opción de Lists and Libraries, posteriormente damos clic en nuestra lista de Announcements, esto nos lleva a la ventana de resumen de la configuración de nuestra lista y como se puede ver ahí se encuentra la sección de Custom Actions.

image

En el botón New damos clic y esto carga la ventana de configuración del Custom Action donde podemos especificar el título y descripción de nuestra acción así como también que va a suceder cuando alguien lo invoque, en este caso iniciar el flujo de trabajo previamente construido sobre el elemento actual.

SNAGHTML520cf98

En la parte inferior de esta ventana inclusive puedes configurar el icono que deseas usar para el esta acción y que será visto en el menú contextual. El resultado es que dentro de los elementos del menú contextual que un elemento de lista tiene aparece el custom action:

image

También en el Ribbon de la lista de anuncios existe la opción de agregar un botón más, se le llama Quick Step.

image

A dar clic se carga SharePoint Designer 2010 y una ventana de dialogo donde especificamos que sucederá cuando se le dé clic:

SNAGHTML5228437

De igual manera podemos especificar que icono se utilizara para este botón, en mi caso, subí el icono a la librería de SiteAssets.

El resultado

El resultado es:

image

Agregamos un nuevo elemento:

image

Despues lo seleccionamos y damos clic sobre nuestro flamante boton en el Ribbon:

image

Esto carga la forma de iniciacion del flujo de trabajo y procedemos a especificar el usuario o grupo que recibira la informacion por correo electronico, en este caso elegi un grupo.

image

Y al dar clic en Start el flujo de trabajo se ejecuta y la accion de Send Email hace su trabajo. Es importante hacer mención que tambien con SharePoint Designer 2010 podemos editar la forma de iniciación generada por el flujo de trabajo para personalizar el texto de los botones de la forma y/o agregar algun icono o logotipo de la empresa.

El resultado es el correo en el Outlook:

image

Espero que al leer esta lineas encuentres que SharePoint Designer 2010 ha sido diseñado para rapidamente dar soluciones a necesidades de personalización que se requieran en SharePoint.

Saludos!

Instalando Granja de Servidores SharePoint 2010 Small Farm (3-Tier)

Para un programador SharePoint es importante conocer la arquitectura de la plataforma y en ese sentido realizar un proceso de instalación de una granja SharePoint es un deber. En esta ocasión quiero compartir como lograr en una topología llamada Small Farm (Three Tier).


clip_image001


Básicamente tenemos un software (Network Load Balancing) para balancear y distribuir la carga entre dos servidores Web Front End (litwarewfe1 y litwarewfe2) y tendremos un solo servidor de aplicaciones (litwareapp) con la mayoría de las aplicaciones de servicio y la herramienta central de administración configurada, todo el contenido y la configuración será almacenada sobre un solo servidor de base de datos SQL Server (litwaredb).


Network Load Balancing en Windows Server 2008 R2 para WFE de SharePoint 2010



Configurando Granja de Servidores SharePoint 2010



Configurando Granja de Servidores SharePoint 2010 con PowerShell


Configurando un cluster de dos nodos balanceados para WFE de SharePoint

En este post vemos como configurar un cluster de dos servidores utilizando Network Load Balancing de Windows Server 2008 R2. En particular este cluster nos puede mejorar el desempeño significativamente. Con esta alternativa de configuración a nivel software se puede dividir la demanda o peticiones en más de un servidor para que en conjunto respondan como uno solo. Particularmente esta configuración se creó para una granja de servidores web front end de SharePoint 2010 en donde dos servidores web estarán recibiendo las peticiones de usuario vía dirección URL.

Lo requisitos para configurar un cluster son:

Agregar la característica de Windows llamada Network Load Balancing en cada uno de los nodos que conformaran el cluster

clip_image002

Asegurarse que cada nodo del cluster deban de tener un IP dedicado o fijo ya que NLB no puede trabajar con IPs dinámicas generadas por un servicio DHCP

clip_image003

El cluster tendrá un IP virtual que recibirá las peticiones y estas serán transferidas de forma automática a cualquier nodo que conforma el cluster para responder la petición

clip_image005

Probar con ping que sucede cuando querevemos ver que responde el nuevo host.

clip_image007

Existen otras alternativas tecnológicas para crear y gestionar clusters tanto a nivel software como hardware.

Los pasos para la configuración de un cluster son:

1. En primer nodo crear el cluster y agregar el primer nodo

clip_image009

2. En el segundo nodo conectarse a cluster existente y agregar el host al cluster

clip_image011

Probamos un ping para ver que responde:

clip_image013

Esta tecnica tambien funciona para cualquier desarrollo web que se hospeda sobre servidores Windows. :)

 

NOTICIA: Aqui lo explicado anteriormente en vivo y a todo color en un video que subi a mi canal de Youtube al cual te puedes suscribir aqui: https://www.youtube.com/haarongo 

Enviando un correo al jefe inmediato en un flujo de trabajo SharePoint Designer 2010

From: Haarón González [mailto:haarongonzalez@mvps.org]
Sent: Tuesday, September 27, 2011 8:16 AM
To: Privado
Subject: RE: Consulta

Estimado Privado, tanto SharePoint 2007 como 2010 cuentan con una aplicación específica para personalizar el producto, se llama SharePoint Designer 2007 o 2010, en ambos casos es sin costo y la peudes descargar desde aqui. Con esta herramienta podemos personalizar el comportamiento de nuestros sitios SharePoint sin codificar o instalar algún otro componente. Claro que tiene sus ventajas y desventajas pero aquí puedes encontrar más información al respecto.

Dentro de las características de este producto existe el Workflow Designer. Básicamente cargamos SharePoint Designer 2010 y abrimos el sitio que deseamos personalizar. Navegamos en la sección de Site Object para elegir Workflow. Esto carga el Ribbon específico para flujos de trabajo y muestra los tipos de flujo que se pueden crear y algunos existentes.

image

De acuerdo a tu pregunta y en tu caso muy particular estaremos creando un List Workflow donde deberás elegir a que lista o biblioteca de documentos deseas personalizar.

image

Deberás especificar el nombre y descripción de tu flujo de trabajo y al dar Ok, se cargara a Workflow Designer y sus correspondientes opciones dentro del Ribbon.

image

La naturaleza de construcción de un flujo de trabajo radica en la noción de:

  • Steps (Pasos del flujo de trabajo):
  • Conditions (Condiciones que evalúan algo)
  • Actions (Acciones que se ejecutan cuando estas condiciones se cumplen)

La manera en la que esto funciona es que un paso (Step) agrupa una serie de condiciones (Conditions) y acciones (Actions) que se ejecutan en un determinado momento, es posible crear más de un paso y ejecutarlos en paralelo, sin embargo, en este momento no es tu caso. Dentro del bloque de Step 1 agregamos una o más condiciones usando el Ribbon. SharePoint Designer 2010 nos permite utilizar las condiciones pre fabricadas en el producto.

image

Sin embargo, como programador tu puedes crear las tuyas propias utilizando algunas de las clases de Workflow Foundation ver WebCast Construyendo Flujos de Trabajo en SharePoint 2010 utilizando SharePoint Designer 2010.

Claro que el Step no necesariamente requiere una condición para ejecutarse.

A continuación una vez que agregamos las condiciones que requerimos evaluar, procedemos a agregar las acciones que básicamente reflejan las reglas de negocio que necesitamos contemplar en nuestra lista o biblioteca. Aquí lo interesante es que también se muestran todas las acciones disponibles en SharePoint 2010 y categorizadas por el tipo de acción.

image

Aquí quiero hacer notar que existe una acción llamada Lookup Manager of a User que obtiene al usuario que se tiene configurado como jefe directo en el directorio activo. Por lo tanto, creo que es muy factible la construcción de tu flujo de trabajo que mencionas en tu correo.

Básicamente lo que harás es invocar la acción Lookup Manager of a User configurando la propiedad “this user” para que obtenga el correo electrónico del usuario que registro o inicio el flujo. En este caso ese dato existe en los campos (fields) del elemento actual (Current Item) que representa el documento o elemento de lista en cuestión. Es importante mencionar que el resultado de la acción es guardado en la variable Manager que posteriormente otra actividad puede utilizar.

image

Después agregas otra actividad llamada Send Email y configuras a quien se le mandara el correo electrónico. En este caso usaremos la variable Manager que contiene el correo electrónico que la acción FInd Manager genero con base el usuario en cuestión.

image

Das clic en Ok y capturas el título y cuerpo del correo electrónico que requieres enviar al jefe.

image

Después das clic en Ok y guardas el flujo de trabajo. Seleccionas Publish y listo ya puedes probar el comportamiento de tu flujo de trabajo.

Mucho más detalle aquí: http://office.microsoft.com/en-us/sharepoint-designer-help/workflow-conditions-in-sharepoint-designer-2010-a-quick-reference-guide-HA010376962.aspx

Bien espero que encuentres la solución a tu escenario y a tus órdenes cualquier pregunta que tengas.

Saludos

 

HG

 

De: Privado
Enviado: lunes, 26 de septiembre de 2011 09:44 a.m.
Para: Haaron Gonzalez
Asunto: Consulta

Hola buenos días desde Colombia..

Haaron quería preguntarte algo, estoy haciendo un flujo de trabajo con SharePoint 2010 pero requiero que dependiendo de la persona que ejecute el flujo de trabajo le envié un correo al el jefe inmediato.

Por ejemplo el empleado 1 tiene como jefe a Jefe 1

Y empleado 2 tiene como jefe el jefe 2

Entonces si el empleado 1 ejecuta el flujo, le debe enviar un correo a el jefe 1, de igual manera

Si el empleado 2 ejecuta el flujo, le debe enviar un correo a el jefe 2.

Esto no sé cómo hacer pues SharePoint le envía un mensaje a alguien puntual.. puedo hacer esto??

Gracias por tu respuesta

Consumiendo Servicios REST de .NET y SharePoint en Hojas de Calculo de Excel 2010

Aquí un video mas de casi media hora de duración sobre como consumir servicios REST desarrollados en .NET y también nativos de SharePoint 2010. Quiero estresar el tema del soporte que se tiene en el desarrollo de aplicaciones cliente para facilitar la vinculación a datos. Usamos las características de vinculación Out Of The Box de Visual Studio 2010  para poder tener una comunicación bidireccional entre un Add In de Excel 2010 y el servicio.

Basicamente, usamos una simple tabla de excel para obtener y editar datos.


Construcción de Interface REST para acceso a datos via HTTP desde Word 2010

En esta ocasión tuve la oportunidad de subir una demostración un poco extensa sobre construcción de servicio RESTFull WCF invocado desde un cliente de Office Word 2010. El poder y simplicidad de las herramientas de desarrollo es algo que se puede ver aqui.



Hope it helps!

Programación ASP.NET en WebParts de SharePoint

Si eres un de desarrollador ASP.NET que se está iniciando en desarrollo SharePoint este ejemplo puede ser de utilidad. Básicamente, usaremos un enfoque de desarrollo de WebParts basado en el uso de Web User Controls de ASP.NET 2.0.

Antes que nada utilizaremos las siguientes herramientas:

Dentro de nuestro servidor de desarrollo SharePoint cargamos Visual Studio 2008 y elegimos la creación de un proyecto SharePoint en blanco, este proyecto lo nombraremos ASPNETWebPart.

clip_image002

Especificaremos que el nivel de confianza de esta solución SharePoint sea Full Trust y la razón es que usaremos un método Page.LoadControl que requiere de permisos elevados para ejecutarse, me parece que la razón es porque este método lee de la ruta de archivos SharePoint “12 hive” y para ello requiere que el proceso w3wpg.exe solicite los permisos necesarios.

clip_image004

Usando la solución generada por Visual Studio 2008 dentro del Solution Explorer agregamos un nuevo Empty Web Site de ASP.NET llamado ASPNETWebPArtsWebSite ubicándolo en la misma carpeta creada por nuestro proyecto anterior.

clip_image006

Dentro de nuestro proyecto ASPNETWebPartWebSite agregamos un Web User Control llamado ASPNETWebUserControl y es muy importante que no deseleccionemos el cuadro de verificación Place Code in separate file.

clip_image008

Esto nos crea un simple archivo con extensión .ascx dentro de nuestro proyecto ASP.NET. A estas alturas podremos realizar cualquier funcionalidad ASP.NET. Solo hay que asegurarnos de no generar dependencias a otras carpetas como App_Code, tratemos de generar todo el código y funcionalidad sobre el Web User Control. En mi caso usare las características de vinculación de controles de ASP.NET para crear el más humilde de los GridView de ASP.NET. Podemos crear una página Defaullt.aspx para probar el funcionamiento del mismo. A continuación agregare un cuadro de texto , un botón y un label.

clip_image010

El resultado es un código Markup que podría tener sin duda código C#. En la sección de Script runat=”Server” estarían los eventos disparados por los controles de nuestro Web User Control. Solo que para propósitos de este ejemplo quiero hacer que los eventos sean disparados desde un WebPart de SharePoint y no necesariamente desde aquí.

A continuación en nuestro proyecto SharePoint agregamos un elemento de tipo Template, el cual nos creara un archivo dentro de la ruta interna de archivos de SharePoint o más conocida como 12 hive “C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\”.

clip_image012

Eliminamos el archivo generado TemplateFile.txt y agregamos la carpeta CONTROLTEMPLATES y dentro la carpeta ASPNETWebParts. Esto permite incluir en nuesdttro paquete de deployment generado por nuestro proyecto SharePoint una nueva carpeta que será aprovisionada de forma confiable en la ruta 12 hive de cada Web Front End de la granja SharePoint. Agregara una nueva carpeta llamada ASPNETWebParts. Dentro de esta carpeta agregaremos como elemento existente nuestro archivo .ascx. El resultado es algo asi:

clip_image014

Ya casi terminamos, a continuación agregamos el código de un WebPart de SharePoint que nos permitirá cargar en tiempo de ejecución el .ascx recién desarrollado. Dentro de nuestro proyecto ASPNETWebPart damos clic derecho y agregamos un nuevo elemento de tipo Web Part bajo el nombre ASPNETWebPart. En realidad puede ser cualquier nombre.

clip_image016

Abrimos el código de nuestro WebPart y agregaremos lo siguiente:

  1. Una variable miembro de tipo UserControl, esta se utilizara como un placeholder de todo el ASPNETWebUserControl.ascx.
  2. Sobre escribimos el método Render para escribir en el flujo de salida de nuestro WebPart el contenido del WebUserControl.
  3. Múltiples variables miembro que representan cada uno de los controles que existen en nuestro archivo ASPNETWebUserControl.ascx
  4. En el evento CreateChaldControls hacemos una instancia de UserControl mediante Page.LoadControl y de cada uno de los controles;

Básicamente podremos tener el control de la funcionalidad desde el WebPart y esto facilita el hacer uso del modelo de objetos de SharePoint para leer datos de otras listas o hacer querys que podamos usar para después presentarlos en el Web User Control.

using System;

using System.Runtime.InteropServices;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Xml.Serialization;

using Microsoft.SharePoint;

using Microsoft.SharePoint.WebControls;

using Microsoft.SharePoint.WebPartPages;

namespace ASPNETWebPart

{

[Guid("7625d718-fb33-4bbc-b05f-2f1ff0dd4a88")]

public class ASPNETWebPart : System.Web.UI.WebControls.WebParts.WebPart

{

public ASPNETWebPart()

{

this.ExportMode = WebPartExportMode.All;

}

protected override void Render(HtmlTextWriter writer)

{

this.ascxControl.RenderControl(writer);

}

UserControl ascxControl;

Button button1;

TextBox textbox1;

Label label1;

GridView gridView1;

protected override void CreateChildControls()

{

base.CreateChildControls();

ascxControl = (UserControl)Page.LoadControl(@"/_controltemplates/ASPNETWebParts/ASPNETWebUserControl.ascx");

button1 = (Button)this.ascxControl.FindControl("Button1");

textbox1 = (TextBox)this.ascxControl.FindControl("TextBox1");

label1 = (Label)this.ascxControl.FindControl("Label1");

gridView1 = (GridView)this.ascxControl.FindControl("GridView1");

button1.Click += new EventHandler(button1_Click);

this.Controls.Add(ascxControl);

}

void button1_Click(object sender, EventArgs e)

{

label1.Text = textbox1.Text;

}

}

}

El resultado:

clip_image018

Configurando acceso anónimo y restringido a una Extranet de SharePoint 2007 en 30 minutos

ahorrar_en_proveedores_articulo_portraitContinuando con el tema de la Intranet-Extranet configurada aquí, me di a la tarea de acércame al siguiente reto una vez que enfrentamos un escenario de extranet. Este reto consiste en ofrecer a los usuarios externos algún mecanismo de registro y de gestión de perfiles. En este video vemos como configurar el acceso anónimo en la zona de Extranet, vemos como utilizando SharePoint Designer 2007 podemos personalizar páginas que hagan uso de controles de servidor de ASP.NET 2.0 y de WebParts de SharePoint.


Adicional vemos como romper con la herencia de permisos para poder contar con porciones de contenido privadas y públicas. Las públicas, son páginas de registro y de inicio de sesión, las privadas son páginas restringidas que muestran mediante WebParts listas personalizadas configuradas especialmente.


Dicho lo anterior, esto permite ofrecer un mecanismo para restringir el acceso a ciertas listas y solo hasta que el usuario se registre, alguien con permisos elevados desde la Intranet otorgue el rol “Extranet” al usuario en cuestión (esto permite contar con un proceso de validación del usuario antes de darle acceso a cualquier contenido restringido) este podría acceder a subir la información requerida.


Adicional, vemos como configurar una lista personalizada de SharePoint para que la información que el usuario externo aporte sea visible solo para él y para cualquier usuario de la Intranet, permitiendo con esto aplicar algunas otras funcionalidades de SharePoint para colaboración o seguimiento interno por parte de empleados de la organización.


El ejemplo se basa en un escenario de extranet para proveedores donde estos pueden subir documentación e información de negocio que permita a la empresa iniciar con los trámites necesarios para darlo de alta como proveedor. Adicional, este ejemplo podría utilizarse como un mecanismo para concurso de RFPs o para recopilación de información provista por actores externos a la empresa pero que participan en la cadena de valor.


Espero sea de utilidad, está por demás decir que este es un ejemplo de tan solo 30 minutos que ilustra conceptos y aspectos tecnológicos que pudiesen acercarse a una solución.


 



 


Utilizar estos consejos es bajo tu propio riesgo, explora, aprende y comparte!.


HG

Intranet-extranet de SharePoint en 40 minutos

En las últimas semanas colegas programadores que no conocen SharePoint 2007 se acercan para preguntar y evaluar si SharePoint puede dar una solución aceptable para escenarios donde usuarios externos (fuera del directorio activo) a la organización colaboren con usuarios internos (dentro del directorio activo) en algún proceso de negocio relevante para la organización.


Afortunadamente SharePoint 2007 fue construido utilizando .NET Framework 2.0/3.0 y sobre ASP.NET 2.0 por lo tanto las características que cualquier programador ASP.NET 2.0 conoce prácticamente las tenemos disponibles en SharePoint 2007, aunque esto no necesariamente aplica para la experiencia de desarrollo Sad smile.


Dicho lo anterior, tuve un par de reuniones explicando como sí SharePoint 2007 podría habilitar el escenario mencionado, sin embargo, por más que lo explico y lo justifico, no hay mejor opción que demostrarlo. Es por eso que me di a la tarea de grabar un video de cómo configurar una Intranet que hace uso de directorio activo como su fuente de credenciales de usuario y Extranet que hace uso Membership y Role Providers de ASP.NET 2.0 para gestionar usuarios en bases de datos SQL utilizando las características de Form Base Authentication. En el proceso podran visualizar como la Herramienta Central de Administracion de SharePoint aprovisiona base de datos de contenido, web sites de IIS y application pool. Smile



NOTA: Es muy importante mencionar que ninguna intranet-extranet que se utilice empresarialmente en escenarios de producción quedara configurada en 40 minutos, hay aspectos de planeación, configuración y seguridad que se deben de contemplar muy seriamente.


Y para terminar un poquito de arquitectura basica sobre un escenario en cuestion:


  • SPDB: Database Server
  • SPAPP: SharePoint Application Server
  • SPWFE1: Web Front End en Zona Intranet
  • SPWFE2: Web Front End en Zona Extranet
  • AD: Directorio Activo
  • EX: Exchange
  • ISA: ISA Server o firewall fisico

image


Como se refiere en la imagen, tenemos servicios dos zonas, Intranet y DMZ. Intranet hace uso de los recursos de red internos de la organización como directorio activo o servidor de correo electrónico, entre otro. En la misma zona interna tenemos una Topologia Small Farm de SharePoint con un solo Web Front End que usuarios internos podran acceder mediante http://intranet.splatin.com. En la zona DMZ tenemos otro Web Front End unido a la granja filtrado por un firewall hacia adentro y hacia afuera. Puede ser firewall de software como el caso de ISA Server o de hardware. Podriamos pensar que el Web Front End de la zona DMZ tenga 2 tarjetas de red, una para trafico externo con IP publica y dominio como http://extranet.splatin.com, y otra tarjeta para trafico interno con IP privada o de la red local. Aqui tenemos otras alternativas de configuración mas sofisticadas que el area de infraestructura seguramente podra aprovisionar. Usuario con acceso a internet llega al Web Front End de la zona DMZ pasando por el firewall.


Para ti que eres programador ASP.NET y estas evaluando SharePoint espero sea de utilidad este breve ejemplo acercamiento de solución.


HG

Introducción a Business Connectivity Services

En Office SharePoint Server 2007 se llamaba Business Data Catalog (BDC) y ahora en SharePoint 2010 se llama Business Connectivity Services (BCS) la estrategia para lograr la interoperabilidad o integración de SharePoint con otras fuentes de datos externas. Sucede que cuando utilizamos SharePoint como nuestra intranet tarde o temprano se requiere exponer información de otras aplicaciones en algún sitio o portal y BDC ahora BCS es la respuesta para habilitar ese y otros escenarios más como:

  • Capacidades de lectura y escritura en fuentes de datos externas como bases de datos o aplicaciones de linea de negocio
  • Capacidades de interoperabilidad con servicio WCF (Windows Communication Foundation)
  • Capacidades de lado cliente para soporta escenario fuera de línea
  • Capacidades de extender mediante un API
  • Capacidades de relacionar datos estructurados con no estructurados

He compilado un muy breve e introductorio video donde se demuestra como en tan solo 8 minutos podemos experimentar a grandes rasgos lo que BCS aporta fuera de la caja.

Introducción a Business Connectivity Services

Aqui dejo también el video en formato WMV con mayor resolucion.