Migrazione Magazine su Wordpress: differenze tra le versioni

Da Webmobili Wiki.
Riga 9: Riga 9:
impostiamo l'ambiente di sviluppo.
impostiamo l'ambiente di sviluppo.
<syntaxhighlight lang="yaml">
<syntaxhighlight lang="yaml">
version: '2'
version: '3.1'
 
services:
services:
   mariadb:
 
     image: docker.io/bitnami/mariadb:10.3
   wordpress:
     image: wordpress   
    ports:
      - 8080:80
     environment:
     environment:
       # ALLOW_EMPTY_PASSWORD is recommended only for development.
       WORDPRESS_DB_HOST: db
       - ALLOW_EMPTY_PASSWORD=yes
       WORDPRESS_DB_USER: webmobili
       - MARIADB_USER=bn_magento
       WORDPRESS_DB_PASSWORD: w3bm0b1l1
       - MARIADB_DATABASE=bitnami_magento
       WORDPRESS_DB_NAME: webmobili
     volumes:
     volumes:
       - 'mariadb_data:/bitnami/mariadb'
       - wordpress:/var/www/html
   magento:
 
     image: docker.io/bitnami/magento:2
   db:
     image: mysql:5.7   
     ports:
     ports:
       - '80:8080'
       - 3306:3306
      - '443:8443'
     environment:
     environment:
       - MAGENTO_HOST=localhost
       MYSQL_DATABASE: webmobili
      - MAGENTO_DATABASE_HOST=mariadb
       MYSQL_USER: webmobili
      - MAGENTO_DATABASE_PORT_NUMBER=3306
       MYSQL_PASSWORD: w3bm0b1l1
      - MAGENTO_DATABASE_USER=bn_magento
       MYSQL_ROOT_PASSWORD: w3bm0b1l1
      - MAGENTO_DATABASE_NAME=bitnami_magento
      - ELASTICSEARCH_HOST=elasticsearch
      - ELASTICSEARCH_PORT_NUMBER=9200
      # ALLOW_EMPTY_PASSWORD is recommended only for development.
       - ALLOW_EMPTY_PASSWORD=yes
    volumes:
       - 'magento_data:/bitnami/magento'
    depends_on:
       - mariadb
      - elasticsearch
  elasticsearch:
    image: docker.io/bitnami/elasticsearch:7
     volumes:
     volumes:
       - 'elasticsearch_data:/bitnami/elasticsearch/data'
       - db:/var/lib/mysql
 
volumes:
volumes:
   mariadb_data:
   wordpress:
    driver: local
   db:
   magento_data:
    driver: local
  elasticsearch_data:
    driver: local
</syntaxhighlight>
</syntaxhighlight>



Versione delle 14:20, 14 feb 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/GetAllArticles
e utilizzando le API di Wordpress è possibile trasferire tutti gli articoli sul database di Wordpress.

Wordpress su docker

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
    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:

Abilitare le API

Le API di Wordpress sono attive di default.
Le chiamate pubbliche non richiedono nessuna autenticazione, le chiamate che modificano dati vogliono la basic athentication.

Dal menu strumenti abilitare gli URL BELLI per avere le API sotto l'endpoint /wp-json/wp/v2/

POSTMAN - upload immagini

Chiamata alle API Wordpress per caricare le immagini
/wp-json/wp/v2/media/

Sezione Authorization

Settare Basic Auth -> nome utente e password admin di wordpress

Sezione Header

Sezione Body