Introduction To Macid

Macid is the HAppS storage mechanism that allows you to use whatever data structure you want to hold your permanent data, without worrying about getting it into and out of tabular form fit for storage in a traditional rdbms.

Before delving into how it works let's learn a bit about it from an operational perspective. Assuming you have the tutorial installed and running locally:

The data you entered is stored on your filesystem in a directory under your running executable, called _local.

~/happs-tutorial>ls _local/happs-tutorial_state/
current-0000000000 events-0000000000 events-0000000001 events-0000000002

You can grep for it too.

thartman@thartman-laptop:~/happs-tutorial>grep -ra testuser _local
_local/happs-tutorial_state/events-0000000000:ß\$6¡·¢:1525374391 696985193?AppStateSetBased.AddUsertestuser e1 ... (and lots more lines of binary data)

Hm... let's see, can we be sneaky and grep for the password?

Try it, you can't. Because the password is stored as an md5 hash, out of respect for the privacy of your users. See the newUserPage function in ControllerPostActions if you're curious. $!

Keeping application data in static files may seem like a weird thing to do if you have gotten used to keeping application data in a database. But it's not really that weird. !$

Keeping your macid data safe