Teste de fumaça do servidor
CREATESESSION, GETSITEVERSION, TESTCONNECTION em cada FeatureSource e um GETMAPIMAGE conferido pela assinatura PNG: o mapagent pode responder 200 com uma página de erro.
Octo para a API mapagent do MapGuide
Tudo o que o visualizador do MapGuide faz passa pelo mapagent: listar e gravar recursos, abrir o mapa, desenhar a imagem, entregar o tile, consultar feições. O Octo transforma isso em scripts com curl e Python, confere cada resposta pelo conteúdo e não pelo código 200, e ensaia toda mudança numa sessão antes do Library://. O que é público, o que vai para produção e quando o servidor muda ficam com o administrador e com o responsável técnico.
Seis entregas possíveis, tiradas do levantamento. Todas começam com uma conta de leitura, registram a versão de cada operação usada e vão para revisão do administrador do servidor.
CREATESESSION, GETSITEVERSION, TESTCONNECTION em cada FeatureSource e um GETMAPIMAGE conferido pela assinatura PNG: o mapagent pode responder 200 com uma página de erro.
ENUMERATERESOURCES em JSON limpo, XML de cada mapa e camada, dependências com ENUMERATERESOURCEREFERENCES, órfãos e camadas que apontam para fontes que não conectam.
As mesmas vistas e tiles (GETMAPIMAGE 3.0.0, GETTILEIMAGE 1.2.0) antes e depois de uma atualização, comparados por hash e por fração de pixels.
GEO.BUFFER, QUERYMAPFEATURES e GEO.SPATIALPREDICATE com critério escrito: a mesma lista de feições toda vez que a consulta roda.
Cópia de segurança do XML, SETRESOURCE numa sessão, desenho de prova lado a lado e, só com aprovação, gravação no Library:// conferida por hash.
O que o anônimo consegue ler, WMS e WFS ligados, limites de consulta vazios e as listas AnonymousDeny... do webconfig.ini da 4.0.
O mesmo ciclo do Octo, aplicado a um servidor MapGuide. Cada braço tem um papel estreito; quem decide o que é público, aprova a publicação e muda o servidor são pessoas.
Versão do site, operações e versões aceitas, recursos do Library://, fontes FDO, serviços WMS e WFS ligados e o endereço do mapagent.
Esquemas e classes por DESCRIBEFEATURESCHEMA, contexto espacial, CS de cada mapa e quais camadas carregam dado pessoal.
Conta de leitura para começar; senha por POST e fora do script; o que o anônimo lê; listas AnonymousDeny... e DisableAuthoring no webconfig.ini.
mapagent direto, mapguide-rest ou Web API; versão de cada operação; ensaio em Session: antes de qualquer gravação no Library://.
curl e Python com log, modo de ensaio por padrão, falha explícita quando a resposta não é o esperado e a fonte de cada sintaxe anotada.
PNG que é PNG, XML que valida, JSON com a contagem esperada, hash do publicado igual ao aprovado. Código 200 não é conferência.
A gravação no Library:// de produção acontece depois da aprovação, com cópia de segurança e caminho de volta prontos.
Operações e versões usadas, limiares aceitos, critério de cada consulta, quem aprovou cada publicação. O que vale num servidor não vale sozinho para outro.
O Octo trabalha com acesso de leitura e como apoio. Não decide o que é público, não publica em produção sem aprovação, não usa conta de administrador para rotina e não muda o servidor de ninguém sem ordem.
O critério que o Octo usa para escolher, com as versões lidas no código do ramo 4.0.
| Tarefa | Operação | Observação |
|---|---|---|
| Saber se o servidor está vivo | GETSITEVERSION, GETSITESTATUS | Conferir o XML, não só o código HTTP |
| Listar recursos em JSON | ENUMERATERESOURCES com FORMAT=application/json | CLEAN=1 só com VERSION=4.0.0 |
| Ler e gravar o XML de um recurso | GETRESOURCECONTENT, SETRESOURCE | Gravação por POST multipart; DisableAuthoring bloqueia |
| Quem depende deste recurso | ENUMERATERESOURCEREFERENCES | Antes de mover ou apagar |
| Testar uma fonte de dados | TESTCONNECTION | Detalhe dos provedores na área de fontes FDO |
| Ler feições como GeoJSON | SELECTFEATURES com CLEAN=1 | TRANSFORMTO e PRECISION na 4.0 |
| Abrir o mapa e saber camadas e escalas | CREATERUNTIMEMAP | 2.6.0, 3.0.0 ou 4.0.0; REQUESTEDFEATURES=7 pede tudo |
| Desenhar uma vista | GETMAPIMAGE | 1.0.0 ou 3.0.0; SETVIEWCENTERX/Y, SETVIEWSCALE |
| Pegar um tile | GETTILEIMAGE | 1.2.0 pede MAPDEFINITION e SCALEINDEX |
| Selecionar feições no mapa | QUERYMAPFEATURES | 1.0.0, 2.6.0 ou 4.0.0; teto em GlobalMaxMapFeatureQueryLimit |
| Buffer e predicados no servidor | GEO.BUFFER, GEO.SPATIALPREDICATE | Só 4.0.0; saída WKT ou GeoJSON |
| Transformar coordenadas | CS.TRANSFORMCOORDINATES | Só 4.0.0; pares "x y" separados por vírgula |
| Gravar feições | Web API ou mapguide-rest | O mapagent não expõe UpdateFeatures |
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 o servidor tem e o que ele expõe, sem gravar nada.
Coletas de referência, comparação a cada mudança e consultas espaciais com critério escrito.
Toda mudança de recurso passa por sessão, prova e aprovação antes do Library://.
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.
VERSION é 4.0.0 ou maior; os formulários de teste ainda vêm com 1.0.0.Fonte: HttpRequestResponseHandler.cpp, ramo 4.0 do SVNGETMAPIMAGE 1.0.0 e 3.0.0; CREATERUNTIMEMAP 2.6.0, 3.0.0 e 4.0.0; QUERYMAPFEATURES 1.0.0, 2.6.0 e 4.0.0; GETTILEIMAGE 1.0.0 e 1.2.0; GEO.* e CS.TRANSFORMCOORDINATES só 4.0.0.Fonte: código dos handlers HTTP, ramo 4.0webconfig.ini da 4.0 tem AnonymousDenyGetResourceContent, ...Data e ...Header; o espelho Git, parado em 2023, não tem.Fonte: webconfig.ini, ramo 4.0 do SVNO 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 sistemaCódigo-fonte oficial do ramo 4.0 (SVN da OSGeo, revisão 10236), listas do projeto e a extensão mapguide-rest, consultados em 31/10/2026.
O diagnóstico começa com uma conta de leitura: inventário do repositório, teste de fumaça e lista do que o servidor expõe, sem gravar nada. Você recebe o estado do servidor, as perguntas que só a sua equipe responde e o caminho para testar cada mudança, e decide com isso na mão.