HowTo make a new database in split format
This document describes how to make a new database in TB Wiki. | This document describes how to make a new database in TB Wiki. |
TB Wiki was designed specifically to make this as easy as possible, using regular wiki files as the records for the database. This page is intended to be a quickstart guide to setting up a simple database. For complete documentation, see DocTables | TB Wiki was designed specifically to make this as easy as possible, using regular wiki files as the records for the database. This page is intended to be a quickstart guide to setting up a simple database. For complete documentation, see [[DocTables]] |
Table Type [edit section] | == Table Type == First, determine the table type - single file or multi-file. |
You can edit the database in a single file, or have a database consist of multiple files. If the records are large, and have lots of free-form text, it is usually better to put them into separate files. | You can edit the database in a single file, or have a database consist of multiple files. If the records are large, and have lots of free-form text, it is usually better to put them into separate files. |
single-file [edit section] | == single-file == For a single file database, just create a page to hold the table of data, and start a table in TB wiki inline table format: |
like so: {{{ {{{!Table:contacts ||name||address||phone|| ||Tim||123 Main St.||555-5555|| ||Frank||456 State Ave.||666-6666|| } }} }}} | like so: {{{ {{{!Table:contacts ||name||address||phone|| ||Tim||123 Main St.||555-5555|| ||Frank||456 State Ave.||666-6666|| } }} }}} |
multi-file [edit section] | === multi-file === For a multi-file database, you need to decide on a page prefix to use for the data files. Each record of the database will reside on it's own page in the wiki, and you can use a Table processor to collect them into a view of the data. |
Let's say you create a contacts database, and use "contacts_" as the file prefix. Specify this with a "source_spec=contacts_.*" (Note the '.' in the wildcard for the page name) Each file in the database has a single record from the database in TB wiki name-attr format (these are referred to as attribute files). | Let's say you create a contacts database, and use "contacts_" as the file prefix. Specify this with a "source_spec=contacts_.*" (''Note the '.' in the wildcard for the page name'') Each file in the database has a single record from the database in TB wiki name-attr format (these are referred to as attribute files). |
The following files might be defined: | The following files might be defined: |
"contact_1" would have the following content: {{{ record=1 name=Tim address=123 Main St. phone=555-5555 description="""you could put a mult-line description here""" }}} | "contact_1" would have the following content: {{{ record=1 name=Tim address=123 Main St. phone=555-5555 description="""you could put a mult-line description here""" }}} |
"contact_2" would have the following content: {{{ record=2 name=Frank address=456 State Ave. phone=666-6666 }}} | "contact_2" would have the following content: {{{ record=2 name=Frank address=456 State Ave. phone=666-6666 }}} |
Note that not every record needs to define every field | ''Note that not every record needs to define every field'' |
Then, create a separate page to have a view of the table, like so: | Then, create a separate page to have a view of the table, like so: |
"Contacts", would have the following content: {{{ {{{!Table:contacts source_spec=contact_.* cols=record_id:name:address:phone:description sortby=name:alpha } }} }}} | "Contacts", would have the following content: {{{ {{{!Table:contacts source_spec=contact_.* cols=record_id:name:address:phone:description sortby=name:alpha } }} }}} |