archivos mensuales: Junio 2011

Deja brillantes ejemplos Lead the Way a mayor adopción de SharePoint

Mi primera entrada de blog "pura" de BrightStarr fue publicada hoy.  Aquí es un reclamo:

Ha habido mucha conversación sobre los Internets últimamente sobre el tema de la adopción de SharePoint y especialmente la falta de ella. Nadie quiere ir a todos los problemas del diseño de una infraestructura agrícola y la seguridad, participar en talleres, armar una apariencia snazzy, elaboración de una arquitectura de información sólida de roca que puede soportar las vicisitudes de la empresa re-orgs y finalmente, un despliegue lleno de fanfarria para descubrir tres meses post go-live que menos 50% de la empresa empleados utilizan SharePoint y la mayoría de ellos está utilizando para reemplazar a los antiguos servidores de archivos de red ("el s:\ unidad").

Ninguna bala de plata (o una sola entrada de blog) se va a resolver ese problema. Sin embargo, Hay muchas cosas que puede hacer para reducir el riesgo de un anémico SharePoint portal. Una tal técnica es el "patrón de ejemplo luminoso."

Me encantaría saber acerca de otras estrategias de adopción de SharePoint que te importa compartir.  Si comparte, por favor dejar como un comentario en el blog de BrightStarr.

Leer todo aquí: http://www.brightstarr.com/US/Pages/blog-view.aspx?BlogID=52

</final>

Suscribirse a mi blog.

Sígueme en Twitter en http://www.twitter.com/pagalvin

"Acceso denegado” a Default.aspx en un SharePoint 2010 Subsitio

Uno de mis clientes salió en vivo con su SharePoint 2010 entorno de hoy.  Hemos descubierto que un determinado grupo de usuarios no podía acceder a su página de inicio predeterminada.  SharePoint respondió con "Acceso denegado" y el habitual "signo como otro usuario" o "solicitar acceso" respuesta. 

Cuando utilizamos la función de "Comprobar el acceso" ingeniosa confirmó que, realmente, los usuarios finales tuvieron acceso.  Todavía, no pudo obtener la página.

He seguido un montón de carreteras a varios callejones sin salida hasta que me decidí a comparar los elementos web de la página roto contra una página de trabajo similares.  Lo hice por poner la página en modo de mantenimiento, agregando"?contenido = 1 "a la página. Por lo tanto, parecía "http://Server/subsite/subsite/default.aspx?contenido = 1 ". 

Esto me mostró dos componentes denominados "Error" de web con una descripción como "Error" en la página rota.  No pensaba tomar un tope de pantalla en el momento.

Les quité y que resolvió el problema.

He visto una pregunta como esta llegan hasta en los foros en el pasado y estaba muy escéptico acerca de la insistencia del póster que tenía seguridad correctamente configurado.  Me * saber * tuve seguridad configurar derecho Sonreír  Próxima vez, Voy a ser más abiertos y menos escéptico.

</final>

Suscribirse a mi blog.

Sígueme en Twitter en http://www.twitter.com/pagalvin

Muestras de XSLT y jQuery

Vengo haciendo mucho de XSLT y jQuery y pensamiento que comparto algunos fragmentos que otros pueden resultar útiles en el futuro.

Ejemplo 1: Emiten simple JavaScript / jQuery en XSLT:

<XSL:Partido de plantilla = "algo" XML:Space = "preserve">

  <!– En blanco el campo oculto de filtros amigable de consulta –>
  <tipo de secuencia de comandos = "text/javascript">
    $(documento).listo(función(){
      $("#QueryFriendlyFilters").Val("vacía");
    });
  </secuencia de comandos>

</XSL:plantilla>

Que bit emite algunos JavaScript que espera de la página finalizar la carga (debido a la $(documento).listo(…)) y, a continuación, establece el valor de un campo oculto llamado QueryFriendlyFilters el valor literal "vacía".

Ejemplo 2: Uso <XSL:Si> para comprobar la "mayor que",  "menor que", etc..

<XSL:Partido de plantilla = "algo" XML:Space = "preserve">

  <div id = "fdcAllFilters">
 
    <XSL:Si test="@Count>0">
      <span class = "fdcFilterLabel">Filtros actuales:</abarcan>
    </XSL:Si>

    <!– más cosas sucede aquí. –>

</XSL:plantilla>

El fragmento de código anterior comprueba si un atributo denominado "Contar" del elemento "algo" es mayor que cero.  El XML detrás de todo esto sería algo así como:”

<algo Count = "5" />

Ejemplo 3: Recorrer en iteración todos los elementos, intercalando llamadas jQuery.

<!– Recorrer en iteración todos los filtros y mostrar la correcta  enlaces. –>
<XSL:for each select = "UserFilter">

  <una clase = "FilterHref" href = "javascript:mySubmitPage('RemoveUserFilter','{@ ID}’)">[X]</un>

  <span class = "fdcFilterLabel"><XSL:valor de select="@FilterValue"/></abarcan>

  <tipo de secuencia de comandos = "text/javascript">

    $(documento).listo(función(){
        <XSL:texto><![CDATA[$("#QueryFriendlyFilters").Val( ($("#QueryFriendlyFilters").Val() + " ]]></XSL:texto>\"<XSL:valor de select="@FilterValue"/>\"<XSL:texto><![CDATA["));]]></XSL:texto>
    });

  </secuencia de comandos>

</XSL:para cada>

El fragmento de código anterior es el más complejo y puede haber formas más fácil de hacerlo.

El XML detrás de todo esto más o menos este aspecto:

<UserFilter ID = "123" FilterValue = "xyzzy" />

Este fragmento es iterar a través de <UserFilter> nodos. 

Primero emite un ancla de etiqueta que cuando hace clic en invoca una función de JavaScript que ya está en la página, "mySubmitPage" y pasa el valor de un atributo la <UserFilter> nodo denominado "ID". 

A continuación, emite algunos jQuery que espera para que cargar la página.  Que jQuery actualiza un campo oculto denominado "QueryFriendlyFilters" agregando el valor del atributo FilterValue.  Nota todos los locos <XSL:texto> y <![CDATA[ … ]]> cosas.

Eso es todo, esperanza de ayuda!

</final>

Suscribirse a mi blog.

Sígueme en Twitter en http://www.twitter.com/pagalvin