-
Notifications
You must be signed in to change notification settings - Fork 0
/
config_template.toml
113 lines (107 loc) · 5.41 KB
/
config_template.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
# Configuration parameters for Beaverdam
#
# To use this as a template:
# - For all sections: replace each value with the appropriate value for your project
# - Section [fields]: choose names for each field and surround these names in quotes
# "" in subsequent sections
# - Section [plots]: define each plot shown in the dashboard
[raw_metadata]
# Information about the location and type of (meta)data files to include in the
# database. Only needed to build a database, not to run a user interface with an
# existing database.
#
# directory (str): directory containing (meta)data files. Files in subdirectories will
# also be included.
# file_type (str): extension of files to include. Currently this can be ".json" or
# ".odml".
directory = "path/to/files"
file_type = ".json"
[database]
# Information about the database containing (meta)data. This is the database which will
# be created, updated, or read from.
#
# address (str): use "localhost" to run Beaverdam locally
# port (int): most likely you will use 27017 to run Beaverdam locally
# db_name (str): name of the database to use (will be created if it doesn't exist)
# collection_name (str): name of the collection to use (will be created if it doesn't
# exist). This is needed because MongoDB stores documents in collections within
# databases.
address = "localhost"
port = 27017
db_name = "database_name"
collection_name = "collection_name"
[fields]
# The name you want to use to refer to each (meta)data field, and the location of the
# field in the database.
#
# Include as many fields as you want, each on a new line with the format:
# NameOfField = "path.to.field"
#
# NameOfField (): text that will also show up in the dashboard, e.g. as column names.
# Therefore it should be somewhat self-explanatory. Cannot include spaces.
# "path.to.field" (str): location of the (meta)data field in the database. This must
# be the same for each document in the database, and can't include wildcards (due to
# MongoDB restrictions). The field doesn't have to exist in all documents, but if it
# exists it must have the same location.
# If you used json files, this is probably something like:
# "FirstSectionName.SubSection.SubSubSection"
# If you used odML files, note that the Document, section, and properties designations
# are included in the path, for example:
# "Document.sections.FirstSectionName.sections.SubSection.properties.PropertyName.value"
# For metadata files with complex structures, it might be helpful to find field
# locations using a tool like [Studio3T](https://studio3t.com/free/) or its
# free-forever predecessor [Robo3T](https://github.com/Studio3T/robomongo).
NameOfField = "path.to.field"
[filters]
# Which fields you will be able to place conditions on to filter items. These fields
# will each be turned into a set of checkboxes showing all available options for that
# field.
#
# headings (list of strings): fields to show as checkboxes, using the field names you
# defined in [fields] written as strings. For example, if you defined
# NameOfFirstField and NameOfSecondField in [fields], you could here say:
# headings = ["NameOfFirstField", "NameOfSecondField"]
headings = ["NameOfFirstField", "NameOfSecondField"]
[table]
# Which fields to show in the data table
#
# columns (list of strings): fields to show as columns in the data table, using the
# field names you defined in [fields] written as strings. For example, if you defined
# NameOfFirstField and NameOfSecondField in [fields], you could here say:
# columns = ["NameOfFirstField", "NameOfSecondField"]
columns = ["NameOfFirstField", "NameOfSecondField"]
[plots]
# Which fields to plot, and how to plot them. Each plot must have a unique name and the
# following keys:
# - data_field (string or list of strings): name of the field(s) to plot
# - plot_type (string): type of plot ("pie", "bar", "scatter", "box")
#
# Currently the following plot types are defined:
#
# Pie chart: plots the values of a single field. Include these two lines for each
# pie chart you want to make, with a different PlotName for each chart and
# substituting NameOfField with the field you want to plot:
# PlotName.data_field = "NameOfField"
# PlotName.plot_type = "pie"
#
# Bar chart: plots the values of a single field. Include these two lines for each
# bar chart you want to make, with a different PlotName for each chart and
# substituting NameOfField with the field you want to plot:
# PlotName.data_field = "NameOfField"
# PlotName.plot_type = "bar"
#
# Scatter plot: plots the values of two fields. Include these two lines for each
# scatter plot you want to make, with a different PlotName for each plot and
# substituting NameOfFieldY and NameOfFieldX with the fields you want to plot on
# the Y and X axes, respectively:
# PlotName.data_field = ["NameOfFieldY", "NameOfFieldX"]
# PlotName.plot_type = "scatter"
#
# Box plot: plots the values of two fields. Include these two lines for each box
# plot you want to make, with a different PlotName for each plot and substituting
# NameOfFieldY and NameOfFieldX with the fields you want to plot on the Y and X
# axes, respectively:
# PlotName.data_field = ["NameOfFieldY", "NameOfFieldX"]
# PlotName.plot_type = "box"
PlotName.data_field = "NameOfField"
PlotName.plot_type = "type_of_plot"