Pular para o conteúdo
Octo × API mapagent Pedir um diagnóstico

Octo para a API mapagent do MapGuide

O servidor de mapas responde por HTTP. Quem decide o que ele publica é você.

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.

Um terminal envia pedidos ao mapagent com OPERATION igual a CREATESESSION, ENUMERATERESOURCES e GETTILEIMAGE; o Octo, no centro, leva as respostas a uma grade de tiles de uma cidade fictícia, com um tile destacado, e a um selo que confere a resposta pela assinatura PNG em vez do código HTTP $ curl mapagent.fcgi \ OPERATION=CREATESESSION sessão ok $ ENUMERATERESOURCES VERSION=4.0.0 CLEAN=1 recursos e FeatureSources listados $ GETTILEIMAGE 1.2.0 10/10/3 T01 igual · T02 igual T04 MUDOU · para revisão GETMAPIMAGE 3.0.0 QUERYMAPFEATURES GEO.BUFFER 4.0.0 SETRESOURCE · sessão UM PONTO SÓ: /mapguide/mapagent/mapagent.fcgi TILES 256 PX · ESCALA 3 T04 PARA REVISÃO CONFERÊNCIA http 200 não basta 89 50 4E 47 é PNG sha256 = antes? compara DADOS FICTÍCIOS FORMAT=application/json CLEAN=1 OCTO × MAPAGENT MapGuide OS 4.0 M-02
MapGuide Open Source4.0anunciado em 12/10/2025 nas listas da OSGeo
Operações no ramo 4.0105constantes de OPERATION no código-fonte
JSON limpo4.0.0CLEAN=1 só vale com VERSION=4.0.0
Fontes14listadas no fim da página
01

O que o Octo faz com a API mapagent.

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.

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.

Entrega: relatório de vida do servidor, por recurso

Inventário do repositório

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.

Entrega: planilha de recursos e dependências

Regressão visual

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.

Entrega: lista do que mudou no mapa publicado

Consulta espacial reprodutível

GEO.BUFFER, QUERYMAPFEATURES e GEO.SPATIALPREDICATE com critério escrito: a mesma lista de feições toda vez que a consulta roda.

Entrega: tabela de feições + critério registrado

Publicação com ensaio

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.

Entrega: prova antes e depois + log da publicação

Mapa de exposição

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.

Entrega: lista de exposições para o administrador
02

Oito braços, uma resposta conferida.

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.

  1. Descoberta

    Levanta o que o servidor tem

    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.

  2. Dados

    Entende as fontes

    Esquemas e classes por DESCRIBEFEATURESCHEMA, contexto espacial, CS de cada mapa e quais camadas carregam dado pessoal.

  3. Segurança

    Cuida do acesso

    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.

  4. Arquitetura

    Escolhe o caminho

    mapagent direto, mapguide-rest ou Web API; versão de cada operação; ensaio em Session: antes de qualquer gravação no Library://.

  5. Desenvolvimento

    Escreve o cliente

    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.

  6. Revisão

    Confere pelo conteúdo

    PNG que é PNG, XML que valida, JSON com a contagem esperada, hash do publicado igual ao aprovado. Código 200 não é conferência.

  7. Publicação

    Grava só com o seu ok

    A gravação no Library:// de produção acontece depois da aprovação, com cópia de segurança e caminho de volta prontos.

  8. Documentação

    Registra o que vale no seu servidor

    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.

03

Cada tarefa, a sua operação.

O critério que o Octo usa para escolher, com as versões lidas no código do ramo 4.0.

TarefaOperaçãoObservação
Saber se o servidor está vivoGETSITEVERSION, GETSITESTATUSConferir o XML, não só o código HTTP
Listar recursos em JSONENUMERATERESOURCES com FORMAT=application/jsonCLEAN=1 só com VERSION=4.0.0
Ler e gravar o XML de um recursoGETRESOURCECONTENT, SETRESOURCEGravação por POST multipart; DisableAuthoring bloqueia
Quem depende deste recursoENUMERATERESOURCEREFERENCESAntes de mover ou apagar
Testar uma fonte de dadosTESTCONNECTIONDetalhe dos provedores na área de fontes FDO
Ler feições como GeoJSONSELECTFEATURES com CLEAN=1TRANSFORMTO e PRECISION na 4.0
Abrir o mapa e saber camadas e escalasCREATERUNTIMEMAP2.6.0, 3.0.0 ou 4.0.0; REQUESTEDFEATURES=7 pede tudo
Desenhar uma vistaGETMAPIMAGE1.0.0 ou 3.0.0; SETVIEWCENTERX/Y, SETVIEWSCALE
Pegar um tileGETTILEIMAGE1.2.0 pede MAPDEFINITION e SCALEINDEX
Selecionar feições no mapaQUERYMAPFEATURES1.0.0, 2.6.0 ou 4.0.0; teto em GlobalMaxMapFeatureQueryLimit
Buffer e predicados no servidorGEO.BUFFER, GEO.SPATIALPREDICATESó 4.0.0; saída WKT ou GeoJSON
Transformar coordenadasCS.TRANSFORMCOORDINATESSó 4.0.0; pares "x y" separados por vírgula
Gravar feiçõesWeb API ou mapguide-restO mapagent não expõe UpdateFeatures
04

Do pedido avulso à bateria de testes da casa.

Três degraus. Cada um só faz sentido depois que o anterior mostrou resultado na sua equipe.

Proposta, não promessa

1 Hoje

Leitura e inventário

O Octo mostra o que o servidor tem e o que ele expõe, sem gravar nada.

  • Inventário de recursos e fontes
  • Teste de fumaça com relatório
  • Lista de exposições para o administrador
Ganho: saber o estado do servidor antes de mexer
2 Próximo

Regressão e consultas repetíveis

Coletas de referência, comparação a cada mudança e consultas espaciais com critério escrito.

  • Vistas e tiles de referência por mapa
  • Relatório do que mudou depois de cada atualização
  • Consultas com a mesma regra toda vez
Ganho: a equipe revisa diferenças, não o mapa inteiro
3 Depois

Publicação com ensaio como padrão

Toda mudança de recurso passa por sessão, prova e aprovação antes do Library://.

  • Cópia de segurança automática
  • Prova antes e depois anexada à aprovação
  • Conferência por hash depois de publicar
Ganho: o público não vê o erro primeiro
05

Confirmado em fonte.

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.

ConfirmadoMapGuide Open Source 4.0
Anunciado por Jackie Ng em 12/10/2025 nas listas mapguide-users, mapguide-internals e mapguide-announce, com notas e downloads no Trac do projeto.Fonte: lista mapguide-users, outubro de 2025
ConfirmadoCLEAN só na versão 4.0.0
O parâmetro que pede JSON limpo só é lido quando 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 SVN
ConfirmadoVersões por operação
GETMAPIMAGE 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.0
ConfirmadoLeitura negada ao anônimo
O webconfig.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 SVN
06

O que o Octo faz e o que fica com vocês.

O Octo prepara tudo, mas não assina. O documento que vale continua com quem responde por ele.

O Octo prepara

Levanta, calcula, organiza e gera os documentos: scripts, inventários, relatórios e mapas.

Entrega: material pronto para conferir

A sua equipe confere

O 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 assina

Quem assina

O 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 sistema
07

Fontes.

Có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.

Seu servidor MapGuide testado pelo que ele responde.

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.