Updating from 1 .9 .x to 2 .0 .x

Since version 2 of SPIP is a major revision, updating a site from a version 1.9.x system is a little special.

A little advice to help the transition run a little smoother

  1. Deactivate all of your plugins using the admin page: ecrire/?exec=admin_plugin
  2. Make a database backup using the SPIP 1.9.x procedure: ecrire/?exec=admin_tech (details here)
  3. Retrieve this backup using FTP (it will be stored in the tmp/dump/ directory, or for even older versions, in the ecrire/data/ directory) and make sure you keep a local copy safe on your own machine.
  • Create a new folder at the root of your SPIP installation (e.g. old_spip/)
  • Move into this new folder all of the files and folders from your SPIP 1.9.x installation EXCEPT the IMG/ and config/ folders
  • If you have a personalised mes_options.php file, then move it into config/
    • The root directory should now only contain:
      • config/
      • IMG/
      • old_spip/

-  Use FTP to copy all of the files and folders for SPIP 2.0.x to the SPIP installation root directory, except for the IMG/ and config/ folders

  • The root directory should now contain:
    • CHANGELOG.txt
    • config/
    • COPYING.txt
    • ecrire/
    • htaccess.txt
    • IMG/
    • index.php
    • INSTALL.txt
    • local/
    • old_spip/
    • prive/
    • rien.gif
    • spip.php
    • squelettes-dist/
    • svn.revision
    • tmp/

-  Use your browser to open the admin interface http://my_site/ecrire/ [1]
-  Accept the update of the database

  • At this stage, you should find that the private zone still has all of the data from your old site, and navigating to the public pages should display them using SPIP’s default templates (coloured in purple)
  • If problems occur (e.g. empty pages), try temporarily renaming your mes_options.php file (in the config/ directory) as a means of temporarily deactivating it.

-  Now go and find the versions of the plugins that you use that have been modified for use with SPIP 2, and install these new versions in a folder named plugins/ that you will need to create.
Or if you prefer, after you have created the plugins/ folder and then a sub-folder within it called auto/, you can then use the plugin auto-installation procedure that is offered on the freshly updated admin page: ecrire/?exec=admin_plugin

-  All that’s left is to create the new customised templates folder squelettes/ (if you need one) and progressively copy your prior template customisations into it from the old_spip/squelettes/ folder

-  If you have a mes_fonctions.php file, check that its functions and declarations conform with the new functions and variables used by SPIP 2.0.x
-  The same applies if you have any PHP scripts previously included within your customised template files

-  If you don’t already have an active .htaccess file, you will need to rename the new htaccess.txt file as .htaccess in order to take advantage of the URL renaming methods propres, arbo...


Reminder :
The files stored in your squelettes/ folder take priority over the default ones stored in squelettes-dist/ or in prive/.

If your 1.9.x SPIP site had copied the structure of your squelettes/ folder over the top of the dist/ folder, be aware that 2.0.x brings some significant modifications to that structure and your will need to pay careful attention to not have ghost files being called instead of the new correct ones.
In particular, an old squelettes/login.html or squelettes/formulaires/login.html will take priority (and which might cause a problem ) over prive/login.html and prive/formulaires/login.html.

Also remember your style sheet and JavaScript script files.

-  Here is a list of files that were in dist/ (that you may have customised in squelettes/) and which have been moved or deleted:

old new
dist/favicon.ico deleted
dist/jquery.js.html deleted
dist/login.html prive/login.html
dist/sommaire_texte.html deleted
dist/spip_admin.css prive/spip_admin.css
dist/spip_style_invisible.css privé/spip_style_invisible.css
dist/spip_style_print.css prive/spip_style_print.css
dist/spip_style_visible.css prive/spip_style_visible.css
dist/spip_style.css prive/spip_style.css
dist/style_prive_defaut.css prive/style_prive_defaut.css
dist/style_prive.html prive/style_prive.html
dist/formulaires/choix_mots.html deleted
dist/formulaires/forum_previsu.html deleted
dist/formulaires/login_forum.html deleted
dist/formulaires/login.html prive/formulaires/login.html
dist/formulaires/menu_lang.html prive/formulaires/menu_lang.html
dist/modeles/doc.html prive/modeles/doc.html
dist/modeles/emb.html prive/modeles/emb.html
dist/modeles/img.html prive/modeles/img.html
dist/modeles/pagination_page_precedent_suivant.html prive/modeles/pagination_page_precedent_suivant.html
dist/modeles/pagination_page.html prive/modeles/pagination_page.html
dist/modeles/pagination_precedent_suivant.html prive/modeles/pagination_precedent_suivant.html
dist/modeles/pagination.html prive/modeles/pagination.html
dist/modeles/paginationitem.html prive/modeles/paginationitem.html
dist/icones_barre/ prive/icones_barre/
dist/images/ prive/images/
dist/javascript/ prive/javascript/
dist/vignettes/ prive/vignettes/

Generally speaking, we recommend you take your inspiration from the new template files in squelettes-dist/ and prive/ to rework and update your customisations in squelettes/.

If you have already performed your update by copying the SPIP 2.0.x files over the top of your SPIP 1.9.x installation, then there will undoubtedly by old files which have become obsolete and which you can delete:

-  Migration from 1.9.2i stable [14358] to 2.0.10 stable [14697]
These files which existed in 1.9.x, are now, in 2.0.x, either deleted or relocated
(This essentially concerns the ecrire/ directory and its sub-folders) it is recommended to delete them

-  ecrire/action/autoriser.php
-  ecrire/action/ical.php
-  ecrire/action/inscription.php
-  ecrire/action/instituer_mot.php
-  ecrire/action/instituer_rubrique_articles.php
-  ecrire/action/pass.php
-  ecrire/action/rss.php
-  ecrire/action/test_dirs.php

-  ecrire/base/db_mysql.php
-  ecrire/base/optimiser.php

-  ecrire/engines-list.txt

-  ecrire/exec/articles_ortho.php
-  ecrire/exec/editer_mot.php warning !!! not to be confused with ’ecrire/exec/editer_mots.php’ (plural) which is a 2.0.x file
-  ecrire/exec/export.php
-  ecrire/exec/forum_envoi.php
-  ecrire/exec/puce_statut_article.php
-  ecrire/exec/rubriquer.php
-  ecrire/exec/statistiques_svg.php

-  ecrire/extract/doc.php
-  ecrire/extract/pdf.php
-  ecrire/extract/rtf.php

-  ecrire/inc/auth_ldap.php
-  ecrire/inc/auth_spip.php
-  ecrire/inc/compacte_js.php
-  ecrire/inc/cron.php
-  ecrire/inc/editer_article.php
-  ecrire/inc/editer_mot.php warning !!! not to be confused with ’ecrire/inc/editer_mots.php’ (plural) which is a 2.0.x file
-  ecrire/inc/extra.php
-  ecrire/inc/indenter_xml.php
-  ecrire/inc/indexation.php
-  ecrire/inc/maintenance.php
-  ecrire/inc/ortho.php
-  ecrire/inc/popularites.php
-  ecrire/inc/sax.php
-  ecrire/inc/sites_voir.php
-  ecrire/inc/valider_xml.php
-  ecrire/inc/visites.php

-  ecrire/install/etape_5.php
-  ecrire/install/etape_6.php

-  ecrire/safehtml/classes/HTMLSax3.php
-  ecrire/safehtml/classes/safehtml.php
-  ecrire/safehtml/classes/HTMLSax3/Decorators.php
-  ecrire/safehtml/classes/HTMLSax3/States.php
-  ecrire/safehtml/license.txt
-  ecrire/safehtml/readme-SPIP.txt
-  ecrire/safehtml/readme.txt

-  ecrire/urls/propres-qs.php warning !!! not to be confused with ’ecrire/urls/propres_qs.php’ (with an underscore) which is a 2.0.x file

-  ecrire/xml/atom.php
-  ecrire/xml/ical.php
-  ecrire/xml/rss.php

-  ecrire/win_png.htc

-  The dist/ directory and all of its files (see above for THE TEMPLATE FILES)

-  The oo/ directory and its index.php file

-  The 3 files stored in the root directory:

  • inc-public.php3
  • UPGRADE.txt
  • win_png.htc


[1 For an old version of SPIP , accessing the ecrire/ directory will offer you the installation page for a new SPIP site.
-  Follow the normal procedure (language choice, database connection...)

  • step 1: you will need to enter your login identifier and your login password for the database (as a gentle reminder, these details are found in the ecrire/inc_connect.php3 file on the line that looks like: spip_connect_db(’server_address’,’server_port’,’login_identifier’,’login_password’,’database_name’);).
  • step 2: in the offered list for "select your database:", select the database used by your (old) SPIP installation (database_name from your previous inc_connect.php3) file.
  • step 3: enter your SPIP identifiers (name, login, pass)
    -  and then enter the ecrire/ directory
    -  confirm the message that reads "Technical message: the upgrade procedure should be run to adapt the database to the new version of SPIP." by clicking on click on this link
    -  confirm your action again

You are now in SPIP 2.0.x and your database has been updated.

Author Mark Published : Updated : 26/10/12

Translations : عربي, català, corsu, English, Español, français, italiano