Dear Community, I’m building a catalog of lecturers and departments for our university but struggle with the panel’s performance.
Every department has a list of multiple persons that acted in different roles for the department in a given time. My structure field for the department page looks like this:
prokura:
type: structure
fields:
from:
width: 1/4
type: date
display: YYYY
to:
type: date
width: 1/4
display: YYYY
person:
image: page.cover.toFile
label: Person auswählen
width: 2/4
type: pages
query: site.find('lecturers')
info: " {{ page.Familienname }}, {{ page.Vorname }} (gnd: {{ page.gnd }})"
funktion:
type: select
options:
- Dekan
- Prodekan
- Vorsitzende
- stellv. Vorsitzende
- Sprecher
- stellv. Sprecher
- Direktor
- stellv. Direktor
- Geschäftsführer
- stellv. Geschäftsführer
default: Dekan
help: Funktion wählen ggf. Zusätze in Notiz festhalten.
width: 1/2
note:
type: text
width: 1/2
Unfortunately, the panel loads slow when I add a lot of persons/pages within the structure. i.e. (>16s), with 20 persons in the structure (cf. screenshot)
I’m using @texnixe’s virtual pages approach with a csv file (see guide) to create ~4000 person pages. That might be the culprit, as I’ve read that kirby does not perform well with large flat file structures [Server response time - #2 by bastianallgeier](see post by @bastianallgeier). My idea is to come into a more tree-ish structure for the persons by creating subfolders by the first letter of their familyname, but I have no clue how to do this with virtual pages. Can anyone help me with this please?
Thank you very much in advance
- Johannes