Resumen
El objeto Configuration proporciona acceso a los elementos de configuración de la base de datos de Workflow Manager (Classic).
Debate
El objeto Configuration proporciona acceso a los elementos de configuración de la base de datos de Workflow Manager (Classic).
Descripción general del método
Método | Explicación |
getActivityTypes () | Devuelve todos los tipos de actividad de la base de datos de Workflow Manager (Classic) como una lista de objetos ActivityType. |
getHoldTypes () | Devuelve todos los tipos de retención de la base de datos de Workflow Manager (Classic) como una lista de objetos HoldType. |
getJobTypeDescription ({job_type_id}, {job_type_name}) | Devuelve las propiedades del tipo de trabajo que se pueden personalizar antes de crear un trabajo, ya sea utilizando el Id. o el nombre del tipo de trabajo. |
getJobTypes () | Devuelve una lista de todos los tipos de trabajo de la base de datos de Workflow Manager (clásico), filtrada mediante filtros del trabajo aplicados. |
getMaps () | Devuelve una lista de los nombres de mapas de la base de datos de Workflow Manager (clásico). |
getNotificationTypes () | Devuelve una lista de todos los tipos de notificación de la base de datos de Workflow Manager (Classic). |
getPriorities () | Devuelve una lista de prioridades de la base de datos de Workflow Manager (clásico). |
getPrivileges ({username}) | Devuelve una lista de los privilegios asignados a un usuario. Si no se indica ningún argumento, se devuelven los privilegios del usuario actual. |
getStatusTypes () | Devuelve todos los tipos de estados de Workflow Manager (Classic) como una lista de objetos StatusType. |
getUserGroups ({username}) | Devuelve una lista del nombre de grupos de usuarios a los que pertenece el usuario en la base de datos de Workflow Manager (Classic). Si no se indica ningún argumento, se devuelven los grupos de usuario a los que pertenece el usuario actual. |
getUsers () | Devuelve una lista de nombres de usuario de todos los usuarios de la base de datos de Workflow Manager (clásico). |
retrieveMap (map_name, destination_location) | Recupera un mapa de la base de datos de Workflow Manager (clásico) en una carpeta especificada. |
storeMap (map_name, source_location, {storage_type}, {overwrite}) | Guarda un mapa en la base de datos de Workflow Manager (clásico). Solo .mxd se puede almacenar en la base de datos de Workflow Manager (clásico). |
Métodos
getActivityTypes ()
Valor de retorno
Tipo de datos | Explicación |
ActivityType | Una lista de tipos de actividad devuelta como una lista de objetos ActivityType. |
Los tipos de actividad son plantillas para la actividad registrada en el historial durante el ciclo de vida de un trabajo.
En el ejemplo siguiente se devuelven los tipos de actividad de la base de datos.
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# Get the activity types in Workflow database
activityTypes = conn.config.getActivityTypes()
getHoldTypes ()
Valor de retorno
Tipo de datos | Explicación |
HoldType | La lista de tipos de retención devuelta como una lista de objetos HoldType. |
Los tipos de retención son una plantilla para las retenciones utilizadas para suspender la actividad del trabajo durante una cantidad indefinida de tiempo.
En el ejemplo siguiente se devuelve una lista de los tipos de retención de la base de datos de Workflow Manager (Classic).
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# Get list of Hold types in Workflow database
holdTypes = conn.config.getHoldTypes()
getJobTypeDescription ({job_type_id}, {job_type_name})
Parámetro | Explicación | Tipo de datos |
job_type_id | El Id. del tipo de trabajo cuyas propiedades se van a devolver. | Integer |
job_type_name | El nombre del tipo de trabajo cuyas propiedades se van a devolver. | String |
Valor de retorno
Tipo de datos | Explicación |
JobTypeDescription | Las propiedades del tipo de trabajo que se pueden personalizar y asignar a un trabajo nuevo antes de crearlo, devueltas como el objeto JobTypeDescription. |
La descripción del tipo de trabajo se puede personalizar para definir las propiedades del trabajo antes de crearlo.
La siguiente secuencia de comandos obtiene la descripción del tipo de trabajo utilizando el Id. y el nombre del tipo de trabajo.
import arcpy
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# Get the Job Type description of type Data Edits
desc = conn.config.getJobTypeDescription(job_type_name="Data Edits")
# Get the Job Type description of type 5
desc2 = conn.config.getJobTypeDescription(job_type_id=5)
La secuencia de comandos siguiente obtiene la descripción del tipo de trabajo y actualiza dos valores de la tabla de propiedades extendidas antes de crear el trabajo.
# coding: utf-8
import arcpy
import arcpy_wmx
conn = arcpy_wmx.Connect()
# Get the job type description dictionary
MyDesc = conn.config.getJobTypeDescription(job_type_id = 401)
MyDesc
# Output of MyDesc {'auto_execute_on_create': False, 'start_date': datetime.datetime(2015, 5, 18, 12, 0), 'priority': 0, 'parent_job_name': None, 'extended_properties': {'WMXTest.DBO.extendedtest1_1': None, 'WMXTest.DBO.good_ext': None, 'WMXTest.DBO.extendedtest1': None}, 'job_type_name': 'Work Order', 'owned_by': 'will7692', 'prefix': None, 'aoi': None, 'version_name': None, 'due_date': datetime.datetime(2015, 2, 24, 12, 0), 'assigned_type': 'Unassigned', 'job_name': None, 'created_by': None, 'description': None, 'parent_version_name': None, 'parent_job_id': 0, 'suffix': None, 'assigned_to': None, 'data_workspace_id': None, 'auto_commit_workflow': True}
# Get the extended_properties dictionary
ext_prop = MyDesc['extended_properties']
ext_prop
# Output of ext_prop showing the extended property tables available as a dictionary{'WMXTest.DBO.extendedtest1_1': None, 'WMXTest.DBO.good_ext': None, 'WMXTest.DBO.extendedtest1': None}
# Defining variables of new values, for linked properties those are lists.
ext_prop_dict = {'prop_name_1' : 'prop_value_1', 'prop_name_2' : 'prop_value_2' }
linked_prop_list = [ext_prop_dict, ext_prop_dict]
# Setting them in ext_prop
ext_prop['WMXTest.DBO.extendedtest1_1'] = ext_prop_dict
ext_prop['WMXTest.DBO.good_ext'] = linked_prop_list
ext_prop
# {'WMXTest.DBO.extendedtest1_1': {'prop_name_2': 'prop_value_2', 'prop_name_1': 'prop_value_1'}, 'WMXTest.DBO.good_ext': [{'prop_name_2': 'prop_value_2', 'prop_name_1': 'prop_value_1'}, {'prop_name_2': 'prop_value_2', 'prop_name_1': 'prop_value_1'}], 'WMXTest.DBO.extendedtest1': None}
#Applying the ext_prop dictionary back the MyDesc dictionary
MyDesc['extended_properties'] = ext_prop
MyDesc
# New output of MyDesc {'auto_execute_on_create': False, 'start_date': datetime.datetime(2015, 5, 18, 12, 0), 'priority': 0, 'parent_job_name': None, 'extended_properties': {'WMXTest.DBO.extendedtest1_1': {'prop_name_2': 'prop_value_2', 'prop_name_1': 'prop_value_1'}, 'WMXTest.DBO.good_ext': [{'prop_name_2': 'prop_value_2', 'prop_name_1': 'prop_value_1'}, {'prop_name_2': 'prop_value_2', 'prop_name_1': 'prop_value_1'}], 'WMXTest.DBO.extendedtest1': None}, 'job_type_name': 'Work Order', 'owned_by': 'will7692', 'prefix': None, 'aoi': None, 'version_name': None, 'due_date': datetime.datetime(2015, 2, 24, 12, 0), 'assigned_type': 'Unassigned', 'job_name': None, 'created_by': None, 'description': None, 'parent_version_name': None, 'parent_job_id': 0, 'suffix': None, 'assigned_to': None, 'data_workspace_id': None, 'auto_commit_workflow': True}
# Create a job using the new job description
job = conn.createJob(job_type_description = MyDesc)
La secuencia de comandos siguiente obtiene la descripción del tipo de trabajo y actualiza dos valores de la tabla vinculada antes de crear el trabajo.
# coding: utf-8
import arcpy
import arcpy_wmx
conn = arcpy_wmx.Connect()
# Get the job type description dictionary
MyDesc = conn.config.getJobTypeDescription(job_type_id = 401)
MyDesc
# Output of MyDesc {'auto_execute_on_create': False, 'start_date': datetime.datetime(2015, 5, 18, 12, 0), 'priority': 0, 'parent_job_name': None, 'extended_properties': {'WMXTest.DBO.extendedtest1_1': None, 'WMXTest.DBO.good_ext': None, 'WMXTest.DBO.extendedtest1': None}, 'job_type_name': 'Work Order', 'owned_by': 'will7692', 'prefix': None, 'aoi': None, 'version_name': None, 'due_date': datetime.datetime(2015, 2, 24, 12, 0), 'assigned_type': 'Unassigned', 'job_name': None, 'created_by': None, 'description': None, 'parent_version_name': None, 'parent_job_id': 0, 'suffix': None, 'assigned_to': None, 'data_workspace_id': None, 'auto_commit_workflow': True}
# Get the extended_properties dictionary
ext_prop = MyDesc['extended_properties']
ext_prop
# Output of ext_prop showing the extended property tables available as a dictionary{'WMXTest.DBO.extendedtest1_1': None, 'WMXTest.DBO.good_ext': None, 'WMXTest.DBO.extendedtest1': None}
# Defining variables of new values, for linked properties those are lists.
ext_prop_dict = {'prop_name_1' : 'prop_value_1', 'prop_name_2' : 'prop_value_2' }
linked_prop_list = [ext_prop_dict, ext_prop_dict]
# Setting them in ext_prop
ext_prop['WMXTest.DBO.extendedtest1_1'] = ext_prop_dict
ext_prop['WMXTest.DBO.good_ext'] = linked_prop_list
ext_prop
# {'WMXTest.DBO.extendedtest1_1': {'prop_name_2': 'prop_value_2', 'prop_name_1': 'prop_value_1'}, 'WMXTest.DBO.good_ext': [{'prop_name_2': 'prop_value_2', 'prop_name_1': 'prop_value_1'}, {'prop_name_2': 'prop_value_2', 'prop_name_1': 'prop_value_1'}], 'WMXTest.DBO.extendedtest1': None}
# Applying the ext_prop dictionary back the MyDesc dictionary
MyDesc['extended_properties'] = ext_prop
MyDesc
# New output of MyDesc {'auto_execute_on_create': False, 'start_date': datetime.datetime(2015, 5, 18, 12, 0), 'priority': 0, 'parent_job_name': None, 'extended_properties': {'WMXTest.DBO.extendedtest1_1': {'prop_name_2': 'prop_value_2', 'prop_name_1': 'prop_value_1'}, 'WMXTest.DBO.good_ext': [{'prop_name_2': 'prop_value_2', 'prop_name_1': 'prop_value_1'}, {'prop_name_2': 'prop_value_2', 'prop_name_1': 'prop_value_1'}], 'WMXTest.DBO.extendedtest1': None}, 'job_type_name': 'Work Order', 'owned_by': 'will7692', 'prefix': None, 'aoi': None, 'version_name': None, 'due_date': datetime.datetime(2015, 2, 24, 12, 0), 'assigned_type': 'Unassigned', 'job_name': None, 'created_by': None, 'description': None, 'parent_version_name': None, 'parent_job_id': 0, 'suffix': None, 'assigned_to': None, 'data_workspace_id': None, 'auto_commit_workflow': True}
# Create a job using the new job description
job = conn.createJob(job_type_description = MyDesc)
getJobTypes ()
Valor de retorno
Tipo de datos | Explicación |
JobType | Devuelve los tipos de trabajo como una lista de objetos JobType. Los tipos de trabajo devueltos se filtran mediante filtros del trabajo aplicados en la base de datos de Workflow Manager (clásico). |
El tipo de trabajo en la base de datos de Workflow Manager (clásico) es una plantilla para los trabajos que se van a crear.
La secuencia de comandos siguiente obtiene y muestra una lista de todos los tipos de trabajo de la base de datos de Workflow Manager (clásico), filtrada mediante filtros del trabajo aplicados.
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# List all job type names in the Workflow Manager database filtered by applied job filters.
conn.config.getJobTypes()
getMaps ()
Valor de retorno
Tipo de datos | Explicación |
String | Una lista de los nombres de mapas de la base de datos de Workflow Manager (clásico). |
Los mapas de la base de datos de Workflow Manager (clásico) se utilizan como la plantilla para el mapa del trabajo y el mapa AOI del trabajo.
La secuencia de comandos siguiente muestra una lista de los nombres de mapas de la base de datos de Workflow Manager (clásico).
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# List name of all maps in the Workflow Manager database
conn.config.getMaps()
getNotificationTypes ()
Valor de retorno
Tipo de datos | Explicación |
String | Una lista de todos los nombres de tipos de notificación de la base de datos de Workflow Manager (Classic). |
Los tipos de notificación son las plantillas para las notificaciones de los trabajos que se envían durante el ciclo de vida de un trabajo.
En el ejemplo siguiente se devuelven los tipos de notificación de la base de datos de Workflow Manager (Classic).
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# Get the activity types in Workflow database
activityTypes = conn.config.getNotificationTypes()
getPriorities ()
Valor de retorno
Tipo de datos | Explicación |
Priority | La lista de prioridades de la base de datos de Workflow Manager (clásico). La tupla está formada por el Id., el nombre y la descripción de cada prioridad de la base de datos de Workflow Manager (clásico). |
La prioridad asigna un nivel de importancia al trabajo que se debe completar como parte del trabajo.
La secuencia de comandos siguiente indica el Id., el nombre y la descripción de cada prioridad de la base de datos de Workflow Manager (clásico).
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# List all priorities in the Workflow Manager database
conn.config.getPriorities()
getPrivileges ({username})
Parámetro | Explicación | Tipo de datos |
username | El nombre de usuario del usuario cuyos privilegios se van a devolver. (El valor predeterminado es currentuser) | String |
Valor de retorno
Tipo de datos | Explicación |
String | La lista de los privilegios asignados a un usuario. Si no se indica ningún argumento, se devuelven los privilegios del usuario actual. |
Los privilegios restringen o permiten la utilización de funciones de la aplicación a usuarios.
La secuencia de comandos siguiente devuelve una lista de los privilegios asignados al usuario de la ventana actual. Si el usuario tiene un privilegio de CreateJob, se crea un trabajo. La segunda parte de la secuencia de comandos devuelve una lista de los privilegios asignados a un determinado usuario.
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# List all privileges the current windows user has in the Workflow Manager database
user_privileges = conn.config.getPrivileges()
# If the user has CreateJob privilege, then create a job and print the name
createJob_privilege = 'CreateJob'
if createJob_privilege in user_privileges:
job = conn.createJob(job_type_name="Data Edits")
print("Job " + job.name + " created")
# Print alphabetically sorted list of privileges
print(sorted(privileges))
# List all privileges a specific user has in the Workflow Manager database
user_privileges = conn.config.getPrivileges('jrobinson')
getStatusTypes ()
Valor de retorno
Tipo de datos | Explicación |
StatusType | Una lista de tipos de estados devuelta como una lista de objetos StatusType. |
Los tipos de estados son plantillas empleadas para describir los estados por los que pasa un trabajo durante su ejecución.
En el ejemplo siguiente se devuelve una lista de los tipos de estados de la base de datos de Workflow Manager (Classic).
import arcpy
import arcpy.wmx
# Establish a connection to a Workflow database
conn = arcpy.wmx.Connect(r'c:\test\Workflow.jtc')
# Get the status types in Workflow database
statusTypes = conn.config.getStatusTypes()
getUserGroups ({username})
Parámetro | Explicación | Tipo de datos |
username | El nombre de usuario del usuario cuyos grupos de usuarios se van a devolver. (El valor predeterminado es currentuser) | String |
Valor de retorno
Tipo de datos | Explicación |
String | La lista del nombre de grupos de usuarios en la base de datos de Workflow Manager (Classic). |
Los grupos de usuarios se utilizan para organizar a los usuarios y asignarles privilegios.
La secuencia de comandos siguiente devuelve la lista del nombre de grupos de usuarios en la base de datos de Workflow Manager (Classic) para el usuario de la ventana actual y el usuario especificado.
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# List all user group names in the Workflow Manager database the current windows user belongs to
conn.config.getUserGroups()
# List all user group names in the Workflow Manager database the specified user belongs to
conn.config.getUserGroups(username='jrobinson')
getUsers ()
Valor de retorno
Tipo de datos | Explicación |
String | Una lista de nombres de usuario de todos los usuarios de la base de datos de Workflow Manager (clásico). |
Los usuarios se utilizan para asignar trabajos, registrar el historial en el trabajo y autorizar el acceso a la aplicación.
La secuencia de comandos siguiente muestra una lista de todos los usuarios de la base de datos.
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# List username for all the users in the Workflow Manager database
conn.config.getUsers()
retrieveMap (map_name, destination_location)
Parámetro | Explicación | Tipo de datos |
map_name | El nombre del mapa que se va a recuperar desde la base de datos de Workflow Manager (clásico). | String |
destination_location | La ubicación de la carpeta donde se guardará el mapa recuperado y el nombre que se va a utilizar. | String |
Los mapas se utilizan para proporcionar un mapa base para su edición y para orientar al usuario sobre el lugar donde se llevará a cabo la mayor parte del trabajo.
storeMap (map_name, source_location, {storage_type}, {overwrite})
Parámetro | Explicación | Tipo de datos |
map_name | El nombre utilizado para almacenar el mapa en la base de datos de Workflow Manager (clásico). | String |
source_location | La ubicación de la carpeta donde se encuentra el mapa, junto con el nombre del mapa. | String |
storage_type | El tipo de almacenamiento del mapa. Si no se indica ningún valor, el mapa se almacenará en la base de datos de Workflow Manager (clásico) de forma predeterminada.
(El valor predeterminado es embedded) | String |
overwrite | Sobrescribe el mapa si se encuentra en la base de datos de Workflow Manager (clásico). Si no se indica ningún valor, el mapa existente no se sobrescribe.
(El valor predeterminado es false) | String |
Los mapas se utilizan para proporcionar un mapa base para su edición y para orientar al usuario sobre el lugar donde se llevará a cabo la mayor parte del trabajo.
La secuencia de comandos siguiente guarda un mapa en la base de datos de Workflow Manager (clásico) y guarda la ubicación de otro como un mapa vinculado.
import arcpy
import arcpywmx
# Establish a connection to a Workflow database
conn = arcpywmx.Connect(r'c:\test\Workflow.jtc')
# Store an embedded map with name South California Roads and overwrite existing map
conn.config.storeMap(map_name="South California Roads", source_location="C:\Test\South California Roads.mxd", storage_type="embedded", overwrite="true")
# Store a linked map
conn.config.storeMap(map_name="Parcels", source_location="C:\Test\Parcel_data.mxd", storage_type="linked")