Plugins handmatig bijwerken (WordPress)

Uit De Vliegende Brigade
Ga naar: navigatie, zoeken

Wat is de beste manier om plugins bij te werken in situaties dat dit niet via WP-CLI of via de GUI gaat? En wat is een handige geautomatiseerde manier om betaalde plugins bij te werken?

Propriëtaire plugins automatisch bijwerken

Dit is een infrastructuur die ik gebruik voor bijwerken van propriëtaire plugins, of plugins die ik anderszins niet kan updaten via WP-CLI of via de GUI van een site:

  • Op media.example.com zijn de plugins beschikbaar als .tar.gz-files. Bv. my_plugin.tar.gz - Er worden geen verschillende versies bijgehouden
  • Met een script wordt zo'n bestand gedownload, uitgepakt, en in de juiste map gezet.

Eigenlijke bijwerken

Hoe doe je het 'eigenlijke' bijwerken, dus in de installatie? Gewoon de map overschrijven? Map eerst leegmaken en dan de nieuwe inhoud uploaden? Iets anders?

Vermoedelijk de beste aanpak ([1], [2]):

  1. Hernoem de bestaande plugin-map. Wat ik meestal gebruik: pluginnaam-bk-jjjj.mm.dd
  2. Maak nieuwe map aan
  3. Upload naar nieuwe map

Concurrrent versions?

  • De map pluginnaam-bk-jjjj.mm.dd wordt soms genegeerd. In de WP-interface zie je alleen de bijgewerkte plugin staan, niet per ongeluk twee keer deze plugin
  • Op het moment dat een plugin niet actief is, worden wel concurrent versies getoond - Geen probleem
  • Soms worden beide versies getoond, maar is alleen de nieuwe versie actief - Prima.

Eens in de zoveel tijd zou ik de backups handmatig kunnen verwijderen, want die stapelen zich op. Vooral omdat er altijd een backup wordt gemaakt als je deze routine aanroept, ook als er niets bij te werken is.

Er wordt niet gecontroleerd of er een update nodig is

Deze routine controleert niet eerst of bijwerken nodig is. Dat geeft twee problemen:

  • Als deze plugin niet is geïnstalleerd, wordt-ie nu alsnog geïnstalleerd (maar gelukkig niet geactiveerd)
  • Er wordt altijd een backup + nieuwe verse geplaatst.

Leuk voor later

  • Check inbouwen of het gegeven pad wel klopt - Daar zitten regelmatig fouten in, die slecht gedetecteerd worden
  • Check inbouwen of een update wel nodig is.

Bronnen