Home page > Debian > Spip package

Spip package

Sunday 13 July 2008, by Toots

I’ve just uploaded a new package for the SPIP content management webapp.

SPIP is a very powerfull CMS made by a team of french coders. It is widely used in the french-speaking part of internet, used in thousands of sites, ranging from personal home page to professional publication websites.

SPIP is somehow not well known in the eglish-speaking world, probably because most of the things happen in French... However, it’s fully translated and documented in English, as well as many other languages.

Packaging SPIP was quite easy. In particular, upstream handle database upgrade paths, even between two svn snapshots ! Also, they have a native multisite plugins that allows virtual hosts and websites running from the same copy.

The multisite feature is implemented in the debian package, and you can easily add or remove websites using the spip_{add,rm}_site commands.

I won’t describe all the features of SPIP. The most used is the skin one, which is much more than a skin interface. It looks more like a skin language. Using it you can make your website fit almost any possible layout and content.

Of course, I use SPIP for running this blog. An example of the skin language is RSS page that I have used to register to both debian and ocaml’s planet, filtering the messages by keywords. It is as follow:

#HTTP_HEADER{Content-Type: application/xml}
<?php echo '<'.'?xml version="1.0" encoding="#CHARSET"?'.'>'; ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
   <title>[(#NOM_SITE_SPIP|texte_backend)]</title>
   <link>#URL_SITE_SPIP/</link>
   <language>#LANG</language>

   <BOUCLE_1(ARTICLES){id_mot ?}{id_rubrique ?}{par date}{inverse}{0,10}>
      <item>
         <title>[(#TITRE|texte_backend)]</title>
         <link>#URL_SITE_SPIP/#URL_ARTICLE</link>
         <guid isPermaLink="true">#URL_SITE_SPIP/#URL_ARTICLE</guid>
         <description>[&lt;img src="#URL_SITE_SPIP/IMG/(#LOGO_ARTICLE|fichier)" align="left" hspace="4" vspace="4"&gt; ][(#INTRODUCTION|texte_backend)]</description>
         <dc:date>[(#DATE|date_iso)]</dc:date>
         <dc:format>text/html</dc:format>
         <dc:language>#LANG</dc:language>
         <dc:creator><BOUCLE_2(AUTEURS){id_article}>#NOM</BOUCLE_2></dc:creator>
      </item>
   </BOUCLE_1>
</channel>
</rss>

As the multisite plugin is only working with current svn code, I’m waiting for next upstream release to upload the package into debian Sid. However, you can already try it from experimental. From my usage, I have not seen any major issue from this package since now..

Reply to this article