antz icon indicating copy to clipboard operation
antz copied to clipboard

Database Access

Open saxondigital opened this issue 9 years ago • 2 comments

Shane Saxon 2012-03-16

*ANTz-Data-Structure(ADS) conceptual overview, currently in development.

ANTz provides native support for MySQL with methods designed to be easily customized for other 3rd party (relational) DB systems. The internal data structure of the ANTz scene is designed to be directly compatible with a set of DB tables that can be imported/exported between the app and the DB. This includes the entire scene state: nodes, global settings and animation (using channels and physics.)

Basic functionality includes the ability to import/export the entire ADS between a DB or set of CSV files and/or partial 'selected' subset of nodes. Merging multiple scenes and live bi-directional updates are also allowed.

Direct access to external (arbitrarily) formatted DB files (or CSV/XML/JSON...) is provided by a set of methods also defined within the ADS. A 'table_map' holds all information necessary to locate a specific record. The 'format' table holds information on how to translate between the ADS and the external data structure. Each node in the ANTz scene stores a 'record_id', 'format_id', and 'table_id'. Together they allow for formatting and retrieving/storing the external record associated with the node.

This is a good time to request 'Query' functionality as most of the above features are currently in development. It is expected that the Query functionality will be tightly coupled to an 'evolving' set of selection tools available to the user as both 'smart' 3D probes and DB filtered queries.


Lucas Erickson 2012-03-18

Hey all, I've been working on the database interface and would like suggestions as to functionality anyone would want to see.


Shane Saxon 2012-12-19

New MySQL support as of antz_msw_2012-12-16

For install and usage documents please see wiki:

  • User Manual Section 8
  • Wiki: Database

Jeff Sale 2014-05-05

The latest version's support of mysql is very exciting. It seems to work well. Here are some requests.

  • Refresh the world with a keystroke. I initially was thinking it should refresh the world when I load a database, but I might want to load a sequence of databases one after another, so auto refresh would not make sense. Maybe the R key? Not good to hit by accident, so we would need an "Are you sure?". :-) Or maybe after I hit / to enter db mode I could hit R to refresh.
  • Do not automatically load the data from the database when it is selected from the list, but rather allow me to decide whether I want to load or save with an L or an S. Maybe there can be a 'Database' mode like 'Text Tags', 'Combo', etc. to avoid conflicting with the L and S keystrokes used in other modes.

-Allow me to create a new database from within ANTz. -Allow me to select multiple databases to load.


Shane Saxon 2014-07-12

Proposed Interface for Database and File Management

Use either the 'L' key or click on the 'Load' button to activate the Data Browser. The previous default item will be auto hi-lighted. Press 'Enter' to load selected default, or use arrow keys to navigate the menu. Menu includes access to local file tree and database(s).

2nd Phase: Data navigation and selection via text commands, arrow keys, mouse, and/or other input devices. Including ability to create complex selections, save, load and update.

Hybridized 2D/3D HUD console with (click-able) node trees to access the available datasets. Use either the text menu's or visually navigate the data, with sub-sampling and proxy images for glimpsing large data repositories. Base methodologies are shared with IO channel methods, such as OSC networking or 6DOF input devices.

*Note that MySQL has complex selection abilities that standard file management does not. We plan to hybridize our file manager by loading the file tree into the DB and then using queries to select the file tree elements of interest (or perform other operations.) Keep in mind that this is primarily a multi-user file-lock / SAN management strategy challenge.

**Hint: Alternately, can press Alt+L to immediately load/refresh the previous default selection.


Jeff Sale 2014-07-13

This interface sounds complex, difficult to understand, and time-consuming to develop. I'm sure it's going to be cool, but I'm not asking for anything fancy. I just want a manual refresh. The auto-refresh feature was interesting and useful under some circumstances, but I have found that much of what I do involves using SQL to select objects, and then edit the selection manually. I have stated this multiple times. Do we really need to spend several more months developing an elaborate mysql interface when your only real ANTz user just wants a manual refresh??

saxondigital avatar Jul 13 '14 17:07 saxondigital