Migrazione Magazine su Wordpress: differenze tra le versioni

Da Webmobili Wiki.
 
(81 versioni intermedie di 3 utenti non mostrate)
Riga 1: Riga 1:
Progetto '''concluso''' il giorno '''17 ottobre 2022'''.<br/><br/>
Il progetto ha l'obiettivo di spostare tutti gli articoli di '''Magazine''' (Episerver) su una nuova istanza aggiornata di '''Wordpress'''.
Il progetto ha l'obiettivo di spostare tutti gli articoli di '''Magazine''' (Episerver) su una nuova istanza aggiornata di '''Wordpress'''.


Partendo dall'estrazione per i post del magazine <br/>
Partendo dall'estrazione per i post del magazine <br/>
<code>https://magazine.designbest.com/api/GetAllArticles</code><br/>
<code>https://magazine.designbest.com/api/GetAllArticlesForWordpress</code><br/>
e utilizzando le '''API di Wordpress''' è possibile trasferire tutti gli articoli sul database di Wordpress.
e utilizzando le '''API di Wordpress''' è possibile trasferire tutti gli articoli sul database di Wordpress.


Riga 22: Riga 24:
       WORDPRESS_DB_PASSWORD: w3bm0b1l1
       WORDPRESS_DB_PASSWORD: w3bm0b1l1
       WORDPRESS_DB_NAME: webmobili
       WORDPRESS_DB_NAME: webmobili
      WORDPRESS_DEBUG: 1
      TZ: "Europe/Rome"
     volumes:
     volumes:
       - wordpress:/var/www/html
       - wordpress:/var/www/html
Riga 42: Riga 46:
</syntaxhighlight>
</syntaxhighlight>


== Abilitare le API ==
<b>php.ini</b><br/>
Le API di Wordpress sono attive di default.<br/>
Per conoscere il folder del file di configurazione di PHP -> <code>cd $PHP_INI_DIR/</code><br/>
Le chiamate pubbliche non richiedono nessuna autenticazione, le chiamate che modificano dati vogliono la '''basic athentication'''.<br/>
Andare in <code>/usr/local/etc/php/conf.d</code><br/>
 
Creare ad esempio un file uploads.ini con la direttiva -> <code>upload_max_filesize=10M;</code>
Dal menu <code>Impostazioni -> Permalink</code> abilitare gli URL BELLI per avere le API sotto l'endpoint <code>/wp-json/wp/v2/</code>
 
Scaricare il plugin Basic Authentication da qui: <code>https://github.com/WP-API/Basic-Auth</code>
 
== POSTMAN - upload immagini ==
Chiamata alle API Wordpress per caricare le immagini<br/>
<code>/wp-json/wp/v2/media/</code>
 
=== Sezione Authorization ===
 
Settare Basic Auth -> nome utente e password admin di wordpress


=== Sezione Header ===
== Release in produzione ==
 
Il giorno in cui saliremo in produzione dovremo:
[[File:POSTMAN WP-uploads-image.png]]
 
=== Sezione Body ===
 
[[File:POSTMAN WP-uploads-image-01.png]]
 
== Wordpress ==
=== Ambiente di Test ===
<code>http://designbestmagazine.dbdemo47.com/</code>
<pre>
Admin    -> admin
Password -> W3bm0b1l!
</pre>
 
=== Creazione del tema child ===
Creare il tema figlio.<br/>
 
Scaricare il plugin '''Child Theme Configurator'''<br/>
<code>Strumenti => Child themes</code>
e crearlo spuntando ''Separate Stylesheet'' e flaggare la casella per ''la copia dei menu''.
 
=== API Wordpress ===
 
==== Categorie e sottocategorie ====
 
Chiamata Json
<code>POST http://designbestmagazine.dbdemo47.com/wp-json/wp/v2/categories</code>
<syntaxhighlight lang='json'>
{
    "name": "Bagni",
    "slug": "bagni",
    "parent": 2,
    "description": "Descrizione bagni",
    "meta":
}
</syntaxhighlight>
 
 
==== Articoli ====
Chiamata Json
<code>POST http://designbestmagazine.dbdemo47.com/wp-json/wp/v2/posts</code>
<syntaxhighlight lang='json'>
{
    "title": "Titolo articolo",
    "content": "descrizione articolo.",
    "categories": 1,
    "status": "publish",
    "slug": "",
    "featured_media": IDmedia
}
</syntaxhighlight>


==== Immagini e media ====
* Togliere la password da <code>designbestmagazine.com</code>
Chiamata Json
* Attivare sito ''OldMagazineRedirect''
<code>POST http://designbestmagazine.dbdemo47.com/wp-json/wp/v2/media</code>
* Inserire binding <code>old.magazine.dbdemo47.com</code> in sito ''DesignbestMagazine'' e togliere <code><del>magazine.designbest.com</del></code> (sia certificato che senza) e attivare la Basic Auth
Vedi riferimento a PostMan per l'uso.
* Inserire binding <code>magazine.designbest.com</code> a ''OldMagazineRedirect'' (con certificato SSL e senza)
* Rel di Designbest senza Magazine
* Testare i redirect
* Sul "vecchio" Magazine ricordarsi di cambiare il dominio dall'admin Episerver: <code>old.magazine.dbdemo47.com/episerver</code>
* Vecchio magazine sotto password

Versione attuale delle 09:44, 28 ott 2022

Progetto concluso il giorno 17 ottobre 2022.

Il progetto ha l'obiettivo di spostare tutti gli articoli di Magazine (Episerver) su una nuova istanza aggiornata di Wordpress.

Partendo dall'estrazione per i post del magazine
https://magazine.designbest.com/api/GetAllArticlesForWordpress
e utilizzando le API di Wordpress è possibile trasferire tutti gli articoli sul database di Wordpress.

Wordpress su docker

[modifica]

Utilizzando questo docker-compose.yml
impostiamo l'ambiente di sviluppo.

version: '3.1'

services:

  wordpress:
    image: wordpress    
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: webmobili
      WORDPRESS_DB_PASSWORD: w3bm0b1l1
      WORDPRESS_DB_NAME: webmobili
      WORDPRESS_DEBUG: 1
      TZ: "Europe/Rome"
    volumes:
      - wordpress:/var/www/html

  db:
    image: mysql:5.7    
    ports:
      - 3306:3306
    environment:
      MYSQL_DATABASE: webmobili
      MYSQL_USER: webmobili
      MYSQL_PASSWORD: w3bm0b1l1
      MYSQL_ROOT_PASSWORD: w3bm0b1l1
    volumes:
      - db:/var/lib/mysql

volumes:
  wordpress:
  db:

php.ini
Per conoscere il folder del file di configurazione di PHP -> cd $PHP_INI_DIR/
Andare in /usr/local/etc/php/conf.d
Creare ad esempio un file uploads.ini con la direttiva -> upload_max_filesize=10M;

Release in produzione

[modifica]

Il giorno in cui saliremo in produzione dovremo:

  • Togliere la password da designbestmagazine.com
  • Attivare sito OldMagazineRedirect
  • Inserire binding old.magazine.dbdemo47.com in sito DesignbestMagazine e togliere magazine.designbest.com (sia certificato che senza) e attivare la Basic Auth
  • Inserire binding magazine.designbest.com a OldMagazineRedirect (con certificato SSL e senza)
  • Rel di Designbest senza Magazine
  • Testare i redirect
  • Sul "vecchio" Magazine ricordarsi di cambiare il dominio dall'admin Episerver: old.magazine.dbdemo47.com/episerver
  • Vecchio magazine sotto password