TicketsCAD v4.0.1 - is now publicly available

47 views
Skip to first unread message

Eric Osterberg

unread,
Jul 21, 2026, 1:05:20 AM (7 days ago) Jul 21
to Open Source CAD
TicketsCADv4.0.1 · now available

The volunteer-responder dispatch system you know — rebuilt for speed, phones, and modern security, running on the same data you already have.

After a solid beta with real dispatchers, TicketsCAD v4 is now publicly available — a ground-up rewrite of TicketsCAD with the same mission and the same data, in a completely modern interface. Still free, still open source.

What changed

A new interface, on the database you already have

The decades-old framesets-and-jQuery screens are gone. In their place: a fast, keyboard-first dashboard built on Bootstrap 5, a live map, and draggable widgets. It runs on the same MariaDB schema, so you keep every incident, unit, and record — there's nothing to re-enter or migrate by hand.

What's new

  • Keyboard-first dispatching — the phone rings, you start typing, Tab through the form, submit. Built for speed.
  • Live map with your units, facilities, weather overlays, and map markups.
  • Facilities with bed & capacity tracking, a personnel roster with NIMS resource typing, and teams.
  • Security the old UI never had — role-based access control (65 permissions), two-factor authentication, and a full audit log.
  • Location tracking from many sources — APRS, Meshtastic, OwnTracks, Traccar, DMR, and browser GPS.
  • Radio & comms in the browser — Zello and DMR push-to-talk, internal messaging, chat, and live NWS weather alerts.
  • ICS forms, scheduling, reports, and an external API with webhooks for your own integrations.
  • Mobile-friendly and installable on a phone or tablet.

Why upgrade

  • It's faster, and it works on phones and tablets — not just a desktop.
  • Real security controls for multi-operator teams.
  • Actively developed and supported — your feedback shapes what ships next.
  • It's a free upgrade on top of the data you already have.

How to get it

Fastest: one command with Docker

Docker brings up the application and its database — no need to install PHP, Composer, or MariaDB yourself:

git clone https://github.com/openises/TicketsCAD.git ticketscad cd ticketscad && cp .env.example .env docker compose up -d --build

Then open the app, grab the admin password from the log, and sign in. The full walkthrough is in docs/DOCKER.md in the repository.

Already running TicketsCAD? v4 uses the same database schema, so you can point it at your existing database. Back up first, follow the install/upgrade guide — and just reply to this email if you'd like a hand.

Learn it

A full video training series

Forty-five short modules walk through everything — your first incident, dispatching units, the map, the radio integrations, roles & permissions, installing, and upgrading from legacy v3.44:

Watch the TicketsCAD NewUI v4 training playlist on YouTube

Links

Project & documentation Release notes (v4.0.1)

Requirements: PHP 8.2 and MariaDB 10.4+ / MySQL 8.0 — the Docker option bundles these for you. Licensed GPL-2.0.


A big thank-you to everyone who beta-tested and sent feedback — you made this release better. Give it a try, and reply here or open an issue on GitHub with anything you find.

If reporting an issue, please create a new email by composing your message to: open-so...@googlegroups.com, or create an issue at: https://github.com/openises/TicketsCAD/issues

Installation using Git is highly recommended. YouTube available for first timers who don't yet understand Git: https://www.youtube.com/results?search_query=ticketsCAD+GIT

Thanks,
Eric

TicketsCAD — Computer-Aided Dispatch for volunteer fire departments, ARES/RACES groups, CERT teams, small EMS agencies, and campus security.


Chris Byrd

unread,
Jul 23, 2026, 8:07:51 PM (4 days ago) Jul 23
to Open Source CAD
Eric,  Do you have a windows download for 4.01 ?

Thanks
Chris

Eric Osterberg

unread,
Jul 23, 2026, 8:44:07 PM (4 days ago) Jul 23
to open-so...@googlegroups.com
Installation instructions:

You might also consider running docker on your windows computer, then check out https://www.youtube.com/watch?v=Akaykf9HN9s

TicketsCAD is a web service that runs on a web server. You will need some experience running network services, ideally using other popular open source services. Apache, or Nginx... Running Database services like MySQL, MariaDB, PostgrSQL
The software is written for the programming language PHP. You will need a PHP interpreter to run the PHP code.

---
I can create another video to walk new folks through this. I'm also available for paid professional services. I'm sure there maybe other volunteers who can coach you through an install right here on this mailing list.

Here's a script for the new video. I'll try to have something available before the weekend is over.

# Install TicketsCAD on Windows — Complete Beginner's Guide

**Target length:** ~15:00
**Audience:** ZERO experience. Has never installed a web server, never used a
command prompt, does not know what a database is. Assume they are a volunteer
emergency-comms member who was told "check out TicketsCAD" and went looking for
a Windows download.
**Version filmed against:** v4.0.2
**Tone:** calm, unhurried, never condescending. Explain *why*, not just *what*.
Every scary moment (firewall prompt, black command window) gets named BEFORE it
appears so nobody panics.

## Production notes

- **Desktop steps → designed instructional cards** (Eric's call, 2026-07-23).
  Cards are clearly-labeled step visuals, NOT fake screenshots of real Windows
  apps. Never mock up the XAMPP wizard or Explorer to look "real".
- **Browser steps → real capture** against a fresh v4.0.2 install in a
  disposable environment. Frame so no internal hostnames/IPs appear; the URL a
  viewer should type is stated on a card.
- **Verified facts** (checked 2026-07-23 against the v4.0.2 release ZIP):
  - The ZIP ships **no `vendor/`** — Composer is NOT required. Every
    `vendor/autoload.php` require in the web app is `is_file()`-guarded.
    Without Composer you lose ONLY: Web Push notifications, and the Zello/DMR
    voice relays. Say this honestly; do not imply a full install.
  - `tools/install_fresh.php` + `tools/create_admin.php` are the two setup
    commands. `create_admin.php` prints a temp password ONCE.
  - On a wrong DB password the installer prints a long wall of failures and
    exits non-zero. Scene 9 pre-empts this explicitly — it is the single most
    likely beginner mistake.
- **Do NOT show** a real email address, a real temp password that stays valid,
  or any populated demo data belonging to a real deployment.

---

### S1 — Cold open: "there is no .exe, and that's OK" (0:00–1:10)

**ON SCREEN:** Title card, then a card contrasting `Desktop app = one .exe` vs
`TicketsCAD = a small web server on your PC`.

**SPOKEN:**
If you came looking for a TicketsCAD download for Windows and could not find
one, you did not miss it. There isn't one, and I want to explain why before we
start, because it makes everything after this make sense.

Most Windows programs are a single file you double-click. TicketsCAD is
different. It's a web application — the same kind of thing as your webmail or
your bank's website. It runs in a browser. So instead of installing a program,
we're going to run a very small web server on your own computer, and then put
TicketsCAD on it. Once that's done, you'll open Chrome or Edge, go to an
address, and there it is.

That sounds harder than it is. There are five steps, it's all free, and I'm
going to do every one of them with you. If you've never used a command prompt
or a database in your life, you are exactly who this video is for. Set aside
about thirty minutes.

---

### S2 — What we're installing, in plain English (1:10–2:20)

**ON SCREEN:** Card: two boxes — **XAMPP** (Apache = serves pages, MariaDB =
stores data, PHP = runs the code) and **TicketsCAD** (the application) sitting
on top.

**SPOKEN:**
We're installing two things.

The first is called XAMPP. Think of it as the engine. It's a free bundle that
includes three pieces: a web server called Apache, which hands pages to your
browser; a database called MariaDB, which is where all your incidents, units
and people get stored; and PHP, which is the language TicketsCAD is written in.
You don't need to understand any of those three. You just need them running.

The second thing is TicketsCAD itself, which is the part you actually use — the
dispatch screens, the map, the roster.

So: XAMPP is the engine, TicketsCAD is the vehicle built on it. We install the
engine first, then drop TicketsCAD in, then connect them together. That last
part — connecting them — is the only step where you'll type anything unusual,
and I'll spell out every character.

---

### S3 — Install XAMPP (2:20–4:20)

**ON SCREEN:** Card with the URL `apachefriends.org`; then a step card:
1 Download for Windows · 2 Run the installer · 3 Accept the default folder
`C:\xampp` · 4 Next → Next → Finish. Then a callout card for the two warnings.

**SPOKEN:**
Open your browser and go to apachefriends dot org. That's the official home of
XAMPP. Download the Windows version — it's the big obvious button. It's around
a hundred and fifty megabytes, so give it a minute.

When it finishes, run the installer. Two things may interrupt you, and both are
normal.

First, Windows may ask "Do you want to allow this app to make changes to your
device?" That's User Account Control. Click Yes. Second, if you have antivirus
running you might get a warning that an installer is starting. That's also
expected — XAMPP is a well-known, widely used package.

You may also see a note about something called User Account Control and the
Program Files folder. This is why we do NOT install into Program Files. When
the installer asks where to put it, accept the default, which is C-colon
backslash xampp. Please don't change that path. Everything else in this video
assumes it, and if you put it somewhere else, the commands later won't match.

For the component list, leave everything ticked. Click Next through the rest and
let it install. It takes a couple of minutes.

---

### S4 — Start Apache and MySQL, and prove it works (4:20–5:50)

**ON SCREEN:** Card of the XAMPP Control Panel row layout — Apache [Start],
MySQL [Start] — with "green highlight = running". Then REAL browser capture of
`http://localhost` showing the XAMPP welcome page.

**SPOKEN:**
When it finishes you get the XAMPP Control Panel. This little window is how you
turn the engine on and off, and you'll come back to it every time you want to
use TicketsCAD.

You'll see a list of modules. We only care about the top two: Apache and MySQL.
Click Start next to Apache. Then click Start next to MySQL. After a second or
two, each name gets highlighted in green and you'll see numbers appear in the
Port column. Green means running.

Now let's prove it. Open your browser and type localhost — just the word
localhost, no www, nothing else — and press Enter. You should get the XAMPP
welcome page. If you see that, congratulations: you are running a web server.

One common snag. If Apache refuses to start and the log mentions port 80, that
means something else on your PC has claimed it. The usual culprits are Skype,
or a program called IIS. The quickest fix is to quit that program and click
Start again. There's a link in the description for the port-80 fix if you hit
it.

---

### S5 — Download TicketsCAD and put it in the right folder (5:50–7:40)

**ON SCREEN:** REAL capture of the GitHub Releases page for v4.0.2, cursor on
**Source code (zip)**. Then a card: Extract → rename folder to `ticketscad` →
move into `C:\xampp\htdocs`.

**SPOKEN:**
Now for TicketsCAD itself. Go to github dot com slash openises slash TicketsCAD,
and click Releases on the right-hand side. Releases are the official, tested
versions.

Take the newest one at the top and, underneath it, click "Source code" — the zip
one. Don't be put off by the words "source code"; for this application that
download *is* the program. Save it.

Now open your Downloads folder and find the zip. Right-click it and choose
"Extract All", then Extract. You'll get a folder with a long name like
TicketsCAD dash 4 dot 0 dot 2.

Two small but important things. First, rename that folder to just
"ticketscad" — all one word, all lowercase, no version numbers. Second, move it
into C-colon backslash xampp backslash htdocs.

That htdocs folder is special: it's the one place Apache will serve pages from.
Anything you put in htdocs becomes reachable in your browser. So when we're
done, this folder becomes the address localhost slash ticketscad.

When you're finished you should have a path that reads exactly:
C, colon, backslash, xampp, backslash, htdocs, backslash, ticketscad — and
inside it you should see files like index dot php and README dot md.

---

### S6 — Create the database (7:40–9:10)

**ON SCREEN:** REAL capture of phpMyAdmin: Databases tab → type `ticketscad` →
collation `utf8mb4_unicode_ci` → Create → the new name appears in the left list.

**SPOKEN:**
Next we make the empty database — the filing cabinet TicketsCAD will put
everything into. Right now it doesn't exist, so we create it, and it starts out
completely empty. TicketsCAD will build all the drawers itself in the next step.

In your browser, go to localhost slash phpmyadmin. This tool came with XAMPP.
It looks busy, but we only need one screen.

Click the "Databases" tab at the top. You'll see a box that says "Create
database". Type the name: ticketscad — again, all lowercase, one word, exactly
matching the folder name so you don't confuse yourself later.

Next to it there's a dropdown for something called collation. Choose the one
called utf8mb4 underscore unicode underscore ci. That just controls how text and
accented characters are sorted. If you can't find it, leaving the default will
still work.

Click Create. The name appears in the list on the left, with nothing inside it.
That's exactly right. Empty is what we want.

---

### S7 — The settings file (9:10–11:00)

**ON SCREEN:** Card showing the copy/rename of `config.example.php` →
`config.php`; then a card showing the five lines to change, with the exact
final values highlighted.

**SPOKEN:**
Now we tell TicketsCAD how to reach that database. This is the one step where
you edit a file, and it's five short lines.

Open your ticketscad folder and find the file called config dot example dot php.
Copy it, paste it in the same folder, and rename the copy to just config dot
php. Keep the original — the example file is your backup if you ever need to
start over.

Right-click config dot php, choose "Open with", and pick Notepad.

Near the top you'll see a Database section. Here's what each line becomes.

Leave db host as localhost. Set db user to root — in quotes. Set db pass to
nothing at all: two single quotes with no space between them. That's because a
fresh XAMPP has no database password on your own machine. Set db name to
ticketscad, the database you just created. And a little further down, set
base url to http colon slash slash localhost slash ticketscad.

Three warnings, because these are what trip people up. Keep the single quotes
around every value. Keep the semicolon at the end of every line. And don't add
spaces inside the quotes.

Save the file and close Notepad.

A word on that empty password: it's fine here because this install is only
reachable from your own computer. If you ever put TicketsCAD on a real server
that other people can reach, you must set a proper database password and turn on
HTTPS. There's a link in the description covering that.

---

### S8 — Run the two setup commands (11:00–13:00)

**ON SCREEN:** Card naming the Command Prompt and reassuring about the black
window; then a card with the three lines to type, one per line, big and
readable. Then a card showing the shape of a successful result and, beside it,
the temp-password line with "COPY THIS NOW".

**SPOKEN:**
Last setup step. We need to run two commands. If a black window with white text
makes you nervous, that's normal — it's just a way of telling the computer to do
one specific thing, and I'll give you the exact text.

Click Start, type "cmd", and open Command Prompt.

Type this and press Enter: c d, space, then C colon backslash xampp backslash
htdocs backslash ticketscad. That moves you into the TicketsCAD folder — you'll
see the folder path change on the left.

Now the first command. Type C colon backslash xampp backslash php backslash
php dot e x e, then a space, then tools backslash install underscore fresh dot
php. Press Enter.

This is TicketsCAD building all its tables inside that empty database. Lines
will scroll past for anywhere from a few seconds to a minute. When it stops you
want a summary at the bottom that reports applied steps and no failures.

Now — this is the most common place to get stuck, so listen for it. If instead
you see a wall of red text repeating "DB connection failed", nothing is broken
and you haven't lost anything. It means the database details in config dot php
don't match. Go back, check that db name says ticketscad, db user says root, and
that db pass is two quotes with nothing between them. Save, and run the command
again. It's safe to run as many times as you need.

Second command, and this one gives you your login. Type the same php dot e x e
path, space, tools backslash create underscore admin dot php, space, dash dash
username equals admin, space, dash dash email equals, and then your own email
address.

It prints a username and a temporary password. Copy that password somewhere
safe right now — it is shown once and it cannot be recovered. If you lose it,
you can re-run this command with a different username.

---

### S9 — First login (13:00–14:20)

**ON SCREEN:** REAL capture: `http://localhost/ticketscad` → login page → sign
in → forced password change → dashboard.

**SPOKEN:**
That's the install done. Let's log in.

In your browser, go to localhost slash ticketscad. You'll land on the TicketsCAD
sign-in page.

Enter admin as the username and paste that temporary password. TicketsCAD will
immediately ask you to set a permanent password of your own — that's deliberate,
so a temporary password never stays in use. Choose a real one and save it.

And there's your dashboard. It's empty, and it should be — this is a brand new
system with no data in it. From here, the natural first moves are to add your
units under Units, add the kinds of calls you run under Settings and Incident
Types, and add your people under Roster.

If the page loads but looks like plain unstyled text with no colours or boxes,
that almost always means the folder didn't end up directly inside htdocs. Check
that path again.

---

### S10 — What you have, what's next (14:20–15:00)

**ON SCREEN:** Recap card: 5 steps done. Then a card of honest limitations, then
where-to-get-help card with the playlist and GitHub issues.

**SPOKEN:**
Quick recap of what you built: a web server, a database, TicketsCAD installed
into it, and an admin account.

Two honest limitations of this setup. First, it's reachable only from this
computer — that's a sensible way to learn it, and putting it on a network for
your team is a separate job with real security steps. Second, two optional
extras — phone push notifications, and the Zello and DMR radio features — need
one additional installation step that we deliberately skipped to keep today
simple. Everything else works.

Remember that Apache and MySQL need to be running for TicketsCAD to load. If you
restart your PC and the page won't open, open the XAMPP Control Panel and press
Start on those two. That catches almost everyone once.

If something didn't work, open an issue on the GitHub page — anyone with a free
GitHub account can, and a clear description of where you got stuck is genuinely
helpful. There's a full playlist of TicketsCAD videos linked below.

Thanks for watching, and welcome to TicketsCAD.



--
You received this message because you are subscribed to the Google Groups "Open Source CAD" group.
To unsubscribe from this group and stop receiving emails from it, send an email to open-source-c...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/open-source-cad/0481ca7d-77bf-431d-815a-e8585da7f2ben%40googlegroups.com.

Eric Osterberg

unread,
Jul 24, 2026, 3:27:07 PM (3 days ago) Jul 24
to open-so...@googlegroups.com
Here's another video for those with little to no experience managing a web service. This is for the person who might ask for a Windows installer.

Reply all
Reply to author
Forward
0 new messages