Gestion de Contenu, de Communauté et de groupes de travail collaboratif - Open Source, français, sécurisé, stable et performant

  • MODULES

    Pour étendre les nombreuses fonctionnalités disponibles de base - modules.npds.org est à votre disposition.

    Des modules complémentaires, une communauté de développeurs active, des forums pour vos questions ... NPDS  est aussi une plateforme de développement !
  • STYLES

    Vous cherchez des thèmes graphiques pour votre portail ou votre communauté : styles.npds.org est à votre disposition.

    Des thèmes du plus simple au plus sophistiqué. Des thèmes facilement modifiables et toujours en Open-Source - Laissez simplement parler votre imagination !
  • BIBLES

    La documentation indispensable pour personnaliser et exploiter toute la puissante de NPDS  est à votre disposition sur bible.npds.org.

    Vous pouvez participer à l'effort de documentation - rien de plus simple : contactez un membre de la Team de développement et nous vous ouvrirons un compte sur le Wiki !
Devenir membre    |    Identifiant : Mot de Passe : -
Au delà de la gestion de contenu 'classique', NPDS met en oeuvre un ensemble de fonctions spécifiquement dédiées à la gestion de Communauté et de groupes de travail collaboratif.
Il s'agit d'un Content & Community Management System (CCMS) robuste, sécurisé, complet, performant et parlant vraiment français.

Gérez votre Communauté d'utilisateurs, vos groupes de travail collaboratif, publiez, gérez et organisez votre contenu grâce aux puissants outils disponibles de base.
  • Multi langues (Français, Anglais, Allemand, Espagnol, Chinois)
  • Respect des standards : UTF8, XHTML, CSS, ...
  • Système de blocs avancés
  • Installation et administration complète et centralisée
  • Editeur HTML intégré
  • Gestionnaire de fichier en ligne
  • Gestion des groupes de membres
  • Ecriture collaborative de documents (PAD)
  • Forums évolués
  • Mini-sites (pour les membres et les groupes de travail)
  • Chat temp réel
  • Système de News et de rubriques complet (édition, révision, publication)
  • ...
Gratuit et libre (Open-Source), développé en PHP, NPDS est personnalisable grâce à de nombreux thèmes et modules et ne requiert que quelques compétences de base.
NPDS Workplace - groupe de travail collaboratif
 NPDS WorkSpace - tous l'univers du travail collaboratif.
TinyMce, NPDS et le PAD #4
Posté par : developpeur

Rechercher dans NPDS

Donc 2 modules d'upload ?

C'est pas le genre de la maison cette histoire / dupliquer pour pas se fatiguer !

 

Et si au lieu de 2 modules d'upload NPDS j'avais 2 comportements dans TinyMce : le premier standard ... le second spécifique à un certain module (non, je ne dirais pas son nom) ?

 

2 comportements c'est en fait 2 commandes différentes dans le fichier de description javascript du plugins NPDS pour TinyMce. Fichier qui se trouve être : editeur/tiny_mce/plugins/npds/editor_plugins.js et qui contient X sections dont un exemple est ci-dessous :

         ed.addCommand('NPDS_Upl', function() {
            ed.windowManager.open({
               title : 'utmp',
               file : 'modules.php?ModPath=upload&ModStart=!include!_editeur/upload_editeur2...',
               width : 350,
               height : 150,
               resizable : 'no',
               scrollbars : 'no',
               inline : 1
            }, {
               plugin_url : url, // Plugin absolute URL
               some_custom_arg : '' // Custom argument
            });
         });
         // Register button
         ed.addButton('npds_upl', {
            title : 'npds.npds_upl_desc',
            cmd : 'NPDS_Upl',
            image : url + '/images/npds_upload.gif'
         });


Mais encore ?


Ce que l'on remarque avec l'exemple ci-dessus, c'est que TinyMce ne sert en fait que de 'lanceur' pour les plugins de NPDS et surtout ... que le lancement se fait via une URI (vous voyez ou je veux en venir ?)

 

Donc en fait, si je m'arrange pour mettre derrière le zicone qui va bien l'URI qui va bien ... je peut bien avoir mes comportements différents pour mon SEUL module d'upload ?

Oui et non / En fait Tiny ne sais pas changer (ou je ne sais pas faire avec Tiny ...) à la volée une commande ... par contre il sait parfaitement afficher ou non un icone représentant un plugin :

 

=> La solution est donc d'avoir 2 lanceurs pour le même icône mais de n'en afficher qu'un seul à la fois.

         // Le lanceur du plugin d'upload standard
         ed.addCommand('NPDS_Upl', function() {

            ed.windowManager.open({
               title : 'utmp',
               file : 'modules.php?ModPath=upload&ModStart=upload_editeur...',
               width : 350,
               height : 150,
               resizable : 'no',
               scrollbars : 'no',
               inline : 1
            }, {
               plugin_url : url, // Plugin absolute URL
               some_custom_arg : '' // Custom argument
            });
         });
         // Register button
         ed.addButton('npds_upl', {
            title : 'npds.npds_upl_desc',
            cmd : 'NPDS_Upl',
            image : url + '/images/npds_upload.gif'
         });


         // Le lanceur du plugin d'upload spécifique
         ed.addCommand('NPDS_Gupl', function() {
            ed.windowManager.open({
               title : 'gutmp',
               file : 'modules.php?ModPath=upload&ModStart=upload_editeur...',
               width : 350,
               height : 150,
               resizable : 'no',
               scrollbars : 'no',
               inline : 1
            }, {
               plugin_url : url, // Plugin absolute URL
               some_custom_arg : '' // Custom argument
            });
         });
         // Register button
         ed.addButton('npds_gupl', {
            title : 'npds.npds_upl_desc',
            cmd : 'NPDS_Gupl',
            image : url + '/images/npds_upload.gif'
         });

 

D'accord mais en dehors de certains noms ... tes deux lanceurs font la même chose / Effectivement il manque notre petite variable utilisateur décrite au #3 de cette série d'article.

 

La voilà : tinymce.settings.tiny_mce_var

donc file : 'modules.php?ModPath=upload&ModStart=upload_editeur2...' + tinymce.settings.tiny_mce_var devrait donner le résultat que nous attendons.

 

Que reste-t-il à faire : Afficher le bon zicone (donc le bon lanceur).

Une fois de plus le setup de TinyMce va nous permetre de remplacer le lanceur standard (npds_upl) par notre lanceur spécifique (npds_Gupl) là ou nous le souhaitons

 

Dans le setup d'extension de notre module nous allons fabriquer la barre de bouton N°3 en utilisant simplement : theme_advanced_buttons3 : '... ,npds_gupl, ...',

 

Ce 4ième article termine, pour l'instant, ce que j'avais à vous dire sur TinyMce. Vous découvrirez tous cela dans le module (non je ne dirais pas son nom) ... qui va bien.

Have Fun !



Mardi 17 avril 2012 @ 17:12:45    Page Spéciale pour impression Envoyer cet Article à un ami    Précédent |  Suivant

Temps : 0.0386 seconde(s)