Quick Start Guide:

The DidgetBrowser is our program to demonstrate the power of the Didget Management System or act as an administration tool. It is just an application that calls the Didget Manager APIs. Any other program calling our APIs could do what it does and more. It was written using a cross-platform GUI called Qt. It is not complete, but many features work. Let us know if you see any bugs in features that at least attempt to do something. Some of the menu items or context menus do not do anything yet.

To install, simply copy the contents of this folder tree to your hard drive and then run the EXE file. Here is a brief description of the files and folders:
Readme.txt - This file
DidgetBrowser.exe - The browser executable
*.dll - All the supporting DLLs for the interface and run time libraries
Pods.json - Description and location for the Didget containers (called Pods) that the browser creates or loads
Demo.json - An alternative pod definition file that gives examples of other pods that can be created
platforms folder - Interface dlls for the operating system
Imageformats folder - The interface needs these to display pictures in various formats
sqldrivers folder - The interface needs these to connect to other database products
Config folder - Any newly created pod will be populated with Didgets described by Json files found in this folder tree
StyleSheets folder - A way to configure the GUI to use fonts, colors, and other features to tune the interface to the user's preferences
SampleData folder - A few files filled with some sample data that can be used to create database tables.

There is just one default pod in the Pods.json file: "Test" size = 200 GB, path = /DidgetDemo/TestFile1. The "file" pod type is a big virtual file of 4K blocks that we manage. All Didgets are created within this "virtual disk". We handle all block allocations and any fragmentation that may occur. Another kind of pod is the "folder" type. This type is just a file system folder and the Didget Manager will create a separate file for every Didget within the pod. It relies on the host file system to handle any fragmentation or allocations. The file system is much slower than our system at creating and managing the data streams so it may take much longer to create lots of Didgets within a "folder" pod than within a "file" pod.

If you want more pods or to have a pod be a different size or be in different location, then edit the json file to specify changes. See the demo.json file for an example. Once a pod has been created, its size will not change. If you specify a different location, a new pod will be created in the new location. To delete a pod (and wipe out its exiting contents) simply delete its file or folder using Window's file manager or use a command prompt.

New installations are configured to have just a few select tabs displayed. If you want to access the other functions of the browser, select the "Settings-->Choose Profile" option on the main menu. This will let you select which tabs on the browser you wish to enable. Choose a profile and restart the browser. The first four tabs (Create, Query, Status, and Sync) deal with the pod as a whole. The other tabs, like the Databases tab, each deal with a certain kind of Didget (or set of Didgets) that perform a specific function. Several of the available tabs are still under construction and have very limited capabilities.

To create Didgets from exiting files, select the "Create" tab in the browser. To import files or to create test Didgets, you need use one of the predefined "Drop Zones" or create a custom one of your own by right-clicking in the drop zone window and select the "Create Drop Zone..." option. Select one or more of the file types under the file option. If you select "All Types" then any file dropped on the zone will become a Didget. If you select the "image" or "software" options, then only files that have an extension that we recognize as a photo or a piece of software respectively, will be converted. If you drop a folder on the drop zone, then it will search the folder and all its subfolders looking for files to convert.

To create test Didgets, select one of the drop zones and specify how many you want to create in the boxes at the bottom of the page. If you specify some blocks to write to each Didget, (filled with test data) be careful not to specify more than a couple blocks if you intend to create a lot of Didgets (e.g. millions); otherwise it can take a long time to write the data. If you select a drop zone that has "All Types", it will create random Didgets of each defined type.

On the "Query" tab, select one of the predefined queries to view Didgets that match that query. The predefined queries come from the Config/Queries/ folder. You can edit an existing query or create a new one by right-clicking in the window showing the query names. When creating a new query, if you want to see everything, just check the 4 boxes for the Didget Classes. If you only want to see some Didgets, select the types of Didgets you want included. If you check anything within one of the tabs (e.g. Ranges) the query will be limited to just the things you check, otherwise there are no limits.

To play with the database features, select the "Databases" tab in the browser. Some sample databases were created using the information in the Config/Databases folder. Copy or use the contents of the Databases folder on this disk for some sample data or you can create your own. There are some json files that define some tables. Customers.json is for a table with 10 columns. Friends.json is for a table with 6 columns. You can create a definition from scratch if you right click in the table definitions window; or just drop a json file in the definitions window to create the "Table Definition Didgets". Once the definitions have been created you can edit them or create a table by dropping a .CSV file on a definition. The "Sample Data" folder contains some csv and json files. The names of the files may indicate how many rows are in the file.

Once a table has been created, you can do a "select *" command by just double clicking on it. If you want to create a specific view of the table, right click on it and select the "Create Query..." option. Specify what columns to select and put together any "WHERE clause" you want using the "Create Filter" button. Double click on a query to run it.

When you run a query against a table, a new "Result Set" will appear in table form. Clicking on a column header will sort the column. Right click on a header and "Show Values..." or "Show Formats..." to get a list of all the unique values and the number of rows each value is mapped to. If you select on one or more of those values and select the "Display..." option then a new window will pop up with just the rows that match your selection.

If you wish to see just a portion of a result set, you can enter a filter value at the bottom of the database tab. Only those rows that match the filter will display. Alternatively, you can view all the rows with a particular value by selecting one or more of the values in the 'Show Values...' dialog and selecting the 'Display' option. Yet an easier way to show all the rows with a particular value is by double clicking on any value in the result set (e.g. double click on "Wisconsin" in the "State" column to show all rows where State = "Wisconsin").