Frequently Asked Questions

How to report bugs?
You can send us an e-mail, or submit your issues to our bugtracker.
Can I donate?
Donations are most welcome, please see our donations page.
Will there be...?
The answer is likely yes, but keep in mind that this is a hobby project without any budget, so things tend to go slowly. You can check the bugtracker for issues marked "TODO", those are planned features. You can also try to add a feature yourself, see below...
Is datatable.directory open source?
Yes. The upstream code is hosted at git.ondrovo.com/MightyPork/datatable.directory, where you can register and submit issues, comments, and pull requests.
How can I contribute?
If you'd like to help with development, please head over to our git repository. We welcome any improvements, ideas, or bug reports.
I deleted my table, can I restore it?
Tables can't be restored, but there is a chance that your table data could be, if you reach the admin quickly. If anyone made a fork of your table, you can also simply fork it back.
I want to report something illegal / bad
For now, please send us a feedback e-mail. A built-in reports system will be added later.
What technologies are used?

The server is written in PHP using the Laravel framework. The data is stored in a PostgreSQL database. The front-end is based on Bootstrap 4, including jQuery Slim, lodash, the axios HTTP library, and the reactive JavaScript framework Vue. We use Webpack to compile and minify JavaScript and SCSS. Most icons come from Fork Awesome, using our Fork Awesome customizer to exclude unused icons.

How does it work?

It's complicated, and a great deal of thought went into the database design.

A key thing to know is that table rows and revisions are immutable, and work in a way a bit similar to Git, except we don't actually use Git, it's all in the database. Rows and columns have unique IDs that ensure a change proposal (merge request) can be applied to any fork of a table, and in any revision. A row change results in a new copy of the row being created, but maintaining the original row ID. Columns are, likewise, identified by their IDs; names are defined only in the revision object (a "header" of a table version), so changing a column name or order does not alter the row data in any way.