Recherche avancée

Médias (3)

Mot : - Tags -/image

Autres articles (34)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • Contribute to documentation

    13 avril 2011

    Documentation is vital to the development of improved technical capabilities.
    MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
    To contribute, register to the project users’ mailing (...)

  • Selection of projects using MediaSPIP

    2 mai 2011, par

    The examples below are representative elements of MediaSPIP specific uses for specific projects.
    MediaSPIP farm @ Infini
    The non profit organizationInfini develops hospitality activities, internet access point, training, realizing innovative projects in the field of information and communication technologies and Communication, and hosting of websites. It plays a unique and prominent role in the Brest (France) area, at the national level, among the half-dozen such association. Its members (...)

Sur d’autres sites (4146)

  • Anomalie #3461 (Nouveau) : bug sur les urls à cause d’une mauvaise global $profondeur_url

    4 juin 2015, par Maïeul Rouquette

    Le symptome

    de temps en temps (mais assez fréquemment dans mon cas) lorsqu’on a un site dans un sous repertoire, les urls produite par #URL_ARTICLE et co contiennent des "../". Conséquent, lorsqu’on clique on remonte d’un niveau, et du coup on tombe sur une page 404.

    La cause

    Visiblement d’après https://core.spip.net/projects/spip/repository/revisions/20729 la cause serait une mauvaise globale $profondeur_url.
    Je cite ESJ

    Enfin compris pourquoi SPIP compile parfois des squelettes où la globale profondeur_url est incorrecte. Lorsqu’on place dans ecrire/.htaccess une redirection comme "ErrorDocument 403 / ?page=403", curieusement Apache met dans $_SERVER[’REQUEST_URI’] l’URL initiale (donc avec .../ecrire/...) tandis qu’il met dans $_SERVER[’SCRIPT_NAME’] l’URL de redirection (dans l’exemple ci-dessus une page à la racine). Du coup, la compilation de cette page à la racine se fait avec une profondeur d’URL qui est celle de ecrire/ et non de la racine. Pour peu que cette page et ses inclusions soient mises en cache, c’est toutes les autres pages qui les partagent qui se retouvent avec de mauvaises URL.

    Les tentatives de résolution

    Deux commits en 2.1 ont tenté de résoudre les pb :
    https://core.spip.net/projects/spip/repository/revisions/20729
    et https://core.spip.net/projects/spip/repository/revisions/20762

    Ils ont été reporté en 3.0 par
    - https://core.spip.net/projects/spip/repository/revisions/20744
    - https://core.spip.net/projects/spip/repository/revisions/20745
    puis annulé car visiblement non pleinement fonctionnels en

    - https://core.spip.net/projects/spip/repository/revisions/20746
    - https://core.spip.net/projects/spip/repository/revisions/20747

    à ma connaissance c’est le point mort depuis

  • Evolution #3361 : Tri par défaut des entrées des menus du bandeau de l’espace privé

    6 décembre 2014, par tcharlss (*´_ゝ`)

    Voilà ma petite proposition de patch et mes explications (un peu verbeuses, mais ça m’aide à retenir).

    Dans http://core.spip.org/projects/spip/repository/entry/spip/prive/squelettes/inclure/barre-nav.html#L46, c’est la boucle , ligne 46, qui affiche les entrées.
    Tel quel, on ne peut pas faire de tri au moyen de {par xxx}, car la chaîne de langue n’est pas contenue dans #VALEUR{menu}, juste le nom de l’entrée i18n associé :

    array (size=6)
      ’auteurs’ => 
        object(Bouton)[301]
          public ’icone’ => string ’’ (length=0)
          public ’libelle’ => string ’icone_auteurs’ (length=13)
          public ’url’ => null
          public ’urlArg’ => null
          public ’url2’ => null
          public ’target’ => null
          public ’sousmenu’ => null
      ’rubriques’ => ...
    


    (Note : dans la boucle DATA, l’objet « Bouton » est traité comme un tableau associatif).
    Pour faire le tri alphabétique, il y a juste 2 points à traiter :

    • Rajouter la chaîne de langue dans les valeurs. Les premières lettres suffiront pour le tri.
    • Faire en sorte que cette paire clé/valeur soit au début du tableau. Anéfé, dans une boucle DATA, quand les #VALEUR sont des tableaux associatifs, {par valeur/toto} ne fonctionne pas. En revanche, on peut faire {par valeur} tout court et ça va prendre en compte la valeur associée à la première clé du tableau.

    Donc concrètement, en ajoutant 'tri' => 'chaine de langue' au début du tableau de chaque entrée, on peut faire {par valeur} dans la boucle et le tour est joué.
    Je propose 2 patchs, au choix :

    Patch A

    Dans le squelette barre_nav.html : juste avant la boucle DATA qui affiche les entrées, on fait une boucle qui modifie le tableau qui l’alimente (dans le patch, on fait gaffe au espaces blancs, mais là c’est pour la lisibilité).

    [(#REM) prépare les données des entrées ]
    #SETsousmenu,#ARRAY
    

    #SETentree,#ARRAY#CLE,#ARRAY
    tri,#VAL#VALEURlibelle|_T|replace’\s+’,’’|substr0,3|strtolower,
    icone,#VALEURicone,
    libelle,#VALEURlibelle,
    url,#VALEURlibelle,url,
    urlArg,#VALEURurlArg,
    url2,#VALEURurl2,
    target,#VALEURtarget,
    sousmenu,#VALEURsousmenu

    #SETsousmenu,#GETsousmenu|array_merge#GETentree

    [(#REM) Affiche les entrées ]

      ...

    Patch B

    Dans boutons.php, on ajoute $this->tri      = strtolower(substr(preg_replace('/\s+/','',_T($libelle)),0,3)); à la classe Bouton et on fait en sorte que ce soit la première donnée renvoyée.
    Du coup dans le squelette barre_nav.html il suffit de rajouter {par valeur}.

  • Anomalie #3245 (Nouveau) : Formulaire editer_liens affiché inutilement dans certains cas

    24 juillet 2014, par tcharlss (*´_ゝ`)

    Reproduire le comportement

    Pour observer le problème, je propose d’utiliser les mots-clés, qui se servent du formulaire « editer_liens ». Donc :

    • 1) Avoir au préalable des articles avec des mots-clés, et d’autres sans.
    • 2) Désactiver l’ajout de mots-clés aux articles pour tous les groupes de mots-clé.

    Résultat :

    • Les articles possédant des mots-clés comportent toujours le formulaire. Là, ça me semble normal.
    • Les articles ne possédant pas de mot-clé affichent eux aussi le formulaire. Là, ça me paraît erroné : il devrait être caché. Il n’a aucune utilité, et on a "désactivé" l’utilisation des mots-clés pour les articles, ça veut dire qu’on en veut pas.

    Continuons.

    • 3) Retirer tous les mots-clés liés aux articles.

    Résultat :

    • Maintenant, le formulaire n’est plus affiché, car plus aucun article ne possède de mot clé : on retrouve le comportement normal.

    Problème

    Le problème vient d’un test effectué dans charger : http://core.spip.org/projects/spip/repository/entry/spip/prive/formulaires/editer_liens.php#L94

    Le raisonnement actuel est le suivant : quand le formulaire n’est pas éditable, il est caché s’il n’existe aucun lien pour le type d’objet.
    Ou pour reprendre l’exemple des mots, plus parlant : le formulaire est caché s’il n’existe aucun mot lié à un article (n’importe quel article).
    Or je pense qu’il devrait être caché s’il n’existe aucun mot lié à l’article en cours.

    Donc, en remplaçant :

    objet_trouver_liens(array($objet_lien=>’*’),array(($objet_lien==$objet_source ?$objet :$objet_source)=>’*’))


    par :

    objet_trouver_liens(array($objet_lien=>’*’),array(($objet_lien==$objet_source ?$objet :$objet_source)=>$id_objet))

    On retrouve le comportement qui me semble "normal".