Artículo: http://cglessner.blogspot.com/2009/09/jquery-test-panel-for-sharepoint.html
sharepoint & project server
Sharepoint me proporciona seguridad y me hace sentir más fuerte. Las 10 cosas que más me gustan de Sharepoint.
Microsoft Project es quizá la herramienta de gestión de proyectos más conocida y utilizada por los líderes de proyectos...
Serie de artìculos que nos ayudan a incorporar diseño gráfico en las implementaciones de SharePoint...
Artículos publicados en la revista especializada en SharePoint: CompartiMOSS.
Breve artículo acerca de cómo instalar una feature en Sharepoint.
Antes que nada, ¿qué es una feature? Es una nueva funcionalidad de WSS 3.0 orientada al desarrollador. Permite definir elementos de sitio y agregarlos al sitio a través del proceso denominado "activación". ¿Qué tipos de elementos permite definir? Comandos de menú, plantillas de páginas, instancias de páginas, definiciones de listas, eventos, workflows entre otros.
Bien, no es propósito de este artículo hablar sobre features, sino describir cómo se instalan. El proceso es sencillo y se deben seguir dos pasos:
1) Instalación
stsadm.exe -o installfeature {-filename -name } [-force]
2) Activación
stsadm.exe -o activatefeature {-filename -name -id } [-url ] [-force]
Notas:
Para ampliar:
Hasta la próxima…
Un ensamblado –assembly- (.dll) es reconocido como Control Seguro si se incluye una referencia a éste en el Web.Config. Este archivo Web.Config es seguro ya que desde Sharepoint no se puede acceder y modificar el mismo, sino que sólo se puede hacer si se accede al mismo desde el servidor en donde se encuentra ubicado.
Todo Web.Config contiene una etiqueta (tag) <SafeControls>. Esta etiqueta contiene una referencia por cada archivo binario que se considere seguro o de confianza. Para agregar una nueva entrada de confianza (si se observa en detalle el Web.Config se encontrarán algunas entradas existentes requeridas por Sharepoint), se requiere especificar los siguientes argumentos:
A modo de ejemplo, la siguiente entrada a la etiqueta <SafeControl> marca como seguro el archivo DLL que contiene el código para realizar búsquedas en Sharepoint:
<SafeControl Assembly="Microsoft.Office.Server.Search, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.Office.Server.Search.WebControls" TypeName="*" Safe="True" />
NOTA: es muy importante que el argumento Assembly se encuentre correctamente identificado con sus correspondientes claves en la GAC.
Los que hayan programado algún evento en Sharepoint, sabrán que es una funcionalidad muy potente, pero ¿cuáles son todos los eventos que Sharepoint puede manejar? Aquí les dejo una tabla y vínculos para los que deseen ampliar el tema. Que lo disfruten!
Nivel | Sincrónico | Asíncrónico |
Ítem | ItemAdding ItemAttachmentAdding ItemAttachmentDeleting ItemCheckingIn ItemCheckingOut ItemDeleting ItemFileMoving ItemUncheckedOut ItemUncheckingOut ItemUpdating | ItemAdded ItemAttachmentAdded ItemAttachmentDeleted ItemCheckedIn ItemCheckedOut ItemDeleted ItemFileMoved
ItemUpdated ItemFileConverted
|
Lista | FieldAdding FieldDeleting FieldUpdating | FieldAdded FieldDeleted FieldUpdated EmailReceived
|
Sitio | WebMoving WebDeleting | WebMoved WebDeleted
|
Colección de sitios | SiteDeleting | SiteDeleted |
Feature | FeatureInstalled FeatureUninstalling FeatureActivated FeatureDeactivating |
|
Más info en:
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spitemeventreceiver_methods.aspx
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splisteventreceiver_methods.aspx
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spwebeventreceiver_methods.aspx
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spemaileventreceiver_members.aspx
Ayer estuve en la casa de mi abuela tomando el té. Entre muchas conversaciones sobre recuerdos del pasado, mi abuela me sorprendió con la siguiente pregunta:
Abuela: Pablito… ¿Qué es la autenticación basada en formularios (FBA) que según escuché, utiliza WSS 3 (Windows Sharepoint Services 3.0)?
Juan Pablo: Abuela, muy oportuna tu pregunta. Te cuento que la versión anterior de Sharepoint (WSS 2) sólo soportaba autenticación contra cuentas de Windows. Esto hacía que realmente sea complejo habilitar un sitio de Sharepoint para ser accedido desde Internet o desde una Extranet. Por suerte, a partir de ASP .Net 2.0 existe un nuevo modelo de proveedores de autenticación. Esto permite que por ejemplo, las cuentas se registren en una base de datos SQL Server y no depender de Active Directory, pero no sólo eso, también podrías trabajar con un proveedor LDAP (Novel, Sun, etc).
Abuela: ¿Entonces yo podría habilitar a usuarios externos a mi red a que accedan a un sitio de sharepoint sin necesidad de tener una cuenta en mi AD?
Juan Pablo: Por supuesto y además podrías tener diferentes métodos de autenticación dependiendo de la zona. Por ejemplo, los usuarios internos podrían utilizar sus usuarios de Windows, mientras que los externos podrían utilizar FBA. Además podrías habilitar acceso anónimo si fuera necesario. Muy potente cómo verás.
Abuela: Desde ya, pero ¿dónde debo hacer clic para habilitar FBA?
Juan Pablo: Abuela, no todo es tan sencillo, tu lo sabés, son una serie de pasos que debes realizar para ello. Si pudieras hacerlo en un solo clic, quizá no sería tan flexible (engañé a mi abuela). Mira, debes tener en cuenta todos estos pasos:
Abuela: ¿para qué debo extender la aplicación web Pablito?
Juan Pablo: Porque puedes tener diferentes tipos de autenticación por zona. Supón que tienes autenticación por Windows en la zona de Intranet y deseas tener autenticación FBA en la zona de Intranet. En ese caso debes extender la aplicación web, seleccionar NTLM en proveedor de autenticación e Internet en la zona.
Abuela: ¿Y cuál es el siguiente paso? ¿En dónde están los usuarios?
Juan Pablo: Debes crear una base de datos en SQL Server para ello (asumiendo que usas FBA con SQL Server), abrir la línea de comandos de –Net Framework y ejecutar alguno de los siguientes comandos:
%windir%\Microsoft.NET\Framework\v2.0.5027\aspnet_regsql -A all –E
%windir%\Microsoft.NET\Framework\v2.0.5027\aspnet_regsql.exe (se ejecuta un asistente)
Una vez que hayas creado la base, debes crear los usuarios y roles, que luego serán utilizados dentro de Sharepoint.
Abuela: bien, parece bastante sencillo…
Juan Pablo: Así es abuela, pero ahora viene algo de trabajo manual. Debes editar el archivo web.config del sitio de Internet y del administrador central de Sharepoint. Grabas ambos archivos y luego ejecutas un ISSRESET.
Primero debes modificar la cadena de conexión, debajo </SharePoint> arriba <system.web>:
<add name="AspNetSqlProvider" connectionString="server=tuServidorSQL; database=aspnetdb; Trusted_Connection=True" />
El resto de la configuración debes hacerla debajo de <system.web>:
<membership defaultProvider="AspNetSqlMembershipProvider">
<providers>
<remove name="AspNetSqlMembershipProvider" />
<add connectionStringName="AspNetSqlProvider" passwordAttemptWindow="10" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" description="Stores and retrieves membership data from the Microsoft SQL Server database" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</membership>
<roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
<providers>
<remove name="AspNetSqlRoleProvider" />
<add connectionStringName="AspNetSqlProvider" applicationName="/" description="Stores and retrieves roles data from the local Microsoft SQL Server database" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
Abuela: Se complicó un poco…
Juan Pablo: No tanto abuela, es sólo un archivo XML, de todas maneras te dejaré algunos artículos que te servirán de guía si fuera necesario. Pero no olvides que aún falta configurar el administrador central de sharepoint: debes ir a Administración de Aplicaciones y configurar tu aplicación web, eligiendo:
No olvides que esto debes hacerlo en la zona de Internet!
Abuela: ¿Eso es todo?
Claro, no olvidés entrar al administrador central de sharepoint y agregar los usuarios en la sección "for Web Application", sino será difícil que alguien pueda acceder…
Abuela: Realmente ha sido muy claro, aunque me hubiera gustado ver alguna pantallita.
Una sola abuela…
Abuela: Me ha parecido un tema muy interesante. Gracias por la explicación. ¿En qué revista puedo leer más sobre esto?
Juan Pablo: Abuela, mejor usa Internet. Te dejo algunos links:
http://technet.microsoft.com/es-us/library/cc288043.aspx (español, pero MOSS)
http://blogs.msdn.com/sharepoint/archive/2006/08/16/702010.aspx (inglés)
Este artículo pretende detallar los aspectos creación de cuentas de seguridad que se requieren a la hora de configurar un servidor de sharepoint. Que les sea útil y que lo disfruten…
A. Cuentas a nivel del servidor de granja
Cuenta | Descripción | Instalación en un servidor | Instalación en granja |
Cuenta de servicio de SQL Server. | Esta cuenta se necesita en el momento de instalación de SQL Server. | Cuenta local de sistema. | Cuenta local de sistema o cuenta de usuario de dominio. |
Cuenta de servicio de instalación. | Usada para ejecutar la instalación en cada equipo, la configuración de WSS, STSADM y PSCONFIG. | Miembro del grupo de administradores en el equipo local. | Cuenta de usuario de dominio, miembro del grupo de administradores en el equipo local y SQL Server login con los roles securityadmin y dbcreator. |
Cuenta de servicio de la granja. | Identidad del "application pool" que contiene el sitio del Administrador Central de Sharepoint. Cuenta del proceso del servicio "WSS Timer". | Por default es "Network Service" y no necesita configuración manual. | Cuenta de usuario de dominio Es agregada automáticamente como SQL Server login con los roles securityadmin, dbowner y dbcreator. |
B. Cuentas para el servicio de búsqueda de WSS
Cuenta | Descripción | Instalación en un servidor | Instalación en granja |
Cuenta de servicio del servicio de búsqueda de WSS. | Usada como cuenta del servicio de búsqueda. Típicamente en una granja hay un solo servidor de búsqueda. | En forma predeterminada, se ejecuta con la cuenta local del sistema. | Cuenta de usuario de dominio que no sea miembro del grupo de administradores local. Automáticamente es configurada con acceso a la base de datos de configuración y como parte del rol db_owner de la base de datos de búsqueda. |
Cuenta de acceso al contenido del servicio de búsqueda de WSS. | Utilizada para buscar contenido a través de los distintos sitios. | No debe ser miembro del grupo de administradores locales. | Similar a la cuenta del servicio de búsqueda de WSS. |
C. Cuentas de identidad del "application pool"
Cuenta | Descripción | Instalación en un servidor | Instalación en granja |
Indentidad del "Application pool". | Utilizada para accede a la base de datos de contenido asociadas a las "Web applications" del "application pool". | Por default es "Network Service" y no necesita configuración manual. | No necesita configuración manual. Es miembro del db_owner de las bases de datos de contenido y de búsqueda. |
- Esta cuenta debe ser miembro del grupo IIS_WPG. "Network Service" y la cuenta local del sistema son miembros del grupo IIS_WPG en forma predeterminada.
- Esta cuenta debe ser también miembro del grupo STS_WPG. Este grupo es creado en forma automática durante la instalación en incluye sin necesidad de hacerlo en forma manual a la identidad del "application pool".
Más información en:
http://go.microsoft.com/fwlink/?LinkId=92885&clcid=0x409
http://technet.microsoft.com/en-us/library/cc288210.aspx
The Developing SharePoint Applications guidance helps architects and developers design and build applications that are both flexible and scaleable. It shows developers how to provide IT professionals with the information they need to maintain those applications and diagnose problems when they arise. The two reference implementations illustrate how to solve many of the common challenges developers encounter. One reference implementation addresses basic issues such as creating lists and content types. The other addresses more advanced problems such as how to integrate line of business services, how to create collaboration sites programmatically, and how to customize aspects of publishing and navigation. A library of reusable components helps you adopt techniques used in the reference implementations. The guidance discusses approaches for testing SharePoint applications, such as how to create unit tests, and documents experiences with stress and scale testing one of the reference implementations...
En ese ejemplo se ven dos controles. El que aplica a nuestro caso es GlobalSiteLink0. La secuencia indica el orden de precedencia respecto al control estándar de sharepoint que normalmente es 100.
3) Crear la feature y activarla (ejemplo feature.xml)
<Feature xmlns=http://schemas.microsoft.com/sharepoint/
Id="{0B4566F8-5A77-482c-8FA7-0EAC0EA0C7DE}"
Title="Analyzer Point"
Description="Extensión a WSS creada por RMyA para soportar funcionalidad para Analyzer Point."
Scope="Web"
Hidden="FALSE"
ReceiverAssembly="AP, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0a908865defbb104"
ReceiverClass="AP.FeatureReceiver" >
<ElementManifests>
<ElementManifest
Location="elements.xml"/>
</ElementManifests>
</Feature>
Pueden encontrar otro ejemplo aquí: http://msdn.microsoft.com/en-us/library/ms470880.aspx
Estos son los controles delegados que pueden usar:
Hasta la próxima…