Le fichier data.json doit se trouver au même niveau qu'un répertoire data si on utilise castor-cli pour démarrer castor.
Sinon, on peut simplement ignorer son nom en utilisant castor-admin.
Le fichier data.json utilise le theme castor-theme-sbadmin, qui crée un tableau de bord à partir de données structurées.
Le contenu title deviendra le titre de la page d'accueil du Castor (concaténé à pages.index.title), donc "Étude INSU - Tableau de bord".
Les descriptions ne sont pas visibles sur le site, mais sont lisibles par les moteurs de recherche.
Si logFormat a une valeur dev, c'est pour rendre les logs visibles, sans s'encombrer d'informations de date, inutiles lors du développement, où le développeur est souvent seul à utiliser le castor (dans un cas normal, on n'a pas besoin de le préciser).
itemsPerPage précise le nombre de résultats à afficher par page (il influe aussi le nombre de résultats par défaut demandé à la base de données, donc s'il est trop grand, il peut ralentir l'application --à la fois du côté serveur et du côté client--).
pages permet de préciser, pour chaque page du thème (à la seule condition de fournir le début de l'URL: index pour /index.html) le titre à utiliser, et la description à fournir en métadonnées de la page HTML.
Il y a dans cette configuration deux sortes de customFields:
- ceux qui sont visibles (marqués comme tels par la clé
visible), et donc constitue les colonnes du tableau des documents, - ceux qui ont un
separatoret qui crée des champs où les valeurs d'un autre champ (indiqué par sonpathen notation pointée) sont séparées parseparator.
Sous la clé dashboard se trouve tout ce qui est spécifique au tableau de bord (ce qui est plus haut s'applique à n'importe quel thème de castor).
On précise ici les valeurs de quel champ on compte pour savoir combien il y a de types de documents (ici Pt: Publication Type).
path contient, comme pour les customFields, le chemin en notation pointée (dotted notation) vers le champ. En général, cela commence soit par content.json soit par fields (si c'est un champ généré par un customFields).
label modifie le libellé du nombre affiché dans le tableau de bord (après le nombre de documents). S'il est trop long, il risque de déborder de son emplacement.
Ici, on configure les différents graphiques.
Ils sont affichés dans l'ordre du fichier.
Chacun doit avoir un identifiant unique.
La documentation des graphiques se trouve dans castor-theme-sbadmin.