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 #1
Posté par : developpeur

Rechercher dans NPDS

Dans le cadre du développement d'un module dont vous allez bientôt entendre parler, TinyMce devait acquérir de nouvelles fonctionnalités - à savoir :

  • coloriser automatiquement le texte saisi par un internaute dans une certaine couleur de fond
  • maintenir cette colorisation quelque soit les déplacements réalisés (souris, curseurs)
  • avoir ce comportement particulier ... que dans le module évoqué

 

OK mais comment faire ?


D'abord avoir recours au fichier de configuration de Tiny pour NPDS :

editeur/tiny_mce/themes/advanced/npds.conf.php

 

Apprendre à ce fichier à charger une extension si besoin ...  évidement via pages.php :

if ($setup[1]=="setup") {
   global $ModPath;
   if (file_exists("modules/$ModPath/tiny_mce_setup.php")) {
      include_once("modules/$ModPath/tiny_mce_setup.php");
   }
}

 

Extension nous voila :

  1. Définir une fonction complémentaire de Tiny qui sera chargée ... au chargement (!)  et une variable static pour conserver l'état du surlignement.

setup: function (ed) {
      // faisons une 'static' en javascript

      if ( typeof this.counter == 'undefined' ) this.counter = 0;
}";

 

  1. Définir (et trapper) les événements du clavier : droite, gauche, haut et bas notamment

setup: function (ed) {
   ed.onKeyDown.add(function(ed, e) {
      // faisons une 'static' en javascript
      if ( typeof this.counter == 'undefined' ) this.counter = 0;
   });
}";


qui devient avec le code de capture des touches


setup: function (ed) {
   ed.onKeyDown.add(function(ed, e) {
      // faisons une 'static' en javascript
      if ( typeof this.counter == 'undefined' ) this.counter = 0;

      // On capte les touches de directions
      if (e.keyCode >= 37 && e.keyCode         this.counter=0;
         return true;
      }
   });
};


  1.  On trappe les touches mais et le surlignement ?

nous allons utiliser notre constante (static), on définit un style (chaque auteur aura le sien) et on applique le style via la commande TinyMce : formatter.apply

      if (this.counter==0) {
         tinymce.activeEditor.formatter.register('wspadformat', {
            inline     : 'span',
            styles     : {'background-color' : '$surlignage'},
            classes    : '$auteur'
         });
         tinymce.activeEditor.formatter.apply('wspadformat');
         this.counter=1;
      }

 

Si tous se passe bien ce 'setup' va être implémenté au chargement du module par TinyMce et faire ce pour quoi ... il est fait.

Mais il manque des 'bricoles' ... la suite / dans le prochain article.



Vendredi 06 avril 2012 @ 15:39:37    Page Spéciale pour impression Envoyer cet Article à un ami    Précédent |  Suivant

jpb
2640       
 

jpb
  Posté : 09-04-2012 12:38

Good !!
Peux t'on augmenter la taille de la police du code dans l'article .... car c'est vraiment petit ou alors faut que j'achète des loupes 10

  Profil  www
developpeur
24581       
 

developpeur
  Posté : 09-04-2012 21:01

Le code.... Tu le connais non?

  Profil  www
jpb
2640       
 

jpb
  Posté : 11-04-2012 08:21

oui vivement syntaxhighlighter ...

  Profil  www
Les Commentaires sont la propriété de leurs auteurs. Nous ne sommes pas responsables de leur contenu.

Temps : 0.034 seconde(s)