Verslag JUG Eindhoven 9 januari - Joomla Task Scheduler
Het is een koude frisse en natte december avond. Vanavond een demo avond over Joomla Task Scheduler.
Joomla Task Scheduler
Een handige toevoeging sinds Joomla 4.1. Aanmaken en beheren van geplande taken.
- Joomla Administrator > Systeem > Geplande taken
Met deze feature kun je taken inplannen die periodiek uitgevoerd moeten worden. Wordt je website druk bezocht, is de kans ook groot dat de taak uitgevoerd wordt op het ingestelde moment. Anders wordt de taak uitgevoerd bij de eerste bezoeker na het opgegeven moment.
Het is ook mogelijk de trigger niet te laten afhangen van het bezoek aan je site, maar middels een echte cronjob. Deze verwerk je direct op de server of via cPanel, Plesk, DirectAdmin of wat voor pagina dan ook als je hosting provider dit aanbiedt.
Verwerking op de server
Log met SSH in op je hosting omgeving
$ crontab -l
Met dit commando kun je zien welke crontab er op dit moment ingesteld is.
$ crontab -e
Met dit commando kun je de crontab bewerken.
* * * * * /usr/bin/php /path-to-joomla-root-dir/cli/joomla.php scheduler:run >> /path-to-joomla-root-dir/administrator/logs/joomla-scheduler.log 2>&1
Voorbeeld van hoe een cronjob ingesteld kan staan. Bovengenoemd voorbeeld roept elke minuut met php het bstand cli/joomla.php op en geeft de opdracht om scheduler:run uit te voeren. Het resultaat en andere berichten worden naar een log-bestand gestuurd.
Met het uitvoeren van het bestand wordt vervolgens gekeken naar de ingestelde geplande taken en bepaald of deze al dan niet uitgevoerd moeten worden. Als het ware een bezoeker die elke minuut op je site komt kijken of het wat moet doen.
Naast het argument scheduler:run kun je vanuit command line ook het argument scheduler:list opgeven. Hiermee haal je de lijst van geplande taken op. Hetzelfde als via de browser naar Joomla Administrator > Systeem > geplande taken.
Handige toepassingen
Joomla Administrator > Systeem > Geplande Taken > Nieuw
Bij klikken op de button Nieuw maak je een nieuw item voor Geplande Taken aan. Joomla Core heeft een aantal taken die gebruikt kunnen worden. Het kan ook zijn dat de lijst een stuk groter is doordat geïnstalleerde extensies taken hebben toegevoegd. Hieronder een aantal voorbeelden die genoemd zijn bij de JUG04
- Joomla Core => Image Size Check
met deze taak kun je de grootte van afbeeldingen aanpassen. Het kan voorkomen dat redacteuren grotere afbeeldingen toevoegen dan wenselijk is. Deze taak zorgt ervoor dat de afbeeldingen gereduceerd worden naar een ingesteld formaat. - Joomla Core => Delete Action Logs
met deze taak worden de action logs ouder dan een bepaalde tijd verwijderd. - Joomla Core => Global Check-In
met deze taak kunnen de slotjes van de content (en andere uitgecheckte items) verwijderd worden. Hierbij kan rekening gehouden worden met de tijd hoe lang iemand het artikel aan het bewerken is. Door deze taak elke nacht uit te laten voeren kan in de ochtend met een schone lei begonnen worden. - Akeeba Admin Tools => Delete Inactive Users
met deze taak kunnen geregistreerde gebruikers die nog nooit hebben ingelogd en nog niet geactiveerd zijn automatisch verwijderd worden. Hand voor deze website JoomlaCommunity waarbij het regelmatig voorkomt dat er gebruikers aangemaakt worden, zonder verdere actie. - Akeeba Backup => Take a backup
met deze taak kan er automatisch een backup gestart worden. - Coolcat Creations => CCC Timewarp
met deze plugin kun je content eenvoudiger beheren. Mocht een gekozen datum/tijd veld (bijv aanmaakdatum) kleiner zijn dan de huidige datum/tijd dan kun je settings laten wijzigen. https://coolcat-campus.com/en/extensions/joomla-task-scheduler-plugin-ccc-timewarp
Dit is toegepast op de agenda van Oeteldonk.org. De aanmaakdatum van een artikel wordt gebruikt voor de datum van een activiteit.- https://www.oeteldonk.org/activiteiten/agenda => toont de komende activiteiten
De actuele agenda toont alle gepubliceerde artikelen uit de category Agenda waarbij Speciaal op JA staat - https://www.oeteldonk.org/activiteiten/agenda/archief => toont de afgelopen activiteiten
De archief agenda toont alle gepubliceerde artikelen uit de category Agenda waarbij Speciaal op NEE staat - De geplande taak wijzigt Speciaal = JA naar Speciaal = NEE op moment de aanmaakdatum kleiner is dan NU.
- Sinds Joomla 4 (wow... blijkbaar al een tijdje) is er ook de mogelijkheid voor _Start Speciaal_ en _Stop Speciaal_ en is bovenstaande actie ook met Joomla Core mogelijk. (omdat RSForm plugin Create Articles nog niet zo ver is en de activiteiten via RSForm ingediend worden is het voor Oeteldonk,org nog niet mogelijk)
- https://www.oeteldonk.org/activiteiten/agenda => toont de komende activiteiten
Dr. Joomla
- vraag: Bij foutief invullen van een formulier verschijnt een error bericht in de Joomla message container. Op mijn website staat deze rechtsonder op de pagina en is haast niet leesbaar. Waar en hoe kan dit aangepast worden?
antwoord: de website in deze is gemaakt met HelixUltimate framework en deze plaatst inderdaad de Joomla Message Container rechtsonder in het scherm. Overschrijven van de CSS in je user.css maakt het mogelijk om de positie en kleuren te wijzigen. - vraag: Op de homepage van een website met Cassiopeia Child template wordt de ruimte tussen de banner en de eerstvolgende tekst als groot ervaren. Hoe verklein je die ruimte?
antwoord: Dit kan middels je user.css met de volgende wijziging
.container-banner { margin-bottom: unset; }
- vraag: Vanuit Joomla Administrator > System > Mail Templates zie je een overzicht van de e-mail templates. Per mail template kun je de content wijzigen. Hoe maak je een nieuwe template aan? De _Nieuw_ button ontbreekt namelijk.
antwoord: Op dit moment is het vanuit Joomla Administrator nog niet mogelijk nieuwe mail templates aan te maken. De aanwezige templates zijn daar bij installatie van Joomla gekomen middels een SQL opdracht. Zie https://github.com/joomla/joomla-cms/blob/1a5a37ce0990b9a5a30a3d842775afed89fbbe12/installation/sql/mysql/supports.sql#L410-L440
Om voor je eigen maatwerk extensie ook een mail template toe te kunnen voegen zul je een SQL statement moeten gaan schrijven. - vraag: Op een website met Cassiopeia Child template staan drie aanklibare plaatjes dicht bij elkaar, gescheiden door een spatie die dient als ruimte. Op mobiel ziet dit er niet uit. Hoe kan dit beter?
antwoord: Aangezien Cassiopeia gebruik maakt met Bootstrap kun je inspiratie halen vanuit de makers van Bootstrap. Zie bijvoorbeeld https://getbootstrap.com/docs/5.3/components/card/#grid-cards
De getoonde HTML kan ook gebruikt worden in Joomla editor. Schakel via TInyMCY > Gereedschap > Source Code of middels de button "Schakelen tekstverwerker" van de WYSIWYG editor naar de HTML Editor. Zorg er dan ook direct voor dat je geen tekst in het plaatje plaatst, maar deze als heading gebruikt in de card. Zorg voor goede HTML. Middels CSS wordt de opmaak verzorgd.
aanhakend op laatstgenoemde: op een van de pagina's (wellicht meer) wordt de titel van een paragraaf bepaald door een dikgedrukte paragraaf. Dat is niet correct. Maak gebruik van heading elementen (h1 t/m h6) voor de structuur. H1 voor de titel van de site en vervolgens h2 voor titels van paragrafen. Soms nog een h3 voor een sub paragraaf. Via CSS zorg je ervoor dat de styling van je heading komt zoals je die wil. Met de juiste HTML is je site nu en later op orde en eenvoudiger te wijzigen qua styling. (Complimenten voor het plaatsen van images in een figure element met een figcaption) - vraag: de website https://docs.joomla.org/J4.x:Joomla_Standard_Font_Awesome_Fonts toont niet alle iconen. Hoe komt dit?
antwoord: mogelijk loopt de genoemde pagina achter op de werkelijkheid. Omdat Joomla Administrator gebruik maakt van de meest recente versie van FontAwesome kun je de documentatie beter bij de bron ophalen: https://fontawesome.com/
Volgende keer
De volgende JUG Eindhoven is op de dinsdag 20 februari 2024, vanwege de carnaval op de derde dinsdag van de maand ipv de tweede dinsdag. Het onderwerp van deze meeting en de mogelijkheid tot aanmelden is terug te vinden op https://joomlacommunity.nl/agenda/overige/event/757-jug040-bijeenkomst-eindhoven
Vragen voor Dr. Joomla kun je kwijt als reactie onder de aankondiging.