[{"data":1,"prerenderedAt":1905},["ShallowReactive",2],{"doc:\u002Fdocs\u002Fcapabilities\u002Fdashboards":3,"docs-nav":1687},{"id":4,"title":5,"body":6,"description":1678,"extension":1679,"meta":1680,"navigation":1682,"path":1683,"seo":1684,"stem":1685,"__hash__":1686},"docs\u002Fdocs\u002Fcapabilities\u002Fdashboards.md","Dashboards",{"type":7,"value":8,"toc":1655},"minimark",[9,13,34,48,55,71,76,200,204,209,215,219,236,242,251,255,265,271,279,323,334,351,355,362,392,402,406,409,413,426,432,437,465,469,487,561,577,675,679,688,864,868,887,893,898,1011,1020,1050,1098,1102,1108,1123,1213,1220,1226,1232,1239,1243,1256,1260,1263,1301,1307,1319,1349,1356,1404,1408,1551,1584,1588,1617,1621],[10,11,5],"h1",{"id":12},"dashboards",[14,15,16,17,21,22,25,26,29,30,33],"p",{},"A dashboard is a screen of live tiles on a grid: key figures, charts, tables, matrices,\ntexts and images. It is an object of a folder, with its versions, like a flow or a report.\nA reader opens it to see the state of something at a glance, chooses its parameters at the\ntop, clicks a bar to filter the other tiles, or leaves it on a wall screen refreshing by\nitself. It downloads as a ",[18,19,20],"strong",{},"PDF"," or an ",[18,23,24],{},"image","; a flow group ",[18,27,28],{},"sends it by email","; a\nscript takes its file through the ",[18,31,32],{},"API",".",[14,35,36,37,42,43,47],{},"Use a ",[38,39,41],"a",{"href":40},"\u002Fdocs\u002Fcapabilities\u002Freports","report"," when the answer has to arrive as a document with a fixed page,\nthe same layout every month. Use a dashboard when the screen is the answer: it adapts to\nthe window and answers clicks. The two share what they can: a dashboard's datasets and\nparameters are written as a report's, read with the same rights, in the same\n",[38,44,46],{"href":45},"\u002Fdocs\u002Fcapabilities\u002Freport-functions","expression language",". Every installation has dashboards, Docker\nCompose included.",[14,49,50],{},[51,52],"img",{"alt":53,"src":54},"The dashboard Sales overview: the parameters Area, Agent and Category, four key figures, a column chart of revenue by area, a combo chart of orders and revenue per order, and the start of a table of agents by area","\u002Fmedia\u002Fguide\u002Fdashboards\u002Fviewer-sales-overview.png",[14,56,57],{},[58,59,60,61,65,66,70],"em",{},"Sales overview, the dashboard of the ",[38,62,64],{"href":63},"\u002Fdocs\u002Fgetting-started-docker-compose#a-the-sample-data-already-there","sample data",": open it in the ",[67,68,69],"code",{},"Sample"," folder, and everything on this page can be tried on it.",[72,73,75],"h2",{"id":74},"at-a-glance","At a glance",[77,78,79,90],"table",{},[80,81,82],"thead",{},[83,84,85,88],"tr",{},[86,87],"th",{},[86,89],{},[91,92,93,118,130,146,154,162,170,192],"tbody",{},[83,94,95,99],{},[96,97,98],"td",{},"Where",[96,100,101,102,105,106,109,110,113,114,117],{},"Explore → ",[18,103,104],{},"New"," → ",[18,107,108],{},"Dashboard",", in a folder, or ",[18,111,112],{},"New dashboard"," in ",[18,115,116],{},"Analysis → Dashboards",", which lists the dashboards you may open, the most read first",[83,119,120,123],{},[96,121,122],{},"What it reads",[96,124,125,126,129],{},"up to 10 ",[18,127,128],{},"datasets",", as a report's: SQL on the catalog or on a database connection, a datasource, a saved view, a saved SQL script",[83,131,132,135],{},[96,133,134],{},"What it shows",[96,136,137,138,141,142],{},"up to 40 ",[18,139,140],{},"tiles"," on a grid of 12 columns: KPI, 14 kinds of chart, table, matrix, text, image, ",[38,143,145],{"href":144},"#ai-comments","AI comment",[83,147,148,151],{},[96,149,150],{},"Parameters",[96,152,153],{},"up to 20, as a report's: text, number, date or yes\u002Fno, one value or several, fixed choices or choices from a dataset",[83,155,156,159],{},[96,157,158],{},"A click",[96,160,161],{},"on a bar, a slice or a group filters the other tiles on the same dataset",[83,163,164,167],{},[96,165,166],{},"Refresh",[96,168,169],{},"by hand, and if you want by itself, at least every minute; the numbers are kept and shared, so that many readers run one query",[83,171,172,175],{},[96,173,174],{},"Going out",[96,176,177,178,180,181,183,184,188,189],{},"a link that holds the filters, a ",[18,179,20],{},", an ",[18,182,24],{},", an email from a flow group's ",[38,185,187],{"href":186},"\u002Fdocs\u002Fpushmail#dashboards","Pushmail"," cell, the ",[38,190,32],{"href":191},"\u002Fdocs\u002Fapi#dashboards",[83,193,194,197],{},[96,195,196],{},"Rights",[96,198,199],{},"VIEW on the folder to open it, EDIT to design it; each dataset is read with the rights of whoever reads the dashboard, tile by tile",[72,201,203],{"id":202},"reading-a-dashboard","Reading a dashboard",[14,205,206,208],{},[18,207,116],{}," lists the dashboards you may open, the most read first: the\npeople who opened one in the last 30 days, counted once a day. The search looks in the\nnames, the descriptions and the folders. A click on a row opens the dashboard; so does a\nclick in Explore, or a link someone sent you, after signing in.",[14,210,211],{},[51,212],{"alt":213,"src":214},"The Dashboards tab: the order Most read, the search and New dashboard; the row of Sales overview with its description, 10 tiles and 3 parameters, its folder Sample, its readers in 30 days, when it was last opened and changed","\u002Fmedia\u002Fguide\u002Fdashboards\u002Fdashboards-tab.png",[216,217,150],"h3",{"id":218},"parameters",[14,220,221,222,225,226,229,230,233,234,33],{},"The bar at the top holds the dashboard's parameters. Choose values and press ",[18,223,224],{},"Apply",": the\ntiles read the data again with them, and the address holds them. A list can follow another:\nin Sales overview, choose an ",[18,227,228],{},"Area"," and the ",[18,231,232],{},"Agent"," list holds only the agents of that\narea, before you press ",[18,235,224],{},[14,237,238],{},[51,239],{"alt":240,"src":241},"The parameters of Sales overview: Area set to Nord-Ovest, and the Agent list open with the agents of that area in alphabetical order","\u002Fmedia\u002Fguide\u002Fdashboards\u002Fparameters-agents-follow-area.png",[14,243,244],{},[58,245,246,247,250],{},"With Nord-Ovest chosen the Agent list holds 13 names of the 90. An agent chosen before goes back to ",[18,248,249],{},"Any"," when the area changes.",[216,252,254],{"id":253},"a-click-filters-the-other-tiles","A click filters the other tiles",[14,256,257,258,261,262,33],{},"A click on a bar, a slice, a point, a cell of a heatmap, a group's name in a table or a\nheader of a matrix filters the ",[18,259,260],{},"other tiles on the same dataset",". A strip under the\nparameters says what is active, with a cross on each filter and ",[18,263,264],{},"Clear all",[14,266,267],{},[51,268],{"alt":269,"src":270},"A click on the Centro bar of Revenue by area: the other bars fade, Revenue goes from 18,961,683 to 10,042,680, Orders from 25,598 to 13,569, Agents from 90 to 48, the combo chart beside it keeps only Centro, and the strip says Revenue by area: Centro; Clear all brings everything back","\u002Fmedia\u002Fguide\u002Fdashboards\u002Fviewer-click-filters.gif",[14,272,273],{},[58,274,275,276,278],{},"A click on Centro, then ",[18,277,264],{},". The tile clicked keeps its bars and marks the one chosen.",[280,281,282,293,296,303,310,317,320],"ul",{},[283,284,285,288,289,292],"li",{},[18,286,287],{},"Ctrl"," (or ",[18,290,291],{},"Cmd",") with the click adds a value, or takes it away. A plain click on the\nonly value chosen clears it.",[283,294,295],{},"In one tile, values add up: Centro or Nord-Est. Between tiles, and between the rows and\nthe columns of a matrix, each narrows the others.",[283,297,298,299,302],{},"A click stays on its dataset. In Sales overview a click on an area leaves the margin at\nthe bottom as it is, because the margin reads another dataset, with its own ",[18,300,301],{},"Category","\nparameter and its own click on the donut. To filter several datasets with one choice, use\na parameter that each of them reads.",[283,304,305,306,309],{},"A KPI, a text and an image do not filter. Neither do «Other», a waterfall's total, a\ngauge or a detail row of a table. The designer can turn a tile's filtering off (",[18,307,308],{},"A click\nfilters the other tiles",").",[283,311,312,313,316],{},"An aggregate that names its dataset, ",[67,314,315],{},"SUM([ricavo], \"agents\")",", still reads all of it, so\nthat a share of the total stays one; so does a calculated field.",[283,318,319],{},"A parameter changed afterwards keeps the clicks whose values still exist, and drops the\nothers.",[283,321,322],{},"On a table that can filter, a group's name filters and the arrow beside it closes the\ngroup.",[14,324,325,326,329,330,333],{},"Clicks are in the address too (",[67,327,328],{},"?area=Nord-Est&click.by_area=Nord-Est","), so ",[18,331,332],{},"Back"," undoes\none, and a link gives the same state to someone else with the rights. A link naming a tile\nthat is gone, or one that no longer filters, opens without that click.",[14,335,336,337,339,340,342,343,346,347,350],{},"From the keyboard, a group's name, a matrix's header, the cross on a filter and ",[18,338,264],{},"\nare buttons (",[18,341,287],{}," with ",[18,344,345],{},"Enter"," adds). A chart's drawing cannot be reached: when it\ntakes the focus a list of its categories shows, and choosing there adds a value. ",[18,348,349],{},"The parts\nof a split chart, the cells of a heatmap and the points of a scatter cannot be chosen from\nthe keyboard",", only their category where they have one.",[216,352,354],{"id":353},"refresh-and-the-cache","Refresh and the cache",[14,356,357,358,361],{},"Beside the title, ",[18,359,360],{},"Data from"," says when the oldest numbers on the screen were read from\ntheir source.",[280,363,364,374,379,389],{},[283,365,366,369,370,373],{},[18,367,368],{},"Everyone shares the numbers."," The first person to open a dashboard reads the source;\nwhoever opens it in the next five minutes (",[67,371,372],{},"DASHBOARDS__CACHE_SECONDS",", or the dashboard's\nown interval when that is longer) gets the same numbers without a new query. On a\ndatabase that charges by the query, this is what keeps the bill down. A click works from\nthe rows already read and does not go back to the source. Your rights are checked at every\nrequest all the same: sharing never shows you what you may not read.",[283,375,376,378],{},[18,377,166],{}," reads the source again, for everyone, at most once every 10 seconds per\ndashboard. Pressed sooner, it shows what there is, without an error.",[283,380,381,384,385,388],{},[18,382,383],{},"By itself."," A dashboard can refresh every so many seconds, from 60 to 86,400: ",[18,386,387],{},"Refresh →\nBy itself"," in the designer, and the viewer says so («refreshes every 5 minutes»). It runs\nonly while the tab is in sight. When a refresh fails it keeps the last numbers, with the\ntime they are from, and says so; it tries again at the next interval.",[283,390,391],{},"A datasource refreshed or a flow run is new data: its new snapshot is read at the next\nrequest, with no wait for the five minutes.",[14,393,394,397,398,401],{},[18,395,396],{},"Full screen"," leaves only the title, the strip of clicks, the tiles and the time of the\nlast update, for a wall screen. ",[18,399,400],{},"Esc"," comes back.",[216,403,405],{"id":404},"any-window","Any window",[14,407,408],{},"The grid adapts to the width of the window. From 1,100 pixels it is as designed, on 12\ncolumns; from 700 to 1,099 it has 6, and the tiles take what is free; below 700 pixels one\ncolumn, top to bottom and left to right. A tile hidden by its condition takes no place.",[216,410,412],{"id":411},"pdf-and-image","PDF and image",[14,414,415,417,418,421,422,425],{},[18,416,20],{}," and ",[18,419,420],{},"Image"," download what is on the screen: the same parameters, the same clicks,\nthe same sort and closed groups, and ",[18,423,424],{},"the same numbers",", because they come from the same\nreading. It is a document of the numbers, not a picture of the screen: it has a report's\nlook, on white, whatever the theme you use.",[14,427,428],{},[51,429],{"alt":430,"src":431},"Page 1 of the PDF of Sales overview with Category Salami and a click on Centro: the name, the parameter and the click on top, when the data is from, four key figures, the two charts and the start of the table","\u002Fmedia\u002Fguide\u002Fdashboards\u002Fpdf-sales-overview-page-1.png",[14,433,434],{},[58,435,436],{},"On top, what it is showing: the name, the parameters that have a value, the clicks, when the rows are from. At the foot, the page's number.",[280,438,439,442,448,462],{},[283,440,441],{},"A row of tiles stays together; a table takes its row alone and the whole width, goes on\nover the pages, and repeats its title and head on each. The columns that do not fit go on\nin another table with the first column again.",[283,443,444,445,33],{},"The page is A4 across with margins of 10 mm, unless the designer sets another in ",[18,446,447],{},"Page of\nthe PDF and the image",[283,449,450,451,453,454,457,458,461],{},"The ",[18,452,24],{}," is the same document on one long page, PNG at 192 ppi. It is one page in\nmemory: past ",[67,455,456],{},"REPORTS__RENDER_MEMORY_MB"," (at the default, a table of 1,000 rows fits and\none of 2,000 does not) ",[18,459,460],{},"it stops, says so, and points you to the PDF",", which holds more.",[283,463,464],{},"A tile that cannot say its numbers says why in its place. Of a dataset you may not read it\nsays only that you cannot.",[72,466,468],{"id":467},"example-sales-overview","Example: Sales overview",[14,470,471,472,474,475,478,479,482,483,486],{},"The sample data ends with this dashboard in the ",[67,473,69],{}," folder, made by ",[67,476,477],{},"sampledb-init","\n(",[38,480,481],{"href":63},"the sample data","). It\nreads two tables the sample flows write, in ",[67,484,485],{},"Sample \u002F Private tables",":",[77,488,489,502],{},[80,490,491],{},[83,492,493,496,499],{},[86,494,495],{},"Dataset",[86,497,498],{},"Datasource",[86,500,501],{},"Read by",[91,503,504,536],{},[83,505,506,511,533],{},[96,507,508],{},[67,509,510],{},"agents",[96,512,513,514,517,518,517,521,517,524,517,527,517,530],{},"«Agent Leaderboard», one row per agent: ",[67,515,516],{},"area",", ",[67,519,520],{},"agente",[67,522,523],{},"ricavo",[67,525,526],{},"ordini",[67,528,529],{},"clienti",[67,531,532],{},"ricavo_per_ordine",[96,534,535],{},"Revenue, Orders, Revenue per order, Agents, the two charts by area, the table",[83,537,538,543,558],{},[96,539,540],{},[67,541,542],{},"months",[96,544,545,546,517,549,517,552,517,554,557],{},"«Margin by Category and Month», one row per category and month: ",[67,547,548],{},"categoria",[67,550,551],{},"anno_mese",[67,553,523],{},[67,555,556],{},"margine","…",[96,559,560],{},"Margin, Revenue by category, Revenue and margin by month",[14,562,563,564,417,566,568,569,517,571,573,574,576],{},"It has three parameters: ",[18,565,228],{},[18,567,232],{}," filter ",[67,570,510],{},[18,572,301],{}," filters\n",[67,575,542],{},". With the sample data at the default scale:",[77,578,579,598],{},[80,580,581],{},[83,582,583,586,589,592,595],{},[86,584,585],{},"With",[86,587,588],{},"Revenue",[86,590,591],{},"Orders",[86,593,594],{},"Agents",[86,596,597],{},"Margin",[91,599,600,617,638,657],{},[83,601,602,605,608,611,614],{},[96,603,604],{},"nothing chosen",[96,606,607],{},"€ 18,961,683",[96,609,610],{},"25,598",[96,612,613],{},"90",[96,615,616],{},"26.4%",[83,618,619,627,630,633,636],{},[96,620,621,623,624],{},[18,622,228],{}," ",[67,625,626],{},"Nord-Ovest",[96,628,629],{},"€ 2,818,063",[96,631,632],{},"3,763",[96,634,635],{},"13",[96,637,616],{},[83,639,640,646,649,652,655],{},[96,641,642,643],{},"a click on the bar ",[67,644,645],{},"Centro",[96,647,648],{},"€ 10,042,680",[96,650,651],{},"13,569",[96,653,654],{},"48",[96,656,616],{},[83,658,659,666,668,670,672],{},[96,660,661,623,663],{},[18,662,301],{},[67,664,665],{},"Salami",[96,667,607],{},[96,669,610],{},[96,671,613],{},[96,673,674],{},"27.2%",[216,676,678],{"id":677},"build-one-yourself","Build one yourself",[14,680,681,682,685,686,33],{},"A smaller version, with the mouse, in a folder where you have EDIT, here ",[67,683,684],{},"My dashboards","; the\nreader needs VIEW on it and on ",[67,687,485],{},[689,690,691,705,726,760,786,807,833,849,855],"ol",{},[283,692,693,696,697,700,701,704],{},[18,694,695],{},"The dashboard."," In Explore, in your folder, ",[18,698,699],{},"New → Dashboard",". In the designer, write\n",[67,702,703],{},"My sales"," over «New dashboard». The empty page says to start with the data.",[283,706,707,623,710,288,713,716,717,517,719,721,722,725],{},[18,708,709],{},"The data.",[18,711,712],{},"Add a dataset",[18,714,715],{},"Data → + Dataset","): name ",[67,718,510],{},[18,720,498],{},",\nchoose «Agent Leaderboard», ",[18,723,724],{},"Add",". Its fields show under the dataset.",[283,727,728,623,731,734,735,737,738,740,741,744,745,748,749,752,753,756,757,759],{},[18,729,730],{},"The first parameter.",[18,732,733],{},"+ Parameter",": name ",[67,736,516],{},", label ",[67,739,228],{},", type ",[18,742,743],{},"Text",",\n",[18,746,747],{},"Choices → From a dataset",", value ",[67,750,751],{},"[area]",". ",[18,754,755],{},"Filter this dataset by what is chosen"," is\nalready ticked. ",[18,758,724],{},": its list shows above the grid.",[283,761,762,623,765,767,768,737,771,517,773,776,777,517,780,782,783,785],{},[18,763,764],{},"The second.",[18,766,733],{}," again: name ",[67,769,770],{},"agent",[67,772,232],{},[18,774,775],{},"From a dataset",",\nvalue ",[67,778,779],{},"[agente]",[18,781,724],{},". Because it comes after ",[67,784,516],{}," and filters the same dataset, the\nagents follow the area. Nothing more is needed.",[283,787,788,623,791,794,795,623,798,737,801,803,804,33],{},[18,789,790],{},"A key figure.",[18,792,793],{},"Insert → KPI",". It opens with a number on it, from the fields of the\ndataset. In the panel on the right, ",[18,796,797],{},"Value",[67,799,800],{},"SUM([ricavo])",[67,802,588],{},", format\n",[67,805,806],{},"€ #,##0",[283,808,809,623,812,815,816,819,820,822,823,825,826,752,829,832],{},[18,810,811],{},"The chart that filters.",[18,813,814],{},"Insert → Chart",", kind ",[18,817,818],{},"Column",": along the axis ",[67,821,751],{},",\nthe series' value ",[67,824,800],{},", title ",[67,827,828],{},"Revenue by area",[18,830,831],{},"A click filters the other\ntiles"," is already ticked.",[283,834,835,623,838,841,842,844,845,848],{},[18,836,837],{},"A table.",[18,839,840],{},"Insert → Table","; it opens with columns from the fields. Give it the title\n",[67,843,594],{},". Leave a column or two, or click fields in ",[18,846,847],{},"Data"," to add them.",[283,850,851,854],{},[18,852,853],{},"The places."," Drag the tiles where you want them, and their handles to size them.",[283,856,857,860,861,863],{},[18,858,859],{},"Done"," saves and opens it as readers see it. Revenue says € 18,961,683. Click the bar\n",[67,862,645],{},": € 10,042,680.",[72,865,867],{"id":866},"the-designer","The designer",[14,869,870,871,874,875,879,880,883,884,886],{},"The designer opens from Explore, from the tab, and from ",[18,872,873],{},"Edit"," in the viewer; with VIEW\nonly you are taken to the viewer. It needs a window at least 900 pixels wide. It has the\nthree parts of the ",[38,876,878],{"href":877},"\u002Fdocs\u002Fcapabilities\u002Freports#the-designer","report designer",": on the left ",[18,881,882],{},"Insert"," and\n",[18,885,847],{},", the grid in the middle with the real numbers on it, on the right the properties of\nwhat is selected.",[14,888,889],{},[51,890],{"alt":891,"src":892},"The designer with Sales overview: on the left the tiles to insert, in the middle the parameters and the grid with its numbers, the chart Revenue by area selected with its handles; on the right its place on the grid, A click filters the other tiles, its kind and its data","\u002Fmedia\u002Fguide\u002Fdashboards\u002Fdesigner-sales-overview.png",[14,894,895],{},[58,896,897],{},"The tile selected shows its handles; the panel holds its place, its kind and its data. With nothing selected, it holds the dashboard: language, time zone, refresh, page of the documents.",[77,899,900,913],{},[80,901,902],{},[83,903,904,907,910],{},[86,905,906],{},"Tile",[86,908,909],{},"What it is",[86,911,912],{},"Smallest",[91,914,915,928,945,957,969,984,996],{},[83,916,917,922,925],{},[96,918,919],{},[18,920,921],{},"KPI",[96,923,924],{},"one value in large type, its change against another and a sparkline",[96,926,927],{},"2 × 2",[83,929,930,935,942],{},[96,931,932],{},[18,933,934],{},"Chart",[96,936,937,938],{},"bar, column, line, area, pie, donut, combo, waterfall, funnel, treemap, heatmap, scatter, gauge, bullet: ",[38,939,941],{"href":940},"\u002Fdocs\u002Fcapabilities\u002Freports#charts-and-kpis","the kinds",[96,943,944],{},"4 × 4",[83,946,947,952,955],{},[96,948,949],{},[18,950,951],{},"Table",[96,953,954],{},"the rows of a dataset, with groups and totals, 50 rows a page",[96,956,944],{},[83,958,959,964,967],{},[96,960,961],{},[18,962,963],{},"Matrix",[96,965,966],{},"a table with one column per value of a field",[96,968,944],{},[83,970,971,975,981],{},[96,972,973],{},[18,974,743],{},[96,976,977,978],{},"text as written, or an expression when it starts with ",[67,979,980],{},"=",[96,982,983],{},"2 × 1",[83,985,986,990,993],{},[96,987,988],{},[18,989,420],{},[96,991,992],{},"a PNG, JPEG or SVG of at most 512 KiB, kept inside the dashboard",[96,994,995],{},"1 × 1",[83,997,998,1002,1008],{},[96,999,1000],{},[18,1001,145],{},[96,1003,1004,1005],{},"a short text the configured AI model writes on the numbers of the tiles you pick: ",[38,1006,1007],{"href":144},"below",[96,1009,1010],{},"4 × 3",[14,1012,1013,1014,1016,1017,1019],{},"Sizes are in cells: 12 columns that share the width, rows of 40 pixels, 10 pixels between\ntiles. Drag a tile to move it, a handle to size it; it snaps to the grid, and a tile it\nlands on goes down rather than being covered. Click a tile in ",[18,1015,882],{}," to add it where it\nfirst fits, or drag it; click a field in ",[18,1018,847],{}," to add it to the tile selected or make a\nnew one. A new tile opens with data on it, from the fields of its dataset. One half made\nsays what it needs; one with a mistake says so inside the tile and at its field, and the\nothers go on.",[14,1021,1022,1023,1026,1027,417,1030,1033,1034,1037,1038,1041,1042,1045,1046,1049],{},"The keys: ",[18,1024,1025],{},"Ctrl+S"," saves, ",[18,1028,1029],{},"Ctrl+Z",[18,1031,1032],{},"Ctrl+Shift+Z"," undo and redo (a whole drag is one\nstep, with what it pushed), the arrows move the tile selected by one cell (5 with ",[18,1035,1036],{},"Shift","),\n",[18,1039,1040],{},"Ctrl+D"," duplicates it, ",[18,1043,1044],{},"Del"," removes it. A click on the grid selects a tile and filters\nnothing. ",[18,1047,1048],{},"Shown when",", a condition, hides a tile from readers: on the grid it stays and\nsays so.",[14,1051,1052,1055,1056,744,1060,744,1064,417,1068,1071,1072,517,1075,517,1078,517,1081,417,1084,752,1087,417,1090,1093,1094,1097],{},[18,1053,1054],{},"Datasets, parameters and expressions"," are a report's, with the same dialogs: see\n",[38,1057,1059],{"href":1058},"\u002Fdocs\u002Fcapabilities\u002Freports#datasets-and-parameters","Datasets and parameters",[38,1061,1063],{"href":1062},"\u002Fdocs\u002Fcapabilities\u002Freports#a-parameter-that-filters-the-data","A parameter that filters the data",[38,1065,1067],{"href":1066},"\u002Fdocs\u002Fcapabilities\u002Freports#expressions","Expressions",[38,1069,1070],{"href":45},"Report functions",", with\n",[67,1073,1074],{},"SUM([x], \"group\")",[67,1076,1077],{},"PREVIOUS",[67,1079,1080],{},"LOOKUP",[67,1082,1083],{},"SUMIF",[67,1085,1086],{},"COUNTIF",[67,1088,1089],{},"PAGE()",[67,1091,1092],{},"PAGES()",", which\nspeak of a page, write nothing on a screen. Every save is a new version;\nthe server checks the whole definition each time, and a save it refuses names the tile and\nthe field. If someone else saved since you opened it, ",[18,1095,1096],{},"Save"," says so and asks before yours\nbecomes the newest.",[72,1099,1101],{"id":1100},"ai-comments","AI comments",[14,1103,1104,1105,1107],{},"An ",[18,1106,145],{}," tile holds a short text written by the configured AI model on the numbers of\nthe tiles you pick, such as what moved and what stands out. The numbers never depend on it, and\nnever wait for it: a provider that is down, a budget that is spent or a mode that forbids it\ncosts the comment only, and the tile says so.",[14,1109,1110,1113,1114,113,1116,1118,1119,1122],{},[18,1111,1112],{},"To add one",", click ",[18,1115,145],{},[18,1117,882],{},", and in its panel write what you ask of it (at\nmost 1,000 characters; empty, it says what stands out) and tick what it reads, from 1 to 10 KPIs,\ncharts or tables. ",[18,1120,1121],{},"Try it"," shows what it writes on the tile: the designer asks the model only\nthen, never at a keystroke, and it needs EDIT on the folder.",[77,1124,1125,1133],{},[80,1126,1127],{},[83,1128,1129,1131],{},[86,1130],{},[86,1132],{},[91,1134,1135,1144,1154,1167,1184,1198],{},[83,1136,1137,1141],{},[96,1138,1139],{},[18,1140,122],{},[96,1142,1143],{},"the title and the numbers of the tiles it reads, as the screen writes them: a KPI's value and change, a chart's categories and series, a table's groups and totals, a matrix's page, what is chosen by a click, with your instruction, in the dashboard's language",[83,1145,1146,1151],{},[96,1147,1148],{},[18,1149,1150],{},"What it never reads",[96,1152,1153],{},"a row. A table's detail rows and a scatter that is not aggregated stay out, though the screen shows them. A tile with only those is left out, and with nothing left no call is made: the panel says so. It has no tool to query with",[83,1155,1156,1161],{},[96,1157,1158],{},[18,1159,1160],{},"When it writes",[96,1162,1163,1164,1166],{},"on opening, on ",[18,1165,224],{}," and on a refresh by hand, if those numbers have no comment; on a PDF or an image, always on the numbers of that document. A hundred people on one dashboard make one call",[83,1168,1169,1174],{},[96,1170,1171],{},[18,1172,1173],{},"After a click",[96,1175,1176,1177,1180,1181,1183],{},"the old text goes, and ",[18,1178,1179],{},"Comment this view"," writes one for that view. ",[18,1182,332],{}," brings the old one back, with no call",[83,1185,1186,1191],{},[96,1187,1188],{},[18,1189,1190],{},"A screen that refreshes by itself",[96,1192,1193,1194,1197],{},"at most one call every ",[67,1195,1196],{},"AI__COMMENT_MIN_SECONDS"," (an hour): until then the old text stays and says the time of the numbers it speaks of",[83,1199,1200,1205],{},[96,1201,1202],{},[18,1203,1204],{},"Who pays",[96,1206,1207,1208,1212],{},"whoever causes the call, under the daily ceilings: the author of a schedule for a ",[38,1209,1211],{"href":1210},"\u002Fdocs\u002Fpushmail#ai-comments","Pushmail cell",". A read-only API token and an observer cause no call, and read what is kept",[14,1214,1215,1216,1219],{},"Every comment says ",[18,1217,1218],{},"Written by AI · the model · numbers of the moment they were read",", and that\nit may be wrong, on screen and on paper; no setting takes that away. It is plain text, at most\n1,500 characters, with no link.",[14,1221,1222,1223,309],{},"When it cannot write, it says why in its place, and a PDF, an image or an email goes out with one\nline there: that the comment is not available, that the day's spending limit has been reached, that this\ninstallation sends no data to AI models (",[67,1224,1225],{},"AI__METADATA_ONLY",[14,1227,1228,1231],{},[18,1229,1230],{},"Any element it reads that you may not read stops the comment",", with what a tile with no access\nsays and nothing about which one, on screen and in the PDF, with a comment kept for others and with\nnone: a text written from fewer numbers would mislead, one from more would leak. An element hidden by\nits own condition shows nothing, so it is left out.",[14,1233,1234,1235,33],{},"What its model reads goes where the administrator said: ",[38,1236,1238],{"href":1237},"\u002Fdocs\u002Fintegrations\u002Fai","AI in Tabularia",[72,1240,1242],{"id":1241},"sending-it-on-a-schedule","Sending it on a schedule",[14,1244,1245,1246,1248,1249,1252,1253,1255],{},"A dashboard is sent by a flow group: a ",[38,1247,1211],{"href":186}," attaches it\nas PDF or PNG, up to 5 of them, with the values of its parameters. The group's schedule is\nthe dashboard's: the cell runs after the steps that refresh the data. ",[18,1250,1251],{},"Nobody looks at it\nbefore it leaves",", so it is stricter than the screen: a dataset the group's author may not\nread, or a tile that cannot say its numbers, stops the cell with its name, and nothing is\nsent. It reads its source and not what the screen keeps: what the steps before it refreshed\nis what it says. An ",[38,1254,145],{"href":144}," never stops it: with the provider down the email\ngoes out, with one line in its place.",[72,1257,1259],{"id":1258},"with-whose-rights","With whose rights",[14,1261,1262],{},"A dashboard never lends its author's rights. What a tile reads is checked dataset by dataset,\nat every request, with the rights of whoever it is read for, before anything shared is looked\nat:",[77,1264,1265,1275],{},[80,1266,1267],{},[83,1268,1269,1272],{},[86,1270,1271],{},"Read",[86,1273,1274],{},"With the rights of",[91,1276,1277,1285,1293],{},[83,1278,1279,1282],{},[96,1280,1281],{},"in the viewer, in the designer",[96,1283,1284],{},"whoever opens it",[83,1286,1287,1290],{},[96,1288,1289],{},"by a flow group",[96,1291,1292],{},"whoever runs the group: the author of its schedule, for a scheduled run, checked again at every send",[83,1294,1295,1298],{},[96,1296,1297],{},"through the API",[96,1299,1300],{},"the token's account",[14,1302,1303,1306],{},[18,1304,1305],{},"A tile whose dataset you may not read says so inside the tile, and the others work",": «You\ndo not have access to the data of this tile», with no number, no column and no name of the\ndataset, whether or not someone with the rights has just read it. A click on such a tile counts\nfor nothing. Row-level security does not exist in Tabularia, here as in reports: rights are on\nthe dataset.",[14,1308,1309,1310,1312,1313,1315,1316,1318],{},"Whoever reads Sales overview needs VIEW on ",[67,1311,69],{},", which reaches ",[67,1314,485],{}," where\nits data is. The ",[67,1317,69],{}," folder is created with no permissions: the administrator shares it.",[77,1320,1321,1331],{},[80,1322,1323],{},[83,1324,1325,1328],{},[86,1326,1327],{},"On the dashboard's folder",[86,1329,1330],{},"You can",[91,1332,1333,1341],{},[83,1334,1335,1338],{},[96,1336,1337],{},"VIEW",[96,1339,1340],{},"open it, choose its values, click, refresh, go full screen, download the PDF and the image, read its versions",[83,1342,1343,1346],{},[96,1344,1345],{},"EDIT",[96,1347,1348],{},"create it, design and save it, rename, move, duplicate and delete it, restore a version",[14,1350,1351,1352,1355],{},"Administrators see every dashboard. Dashboards show in Explore, with their own icon, in the\nsearch and in the tab. A view, a SQL script, a datasource or a connection that a dashboard\nreads cannot be deleted while it reads it: the refusal (",[67,1353,1354],{},"409",") names it. A dashboard a flow\ngroup sends cannot be deleted until it is taken out of the group's cells.",[14,1357,450,1358,1362,1363,517,1366,744,1369,517,1372,517,1375,517,1378,517,1381,1384,1385,1388,1389,1392,1393,517,1396,1399,1400,1403],{},[38,1359,1361],{"href":1360},"\u002Fdocs\u002Fgovernance\u002Faudit-log","audit log"," has every change (",[67,1364,1365],{},"dashboard.create",[67,1367,1368],{},".update",[67,1370,1371],{},".delete",[67,1373,1374],{},".move",[67,1376,1377],{},".rename",[67,1379,1380],{},".duplicate",[67,1382,1383],{},".restore","), every opening (",[67,1386,1387],{},"dashboard.open",") and\nevery document (",[67,1390,1391],{},"dashboard.render",", with its format, its parameters, its clicks and where it\ncame from: ",[67,1394,1395],{},"interface",[67,1397,1398],{},"api"," or ",[67,1401,1402],{},"flow_group","). A click and an automatic refresh are not in it:\nthey would drown the log.",[72,1405,1407],{"id":1406},"limits-and-good-to-know","Limits and good to know",[77,1409,1410,1422],{},[80,1411,1412],{},[83,1413,1414,1417,1419],{},[86,1415,1416],{},"Limit",[86,1418,797],{},[86,1420,1421],{},"Past it",[91,1423,1424,1435,1457,1471,1482,1493,1509,1520,1538],{},[83,1425,1426,1429,1432],{},[96,1427,1428],{},"Tiles, datasets, parameters",[96,1430,1431],{},"40, 10, 20",[96,1433,1434],{},"a save says which limit, and refuses",[83,1436,1437,1440,1450],{},[96,1438,1439],{},"Rows of one dataset",[96,1441,1442,1445,1446,1449],{},[67,1443,1444],{},"DASHBOARDS__MAX_ROWS",", by default ",[67,1447,1448],{},"REPORTS__MAX_ROWS",", 3,000,000",[96,1451,1452,1453,1456],{},"the tiles on it say so, and how to aggregate: ",[18,1454,1455],{},"no number on part of the rows",", not even a plain table's",[83,1458,1459,1462,1465],{},[96,1460,1461],{},"Values of one click",[96,1463,1464],{},"100",[96,1466,1467,1468],{},"the API answers ",[67,1469,1470],{},"422",[83,1472,1473,1476,1479],{},[96,1474,1475],{},"Categories, series of a chart",[96,1477,1478],{},"2,000, 24",[96,1480,1481],{},"said in the tile",[83,1483,1484,1487,1490],{},[96,1485,1486],{},"Points of a scatter",[96,1488,1489],{},"10,000",[96,1491,1492],{},"said in the tile: aggregate",[83,1494,1495,1503,1506],{},[96,1496,1497,1498,1399,1501],{},"A column with ",[67,1499,1500],{},"RUNNING",[67,1502,1077],{},[96,1504,1505],{},"a page more than 100,000 rows down cannot be reached",[96,1507,1508],{},"said in the tile: those functions read every row above in memory",[83,1510,1511,1514,1517],{},[96,1512,1513],{},"Rows of a table on screen",[96,1515,1516],{},"50 a page",[96,1518,1519],{},"the next page",[83,1521,1522,1525,1535],{},[96,1523,1524],{},"Pages of a document, its time",[96,1526,1527,1530,1531,1534],{},[67,1528,1529],{},"REPORTS__MAX_PAGES"," (200), ",[67,1532,1533],{},"REPORTS__RENDER_SECONDS"," (120)",[96,1536,1537],{},"the document stops, and says so",[83,1539,1540,1543,1548],{},[96,1541,1542],{},"The image, in memory",[96,1544,1545,1547],{},[67,1546,456],{}," (1024): about 1,000 rows of table",[96,1549,1550],{},"it stops, and points to the PDF",[280,1552,1553,1561,1564,1581],{},[283,1554,1555,1556,33],{},"Aggregate in the dataset where you can. The rows of a request stay in the memory of the\npreview worker: see ",[38,1557,1559],{"href":1558},"\u002Fdocs\u002Fconfiguration#dashboards",[67,1560,1444],{},[283,1562,1563],{},"Without Valkey or the bucket a dashboard works, without the cache.",[283,1565,1566,1567,478,1570,1574,1575,1577,1578,1580],{},"Administrators change what the cache keeps, live, in ",[18,1568,1569],{},"Administration → Settings",[38,1571,1573],{"href":1572},"\u002Fdocs\u002Fengine-settings","the settings","); ",[67,1576,1444],{}," stays in the environment, as\n",[67,1579,1448],{}," does.",[283,1582,1583],{},"The screen draws its charts in your browser. The PDF and the image draw them with the chart\nservice, as a report does: when it does not answer, a document with charts stops and says so.",[72,1585,1587],{"id":1586},"what-is-not-in-this-version","What is not in this version",[280,1589,1590,1593,1596,1602,1605,1608,1614],{},[283,1591,1592],{},"No custom tiles and no code of your own in a tile.",[283,1594,1595],{},"No drill-down from a tile to another dashboard.",[283,1597,1598,1601],{},[18,1599,1600],{},"A click filters its own dataset only",": across datasets, use a parameter.",[283,1603,1604],{},"No comments by people and no alerts on a number.",[283,1606,1607],{},"No dashboard public without signing in: a link needs an account with the rights.",[283,1609,1610,1613],{},[18,1611,1612],{},"No CSV or Excel of a tile."," A dashboard goes out as a PDF or an image.",[283,1615,1616],{},"The assistant and MCP do not create or change dashboards, and have no tools on them; the\nsearch finds a dashboard by name and gives its link.",[72,1618,1620],{"id":1619},"related","Related",[280,1622,1623,1631,1636,1641,1647],{},[283,1624,1625,417,1628,1630],{},[38,1626,1627],{"href":40},"Reports",[38,1629,1070],{"href":45},": datasets, parameters,\nexpressions",[283,1632,1633,1635],{},[38,1634,187],{"href":186},": sending a dashboard from a flow group",[283,1637,1638],{},[38,1639,1640],{"href":191},"API: dashboards",[283,1642,1643],{},[38,1644,1646],{"href":1645},"\u002Fdocs\u002Fgovernance\u002Fpermissions","Permissions",[283,1648,1649,744,1652],{},[38,1650,1651],{"href":1558},"Configuration: dashboards",[38,1653,1654],{"href":1572},"Settings from the panel",{"title":1656,"searchDepth":1657,"depth":1658,"links":1659},"",2,3,[1660,1661,1668,1671,1672,1673,1674,1675,1676,1677],{"id":74,"depth":1657,"text":75},{"id":202,"depth":1657,"text":203,"children":1662},[1663,1664,1665,1666,1667],{"id":218,"depth":1658,"text":150},{"id":253,"depth":1658,"text":254},{"id":353,"depth":1658,"text":354},{"id":404,"depth":1658,"text":405},{"id":411,"depth":1658,"text":412},{"id":467,"depth":1657,"text":468,"children":1669},[1670],{"id":677,"depth":1658,"text":678},{"id":866,"depth":1657,"text":867},{"id":1100,"depth":1657,"text":1101},{"id":1241,"depth":1657,"text":1242},{"id":1258,"depth":1657,"text":1259},{"id":1406,"depth":1657,"text":1407},{"id":1586,"depth":1657,"text":1587},{"id":1619,"depth":1657,"text":1620},"A dashboard is a screen of live tiles on a grid: key figures, charts, tables, matrices,\ntexts and images. It is an object of a folder, with its versions, like a flow or a report.\nA reader opens it to see the state of something at a glance, chooses its parameters at the\ntop, clicks a bar to filter the other tiles, or leaves it on a wall screen refreshing by\nitself. It downloads as a PDF or an image; a flow group sends it by email; a\nscript takes its file through the API.","md",{"source":1681},"docs\u002Fcapabilities\u002Fdashboards.md",true,"\u002Fdocs\u002Fcapabilities\u002Fdashboards",{"title":5,"description":1678},"docs\u002Fcapabilities\u002Fdashboards","elSoEhVUrA_Tgjh9GlvECYtlAwIMsd9KibSfLIUin54",[1688,1707,1758,1790,1822,1850,1873,1897],{"title":1689,"icon":1690,"intro":1691,"items":1692},"Getting started","start","Install it on one machine, learn the few ideas everything else is built on, and run a first flow.",[1693,1695,1698,1701,1704],{"path":1694,"title":1689},"\u002Fdocs\u002Fgetting-started",{"path":1696,"title":1697},"\u002Fdocs\u002Fgetting-started-docker-compose","Walkthrough with Docker Compose",{"path":1699,"title":1700},"\u002Fdocs\u002Fdeploy\u002Fminikube","Try it on your computer (minikube)",{"path":1702,"title":1703},"\u002Fdocs\u002Fconcepts","Concepts",{"path":1705,"title":1706},"\u002Fdocs\u002Foverview","Overview (README)",{"title":1708,"icon":1709,"intro":1710,"items":1711},"Capabilities","capabilities","What you can build: visual flows, analysis on any step, AI questions, pixel-perfect reports, dashboards, Python, R and SQL scripts, containers and the orchestration that ties them together.",[1712,1715,1718,1721,1724,1726,1727,1728,1731,1734,1737,1740,1743,1746,1749,1752,1755],{"path":1713,"title":1714},"\u002Fdocs\u002Fcapabilities","All capabilities",{"path":1716,"title":1717},"\u002Fdocs\u002Fcapabilities\u002Fflows","Low-code flows",{"path":1719,"title":1720},"\u002Fdocs\u002Fcapabilities\u002Fpreview-and-analysis","Preview and analysis",{"path":1722,"title":1723},"\u002Fdocs\u002Fcapabilities\u002Fask-your-data","Ask your data with AI",{"path":40,"title":1725},"Pixel-perfect reports",{"path":45,"title":1070},{"path":1683,"title":5},{"path":1729,"title":1730},"\u002Fdocs\u002Fscripting","Python and R",{"path":1732,"title":1733},"\u002Fdocs\u002Fsql-scripts","SQL scripts",{"path":1735,"title":1736},"\u002Fdocs\u002Fcapabilities\u002Fnotebooks","marimo notebooks as apps",{"path":1738,"title":1739},"\u002Fdocs\u002Fcontainer-node","Docker images in flows",{"path":1741,"title":1742},"\u002Fdocs\u002Fcapabilities\u002Fflow-groups","Flow groups: orchestration",{"path":1744,"title":1745},"\u002Fdocs\u002Fcapabilities\u002Fscheduling","Scheduling",{"path":1747,"title":1748},"\u002Fdocs\u002Fpushmail","Pushmail: datasources, reports and dashboards by email",{"path":1750,"title":1751},"\u002Fdocs\u002Fplaceholders","Dynamic dates",{"path":1753,"title":1754},"\u002Fdocs\u002Fcapabilities\u002Fengines","Engines",{"path":1756,"title":1757},"\u002Fdocs\u002Fengines\u002Fengine-differences","Engine differences",{"title":1759,"icon":1760,"intro":1761,"items":1762},"Sources","sources","Every way data comes in: files, databases, buckets, SFTP folders, HTTP APIs, SharePoint, Google Sheets, and the results of your own flows.",[1763,1766,1769,1772,1775,1778,1781,1784,1787],{"path":1764,"title":1765},"\u002Fdocs\u002Fsources","All sources",{"path":1767,"title":1768},"\u002Fdocs\u002Fsources\u002Ffiles","Uploaded files",{"path":1770,"title":1771},"\u002Fdocs\u002Fsources\u002Fdatabases","Database tables and queries",{"path":1773,"title":1774},"\u002Fdocs\u002Fs3-datasource","S3 buckets",{"path":1776,"title":1777},"\u002Fdocs\u002Fsftp","SFTP folders",{"path":1779,"title":1780},"\u002Fdocs\u002Fapi-datasource","HTTP APIs",{"path":1782,"title":1783},"\u002Fdocs\u002Fsources\u002Fsharepoint","Excel on SharePoint",{"path":1785,"title":1786},"\u002Fdocs\u002Fsources\u002Fgoogle-sheets","Google Sheets",{"path":1788,"title":1789},"\u002Fdocs\u002Fsources\u002Fflow-outputs","Results of flows and scripts",{"title":1791,"icon":1792,"intro":1793,"items":1794},"Connections","connections","The systems Tabularia reads from and writes to, how each connection is set up, and who may use it.",[1795,1798,1801,1804,1807,1809,1810,1812,1813,1816,1819],{"path":1796,"title":1797},"\u002Fdocs\u002Fconnections","All connections",{"path":1799,"title":1800},"\u002Fdocs\u002Fconnections\u002Fdatabases","Databases",{"path":1802,"title":1803},"\u002Fdocs\u002Fsqlserver","Microsoft SQL Server driver",{"path":1805,"title":1806},"\u002Fdocs\u002Fconnections\u002Fs3","S3 and compatible storage",{"path":1776,"title":1808},"SFTP servers",{"path":1779,"title":1780},{"path":1782,"title":1811},"SharePoint",{"path":1785,"title":1786},{"path":1814,"title":1815},"\u002Fdocs\u002Fconnections\u002Fsmtp","SMTP email",{"path":1817,"title":1818},"\u002Fdocs\u002Fcontainer-registries","Container registries",{"path":1820,"title":1821},"\u002Fdocs\u002Fconnections\u002Fdestinations","Writing data out",{"title":1823,"icon":1824,"intro":1825,"items":1826},"Integrations","integrations","How Tabularia fits your stack: AI providers, the REST API and webhooks, dbt, OpenLineage, single sign-on, SIEM and monitoring.",[1827,1830,1832,1835,1838,1841,1844,1847],{"path":1828,"title":1829},"\u002Fdocs\u002Fintegrations","All integrations",{"path":1237,"title":1831},"AI: where it is used",{"path":1833,"title":1834},"\u002Fdocs\u002Fapi","API, tokens and webhooks",{"path":1836,"title":1837},"\u002Fdocs\u002Fdbt-export","Export to dbt",{"path":1839,"title":1840},"\u002Fdocs\u002Fopenlineage","OpenLineage",{"path":1842,"title":1843},"\u002Fdocs\u002Fsso-keycloak","Single sign-on with Keycloak",{"path":1845,"title":1846},"\u002Fdocs\u002Fsiem-splunk","Audit log to Splunk",{"path":1848,"title":1849},"\u002Fdocs\u002Fintegrations\u002Fmonitoring","Monitoring",{"title":1851,"icon":1852,"intro":1853,"items":1854},"Security & governance","governance","Who may see and do what, what is recorded, and how data quality and personal data are kept in check.",[1855,1858,1859,1861,1864,1867,1870],{"path":1856,"title":1857},"\u002Fdocs\u002Fgovernance","Overview",{"path":1645,"title":1646},{"path":1360,"title":1860},"Audit log",{"path":1862,"title":1863},"\u002Fdocs\u002Fgovernance\u002Fdata-contracts","Data contracts",{"path":1865,"title":1866},"\u002Fdocs\u002Fdesign\u002Fsso-group-mapping","SSO and group mapping",{"path":1868,"title":1869},"\u002Fdocs\u002Fexamples\u002Fkeycloak","Keycloak example on a laptop",{"path":1871,"title":1872},"\u002Fdocs\u002Fengines\u002Fclickhouse-ai-user","A ClickHouse user for the AI assistant",{"title":1874,"icon":1875,"intro":1876,"items":1877},"Install & operate","operate","Run it in production on Kubernetes, configure it, upgrade it and keep it healthy.",[1878,1881,1884,1887,1890,1893,1894],{"path":1879,"title":1880},"\u002Fdocs\u002Fdeploy\u002Fkubernetes","Kubernetes and Helm",{"path":1882,"title":1883},"\u002Fdocs\u002Fdeploy\u002Fkind","A company-like cluster on one computer (kind)",{"path":1885,"title":1886},"\u002Fdocs\u002Fdeploy\u002Fupgrading","Upgrading, backups and restore",{"path":1888,"title":1889},"\u002Fdocs\u002Fdeploy\u002Frelease-checklist","Install and upgrade checklist",{"path":1891,"title":1892},"\u002Fdocs\u002Fconfiguration","Configuration reference",{"path":1572,"title":1654},{"path":1895,"title":1896},"\u002Fdocs\u002Fdatabase-migrations","Database migrations",{"title":1898,"icon":1899,"intro":1900,"items":1901},"Reference","reference","Release process and the remaining reference pages.",[1902],{"path":1903,"title":1904},"\u002Fdocs\u002Frelease-process","Release process",1793656371587]