Resumen de blog con CQWP

En este artículo les enseñaré como crear un resumen de contenido web para un blog de SharePoint.

Este artículo se basa en un sitio de tipo Blog de SharePoint 2013.

 

Parte I. Modificar la lista de Entradas De Blog.

 

Primero agregamos dos nuevas columnas a la lista de Entradas de Blog, para poner el resumen y la imagen que mostraremos.

Haga clic en la lista EntradasDeBlog.

 

En el menú de Lista, busquen Configuración de la lista.

 

En la sección de columnas, haga clic en Agregar desde columnas de sitio existentes.

 

Busque la columna Icono de la página y presione el botón Agregar.

 

Busque la columna Descripción y haga clic en Agregar.

 

La página para crear nuevas entradas para el blog va a tener dos campos nuevos, de Icono y Descripción. Recomiendo hacerlos de tipo requerido, para obligar a los usuarios a llenarlos.

 

Parte II. Mostrar el resumen en una página.

 

En el sitio donde queremos mostrar el resumen, agregamos una nueva página.

 

Inserte el elemento Web Consulta de contenido, que se encuentra en la sección Resumen del contenido.

 

En la sección de Campos para mostrar agregue el nombre de la columna Icono y Descripción.

 

Guarde los cambios del elemento Web y de la página.

Sitios de reuniones en SharePoint – Parte 4 (final)

En un nuevo sitio de SharePoint Online se ocupaba un sitio de reuniones sencillo, como los de SharePoint 2007.

Use la idea de Frank Op ‘t Landt
http://sharepoint-community.net/profiles/blogs/the-alternative-for-meeting-workspaces-in-sharepoint-2013 para desarrollar este sitio.


 

Primero se deben crear las listas que tiene un sitio de reuniones:


 

En esta parte vamos a configurar las páginas que usaremos en el sitio.

Primero vamos a trabajar en la página principal.

Editamos la página y seleccionamos una plantilla con dos columnas.


 

Agregué la lista de Calendario en la columna izquierda, los elementos agenda y biblioteca de documentos e la columna derecha. Pueden cambiar esta configuración como lo deseen.  


Luego vamos a conectar el elemento de Agenda con el Calendario, para que sólo se muestre la agenda del día seleccionado.

En el modo de edición de la página de SharePoint, selecciona la Agenda y hacen clic en Editar Elemento
Web, para habilitar el menú de conexiones.

 

Nuevamente en el modo de edición de la página de SharePoint, selecciona la Agenda y hacen clic en conexiones.


 

Conecte la columna Hora de inicio de la lista Calendario, con la columna Fecha de reunión de la lista Agenda.

 

Y se debe repetir esa conexión para la lista de Documentos.


 

Además vamos a agregar una página para ver las reuniones pasadas, llamada Eventos pasados.



En las páginas quité la barra de herramientas de todos los elementos Web, para que se viera parecido a la vieja plantilla de reuniones de SharePoint.



En la página principal y en la página de reuniones pasadas, agregué un link para navegar entre ambas páginas.


 

 

Para manejo de las minutas personalicé una plantilla de OneNote, esta parte no se integra con las columnas de las listas, pero se ve bonita. Esta parte es opcional.


 

 


 

Aunque la lista de calendario permite crear reuniones recurrentes, los elementos conectados no funcionan con las reuniones recurrentes, para filtrar las vistas que estamos mostrando.

Por esta razón, para lograr la habilidad de crear reuniones recurrentes, vamos a crear un flujo de trabajo de Sitio y en la página principal vamos a agregar un link a esta nueva lista.

 

En SharePoint Designer, abren el nuevo sitio de sesiones y hacen clic en nuevo flujo de sitio.


 

Como nombre, escriba Crear eventos recurrentes.


 

La primera acción es Establecer una variable de flujo de trabajo.


 

El nombre de la variable es Contador y el tipo es Número.


Establezca el valor inicial en cero.

Luego haga clic en las variables de inicio.


Agregue una variable Título de tipo una línea de texto.


 

No agregue un valor predeterminado y presione el botón Finalizar.


 

Agregue una variable Fecha y hora de inicio de tipo Fecha y hora.


Desmarque la opción para permitir valores en blanco y predetermine el valor en la fecha de hoy. Presione el botón Finalizar.


Agregue otra variable Fecha y hora de fin de tipo Fecha y hora. Desmarque la opción para permitir valores en blanco y predetermine el valor en la fecha de hoy. Presione el botón Finalizar.

 

Agregue una variable Cantidad de tipo Número.


 

Predetermine el valor inicial en cero.


Estos son los parámetros que el usuario debe ingresar para iniciar el flujo de trabajo.


Agregue en el flujo un ciclo con condición.

La condición es que la variable Contador sea menor que la variable Cantidad. Vamos a incrementar el contador cada vez que se ingresa en el ciclo.


A continuación agregue una acción que es Crear un elemento de una lista, para crear un evento en el calendario.


El flujo se debe ver similar a este. Dentro de cada iteración se suman 7 días a la fecha, para crearla semanalmente.


Marque la opción de permitir el inicio manual de este flujo y publíquelo.


Cuando se inicia el flujo de trabajo, el usuario encontrará esta ventana:

 

La página final se ve como esta. Debajo del calendario pueden ver la opción para crear sesiones recurrentes.


 

 

Sitios de reuniones en SharePoint – Parte 3

En un nuevo sitio de SharePoint Online se ocupaba un sitio de reuniones sencillo, como los de SharePoint 2007.

Use la idea de Frank Op ‘t Landt
http://sharepoint-community.net/profiles/blogs/the-alternative-for-meeting-workspaces-in-sharepoint-2013 para desarrollar este sitio.

Primero se deben crear las listas que tiene un sitio de reuniones:

 

En esta parte vamos a configurar la Biblioteca de documentos.


Si no existe una biblioteca de documentos, cree una nueva.

Navegue a la configuración avanzada de la biblioteca de documentos y en la sección de Columnas, seleccione la opción Agregar desde columnas de sitio existente.

Busque la columna Fecha de inicio y agréguela. Esto nos va a conectar con la fecha de inicio de la reunión.


 

Renombre esta columna a Fecha de reunión y cámbiela para que no sea requerida.



 

Estas serían las columnas de la biblioteca de documentos:



Sitios de reuniones en SharePoint – Parte 2

En un nuevo sitio de SharePoint Online se ocupaba un sitio de reuniones sencillo, como los de SharePoint 2007.

Use la idea de Frank Op ‘t Landt
http://sharepoint-community.net/profiles/blogs/the-alternative-for-meeting-workspaces-in-sharepoint-2013 para desarrollar este sitio.

Primero se deben crear las listas que tiene un sitio de reuniones:

 


En esta parte vamos a configurar la lista de Agenda.

Cree una nueva lista personalizada llamada Agenda.

Renombre la columna predeterminada Título con el nombre Tema.

Agregue las siguientes columnas:

  • Hora – una línea de texto
  • Comentarios – varias líneas de texto
  • Responsable – Persona o grupo


En la misma lista de agenda, seleccione la opción Agregar desde columnas de sitio existente.

Busque la columna Fecha de inicio y agréguela. Esto nos va a conectar con la fecha de inicio de la reunión.


 

Renombre esta columna a Fecha de reunión y cámbiela para que no sea requerida.

  


 

Las columnas de la lista de Agenda se ven así:


Sitios de reuniones en SharePoint Online – Parte 1

En un nuevo sitio de SharePoint Online se ocupaba un sitio de reuniones sencillo, como los de SharePoint 2007.

Usé la idea de Frank Op ‘t Landt
http://sharepoint-community.net/profiles/blogs/the-alternative-for-meeting-workspaces-in-sharepoint-2013 para desarrollar este sitio.

El resultado final es el siguiente:
meetingsite

Primero se deben crear las listas que tiene un sitio de reuniones:

En esta parte vamos a configurar la lista de Calendario.

 


 

En la lista de Calendario se crea una nueva vista llamada Próximas reuniones. Desmarque las columnas Periodicidad y Área de trabajo.


 

En la misma vista, cree un filtro que muestre los elementos sólo cuando la Hora de inicio es mayor o igual a Hoy.

 

Guarde esa vista.

 

Cree otra vista en el Calendario llamada EventosPasados. Desmarque las columnas Periodicidad y Área de trabajo.


 

Ordene la vista por la Hora de inicio en forma descendente.


 

Cree un filtro donde la Hora de inicio es menor o igual a Hoy.


 

Error: el flujo no pudo actualizar el elemento.

Durante una migración de SharePoint Server 2010 a SharePoint Server 2013 encontré un error muy peculiar y tuve que abrir un caso de soporte con Microsoft para resolverlo.

Resulta que en varias colecciones de sitios, los flujos de aprobación de SharePoint 2010 dejaron de funcionar. Estaba usando la plantilla predeterminada, sin ninguna personalización, y esos mismos flujos en 2010 funcionaban perfectamente. El error dice:

“The workflow could not update the item, possibly because one or more columns for the item require a different type of information.”

Resulta que durante la migración, la plantilla global de flujos de aprobación se “daño”, por lo que a solución es crear una copia de la plantilla y volver a publicarla, como lo menciona el artículo: http://support.microsoft.com/kb/2891286/en-us

El primer paso es abrir SharePoint Designer y buscar la plantilla global de flujos de aprobación. Luego se hace doble clic para editarla.

 

Haga clic en Yes en la ventana de advertencia.

 

 
 

 En la página de opciones del flujo, en la cinta, haga clic en el botón Publicar.


 
 

Si aparece una ventana de advertencia diciendo que el componente de Visio no está instalado, no se preocupe, puede ignorar ese error y publicar el flujo. Lo que va a suceder es que no se pueden ver los dibujos que muestran el estado donde está el flujo, pero todo va a funcionar correctamente.


 

Se debe repetir esta publicación en todas las colecciones de sitios que presenten el mismo problema.

Explorando spservices: ocultar columnas por grupo de SharePoint

Recientemente he estado trabajando mucho con la librería de spservices (http://spservices.codeplex.com) así que voy a iniciar una serie de artículos con ejemplos de su uso.

Me gusta realizar modificaciones con JavaScript porque si se debe cambiar la versión de SharePoint, el código es más sencillo de modificar, no hay que recompilarlo!, y también funciona con SharePoint Online.

A continuación les voy a mostrar como ocultar columnas del formulario de creación de nuevos elementos. En este caso estoy usando SharePoint 2010, pero debería funcionarles para 2013 sin muchos problemas.

Tengo una lista con cuatro campos y dos grupos de SharePoint en mi sitio, deseo que el grupo IT Owners pueda ver todos los campos del formulario, y el grupo IT Infrastructure Members no pueda ver la columna “Nivel 2”, ni la columna “comentarios”.

Este es el formulario original.

hidefields1

 

Y en esta vista pueden ver los grupos de SharePoint que vamos a utilizar.

hidefields2

 

Veamos el script

En un editor de texto comenzamos a redactar el script. Primero agregamos las referencias a JavaScript y SPServices. Mi recomendación es utilizar una biblioteca en el mismo sitio donde van a usar el script. Por ejemplo, una carpeta llamada Scripts dentro de la biblioteca Site Assets o Activos del Sitio.

<script src=”/url al script/jquery-1.8.2.js” type=”text/javascript”></script>
<script src=”/url al script/jquery.SPServices-2014.01.js” type=”text/javascript”></script>

//Después agregarmos las funciones para ocultar los campos

<script type=”text/javascript”>

// Esta función oculta todo el reglón de la tabla. No es necesario modificarla. 
function hideColumn(c) {

$(“.ms-formlabel h3 nobr”).filter(function() {

var thisText = $.trim($(this).clone().children().remove().end().text());

return thisText.indexOf(c) === 0 && thisText.length === c.length;

}).closest(“tr”).hide();

}

// Esta función usa SPServices para saber si el usuario que esta viendo la página (logged in)

// pertenece al grupo que se envió en la variable groupName. No es necesario modificarla. 

function isGroupMember(groupName, callback)
{

$().SPServices({

operation: “GetGroupCollectionFromUser”,

userLoginName: $().SPServices.SPGetCurrentUser(),

async: true,

completefunc: function(xData, Status) {

callback( !!($(xData.responseXML).find(“Group[Name='” + groupName + “‘]”).length) );

}

});
};

// Esta función si deben cambiarla de acuerdo a sus necesidades.

// Cambien IT Infrastructure Members por el nombre del grupo que ustedes desean revisar.

// Cambien Nivel 2 y Comentarios por el nombre de las columnas que ustedes desean ocultar. 

isGroupMember(“IT Infrastructure Members”, function(result){

if(result){

hideColumn(“Nivel 2”);

hideColumn(“Comentarios”);

}

});
</script>

En mi caso, este script se llama ocultar columnas.js y lo subí a la biblioteca de Site Assets junto con los otros scripts que estoy utilizando.

hidefields4

Para insertar el script en la pagina NewForm.aspx vamos a utilizar un Elemento Web Editor de Contenido, así que para trabajar más fácilmente, primero vamos a deshabilitar la opción de abrir los formularios en cuadros de diálogo, para que se abran totalmente en la página Web.

Después de agregar el script puede volver a habilitar esta opción y que se muestren los formularios en cuadros de diálogo.

  • Primero hacen clic en Lista, después en Configuración de la lista.
  • Luego hacen clic en Configuración avanzada (1).
  • En la página de configuración avanzada, bajan hasta el final de la página, y en la preguna sobre si se deben abrir los formularios dentro de ventanas de diálogos marcan la opción No (2).

hidefields3

  • Después hacemos clic en Agregar elemento, y una vez en la página de agregar elemento, vamos al menú de Acciones de sitio y hacemos clic en Editar Página.

hidefields5

Esto nos va a permitir agregar elementos Web a la página NewForms.aspx. Este procedimiento también se puede realizar con SharePoint Designer.

  • Hagan clic en Add a Web Part, o Agregar Elementos Web.

hidefields6

  • Busquen el elemento Content Editor o Editor de Contenido Web dentro de la categoría de Medios y Contenido.
  • Presionan el botón Agregar.

hidefields7

  • Una vez que agregaron el elemento Web, hagan clic en Editar elemento Web para agregar la dirección al script que usamos.

hidefields8

  •  En la primera sección del Editor de contenido, deben agregar la dirección del script (3).
  • En la sección de Apariencia, seleccionen el Chrome Type a Ninguno (4), para que no se vea el título del mismo en nuestro formulario. Y presionan el botón Ok.

hidefields9

  • Después guardan los cambios de la página presionando el botón Stop Editing o Detener Edición.

hidefields11

Como pueden ver, ahora si el usuario que ve el formulario pertenece al equipo IT Infrastructure Members, no va a poder ver todos los campos.

hidefields12

Algo muy importante que deben tener en cuenta, es que por la lógica que estoy usando, si el usuario pertenece a ambos grupos igual no va a poder ver los campos, aunque pertenezca a IT Owners; porque sólo estoy preguntando si pertenece a IT Infrastructure Members.

Anteriores Entradas antiguas

A %d blogueros les gusta esto: