Skip to content
This repository has been archived by the owner on Nov 25, 2020. It is now read-only.

Commit

Permalink
Display a small how-to when upgrade is not possible in-app (because o…
Browse files Browse the repository at this point in the history
…f linux packages).
  • Loading branch information
cdujeu committed Nov 2, 2015
1 parent 13fa675 commit 8967c6d
Show file tree
Hide file tree
Showing 3 changed files with 113 additions and 1 deletion.
8 changes: 7 additions & 1 deletion core/src/plugins/action.updater/class.UpdateController.php
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,13 @@ public function switchAction($action, $httpVars, $fileVars)

AJXP_Utils::safeIniSet("output_buffering", "Off");
if (AJXP_PACKAGING != "zip") {
print "Your installation is managed directly via os packages, you should not upgrade manually.";
$lang = ConfService::getLanguage();
$file = $this->getBaseDir()."/howto/linux_en.html";
if($lang != "en" && is_file($this->getBaseDir()."/howto/linux_$lang.html")){
$file = $this->getBaseDir()."/howto/linux_$lang.html";
}
$content = file_get_contents($file);
print $content;
break;
}
$res = AjaXplorerUpgrader::getUpgradePath($this->pluginConf["UPDATE_SITE"], "php", $this->pluginConf["UPDATE_CHANNEL"]);
Expand Down
52 changes: 52 additions & 0 deletions core/src/plugins/action.updater/howto/linux_en.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<div style="font-family:'Open Sans', Helvetica, Sans-serif;font-size:13px;line-height: 1.7em;">
<style>
code {
display: inline-block;
border: 1px solid #D8D8D8;
background-color: #F7F7F7;
border-radius: 3px;
padding: 1px 3px;
font-size: 14px;
margin: 4px 0;
}
</style>
<span style="color: #f00000"><i>Oops</i>: Your installation is managed directly via os packages, you cannot use the in-app updater.</span>

<h2>How-to upgrade?</h2>
<h3>1. Backup your Database</h3>

Use either a command line tool (e.g. mysqldump) or a GUI-based manager (e.g. phpMyAdmin) to entirely backup your database content.

<h3>2. Update the packages via command line</h3>

<p>Depending on your OS, you may have to issue one of the following command:<br/>
<code>$ yum update pydio</code><br/>
or<br/>
<code>$ apt-get install --only-upgrade pydio</code>
</p>
<p>Let the package manager do its job.</p>

<h3>3. Manually upgrade the database</h3>

<h4>Identify optional upgrade scripts</h4>

<p>
After the packages upgrades, please have a look inside the <i>/var/lib/doc/pydio/upgrade/db</i> folder.
This folder may contain a set of scripts named with version numbers for upgrading from one version to another.
If you find that one or many scripts are required to go from your previous version to the new one, you will have to apply them all.
For example, if you are running v6.0.5 and just upgraded to v6.0.8, you may have to run the scripts 6.0.5-6.0.6, 6.0.6-6.0.7 and 6.0.7-6.0.8.
</p>
<p>
Scripts are also suffixed with the according DB extension: .mysql is for MySql / MariaDB, .pgsql for Postgres and .sqlite for SQlite. Make
sur to use the correct one.
</p>

<h4>Apply the scripts if necessary</h4>
<p>
Once you have collected the necessary scripts, use either a GUI-based tool to connect to your DB and exectute the SQL queries (like PhpMyAdmin for example)
or apply the SQL by using command line.
<br/>
For example for MySql:<br/>
<code>$ mysql -u adminuser -p DBNAME << pydio-core-upgrade-6.0.7-6.0.8.mysql</code>
</p>
</div>
54 changes: 54 additions & 0 deletions core/src/plugins/action.updater/howto/linux_fr.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<div style="font-family:'Open Sans', Helvetica, Sans-serif;font-size:13px;line-height: 1.7em;">
<style>
code {
display: inline-block;
border: 1px solid #D8D8D8;
background-color: #F7F7F7;
border-radius: 3px;
padding: 1px 3px;
font-size: 14px;
margin: 4px 0;
}
</style>
<span style="color: #f00000"><i>Oops</i>: votre installation est gérée directement via les packages linux.</span>

<h2>Comment mettre à jour?</h2>
<h3>1. Sauvegarder votre base de données</h3>

Utiliser la ligne de commande (par example mysqldump) ou un outil graphique de gestion (par exemple phpMyAdmin) pour sauvegarder l'intégralité de votre base de données.

<h3>2. Mettre à jour via la ligne de commande.</h3>

<p>En fonction de votre OS, vous pouvez être amené à executer une commande du type:<br/>
<code>$ yum update pydio</code><br/>
ou<br/>
<code>$ apt-get install --only-upgrade pydio</code>
</p>
<p>Le gestionnaire de paquets va mettre à jour Pydio à la dernière version..</p>

<h3>3. Mise à jour manuelle de la base de données</h3>

<h4>Identification des scripts de mises à jour</h4>

<p>
Après la mise à jour des paquets, vous pouvez être amené à devoir manuellement mettre à jour la base de données. Voir dans le répertoire
<i>/var/lib/doc/pydio/upgrade/db</i>: ce répertoire contient des scripts SQL qui sont nommés avec des numéros de version identifiant des mises
à jour requises pour passer d'une version à une autre.
Si vous trouvez un ou plusieurs scripts nécessaires pour passer d'une version à une autre, appliquez les tous.
Par exemple pour passer de v6.0.5 à v6.0.8, vous devrez peut-être applique les scripts 6.0.5-6.0.6, 6.0.6-6.0.7 and 6.0.7-6.0.8.
S'il n'y a pas de scripts entre deux versions, c'est qu'il n'y a pas de mise à jour nécessaire.
</p>
<p>
Les scripts sont aussi suffixés en fonction de la base de données : .mysql pour MySql / MariaDB, .pgsql pour Postgres et .sqlite pour SQlite.
Bien utiliser ceux qui correspondent à votre base.
</p>

<h4>Appliquer les scripts SQL</h4>
<p>
Une fois que vous avez collecté les scripts nécessaire, utiliser un outil graphique ou la ligne de commande pour modifier
votre base de données avec ces scripts.
<br/>
Par exemple, pour mysql:<br/>
<code>$ mysql -u adminuser -p DBNAME << pydio-core-upgrade-6.0.7-6.0.8.mysql</code>
</p>
</div>

0 comments on commit 8967c6d

Please sign in to comment.