cancel
Showing results for 
Search instead for 
Did you mean: 

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

sebguillomon
Champ in-the-making
Champ in-the-making
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 7

michaelh
Champ on-the-rise
Champ on-the-rise
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
Champ in-the-making
Champ in-the-making
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
Champ in-the-making
Champ in-the-making
Petite précision, j'ai l'erreur javacript suivante :

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

sebguillomon
Champ in-the-making
Champ in-the-making
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
Champ on-the-rise
Champ on-the-rise
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
Champ in-the-making
Champ in-the-making
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
Champ in-the-making
Champ in-the-making
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
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.