Notes of a geek on SPIP

define(SPIP): A powerfull CMS that rocks !

SPIP 2.1 has been released yesterday !

,

This year’s version is looking good! It has been extensively tested and has benefited from a wide range of unit tests to make the programming more secure. Version 2.1 takes a first step towards splitting SPIP’s functions into modules. The new directory, “extensions” is a sign of this. The plugins in this directory are enabled automatically when SPIP is installed and cannot be disabled. This opens the way for the creation of specific SPIP distributions.

The main improvements of version 2.1

-  Faster:

  • Better management of disk access
  • Caching of calculated paths
  • Improvements and extension of the virtual SQL Server

-  More secure:

  • Sha256 on passwords and actions
  • Checking of the correct behaviour of .htaccess files
  • Automatic detection of SPIP updates

-  Better appearance:

  • Integration (as an extension) of the plugin "porte_plume" which helps with the editing of text fields and offers a preview while editing.
  • A GUI which is lighter and more elegant.
  • The editing area accepts graphical themes (such as those of the plugin "themes_interface_privee").
  • Better management of the size of text fields (conditional sizing).
  • Management (completely configurable) PNG24 transparency for MSIE6 on the public site.
  • New interface for managing plugins.
  • Updated procedures for backing up and restoring a site’s database.
  • Handling of URLs with accented characters by setting _TRANSLITTERER_URL to “false” (check the server configuration).

-  More up-to-date:

  • Compatibility with PHP 5.3.
  • jQuery updated to version 1.4.2.
  • Integration of pclzip version 2.8.2.

-  Slimmer:

  • A first set of core features have become “extensions”: compressor (js, css, html), porte-plume (toolbar), filters for images and colours (image processing), safehtml (security for forums and petitions), support for older browsers (via IE7.js).

-  More extensible:

  • New entry points for plugins.
  • New interface for managing of plugins with an associated directory (ecrire/plugins).
  • Plugins can be installed in one or more other directories if defined by the constant _DIR_PLUGINS_SUPP (makes pooling - mutualisation - easier).
  • The online help can be extended to include customised sections with automatic management of their translations.

-  Better structured:

  • Implementation of an authentication API.
  • Improvement of the LDAP interface.
  • A recasting of the notification API.
  • Standardisation of the #LOGO_ tags: parameters are now passed between braces and "double pipes" become obsolete (but still functional).
  • New tags and functions: #BOUTON_ACTION, |balise_img, |couleur_luminance (similar to |couleur_saturation but acting on the luminous intensity of the color).
  • Dynamic tags (of the type #FORMULAIRE_) can now work with values that are only calculated during compilation.

-  Easier to debug:

  • Improved debugger is now able to indicate the faulty line in a template.
  • Debugger now gives information on the exact location of the possible misuse of dynamic tags.
  • The debugger API is more flexible (more ways of calling it and customising it).
  • Improved include mode (?var_mode=inclure) which shows the various inclusions (integration with the Skeleditor plugin to overload and edit templates online).
  • Possibility of overloading the spip_log() function.

-  More geek:

  • Compiler provides better separation between the phraser and the abstraction hierarchy, thus allowing for new syntax (for the brave).
  • Reappearance of a complete and adjustable de-compiler for creating and testing new syntax.
Original Article: http://www.spip.net/en_article4729.html

SPIP uses sha256 instead of md5LOGO_DOCUMENT : How to use it with SPIP 2.1

Comments

Unregistered user Sunday, April 11, 2010 11:49:11 AM

David writes: A link to the source of this text would be great ... http://www.spip.net/en_article4729.html

tech-nova Sunday, April 11, 2010 12:56:26 PM

Oups' : It's corrected

Unregistered user Monday, April 12, 2010 6:51:46 AM

thsutton writes: Hi Gilles, Is there any documentation (English or French) on "Possibility of overloading the spip_log() function"? I assume that we can just overload inc_log_dist()? Cheers, Thomas

tech-nova Monday, April 12, 2010 2:07:53 PM

@thsbutton : Hi, you're right :
just create a file log() in squelettes/inc/, or plugins/AnyPlugin/inc. This file must contain a function named inc_log() ('_dist' isn't necessary). You must respect the original arguments :
  1. $message, // What you want to log
  2. $logname=NULL, // The identifier of your log ressource (ex. a filename)
  3. $logdir=NULL, // The directory or equivalent
  4. $logsuf=NULL // The suffix of the log file
Note that I intend to write a serie of small articles that illustrate each new functionality, with a minimal example -- and for the logging, why not using the database ?

Unregistered user Tuesday, April 13, 2010 2:15:36 AM

thsutton writes: Or, even better than the database: a remote syslog server! I'm going to be testing my syslog plug-in ( ) today. I've used similar code on some SPIP 2.0 sites and this sort of approach seems to work very well indeed. Once you have SPIP logging to a remote syslog, you can consolidate logs from multiple sites in one place in real time. Then you're in position to do monitoring and alerting for, e.g., security events. Cheers, Thomas

Write a comment

New comments have been disabled for this post.