Más

Modificar campos en varias clases de entidad en varios espacios de trabajo

Modificar campos en varias clases de entidad en varios espacios de trabajo


Tengo 22 geodatabases, todas en una carpeta. Cada gdb tiene dos clases de entidades. Para cada clase de entidad, necesito cambiar el nombre de algunos de los campos. Tuve éxito con este código, pero solo funciona para cada GDB a la vez:

importar arcpy desde arcpy import env env.workspace = r'C: …  filename.GDB 'para fc en arcpy.ListFeatureClasses (' * '): intente: arcpy.AlterField_management (fc,' ADDR_SN ',' STREET_NAME ',' STREET_NAME ') excepto: pase

Como dije, ese código es solo para un GDB a la vez, por lo que tendría que cambiar el nombre en env.workspace cada vez. Eso no es gran cosa, solo quiero ver si es posible iterar a través de cada GDB en la carpeta. Así que intenté agregar en el código:

para el espacio de trabajo en arcpy.ListWorkspaces ('*', 'All'):

Cuando agrego el código anterior, también cambio env.workspace al nombre de la carpeta que contiene todas las geodatabases, pero no sucede nada. No se devuelve ningún error, no pasa nada.


Entonces, ESRI tiene versiones arcpy de algunas operaciones comunes del módulo del sistema operativo, especialmente cuando se trata de enumerar directorios. Yo no he usadoarcpy.ListWorkspaces ()antes, pero parece que debería funcionar para usted, y podría agregararcpy.ListWorkspaces ("*", "FileGDB")porque está buscando específicamente bases de datos geográficas de archivos. Por lo general, es una buena práctica utilizar funciones arcpy cuando se trata de datos ESRI, pero en algunos casos como este no es necesario.

EDITAR: Como @polygeo se menciona a continuación, lo mejor para usar esarcpy.da.walk ()si está utilizando ArcGIS 10.1+. Aquí hay más información. El resto de mi respuesta a continuación usa elos.walk ()función: viable, pero no la mejor.

La alternativa del módulo del sistema operativo sería usaros.walk. Esta es una función muy útil para todas partes, por lo que es bueno estar familiarizado con ella. Aquí está la documentación.

Para su uso, podría ser algo como esto:

import os import arcpy from arcpy import env topdir = r "ruta / a / carpeta / que contiene / todos / gdbs" para ruta, directorios, archivos en os.walk (topdir): # iterar a través de todos los directorios para d en dirs: # omitir directorios que no sean geodatabases si no es d.lower (). endswith (". gdb"): continue # ahora sabe que está viendo un directorio que es gdb env.workspace = os.path.join (path, d ) imprime env.workspace # solo para verificar dos veces fc en arcpy.ListFeatureClasses (): etc.

Nota: Una vez que está "en" una geodatabase de archivos, el módulo del sistema operativo no es útil, porque aunque la geodatabase puede (más o menos) tratarse como un directorio normal, los archivos individuales dentro de ella no son reconocibles como datos espaciales a menos que usted acceder a ellos con el módulo arcpy. Por ejemplo, si tiene una clase de entidad llamada "carreteras",os.path.isfile (r "c: geodatabase.gdb roads") == Falsoporque en realidad no existe ningún archivo llamado carreteras.


Ingrese la tabla o la clase de entidad que contiene el campo a modificar.

El nombre del campo que se va a modificar. Si el campo es un campo obligatorio (isRequired = true), solo se puede modificar el alias del campo.

El nuevo nombre del campo.

El nuevo alias de campo para el campo.

El nuevo tipo de campo para el campo. Solo es aplicable si la tabla de entrada está vacía (no contiene registros).

  • TEXTO: cualquier cadena de caracteres.
  • FLOAT: números fraccionarios entre -3.4E38 y 1.2E38.
  • DOBLE: números fraccionarios entre -2.2E308 y 1.8E308.
  • CORTO: números enteros entre -32,768 y 32,767.
  • LARGO: números enteros entre -2,147,483,648 y 2,147,483,647.
  • FECHA: fecha y / o hora.
  • BLOB: secuencia larga de números binarios. Necesita un cargador o visor personalizado o una aplicación de terceros para cargar elementos en un campo BLOB o ver el contenido de un campo BLOB.
  • RASTER: imágenes de trama. Todos los formatos de dataset ráster compatibles con el software ArcGIS se pueden almacenar, pero se recomienda encarecidamente que solo se utilicen imágenes pequeñas.
  • GUID: identificador único global.

La nueva longitud del campo. Esto establece el número máximo de caracteres permitidos para cada registro del campo. Esta opción solo es aplicable en campos de tipo TEXTO o BLOB. Solo aplicable si la mesa está vacía.

Determina si el campo puede contener valores nulos. Los valores nulos solo se admiten para campos en una geodatabase. Solo es aplicable si la tabla de entrada está vacía (no contiene registros).

  • NON_NULLABLE: el campo no permitirá valores nulos.
  • NULLABLE: el campo permitirá valores nulos. Este es el predeterminado.

Especifique si desea borrar el alias del campo de entrada. El parámetro de alias de campo debe estar vacío para borrar el alias del campo.

  • TRUE: el alias del campo se borrará (se establecerá en nulo).
  • FALSO: el alias del campo no se borrará. Este es el predeterminado.

Para resumir:

La respuesta (actualmente) aceptada es inexacta. La descripción correcta debe ser: super () NO SOLO es bueno para resolver herencia única, SINO TAMBIÉN herencia múltiple. Y la razón está bien explicada en el comentario de @blckknght:

Si bien llamar explícitamente a los métodos de la clase base puede funcionar para escenarios muy simples como el ejemplo del interrogador, se romperá si las clases base heredan de una base común y no desea que se llame dos veces al método de la clase base final. Esto se conoce como "herencia de diamantes" y es un gran problema para muchos sistemas de herencia múltiple (como en C ++). La herencia múltiple colaborativa de Python (con super ()) le permite resolverlo fácilmente en muchos casos (aunque eso no quiere decir que una jerarquía cooperativa de herencia múltiple sea fácil de diseñar o siempre sea una buena idea).

La forma correcta, como señaló @duncan, es usar super (), pero usarlo de manera consistente.

super está diseñado para esta situación, pero solo funciona si lo usa de manera constante. Si las clases base no usan también super, no funcionará, y a menos que el método esté en el objeto, debe usar algo como una clase base común para terminar la cadena de super llamadas.

Pero también vale la pena señalar que el método que llama al orden NO puede parecer intuitivo a primera vista. El resultado es:

Este orden aparentemente extraño El orden de llamada real sigue siendo C, A, B, que se basa en MRO. En otras palabras,

super () llamará al método foo en el "primero" "siguiente" superclase. Esto se basa en la Orden de resolución de métodos (__mro__) para la clase C.

- Citado y modificado de la respuesta de @ Manoj-Govindan

Como regla general, si desea volver a TODOS los métodos principales pero realmente no le importa el orden de invocación, use super () de manera consistente. De lo contrario, puede optar por llamar explícitamente a los métodos principales en un orden específico.

Sin embargo, no mezcle el uso de super () y llamadas explícitas. De lo contrario, terminará una duplicación desagradable como se menciona en esta respuesta.


Si entiendo la pregunta correctamente, le gustaría poder cambiar los espacios de trabajo de forma independiente para cada pantalla, de modo que, por ejemplo, la pantalla izquierda podría estar en el espacio de trabajo 1 y la pantalla derecha en el espacio de trabajo 3. Esto es compatible con algunos administradores de ventanas, la mayoría en particular XMonad, y personalmente lo encuentro extremadamente conveniente en una configuración de doble cabezal. Además, es perfectamente posible integrar XMonad con GNOME sin sacrificar la usabilidad.

En mi máquina doméstica, actualmente tengo una configuración mucho más simple, con el administrador de ventanas predeterminado. Me gusta tener un reproductor de música visible en una de las pantallas en todo momento, así que simplemente fijé el reproductor al lugar de trabajo visible para emular un "espacio de trabajo separado". Esto realmente no resuelve un problema, pero podría ser útil de todos modos.


¿Cómo utilizar los espacios de trabajo de hilo con mecanografiado y carpetas de salida?

Estoy intentando montar un monorepo con hilo. Estoy confundido en cuanto a cómo configurar mecanografiado con referencias de proyectos para que las cosas se resuelvan correctamente.

Por ejemplo, si tengo una estructura de carpetas como

Y quiero que cmd dependa del cliente que podría tener:

En este modelo, tanto cmd como el cliente se compilan con un campo outDir y sourceRoot establecidos en su tsconfig. Esto significa que todo su javascript compilado va a la subcarpeta dist / de cmd / dist y client / dist.

Si ahora intento hacer referencia a una clase del cliente en cmd como

El IDE está perfectamente feliz de resolver esto, ya que parece que está mapeado a través de la propiedad de referencias mecanografiadas.

Sin embargo, el javascript compilado se reduce a un

Sin embargo, el javascript construido real está en client / dist / src / foo, por lo que en tiempo de ejecución esto nunca funciona.

Por otro lado, si no uso sourceRoots y outDirs y tengo el javascript alineado con los archivos mecanografiados en la misma carpeta, todo funciona (pero ensucia el repositorio y requiere gitignores personalizados para excluir cosas)

¿Alguien puede arrojar algo de luz sobre cómo configurar correctamente un monorepo 3.x mecanografiado con espacios de trabajo de hilo para que las cosas simplemente funcionen?


15 Respuestas 15

No creo que sea necesariamente un cosa mala, pero creo que deberíamos esforzarse por tener solo afirmaciones individuales en nuestras pruebas. Esto significa que escribe muchas más pruebas y nuestras pruebas terminarían probando solo una cosa a la vez.

Habiendo dicho eso, diría que tal vez la mitad de mis pruebas en realidad solo tienen una afirmación. Creo que solo se convierte en un código (prueba?) olor cuando tenga alrededor de cinco o más afirmaciones en su prueba.

Las pruebas deben fallar solo por una razón, pero eso no siempre significa que solo deba haber una declaración Assert. En mi humilde opinión, es más importante mantener el patrón "Organizar, actuar, afirmar".

La clave es que solo tiene una acción, y luego inspecciona los resultados de esa acción usando afirma. Pero es & quot; Organizar, Actuar, Afirmar, Fin de prueba& quot. Si tiene la tentación de continuar con la prueba realizando otra acción y más afirmaciones después, conviértalo en una prueba por separado.

Me alegra ver varias declaraciones de aserción que forman parte de la prueba de la misma acción. p.ej.

podría combinarlos en una sola afirmación, pero eso es diferente a insistir en que debería o deber. No hay ninguna mejora al combinarlos.

p.ej. El primero podría ser

Pero esto no es mejor: el mensaje de error es menos específico y no tiene otras ventajas. Estoy seguro de que puede pensar en otros ejemplos en los que la combinación de dos o tres (o más) afirmaciones en una gran condición booleana hace que sea más difícil de leer, más difícil de alterar y más difícil de averiguar por qué falló. ¿Por qué hacer esto solo por una regla?

nótese bien: El código que estoy escribiendo aquí es C # con NUnit, pero los principios se mantendrán con otros lenguajes y marcos. La sintaxis también puede ser muy similar.

Nunca pensé que más de una afirmación fuera algo malo.

Aquí utilizo varias afirmaciones para asegurarme de que las condiciones complejas se puedan convertir en el predicado esperado.

Solo estoy probando una unidad (el método ToPredicate), pero estoy cubriendo todo lo que puedo pensar en la prueba.

Cuando utilizo pruebas unitarias para validar el comportamiento de alto nivel, pongo absolutamente múltiples afirmaciones en una sola prueba. Aquí hay una prueba que estoy usando para algún código de notificación de emergencia. El código que se ejecuta antes de la prueba pone al sistema en un estado en el que, si se ejecuta el procesador principal, se envía una alarma.

Representa las condiciones que deben existir en cada paso del proceso para que pueda estar seguro de que el código se comporta de la manera que espero. Si una sola afirmación falla, no me importa que las restantes ni siquiera se ejecuten porque el estado del sistema ya no es válido, esas afirmaciones posteriores no me dirían nada valioso. * Si assertAllUnitsAlerting () falló, entonces No sabría qué hacer con el éxito O el fracaso de assertAllNotificationSent () hasta que determinara qué estaba causando el error anterior y lo corrigiera.

(* - De acuerdo, posiblemente sean útiles para depurar el problema. Pero la información más importante, que la prueba falló, ya se ha recibido).

Otra razón por la que creo que múltiples afirmaciones en un método no es algo malo se describe en el siguiente código:

En mi prueba, simplemente quiero probar que service.process () devuelve el número correcto en instancias de clase interna.

Creo que hay muchos casos en los que escribir afirmaciones múltiples es válido dentro de la regla de que una prueba solo debe fallar por una razón.

Por ejemplo, imagine una función que analiza una cadena de fecha:

Si la prueba falla es por una razón, el análisis es incorrecto. Si argumentara que esta prueba puede fallar por tres razones diferentes, en mi humilde opinión, sería demasiado fino en su definición de "una razón".

No conozco ninguna situación en la que sea una buena idea tener varias afirmaciones dentro del método [Test] en sí. La principal razón por la que a las personas les gusta tener varias afirmaciones es que están tratando de tener una clase [TestFixture] para cada clase que se está probando. En su lugar, puede dividir sus pruebas en más clases [TestFixture]. Esto le permite ver varias formas en las que el código puede no haber reaccionado de la manera que esperaba, en lugar de solo en la que falló la primera afirmación. La forma en que logra esto es que tiene al menos un directorio por clase que se está probando con muchas clases [TestFixture] en su interior. Cada clase [TestFixture] recibiría el nombre del estado específico de un objeto que probará. El método [SetUp] llevará el objeto al estado descrito por el nombre de la clase. Luego, tiene varios métodos [Test], cada uno de los cuales afirma diferentes cosas que esperaría que fueran verdaderas, dado el estado actual del objeto. Cada método [Test] lleva el nombre de lo que está afirmando, excepto que tal vez se le asigne el nombre del concepto en lugar de solo una lectura en inglés del código. Entonces, cada implementación del método [Prueba] solo necesita una sola línea de código donde está afirmando algo. Otra ventaja de este enfoque es que hace que las pruebas sean muy legibles, ya que queda bastante claro lo que está probando y lo que espera con solo mirar los nombres de clases y métodos. Esto también escalará mejor a medida que comience a darse cuenta de todos los pequeños casos de borde que desea probar y a medida que encuentre errores.

Por lo general, esto significa que la última línea de código dentro del método [SetUp] debe almacenar un valor de propiedad o un valor de retorno en una variable de instancia privada de [TestFixture]. Luego, puede afirmar varias cosas diferentes sobre esta variable de instancia desde diferentes métodos [Prueba]. También puede hacer afirmaciones sobre las diferentes propiedades del objeto que se está probando ahora que se encuentra en el estado deseado.

A veces es necesario hacer afirmaciones a lo largo del camino a medida que obtiene el objeto bajo prueba en el estado deseado para asegurarse de que no se equivocó antes de poner el objeto en el estado deseado. En ese caso, esas afirmaciones adicionales deberían aparecer dentro del método [SetUp]. Si algo sale mal dentro del método [SetUp], quedará claro que algo andaba mal con la prueba antes de que el objeto llegara al estado deseado que pretendía probar.

Otro problema con el que puede encontrarse es que puede estar probando una excepción que esperaba que se lanzara. Esto puede tentarlo a no seguir el modelo anterior. Sin embargo, aún se puede lograr capturando la excepción dentro del método [SetUp] y almacenándola en una variable de instancia. Esto le permitirá afirmar diferentes cosas sobre la excepción, cada una en su propio método [Test]. Luego, también puede afirmar otras cosas sobre el objeto bajo prueba para asegurarse de que no hubo efectos secundarios no deseados de la excepción que se lanzó.


Steegle People para Google Workspace

Un cuadro de búsqueda en el que puede ingresar su término de búsqueda y buscar en múltiples campos de datos como nombre, departamento, puesto de trabajo o habilidades.

Realice búsquedas precisas en campos específicos que puede configurar para que se puedan buscar y autocompletar a partir de los datos de campo y la entrada del usuario.

Descubra la ubicación geográfica de sus empleados, contratistas, colegas & # 39 o compañeros de trabajo & # 39 en la oficina o base con un enlace a Google Maps.

Vea sus estructuras organizativas en la herramienta de organigramas de Steegle People tomada de las líneas de autoridad en su espacio de trabajo de Google.

Los nuevos empleados agregados a Google Workspace se agregan automáticamente a su organigrama o agregan marcadores de posición para puestos vacantes.

Las cadenas de informes y los empleados que salen actualizados en Google Workplace se actualizan automáticamente en Steegle People.

Localice a las personas buscando equipos de los que sean miembros o funciones adicionales que desempeñen.

Vea automáticamente cuándo celebrar los cumpleaños y el servicio prolongado de los empleados sin usar la herramienta de búsqueda para encontrar a nadie.

Conozca un poco mejor a sus empleados al ver sus propias fotos como imagen de fondo del encabezado de sus perfiles.

Elija una de las fotos de portada del día seleccionadas al azar para descubrir de quién es el perfil que usa esa imagen.

Cree un repositorio de archivos cargados por sus empleados para proporcionar currículums, CV u otros archivos descargables.

Permita que sus compañeros de trabajo tengan la opción de cargar un puñado de fotos personales para mostrar más cosas divertidas.

Establezca el esquema de color para que coincida con sus pautas de marca para mantener su apariencia corporativa.

Elija los campos que desea mostrar y buscar, agregue más información de directorio o redes sociales a los perfiles o solicite algo especial.

Thanet District Council, un organismo del gobierno local para el distrito de Thanet en Inglaterra, se acercó a Steegle para proporcionar Steegle People para Google Workspace para ayudar a encontrar los empleados adecuados durante el cambio masivo de trabajo desde casa debido a la crisis de COVID-19.

Steegle People para Google Workspace encajaba perfectamente con el consejo, ya que el personal podía multar a los miembros del equipo desde cualquier dispositivo o ubicación. Las personalizaciones ofrecidas por Steegle ayudaron al consejo a elegir Steegle People para Google Workspace por encima de otros productos de software de organigramas y directorios de personal de la competencia.

Muchas organizaciones necesitan encontrar a sus empleados de forma rápida y sencilla desde sus intranets y dispositivos móviles con un solo clic. Steegle People es un buscador de personas de Google Workspace que ofrece una interfaz amigable y fácil de usar para buscar y filtrar empleados, personal, compañeros de trabajo y colegas en función de la información que ya tiene en su directorio de usuarios de Google Workspace. Steegle People para Google Workspace proporciona organigramas automáticos construido a partir de las relaciones, jerarquías y estructuras organizativas definidas en Google Workspace. Steegle People integra su aplicación web de contactos de Google en su portal de experiencia del empleado para ayudar a encontrar dónde encaja cada persona en la organización y la relación de informes entre la estructura de gestión.

Si no desea utilizar la información de usuario de Google Workspace, Steegle People puede utilizar otra fuente como Hojas de cálculo de Google. Steegle People crea una forma más intuitiva de interactuar con sus contactos de Google para ayudar a colaborar entre equipos dispares mediante su organigrama listo para usar (similar a una estructura organizativa de Matrix). Esto ayuda a resolver los problemas comerciales y la planificación de la fuerza laboral causados ​​por no conocer la estructura de informes o por tener herramientas de terceros que no están sincronizadas y que no están de acuerdo con la realidad y brindan una comunicación visual incorrecta.

Steegle People para Google Workspace Directory utiliza el campo de relación con el administrador en Google Workspace para generar automáticamente un organigrama para sus colegas directos o una vista amplia de la organización completa si es necesario, con un solo clic. Esto significa que no necesita usar otra herramienta de organigrama para visualizar la estructura organizativa de su departamento y puede usar la información que su directorio de Google Workspace ya proporciona. Los equipos de Steegle ayudan a instalar nuestro widget de la aplicación de Google en su intranet y lo incluimos como parte del servicio, por lo que no es necesario un software de diagramación adicional como Microsoft Visio o tener que recurrir a Microsoft Powerpoint. Steegle People para Google Workspace puede importar fácilmente desde otros sistemas de organigramas como Pingboard e importar archivos de imagen de forma masiva a las fotos de usuario de Google Workspace.

A diferencia de otros complementos de directorio, Steegle People para Google Workspace se ejecuta dentro de su entorno de Google Workspace y busca directamente en el directorio de Google Workspace, por lo que no se comparte información fuera de Google Workspace y ninguna herramienta de terceros tiene acceso a sus datos de identificación personal. Esto significa que no necesita ningún otro acuerdo de procesamiento o intercambio de datos, ya que la información personal de su empleado no se comparte fuera de Google Workspace.


¿Cómo puedo almacenar varias versiones del mismo estado por ID con @ ngrx / store?

Estoy trabajando en una aplicación empresarial usando Angular 5 y @ ngrx / store en un espacio de trabajo Nx.

Uno de los requisitos de nuestra aplicación es admitir tener múltiples pestañas abiertas, es decir, desde nuestro menú lateral, un usuario puede seleccionar múltiples funciones o la misma función y abrirlas en pestañas separadas dentro de nuestra aplicación. Necesitamos poder separar el estado de estas pestañas, ya que el usuario puede abrir el mismo tipo de búsqueda en varias pestañas que deberían estar completamente separadas. Por ejemplo, pueden abrir una pestaña de Búsqueda de cuenta y buscar por ID de cuenta 123456, y otra pestaña de Búsqueda de cuenta donde buscan 234567. Obviamente, no queremos que el estado de una pestaña entre en conflicto con otra.

No estoy seguro de cuál sería el mejor enfoque para esto. Un estado de ejemplo para nuestra subfunción de búsqueda de cuenta sería algo como

Tiene un estado de característica de nivel superior por encima de él, como:

Una solución en la que puedo pensar sería almacenar el estado de la subfunción anterior en una ID de pestaña.

.. que requeriría un TabState separado que se puede usar en todos nuestros módulos de funciones, y que como mínimo contendría esto:

Entonces podríamos crear selectores que usarían ambos estados:

Cuando el usuario hace clic en una pestaña diferente, tendríamos que emitir un evento que cambiaría la ID de la pestaña seleccionada, que debería manejarse haciendo que el reductor de pestañas en cada característica busque la acción y actualice el estado de la característica para que es consciente de la pestaña actual. Esto significa que para todas nuestras características necesitaríamos tener este tipo de estructura, cuando realmente me gustaría abstraerlo de alguna manera. Simplemente no estoy seguro de cómo lograr esto. Me gustaría no tener que almacenar la identificación de la pestaña seleccionada en cada tienda de características también; en su lugar, estaría en el estado raíz, pero no estoy del todo seguro de cómo podría pasar ese valor al estado de la característica para devolver el datos.


Características de un sistema de gestión de contenido

Las características varían entre las diferentes ofertas de CMS, pero las funciones principales incluyen búsqueda y recuperación, indexación, control de revisión y publicación, y administración de formato. Las funciones de búsqueda y recuperación, y la indexación intuitiva indexan todos los datos para facilitar el acceso a través de las funciones de búsqueda y permiten a los usuarios buscar por atributos como palabras clave, fechas de publicación o autor.

Las funciones de gestión de formato convierten los documentos electrónicos heredados y los documentos en papel escaneados en documentos PDF o HTML. Las funciones de revisión permiten editar y actualizar el contenido después de la publicación inicial. La funcionalidad de publicación permite a los usuarios utilizar un conjunto de plantillas o una plantilla aprobada por la empresa, así como asistentes y varias otras herramientas para generar o modificar contenido.


Solicitud

Ejemplos de

Centro Federal de Denver, Denver, Colorado. Propietario: Administración de servicios generales de EE. UU. (GSA)

Foto 1. El nuevo espacio de entrada con luz natural en el edificio GSA en el Denver Federal Center crea no solo una impresión positiva, sino también un espacio social central donde los empleados se encuentran con frecuencia en su camino a diferentes áreas del edificio.

El proyecto del lugar de trabajo de Denver respondía inicialmente al programa "Lugar de trabajo de clase mundial para una fuerza de trabajo de clase mundial" de GSA para proporcionar mejores entornos de trabajo para los asociados y, en última instancia, atraer y retener a nuevos trabajadores. Sin embargo, a medida que se desarrollaba el proyecto, el equipo de GSA Public Buildings Service (PBS) se interesó más en utilizar el lugar de trabajo como catalizador del cambio social y el desarrollo de relaciones laborales con el objetivo final de mejorar la capacidad de respuesta a los clientes.

Objetivos clave
  • Mejorar las relaciones de trabajo internas, especialmente la comunicación y la colaboración entre grupos.
  • Reducir el estrés en el lugar de trabajo y aumentar la calidad de vida general de los asociados de GSA
  • Utilice el lugar de trabajo como una forma de demostrar que PBS es un líder intelectual, no un seguidor, en el diseño del lugar de trabajo.
Soluciones para el lugar de trabajo
  • Espacios abiertos en notas centrales para interacción espontánea.
  • Más espacios de encuentro de mayor variedad
  • Una cafetería céntrica para reuniones y almuerzos
  • Un nuevo espacio de entrada con luz natural
  • Un espacio para "desestresarse" con mesa de billar, ping pong, sala de ejercicios y muebles de salón (todo pagado por el personal a través de esfuerzos de recaudación de fondos)

Foto 2. El espacio para eliminar el estrés (conocido como "The Pit") apoya eventos sociales grupales, ejercicio y juegos en la piscina durante los descansos. El mobiliario y el equipo de "The Pit" fueron proporcionados mediante esfuerzos de recaudación de fondos por parte del personal.

Foto 3. El café con claraboya, ubicado junto a la entrada, se usa para reuniones informales y para almuerzos.

Resultados del Proyecto Denver

Actualmente se está llevando a cabo un programa de investigación para evaluar los cambios en las redes sociales y los comportamientos de comunicación, el estrés en el lugar de trabajo y la calidad del lugar de trabajo. Los hallazgos preliminares muestran que:

En comparación con otros lugares de trabajo de GSA, el nuevo lugar de trabajo de Denver obtuvo una puntuación más alta en una serie de resultados sociales según lo medido por una encuesta basada en la web administrada por el Centro para el Ambiente Construido de la Universidad de California.

Un análisis preliminar de redes sociales realizado por investigadores del Laboratorio Nacional del Noroeste del Pacífico muestra que las interacciones cara a cara son significativamente más altas que las comunicaciones virtuales entre asociados en el espacio. La encuesta de la red social se administrará nuevamente cuando se complete la fase final de la renovación del lugar de trabajo.

Actualmente se están realizando investigaciones sobre el estrés en el lugar de trabajo. Los médicos y psicólogos de los Institutos Nacionales de Salud están utilizando tecnologías innovadoras para controlar el estrés durante un período de 24 horas y también están utilizando muestras de comportamiento para recopilar datos periódicos sobre el estado de ánimo, la actividad y la ubicación.

Cisco Systems, prueba de concepto de lugar de trabajo conectado, San José, CA

Foto 4. El lugar de trabajo conectado permite a los empleados de Cisco trabajar solos o en pequeños grupos en estaciones de trabajo o en áreas de trabajo informales.
Copyright de Cisco Systems

Al igual que muchas otras organizaciones en la actualidad, Cisco llegó a la conclusión de que el entorno de su lugar de trabajo estaba en desacuerdo con la forma en que trabajaban. La gente rara vez estaba en sus escritorios. Los espacios para reuniones eran escasos. La comunicación era cada vez más variable: cara a cara, mensajería instantánea, video de escritorio, teléfono, correo electrónico. Y las horas de trabajo cambiaron drásticamente a medida que aumentaba la necesidad de trabajar a nivel mundial. Con estos cambios en mente, Cisco creó el "Lugar de trabajo conectado". Actualmente se encuentra en la fase de prueba de concepto con un nuevo espacio de oficina de demostración en su campus en San José.

Objetivos clave
  • Fomentar la colaboración
  • Reducir los costos inmobiliarios
  • Reducir los costos de infraestructura
  • Acomoda diferentes estilos de trabajo
Hipótesis del proyecto

Foto 5. Una mesa larga junto a la ventana sirve como lugar de trabajo tanto para un grupo pequeño como para las personas que trabajan en sus computadoras portátiles.
Copyright de Cisco Systems

Un espacio de trabajo flexible y colaborativo podría mejorar la productividad y aumentar la satisfacción de los empleados al tiempo que reduce el espacio y los costos inmobiliarios al aumentar la densidad de usuarios (de "Cisco Connected Workplace Enhances Work Experience and Cuts Costs", www.cisco.com).

Soluciones para el lugar de trabajo
  • Espacios de trabajo sin asignar
  • Mayor número y variedad de espacios para reuniones, desde salas de conferencias cerradas y áreas informales con sillas cómodas hasta una cafetería ubicada en el centro
  • Pequeñas estaciones de trabajo individuales
  • Mobiliario de gran movilidad y separadores de espacios
  • Taquillas para artículos personales
  • Mayor densidad: el espacio utilizado para el POC normalmente albergaría a 88 empleados en comparación con los 140 realmente asignados al lugar de trabajo
  • Alta visibilidad en todo el espacio.
  • Gran luz natural y vistas al paisaje exterior circundante.
Habilitando tecnologías

Foto 6. Un auricular Bluetooth inalámbrico, junto con el software desarrollado por Cisco, permite a los trabajadores usar sus computadoras portátiles para enviar y recibir llamadas telefónicas mientras trabajan en espacios ad hoc en el lugar de trabajo conectado.
Crédito de la foto: Cisco Systems

  • Infraestructura inalámbrica y LAN inalámbricas
  • Computadoras portátiles y estaciones de acoplamiento
  • Software de soporte de trabajo de Cisco para individuos y grupos
  • Tecnología de comunicaciones IP de Cisco, incluido el software que permite realizar llamadas a través de PC mediante auriculares con cable o inalámbricos
  • Software y herramientas de videoconferencia móvil para reuniones web
  • Pizarras interactivas
  • Mensajería instantánea, correo electrónico y correo de voz
  • Herramientas para permitir que los trabajadores se ubiquen rápidamente entre sí en diferentes áreas del edificio.
Resultados

Aunque la evaluación del proyecto aún está en curso, los resultados preliminares muestran:

  • Los empleados expresaron generalmente altos niveles de satisfacción con las tecnologías, la luz, la apertura y una mayor oportunidad de colaboración.
  • Aquellos que normalmente pasaban la mayor parte del tiempo en sus escritorios fueron más desafiados por la movilidad
  • Ahorro de costos del 37% al 60% en categorías como alquiler, construcción, muebles, cableado y servicios en el lugar de trabajo.

Ver el vídeo: Model Builder - Iterators Video One - Iterate through Features