BonjourJe sais qu il n est pas possible malheureusement...

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

Re: BonjourJe sais qu il n est pas possible malheureusement...

C est effectivement ce qu il me semblait.

Je n ai pas non plus creuse du cote du PHP vu que je n y connait presque rien, car j avoue qu apres ma petite aventure webscript, je suis epuise comme en temoigne ce thread et le forum anglais!
J'aurais voulu fournir un debut de GUI customise a mon employeur avant la fin de mon stage mais il me semble que cela soit tres difficile pour un stagiaire seul.
Mais bon mes difficultes s expliquent peut etre par le fait que les webscripts sont encore tres recents.
Sinon vous avez mentionne au tout debut de cette discussion que votre entreprise a decide de refaire une GUI a partir du webapp. Pourriez vous decrire la procedure que vous suivez? car je ne vois pas vraiment ce que vous voulez dire par "a partir du webapp". Est ce que vous codez en java? Je peux comprendre que cela soit "confidentiel" alors si vous ne pouvez pas repondre ce n est pas grave.

Cordialement
Seraphon
rivarola
Active Member

Re: BonjourJe sais qu il n est pas possible malheureusement...

Globalement on réutilise toutes les technos de la webapp Alfresco (Java, JSF, Webscripts), et on essaie de les agréger un peu différemment pour permettre une customisation plus poussée, en particulier "à chaud". On introduit aussi un peu d'AJAX pour faire des interfaces plus dynamiques. Le tout est guidé par une logique de navigation différente qui colle mieux à notre vision du collaboratif que la webapp Alfresco.
Mais du point du développement, on est (malheureusement) à fond dans JSF parce que toutes les briques de base de la Webapp sont liées à cette techno, et on veut les réutiliser pour ne pas repartir de zéro.
seraphon
Member II

Re: BonjourJe sais qu il n est pas possible malheureusement...

Eh bien merci. C est tres instructif.

Il semble donc que de toute facon faire une GUI personnalise est un travail de longue haleine.
Je me remets donc a mes webscripts.
Y a t il une quelconque documentation sur comment faire du javascript customise cote serveur qui puisse manipuler les nodes Alfresco?
J ai vraiment envie de reussir au moins a en faire une qui puisse creer un document a partir d un node ref pour avoir l espace parent mais je ne vois pas comment faire.
Par exemple dans le webscript myspaces, le javascript cote client fait appel a:

  deleteItem: function(name, noderef)
   {
      if (confirm("Are you sure you want to delete: " + name))
      {
         // ajax call to delete item
         YAHOO.util.Connect.asyncRequest(
            "POST",
            getContextPath() + '/ajax/invoke/PortletActionsBean.deleteItem',
            {
A quoi correspond exactement PortletActionsBean.deleteItem? Il semblerait que c est une methode javascript mais d ou vient elle?
Faut il donc faire un fichier javascript et l inclure dans une librairie Alfresco? Faut il donc utiliser Alfresco SDK et des ant build(chose que je n ai toujours pas reussi a faire marcher ne serait ce qu une seule fois…)?
On pourrait me dire que je veux aller trop vite et que je devrais commencer doucement, et apres ma petite critique dans le forum anglais je peux preciser que je ne vois meme pas comment faire des exemples simples pour voir comment fonctionne les echanges script-clients et scripts-serveur.
Donc une quelconque piste pour voir comment cela doit se faire m aiderait grandement.

Cordialement
Seraphon
rivarola
Active Member

Re: BonjourJe sais qu il n est pas possible malheureusement...

Y a t il une quelconque documentation sur comment faire du javascript customise cote serveur qui puisse manipuler les nodes Alfresco?
voir http://wiki.alfresco.com/wiki/JavaScript_API

A quoi correspond exactement PortletActionsBean.deleteItem? Il semblerait que c est une methode javascript mais d ou vient elle?
C'est une servlet écrite en Java qui est utilisée pour exécuter des actions simplement en appelant une URL avec les bons paramètres (action à la REST).
voir aussi http://wiki.alfresco.com/wiki/URL_Addressability bien que le cas du PortletActionsBean ne soit pas documenté dans cette page

Faut il donc utiliser Alfresco SDK et des ant build(chose que je n ai toujours pas reussi a faire marcher ne serait ce qu une seule fois…)?
Non, pour une fois c'est plus simple que ça Smiley Wink
seraphon
Member II

Re: BonjourJe sais qu il n est pas possible malheureusement...

Bonjour

En fait j ai deja lu de fond en comble ces wiki, mais il semble que l on peut toujours manquer ce que l on cherche..

Bon Je vois a peu pres comment appele un javascript cote serveur. Mais j aurais besoin d une precision.
Comment dois je faire pour faire un appel de cet URL d execution de script au sein d un autre javascript?
Est ce que la encore j utilise la fonction Yahoo? de plus il disent que l on peut rajouter des arguments dans l url mais comment faire exactement pour rajouter par exemple un node ref?

         YAHOO.util.Connect.asyncRequest(
         "GET",
         getContextPath() + "/command/script/execute?scriptPath=/Company%20Home/mytest.js&" + MySpaces.Npath,
         {
            success: function(response)
            {
                                      
            },
            failure: function(response)
            {
               alert("Error during check out of item: " + response.responseText);
            }
         },
        // "noderef=" + MySpaces.Npath
      );
et pour mon script appele j ai simplement mis

var testingFolder = companyhome.parent.childByNamePath(args[0]);
testingFolder.remove();
mais j obtiens les erreurs suivantes dans firebug

snip!
me suis je trompe dans l appel de l url dans mon javascript coteclient? ou ai je mis des instruction fausses dans mytest? j avoue qu avec juste un noderef je ne vois pas comment recuperer un node…
Un peu d aide s il vous plait?

Cordialement
Seraphon


Edit: voila, je l ai encore fait! j ai poste une question sans chercher assez conscienscieusement (si il y a une faute d'orthographe dites le moi Smiley Wink ) avant.
J ai reussi a faire marcher tout ce bazard et donc a bouger un fichier en faisant du drag and drop.
Mais bon des fois c est difficile de se retrouver dans cette multitude de wiki anglais….

Sinon pour ceux que cela interresse (je sais, je sais, il doit pas y en avoir beaucoup)

//voila le code dans le javascript coteclient et qui fait appel a celui qui va faire le mouvement de node
      YAHOO.util.Connect.asyncRequest(
         "GET",
         getContextPath() + "/command/script/execute?scriptPath=/Company%20Home/mytest.js&contextPath=" + MySpaces.Npath +"/"+ MySpaces.Nname+"&s="+imgs64[i].getProperty('name'),
         {
            success: function(response)
            {
              
                  alert("cool " + response.responseText);
              
            },
            failure: function(response)
            {
               alert("Error during check out of item: " + response.responseText);
            }
         },
        "noderef=" + MySpaces.Nref
      );
la variable contextPath et le noderef a la fin sont semble t il indispensable pour definir la variable document dans mytest mais je ne suis pas sur.

//voila mon fichier mytest.js 
var scriptResult = document.parent.childByNamePath(args.s).name;
var folder = document.parent.childByNamePath(args.s);
var coool="ca a marche!!"

function result()
{  if (document.move(folder)) scriptResult=coool;
   return (scriptResult);
}
result();
voila merci a riverola pour m avoir dirige dans la bonne direction car sans lui je me serais reperdu dans ces wiki anglais, mais je suis toujours ouvert a toutes suggestions pour rendre mon code plus propre.
En effet je trouve que la methode var folder = document.parent.childByNamePath(args.s);
pour recuperer le node espace cible n est pas tres elegant…