Inventário do repositório
Lista tudo o que há na Library:// com ENUMERATERESOURCES, separa por tipo (Feature Source, camada, mapa, layout, tile set) e registra a versão do servidor com GETSITEVERSION.
Octo para MapGuide Maestro e automação
O MapGuide Maestro está na 6.0m13 e já traz o que a automação pede: o MgTileSeeder para semear tiles por linha de comando em Windows e Linux, o Maestro API no NuGet para ler, validar e regravar recursos em lote, e um console IronPython dentro do aplicativo. O Octo inventaria o repositório, mapeia quem depende de quem, reponta camadas numa pasta de homologação e confere antes de qualquer troca. Produção, janela de carga e exclusão ficam com o administrador do servidor.
Seis entregas possíveis, tiradas do levantamento. Todas começam lendo, gravam só numa pasta de homologação e vão para revisão do administrador do servidor.
Lista tudo o que há na Library:// com ENUMERATERESOURCES, separa por tipo (Feature Source, camada, mapa, layout, tile set) e registra a versão do servidor com GETSITEVERSION.
Para cada Feature Source, quem a usa (ENUMERATERESOURCEREFERENCES): camadas, mapas e layouts. Mostra as órfãs, que só uma pessoa pode decidir apagar.
Reponta Layer Definitions de Feature Sources antigas para novas (SQL Server para PostGIS, servidor para servidor) a partir de um de-para aprovado, com diff por camada e cópia em homologação.
Entrega: camadas repontadas fora de produçãoRoda o MgTileSeeder por bairro ou distrito no tile set XYZ e o tile set clássico inteiro (no código atual o verbo mapguide aceita o recorte por área, mas não o aplica), com paralelismo baixo, janela noturna e repetição só dos tiles que falharam (mapguide_replay, xyz_replay).
Valida camadas e mapas em lote com os mesmos validadores do Maestro (ResourceValidatorSet) e devolve um CSV de erros e avisos, com código de saída para agendador ou CI.
Para quem já trabalha no aplicativo: scripts para o console IronPython que usam as conexões abertas e perguntam na tela antes de cada gravação.
Entrega: script curto, comentado, com confirmaçãoO mesmo ciclo do Octo, aplicado à manutenção de um servidor MapGuide. Cada braço tem um papel estreito; quem promove para produção, define a carga aceitável e apaga recursos são pessoas.
Versão do servidor, do Maestro e do MgTileSeeder em cada máquina, inventário da Library:// e quem depende de quem.
Esquema das Feature Sources antigas e novas e as colunas usadas em filtro, rótulo e tema de cada camada.
Usuário só de leitura para inventário, senha fora de código e de URL, o que o Anonymous enxerga e dado pessoal (LGPD) em camada pública.
mapagent com curl, Maestro API em .NET ou console IronPython; pasta de homologação; ordem da troca e da semeadura.
Shell, Python e C# com ensaio por padrão, log, gravação só em homologação e a fonte de cada sintaxe anotada no arquivo.
Validação em lote, diff por camada, imagem de antes e depois do mesmo mapa e contagem de tiles. Ausência de erro não é conferência.
Só com o seu ok, entrega a pasta de homologação e o relatório. A promoção para produção é feita pelo administrador.
De-para aprovado, versões, comandos usados, janelas combinadas e quem aprovou cada passo. O que vale num servidor não vale sozinho para outro.
O Octo trabalha com acesso de leitura e como apoio. Não grava em produção, não apaga recurso, não escolhe a janela de carga e não substitui o administrador do servidor nem o responsável técnico pelo conteúdo do mapa.
O critério que o Octo usa para escolher, com a documentação da versão instalada.
| Tarefa | Caminho | Observação |
|---|---|---|
| Saber o que há no repositório | ENUMERATERESOURCES com DEPTH=-1 | Nada é alterado |
| Quem depende de um recurso | ENUMERATERESOURCEREFERENCES ou EnumerateResourceReferences | Aplicação externa não aparece |
| Repontar camadas | XML <ResourceId> e <FeatureName>; ou ISubLayerDefinition.ResourceId | Primeiro numa pasta de homologação |
| Trocar a conexão de uma fonte | IFeatureSource.SetConnectionProperty | Credencial fora do XML quando der |
| Validar tudo | ResourceValidatorSet.Validate | Mesmos validadores do Maestro |
| Mover sem quebrar | MoveResourceWithReferences, CopyFolderWithReferences | Conferir com o inventário depois |
| Levar para outro servidor | Pacote .mgp pelo Maestro ou pelo Site Administrator | Pacote de centenas de MB: pelo servidor |
| Semear tiles | MgTileSeeder mapguide ou xyz | --failed-requests e *_replay |
| Mapa estático publicado | Maestro.MapPublisher.exe publish | Revisar dados e chaves que vão junto |
| Script com a tela aberta | Console IronPython, objeto app | Confirma na tela antes de gravar |
Três degraus. Cada um só faz sentido depois que o anterior mostrou resultado na sua equipe.
Proposta, não promessa
O Octo mostra o que há no repositório, quem depende de quem e o que a validação aponta, sem mexer em nada.
Camadas repontadas em homologação a partir de um de-para aprovado e semeadura por área com repetição das falhas.
A validação roda num agendador e avisa quando um recurso quebra; a semeadura segue a janela combinada.
Cada ponto abaixo tem fonte publicada pela OSGeo (página do projeto, listas oficiais, área de downloads), pelo repositório oficial ou pela Autodesk. Os exemplos são roteiros, não execuções. As fontes estão na seção seguinte.
4
pontos com fonte publicada, cada um com a referência indicada ao lado.
LGPL-2.1-only no NuGet e "2.1 ou posterior" no cabeçalho do código; o API mira .NET Standard 2.0 e está só em pré-lançamento.Fonte: repositório, NuGet e código-fonte do projetoO Octo prepara tudo, mas não assina. O documento que vale continua com quem responde por ele.
Levanta, calcula, organiza e gera os documentos: scripts, inventários, relatórios e mapas.
Entrega: material pronto para conferirO profissional habilitado confere o que o Octo entregou antes de assinar. Se algo não fecha, volta para o Octo com a correção.
Etapa: conferência por quem assinaO Octo não assina. Projeto, laudo, ART/RRT, prestação de contas e qualquer documento oficial continuam assinados pelo profissional habilitado da empresa ou do órgão: aqui, o responsável técnico pelo mapa ou pelo sistema.
Assinatura: responsável técnico pelo mapa ou sistemaRepositório, releases, guias e código do MapGuide Maestro, registro do NuGet e lista de discussão da OSGeo, consultados em 31/10/2026.
O diagnóstico começa por um inventário do repositório e um mapa de quem depende de quem, sem gravar nada. Você recebe a lista do que está quebrado, do que pode ser trocado em lote e das perguntas que só a sua equipe responde, e decide com ela na mão.