création d'un site par programmation

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

création d'un site par programmation

Bonjour,

Je souhaiterais savoir comment faire une chose "simple" … a priori…car je galère beaucoup à créer un site de cette manière.
J'utilise Alfreco 3.3g
et je veux créer des site depuis une plateforme .NET 2.0

donc pour créer un site j’appelle le script de création depuis mon Manager


namespace LogiqueMetier
{

    public class SiteAlfrescoManager
    {
        public SiteAlfrescoManager()
        {
        }

public string AjouterSite(string siteID, string titre, string description, string visibilite)
        {
                        string json = @"{
               ""shortName"" : """ + siteID + @""",
               ""sitePreset"" : ""site-dashboard"",  
               ""title"" : """ + titre + @""",
               ""description"" : """ + description + @""",
               ""visibility"" : """ + visibilite + @"""
               }";
            //Création du site dans Alfresco         
            string result = new RequetesHttpManager().post(new Uri("http://localhost:8080/alfresco/service/api/sites"), json);
          
            return result;
      
        }


}

j'obtient alors les détails du site dans l’interface Alfresco Share mais le site n’est pas fonctionnel  Smiley Sad
j'ai créer alors un nouveau script d’instanciation en suivant le proposition de ce forum

https://forums.alfresco.com/en/viewtopic.php?f=48&t=18046

Création des fichiers suivants dans share\WEB-INF\classes\alfresco\site-webscripts\org\alfresco \modules :

Fichier “custom-site.get.desc.xml”

<webscript>
<shortname>Utility Service for creating site programmatically</shortname>
<description>Utility Service for creating site programmatically</description>
<url>/modules/custom-site</url>
</webscript>

Fichier “custom-site.get.html.ftl”
vide

Fichier “custom-site.get.js”

var tokens = new Array();
tokens["siteid"] = args.shortName;
sitedata.newPreset(args.sitePreset, tokens);


sauf que quand j’appelle ce script depuis mon code c#


string result2 = new RequetesHttpManager().get(new Uri("http://localhost:8080/share/service/modules/custom-site?shortName=+ siteID + "&sitePreset=site-dashboard"));
il génère une erreur 500.

quand j'ouvre un navigateur et je clique sur le lien suivant

http://localhost:8080/share/service/modules/custom-site ?shortName=siteID&sitePreset=site-dashboard

ou siteID et l'Id de mon site , Maintenant, cela fonctionne.

en gros :

Est ce quelqu'un a déjà créer des sites de cette manière ? pouvez vous me dire si je suis sur la bonne voie ?
si oui y'a t'il une manière d'appeler ce script ou le lien et en même temps être redirigé vers une autre page c# ( celle qui liste les sites par exemple) ?

Merci beaucoup pour vos conseil , je galère pas mal dessus
1 Reply
rguinot
Customer

Re: création d'un site par programmation

Plusieurs choses en vrac :

- la création de ressources doit plutôt se faire en POST qu'avec un GET.
- Il me semble que dans votre code custom, au minimum, vous ne vous authentifiez pas
- postez le log de l'erreur.