Changement de l'affichage de la propriété 'description'

cancel
Showing results for 
Search instead for 
Did you mean: 
sebguillomon
Member II

Changement de l'affichage de la propriété 'description'

Bonjour,

J'aimerais que lors de la saisie de la propriété "description" d'un contenu, l'affichage soit du même type que la saisie du contenu (saisie de texte riche à l'aide de TinyMCE), car ce champ sera exploité pour afficher un résumé du contenu dans une portlet et j'aimerais avoir les mêmes possibilités de mise en forme que pour le contenu.
Ceci est-il faisable ?

Merci bcp
Sébastien
7 Replies
michaelh
Active Member

Re: Changement de l'affichage de la propriété 'description'

Bonjour,

Une contribution qui ressemble fortement à ce besoin a été faite il y a quelques mois.
Je ne suis pas certain qu'elle soit utilisable en l'état, ou maintenue, mais il serait sans doute intéressant d'y jeter un oeil.

http://wiki.alfresco.com/w/index.php?title=AMP_for_Web_Client_WYSIWYG_Textareas
sebguillomon
Member II

Re: Changement de l'affichage de la propriété 'description'

Bonjour,

J'ai installé le module en question, j'ai redémarré le serveur, la console m'affiche bien :

INFO  [repo.module.ModuleServiceImpl] Starting module 'org.alfrsco.module.WebClientTinyMCESupport' version 0.9.2

De plus dans le fichier web-client-config-properties.xml, j'ai changé la propriété "description" :
 <show-property name="description" display-label-id="description"
                        ignore-if-missing="false" component-generator="TinyMCETextAreaGenerator" />

Or lors de la saisie, le textarea s'affiche toujours de la même façon …

Une idée ?

@+
seb
sebguillomon
Member II

Re: Changement de l'affichage de la propriété 'description'

Petite précision, j'ai l'erreur javacript suivante :

tinyMCE is not defined
[Break on this error] tinyMCE.init({
sebguillomon
Member II

Re: Changement de l'affichage de la propriété 'description'

J'ai trouvé, en téléchargeant le code source :

private void renderScriptOnce(ResponseWriter writer, FacesContext context) throws IOException
  {
    Map requestMap = context.getExternalContext().getRequestMap();
    Boolean scriptRendered = (Boolean)requestMap.get(RENDERED_SCRIPT_KEY);

    if (scriptRendered == Boolean.TRUE)
      return;
    requestMap.put(RENDERED_SCRIPT_KEY, Boolean.TRUE);

    writer.write("<script type=\"text/javascript\" src=\"/alfresco/scripts/webclient-tinymce-support/tiny_mce/tiny_mce.js\"></script>");
    writer.write("<script language=\"javascript\" type=\"text/javascript\">\n");
    writer.write("tinyMCE.init({\n");
    writer.write((String)getAttributes().get("tinyMCEOptions"));
    writer.write("});\n");
    writer.write("</script>\n");
  }

J'ai changé la ligne en mettant :

writer.write("<script type=\"text/javascript\" src=\""+context.getExternalContext().getRequestContextPath()+"/scripts/webclient-tinymce-support/tiny_mce/tiny_mce.js\"></script>");

Car mon appli n'est pas déployée sous le contexte "/alfresco"

Ca fonctionne donc correctement en recompilant les sources.  :wink:

@+
michaelh
Active Member

Re: Changement de l'affichage de la propriété 'description'

Très bonne nouvelle, merci pour le retour.

Question bête … ça fait bien ce que c'est censé faire ? Smiley Happy
(je n'ai jamais testé).
sebguillomon
Member II

Re: Changement de l'affichage de la propriété 'description'

Ca marchait nikel jusqu'au momoent où j'ai passé la modif de la version labs à entreprise et là bizarrement cette customisation n'est pas prise en compte,
quelqu'un à une idée ?

PS au lancement du serveur :
dans la version labs –> [repo.module.ModuleServiceImpl] Found 1 module(s)
dans la version Entreprise –> [repo.module.ModuleServiceImpl] Found 0 module(s)

A l'origine j'avais mis la déclaration suivante dans "faces-config.xml" du rep "META-INF" du jar spécifique contenant mes classes, j'ai beau déplacer les ligne dans "faces-config-custom.xml" dans ma version entreprise et ça ne marche pas ….

<managed-bean>
  <managed-bean-name>TinyMCETextAreaGenerator</managed-bean-name>
  <managed-bean-class>org.alfresco.module.WebClientTinyMCESupport.ui.TinyMCETextAreaGenerator</managed-bean-class>
  <managed-bean-scope>request</managed-bean-scope>
  <managed-property>
   <property-name>tinyMCEOptions</property-name>
   <value>
    mode: 'textareas',
    editor_selector: 'wcts_mce_editable'
   </value>
  </managed-property>
</managed-bean>


<component>
  <component-type>org.alfresco.module.WebClientTinyMCESupport.ui.TinyMCETextArea</component-type>
  <component-class>org.alfresco.module.WebClientTinyMCESupport.ui.UITinyMCETextArea</component-class>
</component>

pourquoi autant de différences de comportement entre les versions entreprise et labs ?!!
sebguillomon
Member II

Re: Changement de l'affichage de la propriété 'description'

Oups, il s'agissait d'une erreur javascript, n'ayant pas reporté le répertoire webclient-tinymce-support, j'avait en fait une erreur javascript; j'ai donc modifié le code java pour mettre

writer.write("<script type=\"text/javascript\" src=\""+context.getExternalContext().getRequestContextPath()+"/scripts/tiny_mce/tiny_mce.js\"></script>");

et utiliser les js d'Alfresco directement