[RESOLU] erreur dashlet calendrier

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

[RESOLU] erreur dashlet calendrier

bonjour,

j'ai un petit soucis concernant la création d'une dashlet calendrier. j'ai trouvé la manière de procéder à cette adresse http://wiki.alfresco.com/fr/images/c/c1/(6)_Tuto_Alfresco.pdf , j'ai suivi toutes les étapes, mais le calendrier ne s'affiche pas sous alfresco.
j'ai alors essayé de décortiquer le code, et je me suis rendu compte que pour cette dashlet , il n'y avait pas de template freemarker , est-ce normal ? il fait appel à repo.tld, mais il n'y a pas de <r: template template… >
et si il faut en créer un, à quoi ressemblerait-il ?
de plus, j'ai inséré des lignes de code un peu partout dans le programme pour voir où se trouvait le problème :

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a" %>
<%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %>
<%@ page import="org.alfresco.web.ui.common.PanelGenerator" %>

<hSmiley SurprisedutputText style="font-weight:bold" value="calendrier sopra" />
<f:verbatim>
<center><u><h3>Mois courant</h3></u></center>
<br/><center> <table> <tr>  <td>

<center><u><h3>avant script</h3></u></center>
<SCRIPT>
<center><u><h3>après script</h3></u></center>
<!– Begin

et cela m'affiche mois courant , avant script, mais pas après script. le problème proviendrait peut-etre de la balise script, qui est peut-être mal définie, non ?
qu'en pensez vous ?

cordialement,

emily
1 Reply
emily
Member II

Re: [RESOLU] erreur dashlet calendrier

je répondrais moi même à mon post, puisque j'ai trouvé la solution pour créer une dashlet calendrier sous alfresco (et non alfresco share)
en fait, le problème venait du code javascript en lui même, je l'ai donc remplacé par un que j'ai trouvé sur le net.
je donne le code, si quelqu'un le veut (j'imagine que si tout le monde fait part de ce qu'il a trouvé, ca irait plus vite a tout configurer…)

j'ai tout d'abord modifié le code de web-client-config.xml présent dans le répertoire C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco en rajoutant :
            <dashlet id="calendrier du mois courant" label="calendrier du mois courant" description="calendrier du mois courant"
                  jsp="/jsp/dashboards/dashlets/Moncalendrier.jsp" />
dans la définition des dashlets.


j'ai ensuite créé Moncalendrier.jsp dans C:\Alfresco\tomcat\webapps\alfresco\jsp\dashboards\dashlets de la manière suivante :

<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="/WEB-INF/alfresco.tld" prefix="a" %>
<%@ taglib uri="/WEB-INF/repo.tld" prefix="r" %>
<%@ page import="org.alfresco.web.ui.common.PanelGenerator" %>

<r:template template="/alfresco/templates/Moncalendrier.ftl" />

<f:verbatim>
<center><u><h3>Mois courant</h3></u></center>
<br/>
</f:verbatim>

j'ai créé Moncalendrier.ftl dans C:\Alfresco\tomcat\webapps\alfresco\WEB-INF\classes\alfresco\templates comme suite :

<script>
function innerCalendarCode() {

    function montharr(m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11) {
        this[0] = m0;
        this[1] = m1;
        this[2] = m2;
        this[3] = m3;
        this[4] = m4;
        this[5] = m5;
        this[6] = m6;
        this[7] = m7;
        this[8] = m8;
        this[9] = m9;
        this[10] = m10;
        this[11] = m11;
    }


    function calendar() {
        var monthNames = "JanFevMarAvrMaiJuiJulAouSepOctNovDec";
        var today = new Date();
        var thisDay;
        var monthDays = new montharr(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
        year = today.getYear();
        if (year <= 200) {
            year += 1900;
        }
        thisDay = today.getDate();
        if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) {
            monthDays[1] = 29;
        }
        nDays = monthDays[today.getMonth()];
        firstDay = today;
        firstDay.setDate(1);
        testMe = firstDay.getDate();
        if (testMe == 2) {
            firstDay.setDate(0);
        }
        startDay = firstDay.getDay();
        document.writeln("<CENTER>");
        document.write("<TABLE BORDER='1' CELLSPACING=0 BGCOLOR=DEDEFF BORDERCOLOR=CCCCCC >");
        document.write("<TR><TH COLSPAN=7>");
        document.write(monthNames.substring(today.getMonth() * 3, (today.getMonth() + 1) * 3));
        document.write(". ");
        document.write(year);
   document.write("<TR><TH>DIM<TH>LUN<TH>MAR<TH>MER<TH>JEU<TH>VEN<TH>SAM");
        document.write("<TR>");
        column = 0;
        for (i = 0; i < startDay; i++) {
            document.write("<TD>");
            column++;
        }
        for (i = 1; i <= nDays; i++) {
            document.write("<TD>");
            if (i == thisDay) {
                document.write("<FONT COLOR=\"#FF0000\">");
            }
            document.write(i);
            if (i == thisDay) {
                document.write("</FONT>");
            }
            column++;
            if (column == 7) {
                document.write("<TR>");
                column = 0;
            }
        }
        document.write("</TABLE>");
        document.writeln("</CENTER>");
    }

    calendar();
}

  innerCalendarCode();
</script>

et voila tout. enregistrer, lancer alfresco, se logger, configurer, sélectionner calendrier, et le tour est joué

bien sûr vous êtes libre de remplacer le calendrier …

cdt,

emily