Skip to content
Extraits de code Groupes Projets
  1. sept. 04, 2007
  2. sept. 03, 2007
  3. sept. 02, 2007
  4. sept. 01, 2007
    • Christian Lefebvre's avatar
      autodoc · adc099db
      Christian Lefebvre a rédigé
      adc099db
    • esj's avatar
      Nouvelles URLs propres. Le système d'URL propres de SPIP avait certaines... · 274dcf3c
      esj a rédigé
      Nouvelles URLs propres. Le système d'URL propres de SPIP avait certaines limitations et reposait sur une implémentation spécifique à MySQL. Puisqu'il était nécessaire de les réécrire pour finaliser le portage de SPIP en PostGres, on en profite pour lever une de leur limitations: SPIP mémorise à présent toutes les URL propres ayant été associéés à un objet depuis sa publication. 
      
      Comme auparavant, une URL propre d'un objet publié est créée le plus souvent lorsque qu'une page qui la référence est visualisée dans l'espace public. Comme auparavant, il est nécessaire qu'un administrateur clique sur "voir en ligne" ou "prévisualiser" pour provoquer un nouveau calcul. En revanche, ce nouveau calcul interviendra systématiquement (plus besoin de dépublier puis republier), et s'il fournit une URL différente, elle n'écrasera pas l'ancienne, mais viendra s'ajouter comme URL la plus récemment introduite. Lors des appels ultérieurs de la fonction de génération d'URL associée, elle sera donc choisi prioritairement. Au cas où une nouvelle modification produit un calcul d'URL retombant sur une ancienne URL propre, la date d'introduction de celle-ci est actualisée afin qu'elle redevienne prioritaire, ce qui permet de respecter la contrainte d'unicité et d'éviter aux indécis de remplir cette table par leurs begaiements.
      
      Ces nouvelles URL profitent du travail pionnier entamé par Toggg sur spip_zonesous le nom d'[http://zone.spip.org/trac/spip-zone/browser/_plugins_/_dev_/urls_libres URLS libres]. L'implémentation en est toutefois différente, afin de satisafaire aux besoins de PostGres. Aussi, elles sont gérées par une table ayant ces valeurs comme clé primaire, ce qui devrait accélérer leur recherche, et permet d'évacuer le dernier verrou spécifique à MySQL.
      
      Remarque: au moment de la mise à jour avec cette nouvelle implémentation, les URLs propre courament dans la base seront recopiées dans la nouvelle table, sans aucune perte.
      274dcf3c
    • tetue's avatar
      - plus simple encore pour la couleur des h3 · cb7209ea
      tetue a rédigé
      - des legend en couleur, pour qu'elles ne soient pas bleues-moches sous IE/Win, et sans background :-P
      cb7209ea
    • tetue's avatar
      - une hr sur toute la largeur : c'est plus logique et ca passe mieux dans IE/Win · e8a30614
      tetue a rédigé
      - notes de bas de page plus petites mais pas trop
      - pas besoin de font-size pour le code
      - indentation
      e8a30614
    • izo.rezo.net's avatar
      Hatom sur article.html · 2159185f
      izo.rezo.net a rédigé
      2159185f
    • tetue's avatar
      - pas besoin de definir le style de address puisque cette balise n'est pas... · 18a4054b
      tetue a rédigé
      - pas besoin de definir le style de address puisque cette balise n'est pas presente dans les squelettes.
      - border: 0; est plus simple a ecrire et on est sur que c'est applique dans IE/Win
      18a4054b
    • Fil's avatar
      bouton 'voir en ligne' sur le bloc d'infos auteur (esj) · 777cf16b
      Fil a rédigé
      777cf16b
    • JamesRezo's avatar
      -* Un bug étrange sur la balise #ENV qui renvoyait un entier sérialisé... · 00967c06
      JamesRezo a rédigé
      -* Deux petits filtres dans la lignée de |reset et |end : |push ajoute un élément à une balise qui est en fait un tableau, èquivalent à array_push et |find qui est un équivalent de in_array (tout ça parce que les fonctions natives de php ne fonctionnait plus)
      -* Corrections sur le filtre et la balise #FOREACH, qui avaient eux aussi souffert de la nouvelle balise #ENV.
      00967c06
    • esj's avatar
      Index superflus, provoquant de plus l'avertissemnt MySQL: · 8efeadf4
      esj a rédigé
      ''Il y a des problèmes avec les index de la table `spip_versions`  La colonne `id_article` ne devrait pas faire partie à la fois d'une clé primaire et d'une clé index''
      
      (Philippe Auriol)
      8efeadf4
    • JamesRezo's avatar
      include manquant (Allergie) · c08fed3f
      JamesRezo a rédigé
      c08fed3f
    • esj's avatar
      Suite de [10189]: id_version était déclaré Unsigned mais MySQL a ramené le... · 619a9e5b
      esj a rédigé
      Suite de [10189]: id_version était déclaré Unsigned mais MySQL a ramené le négatif à 0 sans rien dire. On passe à bigint pour être certain de ne pas avoir de troncature vu la maniere dont le numero negatif est produit. Par ailleurs, on retire les entrées inachevées.
      619a9e5b
    • Fil's avatar
    • Fil's avatar
      desole, en [10191] je n voulais pas envoyer tout ca d'un coup, de maniere a... · 1c15c381
      Fil a rédigé
      desole, en [10191] je n voulais pas envoyer tout ca d'un coup, de maniere a pouvoir segmenter les choses...
      ce commit revient donc partiellement sur [10039] qui avait introduit des onglets fort peu consensuels (?)
      mais aussi des concepts interessants comme le bloc infos en squelette, une ecriture (un peu) plus rationnelle du code de l'espace prive, une reflexion sur le role de divers boutons etc.
      J'ai ici retabli tout ce qui avait diverge de maniere un peu trop violente pour moi, et corrige pas mal de petits bugs (les lang_select dans les squelettes, qui faisaient que le bloc statut d'un article s'affichait dans la langue de l'article, par exemple)...
      je laisse les onglets dans le code, avec uneconfiguration qu'il faut aller chercher soi-meme ; ca reste un peu trop couteux a mon gout en termes de complexite (double css, doubles definitions a certains endroits dans le code) -- a voir comment on se sort de tout ca.
      1c15c381
    • Fil's avatar
      ajout de commentaires sur spip_style.css et sur habillage.css pour essayer de... · 21fde587
      Fil a rédigé
      ajout de commentaires sur spip_style.css et sur habillage.css pour essayer de mieux preciser le role de chaque feuille
      j'en profite pour remettre des intertitres centres et gras, similaires dans le prive et le public et plus habituels
      21fde587
    • Fil's avatar
    • esj's avatar
      #209: Remplacement du verrou MySQL de l'accès concurrent au gestionnaire de... · 194683c2
      esj a rédigé
      #209: Remplacement du verrou MySQL de l'accès concurrent au gestionnaire de versions d'un article, par un verrou SQL géré par SPIP. Méthode
      
      1. on alloue un entrée dans la table des versions, avec un numéro négatif;
      2. on s'endort 1 seconde s'il existe une autre entrée négative plus récente
      3. au reveil on recommence 2. sauf si 30 secndes se sont écoulées
      4. on affecte l'entrée allouée avec le numéro de version definitif
      
      Dans le cas d'une fusion de version, c'est l'ancienne entrée qui est affectée et la nouvelle est retirée. 
      
      Le point 3 correspond à une opération inachevée. On pourrait la retirer.
      
      Dans la série ''le bug était ailleurs que là où c'est difficile'' : en Postgres, False vaut la chaîne "f" qui n'est pas équivalente au False de PHP. 
      194683c2
    • esj's avatar
  5. août 31, 2007
  6. août 30, 2007
    • Christian Lefebvre's avatar
      autodoc · 52483514
      Christian Lefebvre a rédigé
      52483514
    • Fil's avatar
      separer prepare_recherche · 419e64df
      Fil a rédigé
      419e64df
    • esj's avatar
      Multibase: #716 ayant prémonitoirement demandé le multi-squelette suggéré dans... · 3dd6f1b6
      esj a rédigé
      Multibase: #716 ayant prémonitoirement demandé le multi-squelette suggéré dans [10113], le présent dépot (aidé de [10133] et [10138]) le réalise en deux coups de cuillère à Post. A présent, si on appelle une page avec un variable d'URL nommé '''connect''', SPIP considèrera qu'il doit utiliser non pas la base principale, mais celle indiquée par par l'entrée du tableau '''connexions''' indexée par la valeur du paramètre '''connect'''. Rappelons que tout fichier '''config/connect'''X'''.php''' garni l'entrée X du tableau '''connexions'''. Dans cette situation, les boucles des squelettes utilisés pour produire la page seront implicitement préfixées par la connexion demandée: {{{<BOUCLE(T) ...}}} sera vue comme {{{<BOUCLE(X:T) ...}}} quand l'URL comporte {{{&connect=X}}}.
      
      Aspects techniques
      
      La compilation d'un squelette produira autant de fichier dans tmp/cache/skel que d'application à des bases différentes. Il y aurait moyen de faire un plus compact, mais avec une petite chute de performances. On sacrifie donc l'espace au temps, ça ne semble pas un problème vu la taille usuelle d'un squelette compilé.
      
      Les différences entre les compilations d'un même squelettes proviennent des balises #URL_* et assimilées. Il y aura peut-etre une petite réorganisation des fonctions sur les balises et les critères à opérer pour gérer ça plus astucieusement.
      3dd6f1b6
Chargement en cours