Recherche avancée

Médias (91)

Autres articles (20)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Possibilité de déploiement en ferme

    12 avril 2011, par

    MediaSPIP peut être installé comme une ferme, avec un seul "noyau" hébergé sur un serveur dédié et utilisé par une multitude de sites différents.
    Cela permet, par exemple : de pouvoir partager les frais de mise en œuvre entre plusieurs projets / individus ; de pouvoir déployer rapidement une multitude de sites uniques ; d’éviter d’avoir à mettre l’ensemble des créations dans un fourre-tout numérique comme c’est le cas pour les grandes plate-formes tout public disséminées sur le (...)

  • Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs

    12 avril 2011, par

    La manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
    Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.

Sur d’autres sites (3922)

  • Roadmap #3844 : Gérer la parenté dans la déclaration d’un objet éditorial.

    14 mars 2018, par RastaPopoulos ♥

    Ok, j’avance dans ma réflexion.

    Cas simple où le type du parent est connu d’avance

    1. <span class="CodeRay"><span class="string"><span class="delimiter">'</span><span class="content">parent</span><span class="delimiter">'</span></span> => <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">type</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">rubrique</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">champ</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_rubrique</span><span class="delimiter">'</span></span>)
    2. </span>

    Télécharger

    Proposition pour le cas où le type est variable

    1. <span class="CodeRay"><span class="string"><span class="delimiter">'</span><span class="content">parent</span><span class="delimiter">'</span></span> => <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">champ_type</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">objet</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">champ</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_objet</span><span class="delimiter">'</span></span>)
    2. </span>

    Télécharger

    Proposition pour le cas complexe où le parent dépend de conditions ! Exemple : les forums

    1. <span class="CodeRay"><span class="string"><span class="delimiter">'</span><span class="content">parent</span><span class="delimiter">'</span></span> => <span class="predefined">array</span>(
    2.     <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">condition</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_parent=0</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">champ_type</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">objet</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">champ</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_objet</span><span class="delimiter">'</span></span>),
    3.     <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">condition</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_parent>0</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">type</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">forum</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">champ</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_parent</span><span class="delimiter">'</span></span>)
    4. )
    5. </span>

    Télécharger

    Au vu de la dernière proposition, je me demande si le parent ne devrait pas toujours être un tableau de tableaux, même quand il n’y a qu’un seul cas.

    Cela éviterait de devoir tester plusieurs cas possible, dans les utilisations, on ferait donc toujours un "foreach" sur les parents. Et s’il n’y en a qu’un bah c’est tout, ça ne bouclera qu’une fois.

    Ça ne me parait pas déconnant sachant qu’on utilise déjà ce principe pour la déclaration des statuts. Dans l’immense majorité des cas, il n’y a qu’un seul champ de statut, et pourtant c’est toujours un tableau de tableaux, car parfois ça peut être plus complexe.

    1. <span class="CodeRay"><span class="string"><span class="delimiter">'</span><span class="content">statut</span><span class="delimiter">'</span></span> => <span class="predefined">array</span>(
    2.     <span class="predefined">array</span>( ’champ’ => ’statut’, ’publie’ => ’publie’, ’previsu’ => ’publie,prop,prepa’, ’post_date’ =>date, ’exception’ => ’statut’)
    3. )
    4. </span>

    Télécharger

    On reprendrait donc ce même principe et on aurait donc :

    1. <span class="CodeRay"><span class="string"><span class="delimiter">'</span><span class="content">parent</span><span class="delimiter">'</span></span> => <span class="predefined">array</span>(
    2.     <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">type</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">rubrique</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">champ</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_rubrique</span><span class="delimiter">'</span></span>),
    3. )
    4. <span class="string"><span class="delimiter">'</span><span class="content">parent</span><span class="delimiter">'</span></span> => <span class="predefined">array</span>(
    5.     <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">champ_type</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">objet</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">champ</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_objet</span><span class="delimiter">'</span></span>),
    6. )
    7. <span class="string"><span class="delimiter">'</span><span class="content">parent</span><span class="delimiter">'</span></span> => <span class="predefined">array</span>(
    8.     <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">condition</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_parent=0</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">champ_type</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">objet</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">champ</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_objet</span><span class="delimiter">'</span></span>),
    9.     <span class="predefined">array</span>(<span class="string"><span class="delimiter">'</span><span class="content">condition</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_parent>0</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">type</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">forum</span><span class="delimiter">'</span></span>, <span class="string"><span class="delimiter">'</span><span class="content">champ</span><span class="delimiter">'</span></span> => <span class="string"><span class="delimiter">'</span><span class="content">id_parent</span><span class="delimiter">'</span></span>)
    10. )
    11. </span>

    Télécharger

    Et voilà, avec ça je crois qu’on doit bien gérer 99% des cas !

    Je vais implémenter ça dans le plugin "declarerparent" sur la zone, quitte du coup à devoir aller modifier le plugin Rang pour prendre en compte cette nouvelle écriture. Et du coup je vais l’utiliser dans le plugin Duplicator aussi, pour une autre vraie utilisation.

    Ça valait le coup d’attendre et de trouver des cas réels d’utilisation avant d’officialiser une écriture, car avec les forums ou autre dans le genre, on tombe bien sur des cas tordus qu’il fallait résoudre.

  • Evolution #4378 (Nouveau) : SVP : page des plugins, affichage des liens documentation, développeme...

    14 septembre 2019, par Arnaud Bérard

    Bonjour,

    Actuellement quand on affiche les infos d’un plugin dans la page de gestion des plugins, seul le lien de documentation est affiché.

    https://plugins.spip.net/redaction-du-paquet-xml.html#doc

    Avec l’évolution du déploiement de plugins spip sur des outils de développement collaboratif , ou reseaux sociaux de dev ;-) (gitHub,GitLab,gitea etc) il devient/deviendrait utile de référencer et d’afficher les bonnes url vers ce qu’elles font, car pour le moment il faut utiliser "documentation" pour que l’utilisateur puisse envoyer un ticket en participant au "développement", ce qui n’est pas sémantiquement parlant la bonne description (amha).

    L’idéal serait de rajouter en visible "developpement", et avoir ainsi une url distinct vers les issues/tikets ou le depot/forge du projet.

    Le terme developpement étant je suppose un chaine de langue chacun-e pourra le surcharger suivant sont besoin… "Suivi de bugs, tikets, etc …"

  • Anomalie #3481 (Nouveau) : Installation par SVN avec repository https (GitHub)

    13 juin 2015, par realet RealET

    En mettant dans mes_options.php :

    define(’SVP_PREFERER_TELECHARGEMENT_PAR_VCS’,true) ;
    


    cela permet d’installer les plugins par SVN.

    Mais dans le cas des plugins en externals ( http://files.spip.org/externals/archives_externals.xml ) seul le téléchargement des .zip fonctionne.

    Un parcours (via TortoiseSVN) de la Zone montre effectivement que svn ://zone.spip.org/spip-zone/_externals_/ ne contient qu’un lisezmoi.txt et aucun sous dossiers.

    C’est donc le processus de génération de archives_exernals.xml qui produit un mauvais chemin.

    Exemple : Vidéos accessibles (va 0.6.9) a ceci dans le xml :
    _externals_/github/video_accessible/tags/v0.6.9
    Et devrait avoir :
    https://github.com/Cerdic/video_accessible&lt ;/source>

    Ca ne concerne que 5 externals, et seulement des gens qui veulent utiliser SVN + SVP + Externals.

    Je suis tombé dessus avec l’installateur de SoyezCréateurs qui indique :