Translate

jueves, 23 de julio de 2015

Cambio de idioma a Colección de Sitios en SP2010

Si han intentado cambiar de manera gráfica el idioma de toda tu colección de sitios en SP 2010 de inglés a español, se pudieron dar cuenta que no existe dicha opción. Las características regionales o el idioma de traducción no solventa esta necesidad. Para ello se tendrá que hacer un ajuste en la base de datos que almacena los datos de la colección.

Previo al inicio de esta modificación, se debe haber instalado el Paquete de idioma en español

https://www.microsoft.com/es-es/download/details.aspx?id=3411

1. Ingresar a la base de datos y buscar la tabla de la colección de sitios requerida.


2. Es en la tabla dbo.AllWebs donde se debe hacer la modificación del campo Languaje



Recordemos que el código de idioma 1033 es Inglés y 3082 es Español.

3. Realizar un Query que ejecute el cambio. Si se quiere cambiar el idioma solamente de un sitio el where debe buscar el siteId, y si se desea hacerlo para toda la colección se debe buscar por ParentWebId




Una vez realizado este procedimiento las acciones del sitio cambian al idioma indicado


miércoles, 4 de febrero de 2015

Configuración del FBA en SharePoint 2013

A diferencia con la configuración de la autenticación basada en formularios de SharePoint 2010; 2013 cuenta con un par de diferencias que dan al traste con más o menos horas de esfuerzo al momento de implementarlo.

A continuación muestro el procedimiento completo para trabajar en conjunto con la solución codeplex SharePoint 2013 FBA Pack y FBA nativo de SharePoint 2013.

1. Descarga e instalación de SharePoint 2013 FBA Pack desde la página de codeplex. Ahí se verán las instrucciones de instalación, sin embargo no varía de cualquier otra solución wsp. Se activa en los sitecollection necesarios.

En este momento no se podrá configurar esta solución, ya que hace falta crear una serie de conexiones. Por lo tanto quedaremos únicamente con la solución activada

2. Si ya se tiene creado el WebApplication se tendrá que editar la opción de authentication Provider para habilitar el FBA.

En el campo ASP.NET Membership Provider Name escribiremos el nombre del miembro ASP, es mi caso lo llamaré SQLProvider y en ASP.NET Role Manager Name escribiré SQLRol

3. El siguiente paso será crear en el servidor de SQL una base de datos dedicada al almacenamiento de los usuarios creados.

- Browse to c:\Windows\Microsoft .NET\Framwork64\v4.0.30319
- Run aspnet_regsql.exe
- Click Next
- Choose Configure SQL Server for Application Services >> Click Next
- Enter your SQL Server Name , choose Windows Authentication and type in a Database Name

El nombre de la base de datos en mi ejemplo se llamó UsuariosExternos.
Es muy importante en este punto darle a la cuenta que corre el application pool del site collection permisos de owner  en esa base de datos. 



4. Ahora se tendrán que editar los archivos web.config del Web Application y el web.config del Security Token Service de todos los Front Ends de la granja de la siguiente manera:

Web. Config del web application
*Nota: Recuerde hacer una copia de seguridad del archivo web.config


Se incluye un nuevo registro de membershipProvider


  <membership defaultProvider="i">
      <providers>
        <clear />
        <add name="i" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
        

<add name="sqlProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="fbaSQL" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
    
  </providers>
    </membership>

Seguidamente se incluye también un registro para agregar el rol


<roleManager defaultProvider="c" enabled="true" cacheRolesInCookie="false">
      <providers>
        <add name="c" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />
        
<add name="sqlRol" type="System.Web.Security.SqlRoleProvider" connectionStringName="fbaSQL" applicationName="/" />

      </providers>
    </roleManager>

Como podrán ver marcado en rojo, se encuentran los mismos nombres de ASP.NET Membership Provider Name y ASP.NET Role Manager Name que se digitaron en el punto 2. Noten como también se hace un llamado al string de conexión hace la base de datos creada para el fin de almacenar las cuentas.

Por último, antes de cerrar el tag de  </configuration> se incluye el string de conexión

  <connectionStrings>
    <add connectionString="data source=SPDBCONTENT;integrated security=sspi; initial catalog=UsuariosExternos;" providerName="System.Data.SqlClient" name="fbaSQL" />
  </connectionStrings>


Finalizada la edición de este archivo se procede a editar el web.config del Security Token Service. Este se accede por medio del IIS, en el sitio SharePoint Web Services.
Web.config del Security Token Service

*Nota: Recuerde hacer una copia de seguridad del archivo web.config



Antes de cerrar el tag de configuration se deben incluir los dos registros de providers y el connection string de la siguiente forma:


<membership defaultProvider="sqlProvider">
<providers>
<clear />
<add name="i" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthMembershipProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />


<add name="sqlProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="fbaSQL" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />

</providers>
    </membership>

    <roleManager>
<providers>
<clear />
<add name="c" type="Microsoft.SharePoint.Administration.Claims.SPClaimsAuthRoleProvider, Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" />

<add name="sqlRol" type="System.Web.Security.SqlRoleProvider" connectionStringName="fbaSQL" applicationName="/" />
</providers>
    </roleManager>

</system.web>

<connectionStrings>
<add connectionString="data source=SPDBCONTENT;integrated security=sspi; initial catalog=UsuariosExternos;" providerName="System.Data.SqlClient" name="fbaSQL" />
</connectionStrings>

Terminada la edición haga un iisreset y verifique que el CA no tenga problemas de acceso y que todo lo que funcionaba en otrora esté funcionando.

5. Con la edición de los archivos, es decir, con los datos inlcuidos en la configuración, se podrán incluir los usuarios desde la solución FBA 2013.


Cree los usuarios necesarios y asígneles un rol}








martes, 25 de noviembre de 2014

Configuración de search service para usuarios anónimos

El uso de una plantilla publicación en SharePoint requiere un modo de autenticación anónimo para su publicación en internet, sin embargo, las búsquedas se ven limitadas a los usuarios autenticados si no se configura el search service application de la siguiente manera:

El procedimiento para lograr una indexación de resultados del sitio se logra de la siguiente manera:


1.    Creación content source que sea el encargado de ejecutar un crawl para sitios anónimos

1.1  Este Content Source se debe indicar cual es el sitio que hará la indexación.


2.    Creación de una regla de indexación (crawl rule)
La regla que se requiere crear pretende utilizar una cuenta de servicio específica para hacer la indexación del sitio anónimo requerido.

2.1  La configuración de la regla se realiza de la siguiente manera:

3.    Creación del sitio de búsqueda.
Desde el toplevel site se debe crear un sitio de búsqueda, que sea el predeterminado para mostrar los resultados.

4.    Configuración del sitio de búsqueda desde el sitio principal
Para realizar la configuración correspondiente es requerido hacerlo desde el toplevel site en la opción Search Settings

4.1  Search Settings:
Es necesario en este apartado indicar cuál es la página de resultados a la que obedecerán las búsquedas de todo el sitio, esto en el campo “Site Collection Search Results Page



La imagen hace referencia a la página de resultados del sitio de búsqueda creado en el punto anterior


5.    Permisos anónimos en el sitio de búsqueda:
De la misma manera que está compuesta la estructura de permisos generales del sitio, se parte de la premisa que es necesario heredar este esquema para que la página específica de results pueda ser accesada por usuarios anónimos


5.    Resultado:

Inicio de la búsqueda:

Resultado con un usuario anónimo: