Überblick

Das Update von BwPostman TimeControl auf die Version 2.0.0 bringt ein paar grundlegende Änderungen.

Das Plugin und die Events sind auf Joomla! 4 native umgestellt. Das bedeutet, dass BwPostman TimeControl 2.0.0 nicht mehr mit Joomla! 3 arbeitet. Dafür ist es zukunftssicher und kann auch mit Joomla! 5. Allerdings sollte das Update auf die Version 2.0.0 noch unter Joomla! 4 erfolgen, ein Update aus Joomla! 5 heraus ist nur mit einem Workaround möglich.

Dann wurde die Authentifizierung beim Start des Cronservers von Benutzername/Passwort auf die Authentifizierung mit dem Joomla API Token umgestellt. Das bedeutet, dass das Passwort des Benutzers, der per Cronserver die Newsletter versenden soll, nicht mehr notwendig ist. Dafür muss man für diesen Benutzer einen Joomla API Token erstellen.

Damit man mit der API arbeiten kann, die BwPostman bereit stellt, ist ein weiteres Plugin BwPostman Webservices Plugin nötig, das BwPostman ab der Version 4.3.0 mitliefert, einschließlich der nötigen Routen für die API und deren Auswertung. Also muss BwPostman erst mal auf die Version 4.3.0 aktualisiert werden, falls das noch nicht geschehen sein sollte.

 

Die für das Update nötigen Schritte im einzelnen:

  1. Wie gewohnt für das Update im Backend einloggen. Falls der Cronserver gestartet ist, stoppen.
  2. Falls noch nicht geschehen, BwPostman auf Version 4.3.0 aktualisieren.
  3. BwPostman TimeControl auf Version 2.0.0 aktualisieren, erst danach - wenn gewünscht - Joomla! auf Version 5 aktualisieren.
    Das Update auf Joomla! 5 ist aber für die Funktion von BwPostman und BwPostman TimeControl nicht nötig, beide arbeiten natürlich auch noch mit Joomla! 4.
  4. Sicher stellen, dass das Joomla!-Plugin API Authentifizierung – Web Services Joomla Token aktiviert ist.
    Damit wird die Authentifizierung per API for diese Joomla!-Installation grundsätzlich eingeschaltet.
  5. Sicher stellen, dass das Plugin BwPostman Webservices Plugin aktiviert ist.
    Damit wird die API von BwPostman eingeschaltet. Das Plugin sollte schon automatisch während des Updates von BwPostman TimeControl aktiviert worden sein.
  6. Den Benutzer, der in den Optionen des Plugins BwPostman TimeControl eingetragen ist, der Benutzergruppe "Super Users" zuweisen.
  7. Aus dem Backend ausloggen und als der Benutzer, der in den Optionen des Plugins BwPostman TimeControl eingetragen ist, wieder einloggen, damit der Joomla API Token für diesen Benutzer generiert werden kann.
  8. Diesen Benutzer einmal zum Bearbeiten aufrufen und speichern. Beim Speichern des Benutzers wird der Token automatisch von Joomla! generiert.
  9. Aus dem Backend ausloggen und wie gewohnt wieder einloggen, testen, fertig.

 

Warum muss der Benutzer, der den Cronserver starten soll, Super User sein?

Grundsätzlich würde es reichen, wenn der Benutzer, der die Newsletter per Cronserver versenden soll, im Backend die Wartung von BwPostman bedienen und Newsletter senden dürfte. Doch dazu muss er sich eben für das Backend authentifizieren. Joomla! bietet zur Zeit nicht die Möglichkeit, anderen Benutzergruppen als der Gruppe Super Users eine Authentifizierung per API zu erlauben. Folglich muss der Benutzer für den Cronserver eben dieser Benutzergruppe zugewiesen werden - hoffentlich nur vorübergehend.

 

Warum zwischendurch als Benutzer, der den Cronserver starten soll, im Backend einloggen?

Das ist eine Frage der Sicherheit. Der Token, mittels dem man sich an der API authentifiziert, hat dieselbe Stufe wie ein Passwort. Das soll ja außer dem Benutzer selbst kein anderer kennen, nicht einmal ein Super User. Wenn der Token generiert wurde, wird er auf dem Tab auch angezeigt, damit man ihn gegebenenfalls kopieren kann. Deshalb hat Joomla! die Generierung des Tokens auf den jeweiligen Benutzer beschränkt.

Für BwPostman TimeControl ist es nicht nötig, sich diesen Token zu notieren. BwPostman TimeControl arbeitet aus dieser Joomla!-Installation heraus, auch wenn die Authentifizierung zum Start des Cronservers über die API erfolgt. Somit besteht für BwPostman TimeControl die Möglichkeit, diesen Token automatisch zu erhalten.