Overview¶
What Wilderness Window is¶
The back-office and reservations platform for Wilderness, a safari camp operator and tour operator. One Mendix application covers the commercial lifecycle end to end:
lead capture -> quote -> availability hold -> booking confirmation -> itinerary and documents -> invoicing and receipts -> supplier payment -> operations handover -> travel -> guest history and feedback.
Around that core sit staff-facing admin, several external-facing portals (travel agents, suppliers/DMCs, finance, information centre), master data management for camps, rooms and rates, and roughly two dozen integrations with channel managers, reservation systems, a CRM and internal Wilderness systems.
Size¶
| Mendix version | 10.24.21 (split-MPR format v2) |
| Modules | 108 - 80 project modules, 28 Marketplace |
| Microflows | 9,912 |
| Nanoflows | 443 |
| Pages | 2,494 |
| Snippets / layouts / page templates / building blocks | 414 / 70 / 53 / 52 |
| Entities | 2,773 across 96 domain models |
| Enumerations | 513 |
| Java actions | 551 (872 .java files) |
| JavaScript actions | 71 |
| Document templates | 80 |
| Import / export mappings | 230 / 175 |
| Published REST / SOAP services | 15 / 4 |
| Scheduled events | 31 |
| Task queues | 5 |
| User roles | 66 |
| Custom web widgets | 71 .mpk |
| Developer notes on flow canvases | 1,898 |
| Working copy on disk | ~3.1 GB, ~4.4 GB including .git |
Full breakdown: inventory/module-inventory.md.
The 1,898 canvas annotations are worth calling out in a size table because they are the
only prose in the model. There are no code comments, no design docs in-repo, and the
model's own Documentation fields are largely empty. Where the reasoning behind a rule
survives at all, it usually survives as a sticky note —
reports/annotations.md.
History¶
- SVN Team Server history survives in
repository_log.xml, reaching back to 2021 (revision ~7,745). - Git repo starts 2025-03-29 with "Initial app upload", immediately followed by "Upgraded to the split MPR format (v2)". So git is a migration point, not the origin - archaeology before 2025-03 needs the SVN log or the old repo.
- 5,579 git commits, steady ~350/month through 2025-2026, still active (latest commit 2026-08-13, the revision this documentation describes).
Who works on it¶
| Commits | Author |
|---|---|
| 2,156 | Joe |
| 1,220 | Allistair Catto (1,204 + 16 as "Alistair Catto") |
| 953 | faizal |
| 840 | Ryan Albert |
| 297 | Ashley Thomas (189 + 108 as "Ashley") |
| 113 | Matt Evans (88 + 25 as "matte-wilderness") |
Counted at 83d87ba8e with git shortlog -sn. Four of the six commit under more than one
identity, so any per-author reporting on this repository needs the aliases merged first.
Small team, high commit rate, long-lived codebase - which is visible in the model (see 05-conventions-and-risks.md).
This is authorship, not the team. It counts who has committed to the model, which is
not the same as who works on the platform now, and says nothing about roles. The Mendix
platform holds the authoritative roster; a Personal Access Token with
mx:app:metadata:read would return it, and nothing here has asked.
Files in the Mendix repo root worth knowing¶
These are in the Mendix Team Server clone, not in this repository — by convention a
sibling folder, ../Wilderness-Window-Mendix/. This repo carries source/ (a copy of the
hand-written trees) and model/ (the plain-text extract); the binary model and the
dependency jars stay on Team Server. See README § Setup.
| Path | What it is |
|---|---|
WildernessWindow.mpr |
SQLite tree index of the model (not the model content) |
mprcontents/ |
17,297 binary .mxunit documents - the actual model |
javasource/ |
872 Java action implementations, 50 packages |
javascriptsource/ |
JS/nanoflow action sources, 14 modules |
widgets/ |
71 custom/Marketplace widget packages |
userlib/, vendorlib/ |
Java dependencies (POI, PDFBox, MSSQL pooling driver, HSApi...) |
theme/, themesource/, login.css |
Atlas theming and custom login styling |
resources/ |
Runtime resources shipped with the app |
doc.html |
242 KB one-off generated model documentation dump |
dead_code_recommendations.csv |
Header only, no rows - abandoned dead-code exercise |
Find results for ... 'Booking.Booking.WindowStatus' ....csv |
One-off Studio Pro search export |
repository_log.xml |
Pre-git SVN history |
pom.xml |
Maven descriptor for IDE Java editing; still targets Java 1.8 |