Translate

miércoles, 14 de octubre de 2015

Usuarios anónimos de un sitio de publicación no pueden expandir vistas agrupadas

Una de muchas diferencias que encontramos en sitios Team Sites y en Publishing Sites trata del manejo de features disponibles en cada una de las plantillas.

Por lo general, Team Sites tienen al menos permisos de lectura, mientras que los Publishing Sites están pensados para el acceso anónimo, sin embargo, aunque todo el sitio tenga habilitado el acceso anónimo, ciertas funcionalidades van a solicitar credenciales.

Ejemplo de esto son las listas y bibliotecas que tienen una vista agrupada. El problema que acá se presenta es que al cambiar de colapsado a extendido el contenido de la lista o biblioteca no se carga, por el hecho de estar manipulándolo de manera anónima.

En SharePoint 2013 es muy facil resolverlo. Los Site Collection Administrators deberán ingresar a Site Setting y deshabilitar la opción "Limited-Access user Permission Lockdown Mode"


En SharePoint 2010 la opción no viene por default, sino que tendremos que invocarla por medio de Power Shell con los siguientes comandos:

get-spfeature –site http://misitio

Ubique la opción ViewFormPagesLockDown, de esta manera sabrá que el feature aunque no se vea gráficamente sí está presente


Aplicamos los siguientes comandos para desactivar el feature
$lockdownFeature = get-spfeature viewformpageslockdown
disable-spfeature $lockdownFeature SiteURL

Fuente: http://sureshpydi.blogspot.in/2013/12/viewformpageslockdown-feature-in.html

Con este comando el feature que bloquea la vista de formularios se desactiva, y así los usuarios anónimos no tendrán problemas para hacer manejo de listas y bibliotecas

martes, 6 de octubre de 2015

Página de calendario de SharePoint 2013 no toma estilos css en IE11

Las personas que han trabajado en diseños personalizados para SharePoint 2010 o 2013 se han dado cuenta que muchos de los estilos presentan problemas en Internet Explorer 11, esto se debe a que no se incluyeron las mejoras necesarias en el SP1.

En esta oportunidad se da un fallo en la visualización del calendario en SharePoint 2013 abriéndolo únicamente con IE11, por ejemplo se desactiva el botón que se sobrepone al cambio de vistas y la página en modo edición se ve mal.

La solución radica en cambiar el tag que indica la compatibilidad que tendrá IE11 con su contenido, por lo que se deberá cambiar en el masterpage de extensión html de la siguiente manera:

ORIGINAL
<meta http-equiv="X-UA-Compatible" content="IE=10" />

SOLUCIÓN
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE10" />

La diferencia entre "IE=10" y "IE=EmulateIE10" es que el primero sólo cambia el agente de usuario para que aparezca con IE10, a diferencia que el segundo, que emula completamente el navegador IE10 inclusive con componentes del API Javascript.

martes, 29 de septiembre de 2015

Iphones no renderizan apropiadamente el diseño de SharePoint 2010

Si ha realizado un diseño personalizado de un sitio de publicación en SharePoint 2010, notará que al momento de deshabilitar el acceso por medio de moviles (es decir, sin que detecte que la petición se hace desde un dispositivo movil) ocurre un problema en la visualización del Menú Superior de Navegación, cuando se accesa desde un Iphone.

La razón se debe a que la actualización del navegador safari 7.1 no contempló el funcionamiento con el ASPMenu control.

Existen dos maneras de solucionarlo, una temporal y otra definitiva:

Lo temporal consiste en pasar la visualización del Iphone en modo de escritorio

La manera de corregir esta situación de manera permanente es editando el archivo compat.browser de la siguiente manera.

Accese a la ruta: C:\Inetpub\wwwroot\wss\VirtualDirectories\\App_Browsers\compat.browser

Agrege la siguiente referencia al código que refiere a la incorporación de un nuevo Browser ID:

<browser refID="Safari60">
    <controlAdapters>
        <adapter controlType="System.Web.UI.WebControls.Menu" adapterType="" />
    </controlAdapters>
</browser>
Salve el archivo y reinicie el IIS.



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}