Skip to content
This repository has been archived by the owner on Oct 12, 2021. It is now read-only.

Latest commit

 

History

History
235 lines (172 loc) · 11.8 KB

CHANGELOG.md

File metadata and controls

235 lines (172 loc) · 11.8 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog and this project adheres to Semantic Versioning.

Table of releases

[0.2.9] - 2017-11-07

PR #66 PR #65

High level:

  1. Installation et configuration du plugin MainWP-Child avec clef "secrète"
  2. Added procedure in HOWTOs to explain how to update WP php files from historical repository

Low level:

  1. Extraction de la configuration du plugin MainWP-Child puis modification du nécessaire pour l'ajouter à la liste des plugins à installer.
  2. La clef secrète est actuellement mise dans la configuration générique du plugin.
  3. On ne créé plus d'instance de WPSite dans jahia2wp.py. C'est désormais fait dans WPPluginConfigExtractor (déjà demandé dans PR64 mais refait aussi ici pour que ça soit propre également).
  4. Ajout des scripts js pour le bon fonctionnement du menu déroulant du header EPFL: epfl-si/jahiap#126
  5. Le fichier "modernizr.custom.js" est renommé "modernizr.js": epfl-si/jahiap#279
  6. J'ai enlevé l'appel de toutes les images de fond inutiles dans la feuille de style epfl.scss (les images sont remplacées par des pictos avec FontAwesome): epfl-si/jahiap#279

[0.2.8] - 2017-11-06

PR #55

Updated Theme from following bugfixes on repo jahiap:

Id Description
240 Texte centré en vertical sur WP mais pas sur Jahia
129 Les titres sont tout en majuscule
188 Mauvais format des listes à puce
92 Les ligne de tableau invisible sont visibles
85 Menu déroulant "personnes" en haut à droite ne déroule pas
192 Affichage d'un rectangle gris à la place d'une division vide
170 La boite rouge dans le corps de page ne se colle pas à droite
169 Une div se colle à gauche au lieu de flotter à droite
89 Séparateur gris clair en trop dans les tableaux
239 couleur de background de paragraphe manquante
225 Dans les paragraphes des pages, il manque le surlignage en couleur de cert[...]

[0.2.7] - 2017-11-01

PR #57

high level:

  1. new commands backup and backup-many to backup one single site or all sites in source of trust.

     $ python jahia2wp.py backup $WP_ENV http://localhost
     ...
     $ python jahia2wp.py backup-many path/to/csv
     ...
    
  2. Backups are full by default, but can be incremental by using option --backup-type

     $ python jahia2wp.py backup $WP_ENV http://localhost --backup-type=inc
     ...
    
  3. new environment variable BACKUP_PATH to define where to store backups (by default: jahia2wp/data/backups)

low level:

A backup of a WordPress site relies on a WPConfig, and is called/used in a similar way as WPGenerator. It creates three files:

  • a .tar of all WP files (php, assets, media)
  • a .list reference file for incremental backups
  • a .sql dump of the database

Backups are stored in BACKUP_PATH (by default: jahia2wp/data/backups), with the following name convention: <wp_site_name>[_<timestamp>]_fullN[_incM].<tar|list|sql>

DISCLAIMER: next iteration might revise this structure for something more easily exploitable, such as:

backups
├── site_1
│   ├── 2017-10-31
│   │   ├── full-201710310945.tar
│   │   ├── inc-201711012300.tar
│   │   ├── inc-201711022301.tar
│   │   └── inc-201711032310.tar
│   └── 2017-11-06
│       └── full-201711060946.tar
├── site_2
│   └── 2017-11-06
│       ├── full-201711060947.tar
│       └── inc-201711060946.tar
└── site_3

[0.2.6] - 2017-10-31

PR #54

High level changes:

  1. L'extraction des informations de configuration d'un plugin est faite de manière interactive (le script se met en attente jusqu'à ce que la configuration soit faite). Une option extract-plugin-config a été ajoutée à jahia2wp.py
  2. les commandes generate et generate-many utilisent les nouveaux fichiers de configuration des plugins (YAML) de manière transparente pour installer et configurer les plugins

DISCLAIMER : Les fichiers de configuration sont pour l'instant créés manuellement, de manière indépendante de la source de vérité. Une prochaine itération reverra ce système pour redonner la main à la source de vérité, et pouvoir générer tous les fichiers de configuration automatiquement

Low level changes:

  1. le fichier config.py a été éclaté en config.py, plugins.py et themes.py
  2. Les classes suivantes ont été ajoutées pour la gestion des plugins (dans plugins.py):
    • WPPluginConfigManager fourni des accès MySQL et des informations sur la structure des tables où sont stockées les informations de configuration des plugins
    • WPPluginConfigExtractor (hérite de WPPluginConfigManager) permet d'extraire les informations de configuration d'un plugin (stockées potentiellement dans X tables différentes) et de les sauver dans un fichier YAML
    • WPPluginConfigRestore (hérite de WPPluginConfigManager) permet de restaurer les informations de configuration d'un plugin à partir d'une instance de WPPluginConfigInfos (décrite ci-dessous).
    • WPPluginConfigList fourni la liste des plugins à installer/configurer pour un site web donné par un id unique (cet ID doit encore être ajouté dans la source de vérité).
    • WPPluginConfigInfos permet de reconstruire les informations de configuration d'un plugin à partir d'une configuration générique à X sites et d'une potentielle configuration spécifique pour un site donné. Ces informations sont ensuite utilisées par WPPluginConfigRestore afin d'être mises dans la DB.
  3. Du fait que l'on doit potentiellement remettre des options dans d'autres tables que la table "options" et que WPCLI ne permet que d'ajouter des informations dans cette dite-table, l'utilisation d'un package pip (PyMYSQL) pour faire les requêtes dans la DB a été faite. WPCLI n'est donc plus utilisé pour mettre les options dans la DB, tout est fait depuis le package.
  4. Pour ce qui est de la configuration spécifique des plugins, pour le moment, seule la table options est gérée par le code.
  5. Les nouvelles classes créées sont utilisées pour paramétrer les plugins lors de la génération d'un site.

[0.2.5] - 2017-10-20

PR #51

high level:

  1. Installation and activation of plugins
  • add-to-any
  • BasicAuth
  • black-studio-tinymce-widget
  • tinymce-advanced
  • epfl_infoscience
  1. Configuration of add-to-any
  2. Create Main menu

low level:

  • possibilité de surcharger le port ssh du conteneur de mgmt avec la variable WP_PORT_SSHD, et celui du conteneur phpmyadmin avec WP_PORT_PHPMA.

[0.2.4] - 2017-10-19

PR #48 & PR #50

high level:

  1. added command download
  2. added vars JAHIA_* in .env.sample, please update your .env file to make use of the download command
  3. Ajout d'un pull des images lorsque l'on fait un 'up'
  4. Ajout d'une règle 'clean' pour nettoyer les fichiers WordPress et ceux de la DB en local.

low level:

  1. migrate crawler from jahiap
  2. break code into modules SessionHandler, JahiaConfig, JahiaCrawler
  3. support username, password, host from either .env or CLI arguments
  4. added tests

[0.2.3] - 2017-10-10

PR #33

Features deprecated in 0.2.3

  1. check-one, generate-one and clean-one deprecated. Use check, generate and clean instead

high level:

  1. added command version
  2. added command admins
  3. added command inventory
  4. improved command check-one: actually checks that config is ok with wp-cli
  5. improved command generate-one with parameter --admin-password to force password for admin instead of creating a random one
  6. improved CLI messages when running jahia2wp.py script

low level:

  1. improved commands (run_command, run_mysql, run_wp_cli), which actually return output, do not display stderr, but keep it available on error cases
  2. extended Utils to read csv from strings and to provide run_command
  3. improved WPSite with a factory method which take openshift_env and path instead of url
  4. improved model WPUser to get role
  5. improved WPRawConfig which now gives access to wp-config variables, and users openshift_env and url
  6. used veritas.validators in wordpress models
  7. added deprecated decorator in utils.py

PR #41

No need to rely on fixed container names

  • Find containers by com.docker.compose.service label in Travis
  • Find the "mgmt" container by an ad-hoc label for "make exec"
  • Inter-Docker references by host name (e.g. "db") keep working, thanks to Docker's magic

[0.2.2] - 2017-10-08

PR #40

Organize the Makefile rules to make them more fool-proof

  • Make as many targets as possible idempotent (= won't hurt if run twice)
  • Split out Makefile.mgmt for targets that only make sense from inside Docker; have that file show up as "the" Makefile from the container (by way of a Docker volume)
  • Make the "make bootstrap-mgmt" step implicit for the interactive use case (vjahia2wp)

[0.2.1] - 2017-10-05

Commit 7c0365e

  • possibilité de surcharger les variables du Makefile WP_ENV, WP_PORT_HTTP et WP_PORT_HTTPS par les celles d'environnement ou par la ligne de commande (par exemple WP_PORT_HTTP=81 WP_ENV=my-env make vars)

PR #22

  • création et suppression d'un Wordpress (avec le thème EPFL) par generate-one et clean-one
  • création de plusieurs sites à partir d'un CSV avec generate-many
  • consolidation du docker-compose et du Makefile pour créer un environnement local identique à l'environnement de production. Description dans le README et le INSTALL_DETAILED

2017-09-20

PR #5

  • added .env(.sample) file to define all environment vars
  • updated make, docker-compose consequently
  • added phpmyadmin in docker-compose
  • updated README

[0.1.0] - 2017-09-14

  • initial revision