Zaken voor beheerders
Minimale systeemeisen
De server waar je website op draait moet minimaal de volgende zaken beschikbaar hebbben.
- PHP >= 7.1.x
- MariaDB 5.x of 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 5 en 10 is het pakket getest en daar werkt het op, 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 uiteraard via GitHub melden. Graag met de SQL-code, die de fout veroorzaakt, deze code is vaak in de logging te vinden.
Hoe tabellen uploaden?
Het uploaden de gegevens uit de Access-database naar de MariaDB kan op verschillende manieren. Voor het pakket maakt het niet uit welke je kiest, zolang de beide structuren maar exact gelijk zijn.
- In de Access-database zit in Bestandsbeheer een export-mogelijkheid naar een bestand met de juiste SQL. Selecteer de onderdelen die je wilt overnemen op deze website.
- Gebruik maken van MSA2MySQL. Dit tooltje kan onder andere vanuit een Access-database een export maken. In deze export staan SQL-statements die in een MariaDB ge-importeerd kunnen worden. Voor dit importeren kan je gebruik maken van Uploaden data (Beheerdersmenu) of bijvoorbeeld phpMyAdmin.
- Je kan gebruik maken van een sychronisatietool, zoals DB Convert.
- Je kan zelf een export/import bouwen. De benodigde tabellen om deze gegevens in te importeren worden automatisch door phpRBM aangemaakt.
Welke gegevens uploaden?
De volgende tabellen kunnen vanuit de Access-database naar de online-database ge-upload worden.
- Bewaking
- Bewseiz
- Boekjaar
- Diploma
- Functie *
- GBR
- Groep
- Lid *
- Kostenplaats
- Liddipl
- Lidmaatschap
- Lidond *
- LidRedNed
- Memo
- Mutatie
- Onderdl *
- Rekening
- Rekreg
- Vereniging *
De tabellen met een sterretje moeten minimaal ge-upload worden. Deze zijn namelijk nodig om het inloggen en de autorisatie te regelen.
Als de pasfoto's zichtbaar moeten zijn, dan moeten deze in de folder 'pasfoto' ge-upoad worden. De naamconventie is gelijk aan die van in de Access-database.
Mocht je bepaalde onderdelen (nog) niet gebruiken dan is het aan te raden om deze tabellen ook niet te uploaden.
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.
- Je kan onderaan het formulier het betreffende tabblad toevoegen en daaraan de tweede groep toevoegen. Deze optie is vooral handig als je een paar tabbladen heb waar meerdere groepen toegang toe moeten hebben.
- Je kan in de Access-database een extra groep aanmaken, die je automatisch met de leden van de andere groepen vult. Voor meer uitleg zie de handleiding van de Access-database. Deze optie is vooral handig als je veel tabbladen voor meerdere groepen beschikbaar wilt maken.
Online wijzigingen lokaal verwerken
Als gebruikers de mogelijkheid hebben om online wijzigingen door te voeren, dan moeten deze ook in de Access-database verwerkt worden. Hiervoor is de optie Downloaden wijzigingen gemaakt, deze optie is alleen zichtbaar als er wijzigingen te downloaden zijn. Download de wijzigingen als SQL-statements naar een bestand en importeer in het scherm Bestandsheer in de MS-Access database. Dit kan ook via een kopieer/plak actie. Het afmelden is zodat het pakket weet welke wijzigingen niet meer verwerkt hoeven te worden.
Gecombineerd muteren
Er zijn inmiddels een aantal zaken die zowel in de Access-database als in phpRBM gemuteerd kunnen worden. Hiervoor zijn ook uitwisselingen gemaakt, echter laat het verwerken van de wijzigingen, beide kanten op, niet te lang wachten. Hoe langer het duurt, hoe groter de kans dat zaken dubbel worden gedaan. Verder is het ook goed te weten dat je kan zien aan het RecordID/Nummer van een record of het online of in de database is ingevoerd. De even nummers komen uit de database en de oneven nummers uit phpRBM.
Implementatie
Hieronder volgt een lijstje van zaken die gedaan moeten worden cq. geregeld moeten worden bij de implementatie.
- Een URL en MariaDB-database beschikbaar hebben. Voor de eisen, zie de minimale systeemeisen.
- Bepalen welke onderdelen gebruiken gaan worden en dus welke tabellen geüpload moeten 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. Vooral de inlog-gegevens voor de database moeten vanaf het begin goed staan.
- Als de database ook voor andere zaken gebruikt wordt is het handig om een prefix voor de tabelnamen in te stellen. Zo weet je zeker dat er geen dubbele namen zijn. Ook staan ze dan allemaal 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. Ook wordt je gelijk naar de upload-mogelijkheid doorgestuurd.
- Doe als eerste een upload. Voordat je een upload gedaan hebt, kan je feitelijk niets. Voor de eerste upload hoef je niet ingelogd te zijn.
- 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.
- De nieuwste versie van de Access-database ST-RBM moet in gebruik zijn. De website en database worden kwa databasestructuur met elkaar in lijn gehouden. Dus bij een upgrade: zorg dat je van beide de laatste hebt. Mocht je niet naar de laatste versie van de Access-database willen of kunnen upgraden, dan kan je ook de gegevens uit jou versie, voor het uploaden, importeren in een database, die wel de laatste versie heeft. Andersom kan helaas niet.
- Optioneel: foto's van kaderleden updaten en aanvullen. Deze worden namelijk zichtbaar op de website.
- 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, hier aan te passen.
- Maak een template voor briefpapier.
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 nog 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. Wel is dit eenvoudig zelf te controleren. 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. Indien nodig worden tabellen in de database automatisch aangepast, hiervoor moet je wel naar het beheerdermenu gaan. 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 admin-menu zit een tabblad 'Onderhoud'. Hierin kan een backup worden gemaakt. Ook kunnen diverse tabellen worden opgeschoond. Per onderdeel staat een korte uitleg vermeldt.