O Zoom Nightshift automatiza funcionalidades do Zoom utilizando arquivos de script JSON em combinação com o Programador de Tarefas do Windows (Task Scheduler).
Com o Nightshift, você pode automatizar as seguintes ações no BIMcollab Zoom:
- Abrir modelos / Adicionar ao projeto
- Conectar-se a um projeto
- Filtrar issues
- Atualizar issues
- Executar e compartilhar todas as Listas
- Sincronizar projeto
Nesse artigo explicaremos como criar um script para execução no Nightshift do Zoom.
Um script JSON pode ser escrito em qualquer editor JSON.
Você pode encontrar um script de exemplo anexado a esse artigo, para ajudá-lo a iniciar a tarefa.
O script começa com o título do script, e, opcionalmente, sua versão, seguidos por ações a serem realizadas no BIMcollab Zoom quando o script for executado.
{
"title": "Example_Script",
"version": "0.1",
"actions": [
As diferentes ações que podem ser adicionadas ao script, para que o Zoom as execute com o modo Nightshift, estão explicadas no restante deste artigo.
Abrir modelos / Adicionar ao projeto
A primeira ação que deve ser realizada pelo Nightshit é abrir [uma série de] modelos, sobre o qual o resto das ações pode ser executado. Para isso, existem dois comandos possíveis:
- OPEN_MODELS: adiciona e carrega um modelo no Navegador, e remove qualquer modelo previamente carregado
- ADD_TO_PROJECT: adiciona e carrega um modelo no Navegador sem que modelos previamente carregados sejam removidos
Nota: quando você se conecta a um projeto onde uma
Pasta de projeto está configurada, todos os modelos da pasta de projeto devem ser automaticamente carregados, independentemente de seu status de carregamento em seu projeto no Zoom. Não há ações extras necessárias para abrir esses modelos.
Caso você deseje adicionar modelos extras ao projeto que não estejam localizados na pasta de projeto, utilize o comando ADD_TO_PROJECT
Script
{
"type": "OPEN_MODELS",
"models": [
"C:/Users/userone/Desktop/1.ifc",
"C:/Users/userone/Desktop/2.ifc",
"C:/Users/userone/Desktop/3.bcp"
]
}
Explicação
Substitua "C:/Users/userone/Desktop/1.ifc", etc. pelo caminho em seu computador que leva à localização dos modelos que você deseja abrir, divididos por vírgulas.
Sempre use barras convencionais '/' na definição desses caminhos, e não contrabarras '\'.
Conecte-se a um projeto
Para atualizar Smart Issues e compartilhar Listas, você precisa estar conectado a seu projeto no BIMcollab Nexus.
O comando para isso é CONNECT_TO_PROJECT
Script
{
"type": "CONNECT_TO_PROJECT",
"project_name": "My BIMcollab project"
}
Explicação
- Substitua 'example.bimcollab.com' pela URL do espaço a que você deseja se conectar.
- Substitua "My BIMcollab project" pelo nome do projeto a que você deseja se conectar.
Preste atenção à escrita e capitalização, tanto da URL quanto do nome do projeto.
É importante que o projeto ao qual você queira se conectar seja parte da lista de Projetos Recentes no BIMcollab Zoom. Para isso, suas credenciais de login devem estar salvas no programa. Isso pode ser feito marcando a opção "Lembrar de mim" ao se conectar ao projeto.
Também se certifique que o formato do parâmetro 'space_name' seja exatamente igual ao formato utilizado ao se conectar manualmente no Zoom ao projeto.
Se você, por exemplo, escrever
https://example.bimcollab.com/ ou example.bimcollab.com, no script a URL deve ser exatamente igual.
Filtrar issues
Uma vez conectado ao projeto, todas as issues visíveis a seu usuário no projeto serão carregadas no Zoom.
No próximo passo, qualquer Smart Issue que seja parte dessa lista pode ser automaticamente atualizada. Para que somente parte das issues seja atualizada, primeiramente configure um filtro para as issues.
O comando é FILTER_ISSUES
Se esse comando for omitido do script, o último filtro utilizado será ativado.
Script
{
"type": "FILTER_ISSUES",
"filter_type": "Issue",
"area": "Model",
"milestone": "Design phase",
"label": "Architecture",
"priority": "Normal",
"show_active": true,
"show_resolved": true,
"show_closed": false,
"hide_invisible": false,
"show_to_approve": false,
"deadline": "01-01-2021",
"custom1": "Value 1",
"custom2": "Value 2"
}
Explicação
Algumas coisas para levar em consideração nessa parte do script são:
- Quando esse comando é adicionado ao script, o filtro de issues no Zoom é primeiramente reinicializado para o filtro padrão, e depois ajustado de acordo com os parâmetros configurados no script.
- O Nightshift adota parâmetros padrão sempre que possível, para que você tenha que configurar somente parâmetros que desviam do convencional. Todas as linhas dessa parte do script, exceto as linhas "type": "FILTER_ISSUES", (mandatory action definition), e "priority" podem ser omitidas do script. Se por exemplo o parâmetro "label" for omitido, o Nightshift assumirá que ele possui o valor padrão "ALL".
- Preste atenção à escrita dos valores inseridos. A escrita deve ser exatamente a mesma que está presente no projeto no BIMcollab Nexus.
Dica: abra a janela de filtrar issues no BIMcollab Zoom ao lado do editor JSON para evitar erros de digitação no script.
Todas as linhas nessa parte do script representam uma propriedade do filtro das issues:
- "filter_type"
Substitua "Issue" pelo tipo que você deseja filtrar. O valor padrão é "All" (ou o valor correspondente no idioma de seu projeto). - "area"
Substitua "Model" pela área que você deseja filtrar. O valor padrão é "All" (ou o valor correspondente no idioma de seu projeto). - "milestone"
Substitua "Design phase" pela fase que você quer filtrar. O valor padrão é "All" (ou o valor correspondente no idioma de seu projeto). - "label"
Substitua "Architecture" pela etiqueta que você deseja filtrar. O valor padrão é "All" (ou o valor correspondente no idioma de seu projeto). - "priority"
Substitua "Normal" pela prioridade que você deseja filtrar. O valor padrão é "All" (ou o valor correspondente no idioma de seu projeto). - "show_active"
Esta é uma caixa de seleção que determina se as issues ativas do projeto devem ser exibidas. Digite "true" se a caixa de seleção deve ser ativada ou "false" se deve ser desativada. O valor padrão é "true". - "show_resolved"
Esta é uma caixa de seleção que determina se as issues resolvidas do projeto devem ser exibidas. Digite "true" se a caixa de seleção deve ser ativada ou "false" se deve ser desativada. O valor padrão é "true". - "show_closed"
Esta é uma caixa de seleção que determina se as issues fechadas do projeto devem ser exibidas. Digite "true" se a caixa de seleção deve ser ativada ou "false" se deve ser desativada. O valor padrão é "false". - "hide_invisible"
Esta é uma caixa de seleção que determina se as issues que não são visíveis para todos os membros da equipe devem ser ocultadas. Digite "true" se o campo de seleção deve ser ativado ou "false" se deve ser desativado. O valor padrão é "false". - "show_to_approve"
Esta é uma caixa de seleção que determina se as issues que você ainda precisa aprovar devem ser exibidas. Digite "true" se o campo de seleção deve ser ativado ou "false" se deve ser desativado. O valor padrão é "false". - "assigned_to_user_email"
Substitua "example@bimcollab.com" pelo endereço de e-mail do usuário designado, não apenas seu nome. O valor padrão é "" (as issues atribuídas a todos os usuários serão mostradas). - "deadline"
Substitua "01-01-2021" pelo prazo no qual você quer aplicar o filtro. O valor padrão é "" (não se leva em conta o prazo). - "created_by_user_email"
Substitua "example@bimcollab.com" pelo endereço de e-mail do usuário designado, não apenas seu nome. O valor padrão é "" (as issues atribuídas a todos os usuários serão mostradas). - "custom1"
Substitua "Value 1" pelo valor do Custom List field 1 que você deseja filtrar. A linha do script deve sempre começar com "custom1", e não com o nome real do campo Custom. O valor padrão é "" (Todos os valores para este campo personalizado são mostrados). - "custom2"
Substitua "Value 2" pelo valor do Custom List field 2 que você deseja filtrar. A linha do script deve sempre começar com "custom1", e não com o nome real do campo Custom. O valor padrão é "" (Todos os valores para este campo personalizado são mostrados).
No caso de um dos comandos estar incorreto, o script irá parar e não será executado além do ponto onde o erro foi detectado.
Atualizar issues
Todas as Smart Issues visíveis na aba de Issues no BIMcollab Zoom podem ser atualizadas automaticamente, de acordo com o status dos clashes nos modelos carregados.
O comando é UPDATE_ISSUES.
{
"type": "UPDATE_ISSUES",
"close_where_clashes_solved": true,
"reopen_previously_closed_issues": false,
"comment": "Updated with Nightshift"
}
Explicação
Cada linha dessa parte do script representa uma das opções da janela 'Atualizar issues'. Note que 'Somente issues selecionadas' não é uma opção, já que issues não podem ser selecionadas separadamente ao executar o script. A ação será executada sobre todas as issues visíveis na aba de issues. Portanto, aplique filtros, se necessário, para selecionar as issues que deseja atualizar.
- "close_where_clashes_solved"
Essa é uma opção que determina se issues em que todos os clashes estão resolvidos podem ser automaticamente fechados ao atualizá-los. Insira 'true' caso a opção deva ser habilitada, ou 'false' caso deva ser desabilitada. - "reopen_previously_closed_issues"
Essa é uma opção que determina se issues que voltam a conter clashes podem ser reabertas ao atualizá-las. Insira 'true' caso a opção deva ser habilitada, ou 'false' caso deva ser desabilitada. - "comment"
Substitua "Updated with Nightshift" por qualquer texto que você deseje adicionar como comentário às issues atualizadas.
Se uma das três opções não constar no script, um valor padrão será atribuído, como na imagem abaixo.
Executar e compartilhar Listas
Todas as Listas localizadas na pasta 'Compartilhadas' na aba de Listas podem ser executadas e compartilhadas ao mesmo tempo, para que a informação mais recente fique disponível para todos os membros de equipe no BIMcollab Nexus.
O comando para esta ação é RUN_AND_SHARE_LISTS.
Script
{
"type": "RUN_AND_SHARE_LISTS",
"list_set-name" : "List set 3"
}
Explicação
O parâmetro "list_set_name" é opcional. Se você desejar executar um grupo de listas específico, substitua "List set 3" pelo nome da lista que você deseja executar. Se o parâmetro não estiver presente, todas as Listas da pasta compartilhada serão executas e compartilhadas.
Sincronizar projeto
Uma vez que as issues estão atualizadas e Listas estão executadas e compartilhadas, é sempre importante sincronizar o projeto com o espaço BIMcollab Nexus, para que as modificações sejam salvas e visíveis para o restante da equipe.
Sempre inclua esse comando no final do script.
O comando é SYNCHRONIZE_PROJECT.
Script
{
"type": "SYNCHRONIZE_PROJECT"
}
Acompanhe o status da tarefa
Uma vez que a tarefa (script completo) tenha sido executada, você pode checar se todas as ações foram efetuadas corretamente em um arquivo de log do Nightshift. O arquivo fornece feedback sobre o status de execução de todas as etapas do script, e gera códigos de erro caso algo falhe.
Todos os logfiles podem ser encontrados no local C:\Users\\AppData\Roaming\KUBUS\BIMcollab Zoom\Nightshift.
Substitua por seu nome de perfil de usuário do Windows.
A pasta AppData é por padrão uma pasta oculta. Para exibir pastas ocultas no Explorador, selecione Exibir > Mostrar > Itens ocultos.