REST API v1.20240610 live

Al sinds 2012 biedt Conscribo een API aan haar klanten aan, om bijvoorbeeld vanuit een website of andere software met klant administraties te kunnen communiceren. Interne functies zoals de “Conscribo office connector” en de “Conscribo bonnetjesapp” en niet te vergeten het ledenportaal maken hier gebruik van, maar ook veel externe partijen gebruiken onze API.

De API in de huidige vorm liep op zijn eind. Origineel was deze gemaakt voor XML communicatie, en daarna zijn er verschillende JSON smaakjes aan toegevoegd, die met wat omwegen ook werkte.

We hebben vorige maand besloten de voorkant van de API volledig om te zetten naar een moderne REST API, die voor veel ontwikkelaars eenvoudiger zal zijn om te begrijpen en te implementeren, volledig gedocumenteerd volgens de OpenAPI 3 standaard.

De oude API blijft werken, maar wordt (buiten beveiligingsupdates) niet verder meer bijgewerkt.

In de nieuwe versie hebben we ook gelijk twee nieuwe “Endpoints” opgenomen, namelijk de mogelijkheid om Facturen aan te maken /raadplegen, en de mogelijkheid bestanden in de administratie te downloaden via het FPCDN.secure.conscribo.nl endpoint.

Lees er alles over in onze nieuwe OpenAPI documentatie:

https://www.conscribo.nl/APIDocs

Javascript framework update

Bij het maken van het nieuwe verbindingen overzicht, hebben we de tijd genomen om de werkwijze waarop modules in Conscribo gemaakt worden te herzien. “Vroeger” werden veel modules aan de serverkant gegenereerd, en aan de browserkant getoond (gerendered). Met de tijd is hier steeds meer “client side rendering” bijgekomen, omdat de functionaliteiten steeds complexer zijn geworden, en de verwachtingen hoger. De laatste jaren zijn we begonnen met het gebruiken van de server als “data provider” en wordt bij nieuwe functionaliteiten alle rendering in de browser gedaan.

Dit is een aantal keer gedaan (het transactiescherm en de Bank module is een goed voorbeeld hiervan), en we zijn nu op een punt dat we hier grotere stappen in willen zetten. Het verbindingenscherm is gemaakt met het nieuwe Conscribo JS framework Module component, en zit vol met nieuwe componenten die concepten als “overzichten” “filters” en “opgeslagen weergaves” samen brengen en op een uniforme manier laten werken, zodat we er sneller mee kunnen ontwikkelen.

Daarnaast hebben diverse Javascript componenten ook een flinke overhaul gehad, zoals b.v. het overzichten component, waar u nu in de kolomkop kolommen kunt toevoegen en verplaatsen ,en zelfs een snelfilter kunt toepassen. Veel andere javascript componenten zijn “gerefactored” naar moderne standaarden zodat ze sneller, en beter kunnen worden ingezet.

Verbindingen overzicht live

In de afgelopen maanden is er in het kader van de verbeteringen in de relatieverbindingen een nieuw verbindingenoverzicht toegevoegd.

Met dit overzicht kunt u verbonden relaties direct naast elkaar zien, (b.v. gezinnen met hun gezinsleden) of een “les” met “leerlingen”) en maatwerk overzichten maken die eerder erg lastig waren te genereren. Dankzij dit overzicht worden verbindingen tussen relaties weer iets gebruiksvriendelijker.

Ledenportaal: “Ledenlijst” Widget

We hebben een nieuwe widget toegevoegd aan het ledenportaal met de mogelijkheid om een ledenlijst op uw website te publiceren.

U vindt de widget in het onderdeel ‘Ledenportaal/widgets’ en kunt kiezen welke gegevens u publiceert. Ook kunnen uw leden zelf kiezen om met behulp van privacyinstellingen zelf bepaalde informatie niet te tonen.

De komende tijd willen we de functionaliteit van het ledenportaal uitbreiden en steeds bruikbaarder maken, met als doel dat u de nodige functionaliteit eenvoudig en laagdrempelig aan uw leden kunt aanbieden.

Transacties inlezen MVP

In sommige specifieke situaties is het prettig dat er een mogelijkheid is om bestaande transacties in een administratie in te kunnen lezen. Denk bijvoorbeeld aan de overstap vanuit een ander pakket, of een koppeling met andere software. We zijn er van overtuigd dat deze functionaliteit alleen in bepaalde gevallen nodig is, maar omdat de vraag om de functionaliteit regelmatig komt hebben we deze ingebouwd. Op dit moment is deze functionaliteit alleen beschikbaar op aanvraag.

Administratiekoppeling live

Er zijn een aantal situaties waarbij het prettig is om tussen verschillende administraties relatiegegevens te kunnen uitwisselen. Bijvoorbeeld als u een verenigingsadministratie en een stichtingsadministratie heeft, en u een set met relatiegegevens ook beschikbaar wilt maken in de stichtingsadministratie.

Ook in het geval dat een koepel van verenigingen graag gegevens wil synchroniseren uit administraties van haar lidverenigingen /afdelingen, is het fijn dat dit automatisch kan.

We hebben in alle administraties het mogelijk gemaakt om relatiegegevens te kunnen versturen en ontvangen vanuit andere administraties. U kunt deze functionaliteit inschakelen door via het menu “Instellingen” “Basisinstellingen” en dan het vinkje “Relaties tussen administraties kunnen synchroniseren (Administratiekoppeling)” aan te zetten.

U vindt hierna in het menu “Instellingen” “Administratiekoppeling” de nieuwe functionaliteit. Meer informatie over deze functie leest u hier: https://www.conscribo.nl/handleiding/Conscribo_algemeen/Inrichting_en_beheer/Administratiekoppeling/administratiekoppeling_inrichten.html/

Verbindingen scherm herbouwt

De komende tijd zal er tijd besteed worden om het concept van verbindingen tussen relaties verder uit te werken. Hier hebben we afgelopen weken een eerste stap in gezet, door een aantal concepten opnieuw te schrijven, en het verbindingen scherm opnieuw te ontwerpen.

De functionaliteit verbindingen tussen relaties bestaat al vele jaren, maar is eigenlijk nooit verder uitgebouwd dan het eerste ontwerp. Zo is het niet mogelijk bulkbewerkingen op verbindingen te doen, er is geen overzicht van verbonden relaties enz. De komende tijd gaan we hier verbetering in aanbrengen. De eerste stappen, (het verbindingen concept uit 2010 opnieuw ontwerpen en inbouwen) is met deze eerste versie compleet.

Aan de voorkant is er nog weinig gewijzigd, maar dit geeft ruimte om te zorgen dat alles zo stabiel mogelijk blijft, terwijl we het systeem verder aanpakken!

Bestandsreplicatie live

De bestanden die u in uw administratie op slaat, worden bij ons op harde schijven bewaard. Dat brengt een aantal problemen met zich mee.

De belangrijkste uitdaging bij bestandsopslag is dat schijven stuk kunnen gaan. Hier is in zekere mate omheen te werken door het gebruik van meerdere schijven in een “mirroring RAID” configuratie, waar al onze hardware mee is uitgerust. Voor backup, beschikbaarheid van data en onderhoudbaarheid, vereisen we echter dat de data op fysiek verschillende plekken beschikbaar is. Tot op heden werden alle bestanden met behulp van een nachtelijke backup naar een andere locatie gekopieerd, en op deze wijze veiliggesteld.

Op het moment dat een server met bestanden (fileserver) zou uitvallen, zou dit echter betekenen dat we een behoorlijke downtime hebben. Alle bestanden zouden namelijk van een andere locatie naar een nieuwe server moeten worden gekopieerd. Dit zou enkele dagen in beslag kunnen nemen. Ook zouden de bestanden die na de nachtelijke backup zijn aangemaakt verloren kunnen gaan.

Daarnaast zijn we bezig met een overgang van eigen servers in een datacentrum in Amsterdam, naar een Cloud gebaseerde omgeving. Hierbij willen we graag dat voor de snelheid, bestanden op beide fysieke locaties kunnen gebruikt worden.

Om dit alles goed te maken, hebben we een replicatielaag gemaakt in ons virtuele bestandsysteem. Deze kopieert direct zodra een wijziging aan een bestand gebeurt, het bestand over naar andere fysieke fileservers. Bij uitval van 1 server, kan een andere server dan zonder al te veel downtime de rol van fileserver opnemen. Sterker nog. Dankzij deze nieuwe laag, waren we gelijk in staat het ophalen van bestanden door klanten te versnellen, door een echte ‘Content Delivery Network’ laag toe te voegen. Dit systeem routeert een bestandsaanvraag direct door naar een beschikbare en actuele fileserver.

En dit alles met behoud van onze beveiligingslagen die toegang tot bestanden strak in de gaten houdt! Kortom. Een lastige maar toekomstbestendige ontwikkeling!

Eerste Hetzner servers in gebruik

Al jaren heeft Conscribo eigen hardware die we met behulp van colocation in een datacentrum in Amsterdam hosten. Dit heeft lang goed gewerkt, maar we hebben enige tijd geleden besloten hier vanaf te stappen. Het huren van virtual machines is wellicht wat duurder, maar haalt schaalbaarheids issues weg, en geeft ons de mogelijkheid, minder bezig te zijn met de hardware en virtualisatielaag. We hebben deze in eerste instantie eerst ingezet voor het ledenportaal, en een gedeelte van de fileservers, maar zullen na tests gedurende 2024 voor steeds meer functies gaan worden gebruikt, totdat we onze fysieke hardware uit kunnen faseren!

Devlog gestart

Conscribo is continu in ontwikkeling. Belangrijke /grotere wijzigingen delen we met klanten via onze nieuwsbrief. Met deze devlog proberen we een meer gedetaileerdere inkijk te geven in wat er allemaal gaande is aan de achterkant van Conscribo!