Introductie
Onder eigen werk / maatwerk vallen de volgende zaken.
- Je kan eigen lijsten maken, middels zelf geschreven SQL-code.
- Je kan maatwerk maken en in het menu hangen.
- Je kan notificaties maken op basis van een eigen lijst of onderdeel.
De optie Eigen lijsten zit in het Beheerdersmenu.
Eigen lijsten via SQL
Indien je kennis hebt van SQL kan je hier je eigen queries bouwen. Feitelijk kan hier aan elke verenigingswens voldoen, zolang de gegevens maar beschikbaar zijn. Bij het muteren ook het resultaat bekijken.
Als andere gebruikers deze lijsten ook moeten kunnen gebruiken, dan kan je ze in het menu hangen, voor de optie 'Tonen in tabblad' in te vullen. Toevoegen kan alleen in bestaande tabbladen. Je moet autorisatie voor deze eigen lijst toevoegen.
Bij het bouwen van eigen lijsten is het van belang dat je op de performance let. Vooraf subqueries in grote tabellen willen de boel nogal eens vertragen.
Maatwerk
Als de behoefte aan een eigen lijst ingewikkelder is kan je ook je eigen PHP schrijven. Hierbij zijn een aantal zaken handig om rekening mee te houden.
- Om gebruik te maken van de standaard functionaliteit is het handig om het script te starten met "include '../includes/standaard.inc';". Het gebruik van standaard functies uit het pakket is aan te raden, omdat je daarmee meer concequent bent en het scheelt ook werk.
- Het is onmogelijk om alle standaard functionaliteit hier te omschrijven. Daarvoor zal je zelf in de code moeten kijken. De meest gebruikte zullen in './includes/database.php' staan.
- Je moet zelf de toegang in dit maatwerk regelen, dit kan het gemakkelijkst met de functie 'toegang()' in './includes/authentication.php'. En uiteraard moet je die toegang dan ook aan niet-admin-gebruikers toevoegen. Regel je de toegang niet, dan kan iedereen het maatwerk gebruiken, ingelogd of niet.
- Je kan maatwerk op dezelfde manier in het menu hangen als een eigen lijst.
- Je kan via maatwerk ook zelf de gegevens in de database aanpassen. Voorzichtigheid is hier uiteraard gewenst. En ook het dringende advies om dit via standaard functionaliteit uit het pakket te doen. Hierdoor heb je gelijk data-integriteit-controle en wordt het logboek gevuld. Voor elke tabel is een add, update en delete functie beschikbaar.
Notificaties
Met de functie 'eigennotificatie()' kan je automatisch lijsten versturen. Dit zijn geen mooi opgemaake lijsten/rapporten, maar voornamelijk als herinnering bedoeld. Je kan bijvoorbeeld eenvoudig de verjaardagen van de komende maand rondsturen. Deze functie heeft de volgende parameters.
- ID van de eigen lijst of het onderdeel
- Aan adres, aan welk email moet deze lijst worden verzonden.
- TypeActiviteitSpecifiek. Deze kan je het beste op -1 zetten, het heeft maken met de logging. -1 is ook de standaard waarde.
- Interval in uren, hoelang moet er worden gewacht na het versturen van de vorige? De standaard is 24 uur.
- CC, welk e-mailadres moet in de CC?
- Onderwerp, welk onderwerp moet de e-mail krijgen? De standaard is de naam van het onderdeel of eigen lijst.
- Vanaf-ID, vanaf welk e-mailadres moet de mail worden verzonden? Deze ID's zijn op te zoeken in Mailing->Instellingen.
Alleen de eerste twee parameters zijn verplicht, de overigen hebben een standaard-waarde.
Het aanroepen van deze functie kan je regelen in een cronjob en/of in './maatwerk/maatwerk.inc'. De e-mail wordt alleen verstuurd als de lijst minimaal één regel heeft.
Presentielijsten
Presentielijsten zijn specifiek per vereniging. Vandaar dat er is gekozen om gebruik te maken van 'Presentielijst.php' in de maatwerk-folder. Een werkend voorbeeld staat op Github. Deze kan naar hartelust worden aangepast of er kan een compleet eigen versie worden gemaakt.
De knop in 'Groepsindeling muteren' om presentielijsten te printen is alleen beschikbaar als dit maatwerk bestaat.