Estudio de caso de flujo de trabajo de MRO usando MOSS, SPD, InfoPath & servicios Web.

Visión general

Este artículo describe un estudio de caso describe un real MRO (Mantenimiento, Reparación y operaciones) proceso de aprobación de trabajo implementado en MOSS.

Esto no es un debate técnico abiertamente, Pero en cambio sirve para ofrecer un ejemplo real que demuestra cómo la plataforma MOSS conocieron un mundo real.

(Esta entrada es Cruz publicada entre http://paulgalvin.spaces.live.com y http://blogs.conchango.com)

Fondo

El proceso del cliente MRO había estado caracterizado por los siguientes

  • Proceso de aprobación manual.
  • Algunos apoyo usando hojas de cálculo de excel.
  • Proceso de aprobación irregular. El mismo proceso de aprobación de compra MRO variará día a día, persona por persona.
  • Montón de papel y las firmas manuscritas — requerido hasta requisiciones de compra 3 firmas escritas antes de la aprobación final.

Los objetivos de este proyecto incluido:

  • Automatizar completamente el proceso de.
  • Hacer cumplir las normas de la empresa para su aprobación.
  • Proporciona una vista consolidada de MRO comprar a varios gerentes.
  • Auditoría detallada.

Como un efecto secundario de la solución, escrito firmas ya no eran necesarias.

Proceso de aprobación

El proceso de aprobación consta de cuatro carriles de"nadar": Originador, Gerente directo, Gerente funcional y Gerente de la división.

Originador:

Ve la necesidad de la compra e inicia el proceso. Nota que el autor puede o no puede entrar realmente en la requisición de compra, pero directa en su lugar otro miembro del equipo para hacerlo. Algunas veces, el remitente no tiene los conocimientos técnicos para completar la solicitud PO. Por ejemplo, un usuario puede desear a requisar un nuevo ordenador portátil, Pero no sabe que el mejor vendedor, Normas de ti, etc.. En este caso, las obras de autor con él y él realmente llena la requisición de.

Gerente directo:

Este es el encargado directo del emisor (que puede ser diferente de la persona que en realidad entró la requisición de PO en MOSS). Gestores directos deben aprobar la solicitud PO antes de que el sistema busca aprobación más abajo de la línea.

Gerente funcional:

El Gerente funcional es la persona responsable de asegurar que la compra propuesta cumple con los estándares de la empresa en el ámbito de una función corporativa en particular. Por ejemplo, LO compras son aprobadas por un gerente funcional.

Gerente de división:

Los gerentes de división aprobación requisiciones de compra estrictamente por monto en dólares. Gerente de división aprobar las requisiciones de compra que exceda una cantidad configurable.

La solución

Hemos utilizado las siguientes herramientas y componentes para implementar la solución:

MOSS: Sirve como la plataforma que todo lo demás "se cuelga". MOSS provee servicios de cimiento para la seguridad, datos maestros, Auditoría y otras características.

Servicios de formularios de InfoPath: Un componente MOSS, Esto permite a los usuarios rellenar las requisiciones de compra mediante un navegador web.

SharePoint Designer (SPD): Utilizamos SPD para implementar el proceso de flujo de trabajo automatizado.

Servicio Web: Un servicio web c# mejora la experiencia del usuario al permitir listas de selecciones en cascada en el formulario de InfoPath y proporciona un mejor rendimiento con respecto al filtrado de datos. Ver aquí para un buceo técnico profundo sobre este tema y nuestras razones para usarlo.

Listas personalizadas: Perfiles de usuario MOSS siempre Gerente directo de un usuario, pero no proporciona la mayor parte de los datos que controla las decisiones de flujo de trabajo (por ejemplo:. Si el gerente divisional es necesaria para aprobar la solicitud de PO). Utilizamos listas personalizadas en un "datos de la empresa" sitio para mantener datos tales como "Gerente Divisional aprobación cantidad de dólares", "Gestor de área funcional" y así sucesivamente. Listas muy bien integración con InfoPath y también proporcionan crear/actualizar/eliminar (CRUD) funcionalidad de auditoría y seguridad fuera de la caja.

Caso de uso

Este caso ilustra cómo encaja la solución:

  1. Paul quiere un nuevo ordenador portátil. Él describe sus necesidades a Vivek, una persona es familiar con los estándares corporativos del ordenador portátil, recomendado: vendedores, etc..
  2. Vivek registros en MOSS, Acceda el formulario de requisición de PO y entra en la solicitud en nombre de Paul. El formulario solicita Vivek para una categoría de compra que utiliza los servicios web para rellenar una lista desplegable de proveedores aprobados por la empresa. Vivek también especifica el área funcional corporativo de esta compra (por ejemplo:. "" o "Hacienda").
  3. SPD basado en flujos de trabajo comienza, determina el encargado directo de Pablo y las rutas de la requisición a su manager, Stacy.
  4. Stacy aprueba la solicitud de compra.
  5. Flujo de trabajo de SPD examina la solicitud y determina que es una compra de ti. Rutas del flujo de trabajo para el Gerente funcional, Wonson.
  6. Wonson aprueba la solicitud.
  7. Flujo de trabajo SPD otra vez examina la solicitud y determina que el monto de la compra supera un monto máximo en dólares y lo encamina al Gerente de la División para su aprobación.
  8. El Gerente de la división aprueba la solicitud de compra.

Notas

  • El caso de uso muestra una"" correr con saltos ni rechazos.
  • Cada aprobador tiene la capacidad de aprobar o rechazar la solicitud, así como proporcionar comentarios por escrito. Estos se registran en la pista de auditoría.
  • Si un administrador responsable rechaza la requisición de compra en cualquier momento, la requisición de PO está "muerta" y el proceso debe iniciarse desde el principio.
  • Flujo de trabajo notifica el creador en cada paso del proceso.
  • Sin firmas escritas — el cliente determinado (después de algunas recomendaciones contundentes) que el audit trail como proporcionada a través de la historia de flujo de trabajo, sirve a sus necesidades de auditorías.
  • Esfuerzo — man aproximadamente tres semanas para implementar esta solución.

Conclusión

Esta solución aprovecha el musgo como una plataforma de tiempo de ejecución y desarrollo. El cliente fue capaz de aprovechar características MOSS para automatizar un proceso de rutina empresarial que afectó a casi todos los empleados de la empresa. Con la excepción de un servicio web simple (que se aprovecha el musgo), casi no hay real "programación" fue requerido.

La solución también sirve como un escaparate"" para el cliente, demostrar cómo las diferentes características MOSS puede combinarse para crear una aplicación de negocios completa y generar nuevas oportunidades de consultoría en el futuro.

Glosario

MRO: Mantenimiento, reparación y operaciones. Estas compras suelen incluyen artículos como libretas, sillas, ordenadores personales, impresoras, los teléfonos celulares y similares.

Examen 70-542: Recomendaciones del estudio (Microsoft Office SharePoint Server 2007 – Desarrollo de aplicaciones)

ACTUALIZACIÓN: En comentarios, alguien publicado este link: http://www.midnightmonkey.co.uk/blog/blogging/?page_id=5. Parece demasiado bueno para mí.

Hoy aprobé el examen técnico de MOSS, titulado "Microsoft Office SharePoint Server 2007 – Desarrollo de aplicaciones". Encontré el examen para ser bastante riguroso y eso él emparejado para arriba bastante bien con los de Microsoft Guía de preparación.

He estado trabajando con MOSS diariamente y no hay nada mejor experiencia práctica real para todos estos exámenes.

Que dicho, He tomado nota de lo que estaba estudiando como estudié. Creo que todos estos recursos son útiles, especialmente como un medio de reforzar ese práctica experiencia.

Asunto Enlace
Excel Services http://msdn2.microsoft.com/en-us/library/ms519581.aspx
Búsqueda Ninguna recomendación especial. Había tomado una clase en la búsqueda de principios de este año y la experiencia del mundo real me llevó a través de. Trabajar con el "centro de búsqueda" componente de MOSS.
BDC http://msdn2.microsoft.com/en-us/library/ms563661.aspx
Audiencias http://msdn2.microsoft.com/en-us/library/ms496822.aspx
Perfiles http://msdn2.microsoft.com/en-us/library/ms496822.aspx
Administración de contenido http://www.sharepointblogs.com/tonstegeman/archive/2007/02/01/moss-custom-policies-part-1-creating-a-custom-information-management-policy.aspx

http://blogs.msdn.com/ecm/archive/2007/03/04/customize-the-page-editing-toolbar-in-moss-2007.aspx

http://msdn2.microsoft.com/en-us/library/aa674506.aspx

BI Trabajo práctico con KPI en MOSS.
Flujo de trabajo http://msdn2.microsoft.com/en-us/library/aa830816.aspx
Info mgmt http://msdn2.microsoft.com/en-us/library/bb397403.aspx
Variaciones http://aspnetcoe.wordpress.com/2007/02/09/customize-variation-root-landing-logic/
Administración de registros http://blogs.msdn.com/recman/archive/2006/06/16/633393.aspx
InfoPath http://msdn.microsoft.com/msdnmag/issues/06/08/infopath2007/default.aspx

Muchos de esos enlaces llevaron a vínculos más y tendió a seguirlos hasta 3 niveles de profundidad.

Yo no diría que todo lo que he leído directamente aplicados para el examen, pero no me arrepiento de leer cualquiera de ella y aunque algunos bits no son directamente pertinentes. Es todas las cosas buenas para saber y recomiendo encarecidamente el material para todos los aspirantes a desarrolladores MOSS redondo.

Resultados de la búsqueda WSS/MOSS (y dataviews): ver los datos XML sin formato

Esto puede ser obvio para muchos, pero mientras que estudiar para mi examen de programación de MOSS, Aprendí que es muy fácil obtener el XML real de una consulta de búsqueda a través de la interfaz de usuario.

Un método rápido es la siguiente:

  • Acceso a búsqueda avanzada.
  • Realizar una búsqueda que devuelve algunos datos.
  • Editar la página (a través de la configuración del sitio).
  • Cambiar el XSL al siguiente:

<?XML Versión="1.0" codificación="UTF-8"?>
<
XSL:hoja de estilos Versión="1.0" xmlns:XSL="http://www.w3.org/1999/XSL/Transform">
<
XSL:salida método="XML" Versión="1.0" codificación="UTF-8" guión=""/>
<
XSL:plantilla partido="/">
<
pre>
<
XSL:copia de Seleccione="*"/>
</
pre>
</
XSL:plantilla>
</
XSL:hoja de estilos>

  • Golpe aplique.
  • Ver código fuente en el navegador.

Tenga en cuenta que el <pre> etiqueta no hace mucho excepto servir como un marcador conveniente cuando usted ve los resultados.

Este truco puede ser muy útil cuando se trabaja con propiedades administradas y personalizar la búsqueda. Proporcionará una lista definitiva de lo XML disponible para su uso en el xslt que habría sido muy útil el último 25 veces he creado algunos resultados de la búsqueda personalizada.

Esto debería funcionar para dataviews así como, Aunque no he probado esto todavía.

No CQWP para WSS? Intente esto…

Veo que Eric Kraus se enfrentó con un requisito que normalmente se reunió con un elemento web de consulta de contenido. El problema? Estaba en un puro ambiente de WSS no tienen acceso a la CQWP. En lugar de acurrucarse en posición fetal (un impulso que tengo que luchar cada día, parece), él subió con la solución que da al menos tiendas WSS una oportunidad de luchar para triunfar. Se describe aquí.

Vista detallada y brillante de la API de administración de contenido

Stefan Goßner ha reunido una fabulosa serie de 4 partes sobre el contenido de SharePoint y la API de implementación aquí. Ofrece una gran visión y muy buenos ejemplos en el código (C#).

Primero compré este enlace de joris poelmans blog en http://jopx.blogspot.com/.

Incluso si eres como yo, en eso no has tenido que hacer mucho trabajo práctico para la gestión de contenidos, Esto es bien vale la pena 20 minutos de su tiempo a leer.

Usando la API, uno puede:

  • Exportación e importación de contenido muy fácilmente.
  • Nuevo contenido para padres. Si desea exportar contenido desde un sitio "A" y enviarlo al sitio B"" Pero en un nuevo lugar en la jerarquía, Esto es posible.
  • Exportación de contenido de un sitio A e importar bits seleccionados en el sitio A.
  • Volver a vincular el contenido (lo que significa lidiar con todos los hipervínculos).

WSS, librerias de doc & listas, Columnas calculadas con [Me]

Alguien en los Internets estaba preguntando acerca de cómo crear una columna calculada en una lista que mostraría un valor con el formato"[Usuario] – [Estado] – [Ubicación]" como en "Paul Galvin – Beber [libre] Cerveza – La playa".

Paul entrar y actualizar su entrada en la lista y actualizaría la columna calculada apropiadamente. El [Usuario] debe predeterminado para el usuario entrando actualizando la lista.

Una columna calculada no puede utilizar "volátiles" funciones tales como [Me] o [Hoy en día]. Lo solucioné en un entorno de prueba con estos pasos:

  1. Crear una columna de texto llamada "Usuario actual".
  2. Establecer el valor predeterminado [Me]
  3. Crear una columna calculada que se llama "Prueba de Calc".
  4. Establecer su valor = [Usuario actual]

Me fui, agrega un elemento a la lista y funcionó.

Mi pasado 70-315 examen hoy!

Pasé el "desarrollo y aplicación de Web aplicaciones con Microsoft Visual C# .net y Microsoft Visual Studio .net" examen hoy en el gran estado de NJ en las oficinas de venerables de SolarTech en Hasbrouck Heights.

Puse allí con BizTalk en términos de dificultad para este examen. No puede fingir su camino a través de él.

Para el estudio, Usé el titulado el libro MCAD/MCSD Self Paced Training kit Desarrollo de aplicaciones Web con Microsoft Visual Basic .NET y Visual C# .NET.

Pautas de Microsoft (aquí) son exactamente correcta OMI. El libro trata todo y si tiene un mínimo o experiencia del mundo real, debe ser un examen directo. Si no se, tomar el tiempo alguna experiencia del mundo real o al menos ejecutar los laboratorios en el libro. Probablemente le dará lo que necesitas.

Incluso ir tan lejos como para recomendar el libro a pro, sobre todo autodidactas como yo. Cubre algunas cosas básicas que nunca tuve una razón para toparse con en mis viajes y estoy pateando yo un poco por no haber tomado el tiempo para aprenderlos.

SharePoint Designer, “Recopilar datos de usuario” y el uso de los resultados.

Utilice el "recopilar datos de usuario" acción para crear y asignar una tarea a un usuario solicita los datos. Entre otras cosas, Lo he utilizado para solicitar un usuario para aprobar o rechazar una solicitud y escribir algunos comentarios.

Esta acción toma la forma de:

Recopilar datos De este usuario (Salida a Variable: Collect1)

Haga clic en datos extrae una serie de cuadros de diálogo donde puede especificar los datos que el usuario debe proporcionar al completar la tarea y este usuario es obvio.

La parte de salida (Variable: Collect1) guarda el identificador de la tarea. Utilícelo en su flujo de trabajo para extraer la respuesta del usuario real mediante el "comparar a cualquier fuente de datos" condición.

Esta condición se muestra como

Si campo es igual a valor

Haga clic en campo y, a continuación, la f(x) icono y se levanta otro cuadro de diálogo. Utilice este cuadro de diálogo generalizado para SPD dos cosas;

1. ¿Qué es la lista y la columna cuyo valor desea comparar.

2. ¿Cómo debe el motor de flujo de trabajo busque la fila específica en la lista?

Para ello:

  1. Cambiar la fuente"" desplegable para que apunte a la lista de tareas correctamente. Tenga en cuenta que el cuadro de diálogo se expande para mostrar un "encontrar el elemento de la lista" sección.
  2. En la lista desplegable ámbito de búsqueda detalles, Seleccione el nombre del campo cuyo valor desea (Esto corresponde a lo que llama en el cuadro de diálogo recopilar datos desde arriba).
  3. En el "encontrar el elemento de la lista" sección, Seleccione "las tareas:ID." en la lista desplegable del campo.
  4. En el campo valor, Haga clic en el f(x). Esto abre otro cuadro de diálogo.
  5. Cambiar el origen de "datos de flujo de trabajo"
  6. Seleccione la variable de flujo de trabajo que corresponda a la "salida a Variable" de la acción de recopilar datos.
  7. Haga clic en OK/Aceptar y ya está.

Parece que esto para mí:

imagen

En este punto, Ahora puede utilizar ese valor en su flujo de trabajo según sea necesario.

Notas adicionales:

Como un breve aparte, Siempre crear una variable de flujo apropiadamente denominado de tipo "lista de ID de artículo" y en lugar de auto-generated "collect1".

Este "Comparar cualquier origen de datos" conjunto de diálogo se utiliza en varios lugares diferentes en el SPD y bien vale masterización.

== final

Etiquetas de Technorati:

IE intermitente se bloquea al acceso a documentos en una biblioteca de documentos WSS/MOSS

Yo he sido plagada de esto para 9 meses y veo que la gente en los foros de MSDN y Usenet tiene too.l

A veces, Cuando se accede a un documento de word (u otros tipos de doc) desde un documento biblioteca hace que Internet Explorer simplemente accidente y desaparece (tomando todas las fichas con el mismo si se abre cualquier son).

Este hotfix MS puede resolverlo: http://support.microsoft.com/kb/938888

También, hay algunos descripción acerca del problema aquí:

http://jopx.blogspot.com/2007/07/solving-internet-explorer-crash-when.html

Reenviará el paso real de XPath?

Visión general:

Crear una lista personalizada que administra un tipo de contenido con algunas docenas de columnas.

Agregado a una página y, a continuación, a través de SPD, convertida en una vista de datos.

Problema:

Mi expresión Xpath regresaba en blanco para una columna denominada "Posición actual". Hace referencia a lo:

    <borde de tabla = "1">
      <XSL:para cada uno = seleccione "/ dsQueryResponse/filas/fila" >
        <TR>
          <TD>
            Estado actual:
            <XSL:valor de select="@Current_x0020_Status"></XSL:valor de>
          </TD>
        </TR>
      </XSL>
    </mesa>

La columna en la CT se denomina "Estado actual". Demuestra para arriba en la búsqueda como "Estado actual". Mires donde que mires, ves "Estado actual".

Mientras Ñandy locamente alrededor, buscando una solución, Me he referido en su lugar "@Recruiter" y he aquí! — realmente volvió atrás el estado actual. Yo esperaba que volver detrás el reclutador cuando hice eso.

Solución:

Asomó en SPD. Vaya a esa página en SPD y muestra la vista de datos. Usted puede examinar el real datos proporcionados a la vista y asociados Xpath. Aquí descubrí que de hecho, señaló el Xpath "Reclutador". Curiosamente, el "real" campo de reclutador señalado de "Recruiter1".

A domicilio:

SPD proporciona autoridad expresiones Xpath para filas & columnas en una vista de datos.

Segundo, muestra los datos reales. Así por ejemplo, una columna de tipo muestra este:

<NOBR><abarcan><Un HREF="/sites/Corporate/HumanResources/TalentAcquisition/_layouts/userdisp.aspx?ID = 17»>Galvin, Paul</A><IMG border ="0" altura = "1" ancho = "3" src="/_layouts/images/Blank.gif"/><a href = "javascript:’ OnClick ='IMNImageOnClick();devolver false;’ clase = 'ms-imnlink'><nombre de IMG ='imnmark’ Título =” frontera =’0′ altura = 12’ ancho = 12’ src='/_layouts/images/Blank.gif’ Alt =' no hay información de presencia’ SIP='PGalvin@xxx.com’ ID ='imn_77, tipo = smtp'/></un></abarcan></NOBR>