Recherche avancée

Médias (5)

Mot : - Tags -/open film making

Autres articles (74)

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

Sur d’autres sites (8190)

  • Evolution #4102 : Ordre des inclures dans cache/charger_plugins_options.php

    26 février 2018, par RastaPopoulos ♥

    TL ;DR : problème résolu, c’est le plugin Albums qui ne fait pas bien les choses + mais un pipeline à l’initialisation est forcément utile et j’en ai déjà eu besoin.

    @azerttyu Mais non, on ne doit surtout pas changer l’ordre des fichiers, il y a des milliers (et peut-être même des milliards :p) de cas dans la nature qui se basent tous sur le fait que l’ordre logique est le même que partout ailleurs, celui de l’ordre des pipelines et celui de l’ordre de toutes les surcharges de fichiers dans SPIP, càd l’ordre du PATH. D’une ce serait incohérent mais surtout c’est pas un nouveau truc ajouté, là on parle des options.php déjà utilisé partout, donc non on ne doit rien changer à l’ordre actuel.

    Si ya un truc qui doit changer c’est sur un ajout, pas sur un truc méga utilisé partout.

    Dans tous les cas, comme dit marcimat, faire de la config avec des define() c’est vraiment pas super, et encore plus définir des define() dans le options.php du plugin qui en a besoin ! Après le problème c’est quand le define() est justement utilisé directement dans ce options.php… Mais s’il ne l’est pas, le define() doit être défini dans le inc/truc, action/truc, etc, ce qui permet bien à d’autres de le définir en amont dans leur options.php.

    D’ailleurs placido a donné des exemples précis, en parlant du plugin Album. Est-ce que celui-ci utilise ces deux define() dans le code de son options.php ? Si ce n’est pas le cas c’est lui qui doit être modifié pour définir ces variables ailleurs.
    La réponse est là :
    https://zone.spip.org/trac/spip-zone/browser/_plugins_/albums/trunk/albums_options.php

    Comme vous le voyez, AUCUNE de ces variables n’est utilisée à cette endroit là. Donc c’est le plugin Albums qui ne fait pas bien les choses. Il faut absolument déplacer l’ensemble de ces variables dans les fichiers où elles sont vraiment utilisés.

    Et du coup c’est fini, problème résolu, c’est le plugin source qui était en problème, et une fois corrigé placido n’a plus de problème à définir ces valeurs avant.

    Les cas où des define() sont définis ET utilisés directement dans le options.php sont méga méga rares, et je crois même qu’il n’y a que Bonux qui fait ça, pour la prévisu temporaire :
    https://zone.spip.org/trac/spip-zone/browser/_plugins_/spip-bonux-3/spip_bonux_options.php#L25
    (et ça m’avait bien saoulé pour le surcharger, j’avais fini par le définir dans les mes_options.php du projet alors que je ne l’utilise jamais et que je voulais le faire dans le plugin de mon projet)

    (Par ailleurs, dans tous les cas ce serait bien qu’il y ait un pipeline/trigger au tout début de SPIP, j’avais déjà eu le besoin pour faire des choses avant la connexion/cookie etc, pour connecter les gens par Facebook ou autre truc extérieur au tout démarrage, et pour le moment j’avais dû le faire dans mon action PHP à moi, au lieu de pouvoir le faire dans un truc générique qui aurait valu pour n’importe quel hit PHP, et du coup j’ai jamais pu en faire un plugin générique. Mais faudrait peut-être faire un ticket dédié pour demander cet ajout.)

  • Evolution #4105 : Constante ou config ?

    28 février 2018, par RastaPopoulos ♥

    Du coup maintenant on a trois discussions ouvertes sur les config, le ticket de Placido, le fil sur la liste emails, et ce ticket…

    b_b attention, dans l’idée de Maieul la constante est inversement prioritaire, et non pas à chercher en dernier recours.

    Mais mon avis c’est que les deux sont un peu de la merde. :D

    Déjà il ne faut pas comparer constantes et form de config, mais constante et meta (= une config gardée en mémoire en base). On a une API lire_config() et ecrire_config(), ça ne vient pas forcément que d’un formulaire avec interface humaine.

    L’avantage des constantes, c’est le déploiement, c’est défini et activé à chaque hit et donc pour l’exécution complète de tout ce qui suit. Ce qui est un énorme avantage pour vraiment activer des choses depuis un plugin (ou le mes_options général).
    L’inconvénient c’est que c’est un peu de la merde, vu que ça ne peut se surcharger qu’une seule fois et c’est super compliqué si plusieurs plugins chercher à faire des choix.

    L’avantage des config en base, c’est que c’est une API à nous, et qui peut être réécrite à tout moment. C’est beaucoup plus souple, et ça permet aussi des valeurs plus complexes.
    L’inconvénient c’est que c’est un peu de la merde : ça ne concerne qu’un enregistrement fixé en base. Et donc pas à chaque hit ! Du coup si un plugin personnalise une valeur lors de son installation, bah un form de config peut l’avoir réenregistré autrement ensuite, ou n’importe quel autre plugin en PHP avec ecrire_config(). Du coup c’est vraiment de la merde pour le déploiement contrôlé de variables de config !

    Mon idée est donc qu’il manque clairement quelque chose pour avoir une API complète de gestion des configurations.
    1) on doit pouvoir le garder en mémoire (chez nous en BDD)
    2) mais on doit AUSSI pouvoir le définir à chaque hit !

    Or il se trouve que le tableau des metas (donc des configs !) est de toute façon déjà chargé au démarrage de SPIP et trimballé entier durant tout le hit PHP !

    Du coup pour moi la solution la plus propre c’est qu’il y ait un nouveau pipeline "lire_config" qui permettent de modifier le tableau des configs après qu’il ait été initialisé depuis la base. Du coup on aurait bien les valeurs venant de la base (form de config ou autre), MAIS AUSSI n’importe qui pourrait forcer la valeur d’une config à chaque hit, exactement comme on le fait pour les constantes. Et du coup vu que pipeline, bah on pourrait le surcharger plusieurs fois, suivant le path, etc, easy et simple à comprendre pour tout le monde.

    monplugin_lire_config($metas) 
        // Je force une config
        $metas[’albums’][’activer_trucmuche’] = true ;
    

    return $metas ;

  • http: fix potentially dangerous whitespace skipping code

    8 mars 2018, par wm4
    http: fix potentially dangerous whitespace skipping code
    

    If the string consists entirely of whitespace, this could in theory
    continue to write '\0' before the start of the memory allocation. In
    practice, it didn't really happen : the generic HTTP header parsing code
    already skips leading whitespaces, so the string is either empty, or
    consists a non-whitespace. (The generic code and the cookie code
    actually have different ideas about what bytes are whitespace : the
    former uses av_isspace(), the latter uses WHITESPACES. Fortunately,
    av_isspace() is a super set of the http.c specific WHITESPACES, so
    there's probably no case where the above assumption could have been
    broken.)

    • [DH] libavformat/http.c