Viewer inventory
Lists every WebLayout (AJAX) and ApplicationDefinition (Fusion) in Library:// through mapagent, with the linked map, the template and the InvokeURL and InvokeScript commands that depend on in-house code.
Octo for MapGuide web applications
MapGuide Open Source 4.0 shipped on Oct 12, 2025 with PHP 8, NuGet packages and a single jar for Java, and it still includes the AJAX and Fusion viewers. Octo inventories the published layouts, puts mapguide-react-layout next to the old ones, builds OpenLayers clients on mapagent and checks web-tier security by the content of the responses. Publishing, access profiles and retiring the old viewer stay with the administrator and the technical lead.
Six possible deliverables, drawn from the assessment. All of them start in staging, with the version of the server and of each viewer recorded, and all go to review by whoever is accountable for the server.
Lists every WebLayout (AJAX) and ApplicationDefinition (Fusion) in Library:// through mapagent, with the linked map, the template and the InvokeURL and InvokeScript commands that depend on in-house code.
Installs a pinned version of mapguide-react-layout in its own folder, which reads the same WebLayout and ApplicationDefinition, and tests each layout by the content of the response.
Deliverable: new viewer in staging + reportMoves Web API tasks written for PHP 5.x to the PHP 8 in 4.0, Java code to the single MapGuideJavaApi.jar and .NET to the OSGeo.MapGuide.* NuGet packages.
A map inside your own portal: CREATERUNTIMEMAP, dynamic layer with ImageMapGuide, XYZ tile set basemap via GETTILEIMAGE and selection via QUERYMAPFEATURES.
Reads webconfig.ini (authoring, AnonymousDeny* lists, default WMS and WFS passwords, query limits) and tests, as Anonymous, whether the data source XML comes back.
Your application authenticates the user and creates the MapGuide session on the server side; the browser receives only the SESSION, and each profile sees only its own layers.
The same Octo cycle, applied to the MapGuide web tier. Each arm has a narrow role; the people decide what goes public, who sees each layer and when the old viewer goes offline.
Server, PHP, Java and NuGet package versions, installed viewers and every published WebLayout and ApplicationDefinition.
Map, layers and sources for each layout, and which ones hold personal data (registry, health, social services).
webconfig.ini, Anonymous, default users, HTTPS and panel tasks. Personal data stays in the client's environment and is assessed (LGPD) before it goes to any external service.
AJAX, Fusion, mapguide-react-layout or a custom client; XYZ tiles or dynamic image; session created by your own server.
Inventory and test scripts, task ports to PHP 8, an OpenLayers module, with the source of every syntax noted in the file.
Page loaded, RuntimeMap returned, correct selection, test with the least-privileged profile. A 200 status is not a check.
Only with your OK, it puts the new viewer in a new folder. A person switches the public link.
Version of each viewer, package SHA-256, ported tasks, accepted alerts and who accepted them.
Octo works in staging and in a support role. It does not decide what is public, define access profiles, change the production server or retire a viewer without sign-off.
The criteria Octo uses to choose, with the documentation for the installed version.
| Task | Path | Note |
|---|---|---|
| List published layouts | ENUMERATERESOURCES with TYPE=WebLayout and ApplicationDefinition | Read-only |
| Read a viewer's configuration | GETRESOURCECONTENT | Resource XML |
| Modern viewer | mapguide-react-layout viewer.zip, ?resource= | Reads WebLayout and ApplicationDefinition; MIT |
| Session map for a custom client | CREATERUNTIMEMAP with REQUESTEDFEATURES | Bitmask: 1 layers, 2 icons, 4 sources |
| Dynamic layer | ol/source/ImageMapGuide | useOverlay, BEHAVIOR, ratio |
| Fast basemap | GETTILEIMAGE with an XYZ tile set in Leaflet or OpenLayers | {x} goes into TILEROW, on purpose |
| Select and read attributes | QUERYMAPFEATURES with WKT | PERSIST=1 saves to the session map |
| Panel task | Web API in PHP 8, Java or .NET | Receives SESSION and MAPNAME |
| .NET application | NuGet OSGeo.MapGuide.* 4.0 | Experimental Linux in RC1 |
| Check security | webconfig.ini + GETRESOURCECONTENT as Anonymous | Content check |
Three steps. Each one only makes sense after the previous one has shown results on your team.
A proposal, not a promise
Octo shows what is published and what the web tier leaves open, without touching anything.
webconfig.ini alertsmapguide-react-layout next to the old viewers, ported tasks and a smoke test per layout.
Custom OpenLayers client on top of mapagent, with the session created by your own server and layers by profile.
Every point below has a source published by OSGeo (project page, official mailing lists, downloads area), by the official repository or by Autodesk. The examples are scripts, not executions. The sources are in the next section.
4
points with a published source, each with its reference shown alongside.
MapGuideJavaApi.jar.Source: 4.0 Preview 4 announcement (Nov 2022)webconfig.ini: DisableAuthoring = 0, empty AnonymousDeny* lists, WmsPassword = wms, WfsPassword = wfs and empty global query limits.Source: MapGuide SVN, 4.0 branchOcto prepares everything, but it does not sign. The document of record stays with whoever is accountable for it.
Gathers, calculates, organizes and generates the documents: scripts, inventories, reports and maps.
Deliverable: material ready to checkThe licensed professional checks what Octo delivered before signing. If something doesn't add up, it goes back to Octo with the correction.
Step: review by the signerOcto does not sign. Designs, technical reports, ART/RRT, accountability reports and any official document are still signed by the licensed professional of the company or agency: here, the technical lead for the map or system.
Signature: technical lead for the map or systemOSGeo pages, mailing list, SVN and blog of the MapGuide maintainer, the mapguide-react-layout repository and the npm and NuGet registries, consulted on Oct 31, 2026.
The assessment starts with an inventory of the published viewers and a check of the web tier, without touching anything. You get the list of what to swap, the security alerts and the questions only your team can answer, and you decide with it in hand.