cancel
Showing results for 
Search instead for 
Did you mean: 

création d'un site par programmation

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

rguinot
Confirmed Champ
Confirmed Champ
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.
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.