SPIP 1.8.2

Bon dia a tothom !

la versió 1.8.2 d’SPIP es troba disponible a l’adreça

www.spip.net/ca_download

Es tracta de la última versió de la sèrie 1.8, ja que el desenvolupament d’SPIP canvia de sistema (passem de CVS a SVN), i es decidiran trencaments importants — sobretot, el pas de fitxers amb extensions ".php3" a extensions ".php", la reorganització dels directoris, etc.

Aquesta versió corregeix la majoria d’errors de programació (coneguts) de la versió 1.8.1, i hauria de ser més fiable.

Principals novetats:

Interfície i renderització

  • Nombroses millores de compatibilitat XHTML en la funció propre() i a nivell d’integració de documents en el text.
  • Millor «accessibilitat» de les taules.
  • Seguiment per RSS dels fòrums interns del lloc Web, de la missatgeria personal, i dels articles/breus etc. proposats per a ser publicats.
  • Opcions suplementàries per la sindicació de llocs Web: es pot «despublicar» automàticament els enllaços que ja no figurin en el fitxer de sindicació del lloc Web sindicat, i/o esborrar-los de la base de dades desprès d’un cert període. Per altra part, la lectura dels fitxers de sindicació sap llegir més elements, i particularment:
    • els documents remots (podcasting o enclosure, veure més avall);
    • les dates d’actualització
    • els canvis de títol o de contingut
  • La possibilitat, en l’espai privat, d’ajustar de manera més fina l’hora (i no només el dia) de publicació d’un article.

Gestió dels documents

-  Documents remots.

En el bloc que permet baixar un document associat a un article, és possible a partir d’ara esmentar l’URL d’un document «remot», que s’integrarà a la base de dades com si es tractés d’un document «local», però sense que el fitxer en sí estigui en el directori IMG/

Aquests documents remots estan referenciats de la mateixa manera que els documents locals: es pot modificar el seu títol, la seva descripció; l’SPIP controla l’existència d’aquests fitxers i la seva mida, i, en el cas de les imatges, en retorna una còpia localment per tal de fabricar automàticament les vinyetes reduïdes.

És possible enviar sistemàticament aquests documents remots, a partir d’un filtre que s’ha d’afegir als esquelets: |copie_locale. Aquest filtre funciona de la manera següent: després d’haver fet, si és presenta el cas, una còpia local del document (cosa que pot resultar llarga, si el document fa unes quantes MB), retorna simplement l’adreça local del document.

Finalment, l’SPIP integra aquesta noció de document remot en la sindicació: d’una banda, llegeix els fluxos de sindicació que indiquen els documents adjunts (podcasting), de l’altre, l’esquelet dist/backend.html publica en el mateix format els documents associats a l’article i que no figuren en el text de l’article (dit d’una altra manera, l’equivalent que apareix, en l’espai privat, en l’apartat carpeta / documents adjunts de l’article).

-  Indexació dels documents. Els títols i les descripcions de tots els documents són indexats, i per tant utilitzables en un
<BOUCLE(DOCUMENTS){recherche}{par points}{inverse}>
Quan és possible, l’SPIP també prova d’indexar el contingut dels documents (sobretot en el cas de documents amb formats HTML, TXT, PDF, RTF i DOC). Aquesta funcionalitat és extensible a altres formats desenvolupant scripts «extractors» (es pot imaginar fàcilment scripts d’aquests pels formats MP3 o OpenOffice).

-  Zip per l’upload. Quan es baixa un document «prohibit», o en tot cas no previst a la taula spip_types_documents (per exemple un fitxer .php), l’SPIP proposa a partir d’ara «zipper» (comprimir) el document. (Abans ignorava silenciosament la petició d’upload.)

Calendari en l’espai públic

L’SPIP 1.8.2 permet visualitzar en l’espai públic els calendaris de l’espai privat, i construir agendes tot aprofitant les eines de compaginació d’aquests calendaris. Aquesta possibilitat és subministrada mitjançant un nou criteri de bucle i tres nous filtres.

Per ampliar la informació, podeu llegir l’article «El calendari d’[SPIP 1.8.2]».

Nous filtres

-  Nou filtre |inserer_attribut{variable, valeur}, que permet forçar un atribut d’un marcador HTML.
Exemple d’ús:
[(#LOGO_ARTICLE|#URL_ARTICLE||inserer_attribut{alt,#TITRE})]

-  Nou filtre |alterner, que permet fer alternances de colors en una llista — via, per exemple, [(#COMPTEUR_BOUCLE|alterner{1,2,3})]; el número d’arguments dóna la periodicitat de l’alternança, que no és per tant forçosament una successió del tipus «parell/imparell». Exemples:

  • [(#COMPTEUR_BOUCLE|alterner{'yellow','blue'})] es pot utilitzar per posar colors diferents a les línies parells i imparells d’una taula.
  • Aquest bucle mostra una taula de com a màxim 17 articles, de 5 files i 4 columnes, completat, si és necessari, per una casella buida a la última fila:
<B_ar>
  <table border="1">
<BOUCLE_ar(ARTICLES){0,17}{par hasard}>
      [(#COMPTEUR_BOUCLE|alterner{'<tr>','','',''})]
              <td>#ID_ARTICLE</td>
      [(#COMPTEUR_BOUCLE|alterner{'','','','</tr>'})]
</BOUCLE_ar>
      [(#TOTAL_BOUCLE|alterner{'<td colspan="3"></td></tr>','<td colspan="2"></td></tr>','<td></td></tr>',''})]
  </table>
</B_ar>

Nota: essent aquest filtre purament «numèric», si l’apliquen a [(#ID_ARTICLE|alterner{1,2})], mostrarà 1 pels articles que tinguin un identificador imparell, i 2 pels identificadors parells.

-  Filtres d’URL «absolutes». Tots els enllaços proposats per l’SPIP (a partir de les dreceres [->article 11] o de les etiquetes del tipus #URL_ARTICLE) són enllaços «relatius», que no indiquen l’adreça completa del recurs lligat. Ara bé, per certs usos, com per exemple la sindicació, és útil tenir l’adreça absoluta. Per això s’han introduït dos filtres:
-  |url_absolue que s’aplica a les URL: [(#URL_ARTICLE|url_absolue)] ;
-  |liens_absolus que s’aplica als textos i transforma l’adreça dels enllaços i de les imatges: [(#TEXTE|liens_absolus)].

(El filtre |abs_url resumeix aquests dos filtres en un de sol, i aplica |url_absolue en els #URL_ARTICLE, i |liens_absolus en els elements de tipus #TEXTE.)

-  El filtre |reduire_image és a partir d’ara capaç de reduir les imatges a l’interior d’un text, i, per tant, pot ser aplicat a l’etiqueta #TEXTE. Una altra modificació d’aquest filtre: si se li indica la longitud 0 en vertical o en horitzontal, això significa que només l’altre dimensió s’haurà de tenir en compte per a la reducció. Així [(#LOGO_ARTICLE||reduire_image{60,0})] passarà el logotip a una dimensió horitzontal de 60 píxels màxim (la mida vertical serà calculada de manera que conservi les proporcions).

Millora de la sintaxi dels esquelets

-  Els esquelets per defecte passen al format XHTML 1.0 transicional.

-  Una etiqueta #DOSSIER_SQUELETTE permet lliurar una mica més fàcilment jocs d’esquelets fàcils d’instal·lar en subdirectoris.

-  #FORMULAIRE_FORUM accepta un argument que indica on ha de ser reenviada la pàgina on el visitant respon a un fòrum. En efecte, per defecte aquest indret havia esdevingut #URL_FORUM; però alguns usos poden exigir un retorn a la mateixa pàgina (anotació: [(#FORMULAIRE_FORUM{#SELF})]), o cap a una pàgina específica ([(#FORMULAIRE_FORUM{merci.php})]).

-  Generalització de les construccions del tipus [(#BALISE|filtre{[(#AUTRE_BALISE|autre_filtre)]})] a un nivell d’imbricació qualsevol. Aquesta possibilitat s’estén igualment als criteris en els bucles, llavors els claudàtors no són necessaris (i fins i tot refusats).

-  Per raons de normalització de sintaxi, l’etiqueta #EXPOSE reemplaça l’antiga etiqueta #EXPOSER. La única diferència resideix en el fet que cal escriure [(#EXPOSE{on,off})] en lloc de [(#EXPOSER|on,off)]

-  Quan una etiqueta utilitza el criteri {statut}, els paràmetres per defecte de l’estat dels elements lligats a aquest bucle desapareixen. En canvi, si els bucles (ARTICLES) normals continuen seleccionant només els articles que tenen l’estat de 'publie', un boucle <BOUCLE_a(ARTICLES){statut=prop}> anirà a seleccionar els articles proposats.

Igualment, el bucle <BOUCLE_indy(BREVES){statut IN prop, publie}> seleccionarà totes les breus proposades o publicades; l’etiqueta #STATUT permet mostrar per cadascuna l’estat corresponent (i, per exemple, donar una classificació css diferent en funció de l’estat).

-  el criteri {par ...} accepta actualment noms de camps SQL especificats dinàmicament, particularment per l’etiqueta #ENV, i la seva absència no provoca cap error SQL. A més, aquest criteri admet a dia d’avui la sintaxi {!par  ...} per ordenar de forma inversa totes les columnes indicades (aquest pot substituir el criteri inverse, sobretot quan es vol fer una ordenació complexe sobre diverses columnes). Per poder fer una classificació en ordre creixent per certes columnes i decreixent per altres, n’hi ha prou escrivint diversos criteris par.

Tot això permet escriure fàcilment esquelets de presentació d’una taula de diverses columnes integrant botons de classificació tant per cadascuna de les columnes com en un full de càlcul. Podem veure’n un exemple aquí.

* * *

Com ja és costum, aquestes novetats s’aniran traslladant progressivament a la documentació.

Autor merce Publié le : Mis à jour : 26/10/12

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