Werken met lange lijsten
Elke lijst in het paneel — je accounts, het auditlogboek, je servers — werkt op dezelfde manier. Dat is met opzet: als je één lijst kunt bedienen, kun je ze allemaal bedienen. Deze pagina legt uit hoe, en vooral: wat de lijst je precies bel
Geschreven voor: Beheerder, Reseller, Klant
Elke lijst in het paneel — je accounts, het auditlogboek, je servers — werkt op dezelfde manier. Dat is met opzet: als je één lijst kunt bedienen, kun je ze allemaal bedienen. Deze pagina legt uit hoe, en vooral: wat de lijst je precies belooft. Want het verschil tussen "dit zijn alle resultaten" en "dit is de eerste pagina van de resultaten" is precies het verschil tussen een klant terugvinden en denken dat hij niet bestaat.
Sinds deze ronde doet de server het werk. Zoeken, filteren, sorteren en bijladen gebeuren allemaal aan de kant van het paneel, niet in je browser. Voor een lijst van tien regels merk je daar niets van. Voor een reseller met negenhonderd domeinen is het het verschil tussen een scherm dat meteen klaar is en een scherm dat een halve minuut staat te wachten.
De teller onder de tabel
Onder elke lijst staat één regel, en die is belangrijker dan hij eruitziet:
- "50 van 918" — je ziet vijftig regels, en er zijn er in totaal achttienhonderd… nee: negenhonderdachttien die aan je zoekopdracht en je filters voldoen. Er is dus méér, en scrollen laat het zien.
- "918 in totaal" — je ziet ze allemaal. Er komt niets meer bij.
- "50 van 10000+" — er zijn er zoveel dat het paneel gestopt is met tellen. Dat gebeurt alleen bij het auditlogboek, dat alleen maar groeit. Verfijn je zoekopdracht en het getal wordt weer exact.
Zie je "50 van 918" terwijl je net gezocht hebt, dan heeft je zoekterm dus níets weggefilterd. Zie je "3 van 3", dan heb je alles.
Zoeken
Typ in het zoekveld boven de tabel. Het paneel wacht een fractie van een seconde tot je stopt met typen en stuurt dan één vraag naar de server — niet één per toetsaanslag.
Waar hij op zoekt verschilt per lijst, maar het is altijd alles wat je in de kolommen ziet, en soms meer. Bij hostingaccounts zoekt hij op:
- de accountnaam en de notitie erbij
- de server waar het account op staat
- het pakket en de eigenaar
- en op alle websites van dat account — ook de websites die niet op de regel passen
Dat laatste is het handigst en het minst zichtbaar. Een klant heeft twaalf domeinen, de regel toont er twee en een "+10". Zoek je op het elfde domein, dan vind je die klant gewoon. De zoekopdracht loopt over de volledige lijst op de server, niet over wat er toevallig al op je scherm staat.
Twee dingen om te weten:
- Een
%of een_is gewoon een teken en geen jokerteken. Zoeken op%levert de accounts op met een procentteken in de naam, niet de hele vloot. - Bij het auditlogboek zoek je op de technische naam van een handeling (
mailbox.create), niet op de Nederlandse omschrijving. De omschrijving wordt in je browser gemaakt, dus de server kan er niet op zoeken. Typ jemailbox, dan vind je alles wat met mailboxen gebeurd is.
Filteren
Naast het zoekveld staan de filters van die lijst — bij accounts zijn dat de server en de status. Ze doen hetzelfde als zoeken: de vraag gaat naar de server, de teller verandert mee, en je begint weer bovenaan de lijst.
Filters staan in het webadres. Sta je op https://panel1.corecp.dev/accounts?state=suspended, dan kun je die link plakken in een ticket of een chat en de ander ziet precies dezelfde lijst. Dat werkt ook andersom: het paneel linkt zelf naar zulke lijsten, bijvoorbeeld vanuit "drie accounts staan geschorst" op het dashboard.
Het zoekveld staat er bewust niet in — dat zou bij elke toetsaanslag een stapje in je browsergeschiedenis maken en je terugknop onbruikbaar.
Sorteren
Klik op een kolomkop om erop te sorteren. Nog een keer klikken draait de richting om; het pijltje in de kop laat zien welke kant op. Kolomkoppen die niet klikbaar zijn, zijn kolommen waar geen zinnige volgorde voor bestaat.
Ook het sorteren gebeurt op de server, en dat is het hele punt: klik je op Websites, dan krijg je de klant met de meeste websites van de hele lijst bovenaan — niet de klant met de meeste websites van de vijftig regels die toevallig al geladen waren.
Sorteren zit óók in het webadres (?sort=domains:desc), dus "de accounts met de meeste websites, grootste eerst" is een link die je kunt bewaren.
Op het toetsenbord: tab naar de kolomkop en druk op Enter of spatie. Een schermlezer meldt de kolom als sorteerbaar en zegt in welke richting hij nu staat.
Verder bladeren
Scroll naar beneden en de volgende pagina laadt vanzelf bij. Onder de laatste regel staat daarnaast een knop Meer laden, en die is geen noodgreep: hij is er voor het toetsenbord, en voor als je bewust nog een pagina wilt zonder eerst langs vijftig regels te scrollen.
Er verschijnt nooit dezelfde regel twee keer, ook niet als er ondertussen een account bijkomt of verdwijnt. Het paneel onthoudt niet "ik was bij regel 50" maar "ik was bij dít account", en dat verschuift niet als er boven jou iets verandert.
Snelle acties op een regel
Rechts op elke regel staat een klein knopje met drie puntjes. Daar zitten de handelingen die je vaak op zo'n regel wilt doen zonder de pagina te verlaten — bij een account: openen, naar e-mail, naar bestanden, en schorsen of de schorsing opheffen.
Klikken op de regel zelf opent het zijpaneel met de details. Klikken op het puntjesknopje doet dat níet: die twee zitten elkaar niet in de weg.
Schorsen gebeurt meteen, zonder bevestiging, met een melding onderin waarin Ongedaan maken staat. Dat is expres: schorsen is omkeerbaar, en een bevestigingsvenster voor iets wat je met één klik terugdraait leert mensen om vensters weg te klikken zonder te lezen — precies wat je níet wilt bij de handelingen die je wél moet lezen.
Op je telefoon
Op een telefoon worden de regels kaarten, met dezelfde velden eronder als de kolommen in de tabel. Zoeken, filteren en bijladen werken hetzelfde. Wil je toch de dichte tabel — bijvoorbeeld om te vergelijken — dan staat er rechtsboven een schakelaar Kaarten / Tabel. Die keuze onthoudt het paneel, en hij geldt meteen voor élke lijst.
Voor wie het via de API doet
Dezelfde lijst is over de API te lezen, en de paginering zit in de headers zodat het antwoord zelf een gewone JSON-array blijft:
# één pagina, en de drie feiten erover
curl -si -b cookies.txt 'https://panel1.corecp.dev/api/v1/accounts?limit=25' \
| grep -i '^x-corecp-'
# X-CoreCP-Total: 918 ← zoveel regels voldoen aan het filter
# X-CoreCP-Next: dGVzdDEw… ← de cursor voor de volgende pagina
# zoeken, filteren en sorteren, allemaal in de query
curl -s -b cookies.txt \
'https://panel1.corecp.dev/api/v1/accounts?limit=25&q=shop&sort=domains&dir=desc'
# geen limit meegeven blijft de hele lijst geven, precies zoals vroeger
curl -s -b cookies.txt 'https://panel1.corecp.dev/api/v1/accounts' | jq 'length'Geef de cursor terug zoals je hem kreeg; het is een ondoorzichtige waarde en de inhoud ervan kan veranderen. Een cursor die je zelf verzint levert gewoon de eerste pagina op, geen foutmelding.