Thursday, November 10, 2016

Microsoft Sharepoint Blog Equipo Diseñador

Plantilla de Sitio Entrenamiento - Parte 1: Introducción Hola amigos, Sean Gabriel aquí. Soy un administrador de programas para el equipo de SharePoint Designer, y trabajo sobre todo en nuestra experiencia en la construcción de aplicaciones. Definitivamente estoy deseando compartir mi conocimiento aquí - por lo que si usted tiene temas en el espacio de construcción de aplicaciones que le gustaría que se trataran en este blog, no dude en preguntar. Usted puede haber oído hablar de las plantillas de aplicación para Windows SharePoint Services 3.0. un conjunto de recién liberados plantillas de sitios de SharePoint que están diseñados para resolver 40 escenarios comunes de los clientes. Tuve el placer de construir una de estas plantillas a mí mismo, y quiero mostrarle cómo hacerlo utilizando SharePoint Designer 2007 - de principio a fin! La plantilla que voy a discutir es Empleado Formación Programación y Materiales. La mejor manera de entenderlo es descargarlo y probarlo por ti mismo, pero aquí está un resumen rápido de cómo funciona: Hay dos tipos de usuarios pueden visitar el sitio, instructores y estudiantes (alumnos). Cuando un instructor tiene una clase para enseñar, él / ella lo añade a la lista de cursos, especificando cosas como la fecha, lugar y número de asientos disponibles. Luego, los estudiantes pueden navegar por la lista de los próximos cursos y regístrate para cualquier cosa que les interesa - y la aplicación comprueba la lista de registro, recuerda a los usuarios cuando una clase es pronto para empezar, y recoge retroalimentación de los estudiantes después de la clase ha terminado. A primera vista, los estudiantes y los instructores pueden ver un cuadro de mando personalizado de sus entrenamientos en la página principal del sitio. Estos comportamientos se logran mediante el uso de flujo de trabajo y unos pocos casos especializados del elemento web Formulario de Datos (DFWP). Este es el plan de batalla para saber cómo vamos a construir la aplicación: Diseñar las listas claves - Cursos, inscripciones, etc. Añadir registro y lógica recordatorio con el flujo de trabajo Lista de puntos de vista y formas de controlar el comportamiento de la aplicación de anulación por defecto Crear página de panel con vistas totales a través de múltiples listas Para la mayoría de estos artículos estaremos utilizando SPD, pero el primer punto es algo que tenemos que hacer a través del navegador por el momento. Así que hoy vamos a caminar a través del diseño de la lista que nos preparó para la construcción de la próxima vez DFWPs. Lista de diseño de esquema Si usted navega a "Ver todo el contenido del sitio" en el centro de formación, verá la siguiente lista de listas: El corazón de esta aplicación es la lista de cursos. Un curso es muy parecido a una cita - que tiene un título, lugar, hora de inicio y fin, etc. - por lo que un gran lugar para comenzar es con la incorporada en la lista de Calendario. En su sitio web de SharePoint en blanco (que está siguiendo el tiempo, ¿verdad?) Haga lo siguiente: Haga clic en Acciones del sitio & gt; Crear Elija Calendario bajo la columna de Seguimiento El nombre de "Cursos" y suministrar una descripción SharePoint se ha encargado de que nos proporciona la vista del calendario como la que se ve en el centro de formación en "Próximos cursos" (Nota al margen: y esto funciona porque Cursos están utilizando el tipo de contenido del calendario). Pero el esquema del todo bien aún no es. Vamos a adaptar nuestra nueva lista de alrededor de cursos específicamente - por lo que, desde el punto de vista del calendario donde estás ahora: Haga clic en Ajustes & gt; Configuración de la lista Haga clic en Crear columna para cada línea de abajo, y llene la siguiente información (uso de valores por defecto a menos que se especifique): "Instructor". Persona o Grupo. OK "Asientos ocupados". Número. Sí a la requerida. Min 0 Decimales 0 0 por defecto. OK "Plazas Total". Número. Sí a la requerida. Min 0 Decimales 0 0 por defecto. OK Haga clic en el nombre de cada columna existente y modificarlo como se especifica: Título . Cambiar el nombre a "Título del curso". No a la requerida. OK Descripción . Cambiar el nombre a "Descripción del curso". OK Ahora nuestra lista de cursos tiene un instructor asociado a él, y marcadores de posición para el cálculo del número de plazas disponibles en la clase (que vamos a llegar a más adelante). No se preocupe por las vistas en esta lista, sin embargo, vamos a ir más de los que la próxima vez también. Desde que te caminé a través de la lista de cursos en detalle Voy a confiar en que usted sea capaz de seguir rápidamente a través del resto de las listas. El siguiente es Materiales del curso, que celebrará todos los documentos relacionados con los cursos. Suena como funciona una biblioteca de documentos, pero cada documento tendrá un puntero de nuevo en la lista de cursos así que sabemos qué curso está asociado. He aquí cómo hacerlo: Haga clic en Acciones del sitio & gt; Crear . Biblioteca de documentos El nombre de "Materiales del curso" y Suppy una descripción, utilizamos "presentación de Microsoft Office PowerPoint" como la plantilla doc Haga clic en Configuración & gt; Configuración de la biblioteca de documentos Añadir columna "Curso". Buscar. Sí a la requerida. Obtener información de Cursos. En esta columna Título del curso. OK También queremos obtener retroalimentación por supuesto de los estudiantes después de que han tomado la clase. Aquí puede ser tan amplia o específica como quieras, pero estos son los pasos para crear la lista de Encuestas del curso que se ve en el sitio de entrenamiento de hoy: Haga clic en Acciones del sitio & gt; Crear . Lista personalizada El nombre de "Encuestas Curso" y suministrar una descripción Haga clic en Configuración & gt; Configuración de la lista Haga clic en el título. Cambiar el nombre de "revisión de una línea". No a la requerida. OK Añadir columna "revisión en profundidad". Varias líneas de texto. OK Añadir columna "Curso". Buscar. Sí a la requerida. Obtener información de Cursos. En esta columna Título del curso. OK Agregue los siguientes 3 columnas. Elección. Sí a la requerida. Opciones de suministro *. Botones de radio . Por defecto vacía. OK "Eficacia del instructor" "Utilidad de los materiales del curso" "La satisfacción con el curso" * = Rellenar las respuestas a la encuesta, se puede ver en la imagen de la derecha (o trate de añadir un nuevo elemento a Encuestas de golf en la plantilla). Además, es necesario hacer un seguimiento de registros para cada curso, y si bien hay muchas maneras de hacer esto, el modelo que usamos para esta plantilla fue una lista separada que esencialmente tiendas (Nombre, por supuesto) pares. Vamos a hacer cumplir el requisito de estar tanto en los puntos de vista de front-end y back-end de flujo de trabajo. Así que por ahora, sentar las bases de esta lista de inscripciones: Haga clic en Acciones del sitio & gt; Crear . Lista personalizada El nombre de "Registros" y suministrar una descripción Haga clic en Configuración & gt; Configuración de la lista Haga clic en el título. No a la requerida. OK Añadir columna "ID curso". Buscar. Sí a la requerida. Obtener información de Cursos. En esta columna ID curso. OK Ahora haga exactamente lo mismo para crear la lista Pasado Registros (pero cambiar el nombre, por supuesto). Desde aquí se puede crear las (opcional) Anuncios y Enlaces listas, que usted encontrará en Acciones del sitio & gt; Cree en las columnas de comunicaciones y seguimiento, respectivamente. ¡Bien hecho! Ahora tiene las 7 listas que albergan todos los datos en la programación y Materiales sitio de entrenamiento de empleado. La lista octavo (tareas) estará en su camino en breve, ya que la próxima vez que te voy a mostrar cómo crear los flujos de trabajo de registro y recordatorios que he mencionado antes. Esa es la clave para proporcionar ricos lógica de la aplicación detrás de nuestro sitio de SharePoint aquí. Hasta entonces - Plantilla de Sitio Entrenamiento - Parte 2: Flujos de trabajo Hola, Es Sean de nuevo con otra entrega del tutorial desarrollo plantilla. La última vez que cubrimos el esquema de la lista para la Programación y Materiales plantilla de Capacitación del Empleado, una de las nuevas plantillas de aplicación para Windows SharePoint Services 3.0. En esta serie que te estoy mostrando cómo hemos construido una de estas plantillas desde cero, y hoy vamos a autor de todos los flujos de trabajo del sitio de entrenamiento utilizando SharePoint Designer. Una vez hecho esto, se le han incorporado la totalidad de servicios de fondo de la plantilla, por lo que en una futura entrega nos pondremos nuestras manos sucias con puntos de vista y formas de SharePoint. Abre una nueva instalación del centro de formación de SPD y verás la lista de carpetas en la foto a la derecha - con los tres flujos de trabajo que va a crear hoy en el Diseñador de flujo de trabajo. Ellos proporcionan algunos de los comportamientos rica que no se ven en una aplicación web estática, y usted no tendrá que escribir ningún código para hacerlo. ¡Empecemos! Recordatorios automáticos La gente es olvidadizo. Las computadoras no son. Por eso, cuando un instructor llega a su sitio de entrenamiento para crear un curso, ¿por qué tiene que recordar cuando es? Ahí es donde se puede llegar con este flujo de trabajo, lo que vamos a establecer en la lista de cursos: En SPD, vaya a Archivo & gt; Nuevo & gt; Flujo de trabajo. El nombre de "recordatorio Instructor" y adjuntarlo a la lista de SharePoint "Cursos" Marque la casilla para iniciar automáticamente este flujo de trabajo cuando se crea un nuevo elemento Haga clic en Siguiente & gt; continuar Desde aquí usted querrá crear 3 pasos que lógicamente separar nuestro flujo de trabajo en conjuntos de acciones relacionadas. Haga clic en Agregar paso de flujo de trabajo para pasar a la siguiente etapa, y en cada caso si usted no ve la acción específica en la lista, haga clic en el botón Acciones & gt; Mas acciones. para ver la lista completa. Además estoy usando [corchetes] para referirse a lo que hay que hacer en cada marcador de posición. Así que antes de empezar, primero crear dos variables (haga clic en Variables & gt;.. Agregar a hacerlos), uno llamado "Tiempo Recordatorio" (Fecha / Hora) y uno llamado "Asunto" (String). Usted necesitará una vez que llegue a los distintos pasos: Primer paso: lo nombra "Establecer hora de aviso" No hay condiciones Acciones & gt; Añadir tiempo a la Fecha - Añadir -24 horas [fx. Tema actual, Hora de inicio] (Salida de variable: Tiempo Recordatorio) Acciones & gt; Construir Cuerda Dinámica - Tienda "RE: [fx artículo actual, del Curso.]" En Variable: Asunto Segundo paso: el nombre de "Enviar confirmación" No hay condiciones Acciones & gt; Enviar un correo electrónico - Email [. ] Para: Flujo de trabajo de búsqueda. . Tema actual, Instructor Asunto: fx. Tema actual, Título del Curso Cuerpo: Esta es una confirmación de que usted está programado para enseñar [Añadir a la búsqueda del cuerpo. Tema actual, Título del Curso] en [Añadir a la búsqueda del cuerpo. Tema actual, Hora de inicio] en [Añadir a la búsqueda del cuerpo. Tema actual, Ubicación]. Para obtener más información, por favor visite el sitio de entrenamiento. Tercer paso: el nombre de "Enviar recordatorio de curso" Condiciones & gt; Comparar campo de golf - Si Creado es inferior a [fx. Flujo de trabajo de datos, variable: Tiempo Recordatorio] Acciones & gt; Pausa Hasta la Fecha - Pausa hasta [fx. Flujo de trabajo de datos, variable: Tiempo Recordatorio] Acciones & gt; Enviar un correo electrónico - Email [. ] Para: Igual que el anterior Asunto: fx. Flujo de trabajo de datos, variable: Asunto Cuerpo: Este es un recordatorio de que usted está programado para enseñar [Añadir a la búsqueda del cuerpo. Tema actual, Título del Curso] en [Añadir a la búsqueda del cuerpo. Tema actual, Hora de inicio] en [Añadir a la búsqueda del cuerpo. Tema actual, Ubicación] en 24 horas. Para obtener más información, por favor visite el sitio de entrenamiento. Haga clic en Finalizar ¿Tener sentido? Estamos enviando dos recordatorios a cualquier persona que se suma un nuevo elemento a la lista de cursos (es decir, un instructor crear un curso) - uno bien cuando lo hacen como una confirmación, y otras 24 horas antes de que el curso está programado. Y el primer paso era sólo para mantener la asignación de la variable independiente, no hay nada de malo en hacerlo en los otros pasos a la derecha antes de que sean utilizados. Nos queremos hacer un recordatorio similar para los estudiantes, pero podemos hacerlo al mismo tiempo que hacemos cumplir la política de asientos (cada elemento de cursos tiene una Asientos disponibles y totales Asientos), ya que en realidad sólo tiene sentido para enviar recordatorios si realidad convertirlo en un curso. Procesamiento Estudiante inscripciones Si intenta agregar un nuevo curso de la navegación a Cursos & gt; Nuevo. verá esta línea en el nuevo formulario: Y también se dará cuenta de que no hay ninguna línea de asientos disponibles o asientos ocupados, a pesar de que hemos añadido los campos en el esquema de cursos en la primera parte. Te voy a enseñar el truco para ocultar elementos de formulario próxima vez, lo importante aquí es que ahora 0 será nuestro valor centinela en el flujo de trabajo para venir. Vamos a ir a través de éste un poco más rápido mediante el uso de algunos taquigrafía. . significa que estoy haciendo referencia a una cadena (probablemente por esos largos correos electrónicos generados automáticamente) que se puede encontrar el texto completo de la apertura registration. xoml asistentes en SPD. Cursos * significa que usted necesita para llevar a cabo una búsqueda de nuevo en la lista de cursos. Para ello, inicie empujando fx y recoger Fuente: Cursos, momento en el cual verás la sección "Encuentra la lista de elementos" aparecen. En esa sección, los partidos de campo: cursos: ID de Valor: Inscripciones: Identificación de golf (utilizan el fx cercana artículo actual, Curso ID.). Variable: = cualquier cosa con una variable que conduce: frente a ella es una variable de flujo de trabajo que se pueden encontrar en fx. Los datos de flujo de trabajo. Comience con un nuevo flujo de trabajo llamado "registro de asistentes," unido a inscripciones y desencadenó cuando se crea un elemento. Crear 7 variables antes de empezar, 4 de tipo String (Asunto, Confirmación Cuerpo, Recordatorio Cuerpo, Recordatorio Cuerpo 2), 2 Fecha / Hora (Hora Recordatorio, Tiempo Recordatorio 2), y (Asientos Nuevo lleno) 1 Número. A partir de ahí construir los pasos: "Caché todas las variables" No hay condiciones Acciones & gt; Construir Cuerda dinámica (x4) Almacenar . en Variable: Confirmación Cuerpo Almacenar . en Variable: Recordatorio Cuerpo Almacenar . en Variable: Recordatorio Cuerpo 2 Almacenar . en Variable: Asunto "Hacer cumplir la política de estar" Condiciones & gt; Comparación de cualquier fuente de datos (x2) Si [fx. Cursos *, Plazas Total] es igual a 0 o [fx. Cursos *, asientos ocupados] es inferior a [fx. Cursos *, Plazas Total] Acciones & gt; Ajuste variable de flujo de trabajo (x2) Set Variable: Tiempo Recordatorio para [fx. Cursos *, Hora de inicio] Set Variable: Tiempo Recordatorio 2 a [fx. Cursos *, Hora de finalización] Acciones & gt; Haga Cálculo - Calcular [fx. Cursos *, asientos ocupados] más 1 (salida de variable: Asientos Nueva Filled) Acciones & gt; Actualizar lista de artículos Lista: Cursos * Añadir. . Set Lleno Asientos a Variable: Nuevos asientos ocupados Haga clic en Agregar 'Else If' Rama condicional No hay condiciones Acciones & gt; Eliminar elemento - Eliminar elemento de Registros (artículo actual) Acciones & gt; Deja de flujo de trabajo - Detenga el flujo de trabajo y log "Curso ya está lleno." "Establecer hora de aviso" No hay condiciones Acciones & gt; Añadir tiempo a la Fecha - Añadir -24 horas en Variable: Tiempo Recordatorio (Salida en Variable: Tiempo Recordatorio) "Enviar confirmación" No hay condiciones Acciones & gt; Enviar un correo electrónico - Email. "Enviar recordatorio de curso" Condiciones & gt; Comparar campo Inscripciones - Si Creado es inferior variable: Tiempo Recordatorio Acciones & gt; Pausa Hasta la Fecha - Pausa hasta Variable: Tiempo Recordatorio Acciones & gt; Enviar un correo electrónico - Email. "Enviar recordatorio para retroalimentación" Condiciones & gt; Comparar campo Inscripciones - Si Creado es inferior variable: Tiempo Recordatorio 2 Acciones & gt; Pausa Hasta la Fecha - Pausa hasta Variable: Tiempo Recordatorio 2 Acciones & gt; Enviar un correo electrónico - Email. "Mover a Past inscripciones" No hay condiciones Acciones & gt; Copia Lista de artículos - Copia elemento de Registros (artículo actual) al Pasado inscripciones Acciones & gt; Eliminar elemento - Eliminar elemento de Registros (artículo actual) ¡Ay, lo sé. Pero por suerte eso es tan malo como se pone. He aquí una breve explicación - un estudiante inscribirse en un curso, pero no se pondrá en inmediato (técnicamente, se ponen en pero pueden ser expulsados ​​inmediatamente si la lógica de estar falla). Después de ajustar todas las variables, comprobamos si totales Asientos es 0 (ilimitado) o mayor de asientos ocupados (es decir, ¿hay lugar en el curso?). Si no, abortar prematuramente (borrar / detener el paso dos), de lo contrario lo que hacemos los cálculos y se añade 1 a los asientos ocupados, enviar recordatorios, etc. El último paso es el de archivo en la lista de réplicas Pasado inscripciones, algo que va a ser más evidente en la tercera parte, cuando construimos la parte delantera. Un flujo de trabajo sucio secreto Eso es todo muy bien, pero ¿qué sucede cuando alguien quiere anular el registro del curso? Tenemos que restar 1 a partir del número de asientos ocupados, a continuación, eliminar su registro de inscripciones, pero aquí hay un problema - flujo de trabajo no puede ser activado para funcionar antes de eliminar un elemento. Así que esto es lo que vamos a fingir -. Desde el flujo de trabajo se puede ejecutar cuando se cambia un elemento, vamos a establecer otro valor centinela para nuestro flujo de trabajo para estar interesado en BORRAR parece bastante explica por sí mismo, ¿no? (Tenga en cuenta que esta solución tiene algunas implicaciones graves - tendremos que ocultar eliminación artículo en inscripciones y bloquear todas las ediciones en nuestro campo por lo que el usuario nunca se dispara el centinela No te preocupes, voy a explicar a su debido tiempo..) Nuestro último flujo de trabajo, "la anulación del registro de asistentes" (a falta de una palabra mejor), adscrito a inscripciones, activan cuando se cambia un elemento. Una de las variables antes de empezar: una cadena llamada Registro de mensajes. Ni siquiera realmente necesario, simplemente para la posteridad: "Anular el registro del curso" Condiciones & gt; Comparar campo Inscripciones - Si el título es igual a "BORRAR" Acciones & gt; Eliminar elemento - Eliminar elemento de Registros (artículo actual) Acciones & gt; Construir Cuerda Dinámica - tienda. en Variable: Registro de mensajes Acciones & gt; Detener Workflow - Detenga el flujo de trabajo y registro de variable: Registro de mensajes Y ahí lo tienen, el comportamiento dinámico que toma mucho tiempo para explicar en un blog, pero va un largo camino hacia la riqueza y la solidez de su aplicación SharePoint. Nos ha tomado algunas decisiones de diseño clave para llegar hasta aquí, y así en la tercera parte vamos a aprender lo que mantiene consecuencias para el sistema frontal, que es impulsado por vistas de SharePoint y formas. ¡Te veré luego!


No comments:

Post a Comment