Minimale systeemeisen
De server waar je website op draait moet minimaal de volgende zaken beschikbaar hebbben.
- PHP >= 8.2
- MariaDB 10.x of een gelijkwaardig alternatief.
- Mogelijkheid om e-mails te kunnen versturen.
Alternatief voor MariaDB
MariaDB kan ook vervangen worden door een compatibel product. Op MariaDB 10 is het pakket getest, het is voor mij niet te doen om elk alternatief te testen. Mocht je een foutmelding tegen komen op één van de alternatieven, dan kan je die op GitHub melden. Graag met de SQL-code, die de fout veroorzaakt, deze code is vaak in de logging te vinden.
Gebruikersbeheer
Het aanmaken van een login kan een gebruiker zelf regelen. Er zijn twee zaken waarbij actie van de webmaster noodzakelijk is.
- Een gebruiker wil een andere login. Hiervoor is de mogelijkheid gebouwd om een bestaand login te verwijderen (laatste kolom). Het betreffende lid kan dan zelf een nieuw login aanvragen.
- Een login is geblokkeerd, omdat er te vaak foutief mee geprobeerd mee in te loggen. In Beheer logins kan een login gedeblokkeerd (voorlaatste kolom) worden.
Autorisatiebeheer
In 'Beheerdersmenu/Autorisatie zie je alle mogelijkheden (tabbladen) van het pakket. Per mogelijkheid moet je aangeven welke groep leden uit de Access-database wat mag. Indien je meerdere groepen tot hetzelfde tabblad toegang wilt geven kan je dit op twee manieren doen.
- Met de plus (eerste kolom) het betreffende tabblad nogmaals toevoegen en die aan een andere groep toekennen. Deze optie is vooral handig als je een paar tabbladen heb waar meerdere groepen toegang toe moeten hebben.
- Je kan een extra groep aanmaken, die je (automatisch) met de leden van de andere groepen vult. Deze optie is vooral handig als je veel tabbladen voor meerdere groepen beschikbaar wilt maken.
Implementatie
Hieronder volgt een lijstje van zaken die gedaan moeten worden cq. geregeld moeten worden bij de implementatie.
- Een URL, webhosting met PHP en MariaDB-database beschikbaar hebben. Voor de eisen, zie de minimale systeemeisen.
- Gebruik bij voorkeur een sub-domein hiervoor. Een folder onder domein moet ook werken, maar dat wordt niet goed getest.
- Bepalen welke onderdelen gebruiken gaan worden.
- Download het pakket, pak hem uit. Het pakket is te downloaden via GitHub. Upload alle bestanden naar een folder op je website.
- Pas het bestand config.php aan.
- Het is handig om een prefix voor de tabelnamen in te stellen. Zo weet je zeker dat er geen dubbele namen zijn en staan ze bij elkaar.
- Ga in een browser naar de root van de website. De eerste keer worden, mits de login-gegevens voor de database correct zijn, de benodigde tabellen automatisch aangemaakt. Je krijgt de mogelijkheid om een lid aan te maken, die je webmaster maak. Daarmee kan je het pakket inrichten. Dit lid kan je later weer verwijderen.
- Stukje schrijven met verenigingsinformatie voor in de tab Vereniging/Introductie. Dit stukje komt in de template 'verenigingsinfo.html'.
- Middels autorisatiebeheer bepalen wie wat mag zien en/of doen.
- Bepaal wie het beheer gaat doen, dit kunnen ook meerdere mensen zijn.
- Optioneel: maak een eigen stylesheet om de website de look en feel van de vereniging te geven. Er zijn twee stylesheets, default.css en kleur.css. De stylesheet kleur.css staat in maatwerk. De gedachte is dat de default ongewijzigd gelaten wordt. Alle aanpassingen kunnen in kleur.css gedaan worden. Deze heet kleur, omdat dit voornamelijk aanpassingen in de kleuren zullen zijn. Het is technisch geen probleem om ook andere zaken, bijvoorbeeld de breedte van het scherm.
- Als je gebruik wil gaan maken van mailings: maak een template voor briefpapier.
Overzetten bestaande data
Als je start heb je waarschijnlijk al gegevens van de ledenadministratie in een bestand staan. Afhankelijk van je technische kennis kan je die op meerdere manieren overzetten.
- Als de gegevens in de Access-database st-rbm staan, hoef je alleen maar een upload te doen.
- Importeer deze gegevens in de tabellen in bovenstaande database en doe daarna de upload via phpMyAdmin.
- Gebruik phpMyAdmin om sommige tabellen te vullen.
Er zitten veel automatische controles van gegevens in het pakket. Ga, na het overzetten, naar Beheerdersmenu->Onderhoud dan worden al die controles uitgevoerd.
Opschonen logboek/logging
Dit is de tabel die het hardste groeit en dus is het noodzakelijk om deze regelmatig op te schonen, ook in het kader van de AVG. Middels een instelling kan je bepalen hoe lang logging bewaard moet blijven. Echter wordt diverse logging eerder verwijderd, zoals logging die niet aan een lid gekoppeld is, wordt na 18 maanden verwijderd.
In de code kan je zien welke logging er nog meer eerder wordt verwijderd. Dit opschonen moet zelf geïnitieerd worden in Beheerdersmenu->Onderhoud.
Config.php
In config.php kunnen de nodige zaken ingesteld worden. Een aantal zaken die hierin geregeld worden zijn:
- Host, login, wachtwoord van de MariaDB-server en SMTP-server
- Prefix voor tabelnamen, deze prefix moet op een underscore eindigen
- De webmasters
Verder is er in het beheerdersmenu een tab met instellingen beschikbaar. Hierin kunnen meer zaken worden ingesteld.
Cronjobs
De meeste webservers hebben iets van een cronjob, dit zijn automatisch uitgevoerde taken. In de folder maatwerk op GitHub staat het bestand jobs.php met wat voorbeelden van zaken die je hierin kunt opnemen.
Up-to-date houden van het pakket
Er worden updates van dit pakket via GitHub aangeboden. Er is geen automatische update of melding van een update beschikbaar. Rechtsonder op elke pagina staat de versie die je geïnstalleerd hebt. Bij de commits op GitHubs kan je zien wat er na die datum is gewijzigd.
De beheerder kan dan beslissen of deze verbeteringen de moeite waard zijn om de updaten. Om de update uit te voeren download je het pakket in zijn geheel en upload je deze naar je webruimte. Ga hierna naar Beheerdersmenu->Onderhoud, dan worden, Indien nodig, worden tabellen in de database aangepast. Kenners van GitHub kunnen ook die mogelijkheden voor updaten gebruiken, daarvoor verwijs ik naar de documentatie van GitHub zelf.
Het aan te raden om geen versie, die ouder dan een half jaar is, te gebruiken. Dit om te voorkomen dat database-conversies niet meer werken.
Database onderhoud
In het Beheerdersmenu zit een tabblad Onderhoud. Hierin kan een backup worden gemaakt. Ook kunnen diverse tabellen worden opgeschoond.