none
Changement d'url ? RRS feed

  • Question

  • Bonjour,

    Dans le cadre d'un projet dont je suis reponsable, je dois créer à la demande des Sites Collection pour chaque clients.

    Je génère cette demande par code lors de l'ajout dans une liste.

    Ce que je voudrai, une fois que la Site Collection est créée, c'est pouvoir modifier l'url de la site collection (erreur d'encodage, ou tout simplement le client à changé de nom).

    J'ai cherché mais je n'ai rien trouvé de spécial hormis

    SPWebApplication webApp = new SPSite(parentSiteURL).WebApplication;
    SPSiteCollection siteCollection = webApp.Sites;

    ...

    siteCollection.PortalUrl


    Mais j'ai un NullReferenceException si je veux l'afficher.

    J'ai essaier aussi de voir ce que pouvais donner ceci:

    int i = 0;
                    while (i < siteCollections.Names.Length)
                    {
                        Console.WriteLine("i names: " + i.ToString() + "; " + siteCollections.NamesIdea.ToString());
                        i++;
                    }
                    Console.ReadKey();

                    siteCollections.Names[3].Replace("sites/test", "sites/test2");

                    i = 0;
                    while (i < siteCollections.Names.Length)
                    {
                        Console.WriteLine("i names: " + i.ToString() + "; " + siteCollections.NamesIdea.ToString());
                        i++;
                    }
                    Console.ReadKey();

    output:
    i names: 0;
    i names: 1; personal/administrator
    i names: 2; sites/BiPortal
    i names: 3; sites/test
    i names: 4; ssp/admin

    i names: 0;
    i names: 1; personal/administrator
    i names: 2; sites/BiPortal
    i names: 3; sites/test
    i names: 4; ssp/admin

    Par SharePoint Designer je n'ai pas vu qu'on pouvait le faire.
    Avec les Alternate Access Mapping ça n'a rien donné ou je m'y prend mal ...

    Je ne sais pas trop si c'est possible en fait ?
    mardi 15 avril 2008 13:54

Toutes les réponses

  • J'ai partiellement réussis via un backup restore via du code ! (pas dans l'interface admin).

    Le problème pour moi c'est qu'il restore dans la premiere base de contenu qu'il trouve et je me suis justement attelé à créer une base de contenu par site collection, il faut que je cherche un peu plus pour voir si on peut avoir plus d'options pour le restore...
    mardi 15 avril 2008 14:20
  • J'ai pensé hier soir à une solution :

    Parcourir l'ensemble des bases de contenu par code et les mettres offline, de manière à ce que quand le restore se fera, il ne puisse plus la restorer que dans celle que je veux.

    Mais ça me semble vraiment barbare Crying
    Mais je vois pas trop comment m'en sortir autrement sur ce coup là, a moins de pouvoir faire du back up un genre de template ...
    mercredi 16 avril 2008 05:52
  • Salut,

     

    Je ne pense pas que ta solution soit bonne. Je te déconseille d'ailleur de faire comme cela.

     

    Pour moi, lorsque tu créer ta collection, tu lui donne son url et tu n'y touchera jamais plus!!! La seul façon possible de la changer que tu devrai permettre devrais être de la supprimer et de la recréer.

     

    A mon sens, ce que tu devrai faire c'est ceci : tu créer une url dont tu ne t'occupe pas! En générale, on se fou de l'url, ce qui importe, c'est la manière d'y accéder. Ensuite tu créer un lien vers ta collection de site et c'est sur le lien que tu permet de faire les modifs et non plus sur l'url...

     

    Donc en gros, tu veux créer une coll. de site pour ton client tutu :

    tu aura ton lien : <a href:"http://server/sites/idclient" >site tutu</a>

    Ensuite le nom de ton client change et deviens turlututu

    Eh bien tu change juste le nom et pas l'url : <a href:"http://server/sites/idclient" >site turlututu</a>

     

     

    J'espère que ça t'aidera...

     

     

     

    mercredi 16 avril 2008 07:17
  • Merci ;-),

    Oui je ne vais pas faire comme ça.
    Je crois que je vais mixer en fait.

    On peut changer l'url via un back up / restore ça c'est sur (http://blogs.technet.com/josebda/archive/2006/10/03/Renaming-a-Site-Collection.aspx)

    Si on doit le faire, (je fais ce qu'ils veulent moi ...), je mixerai un back up restore par code (j'ai déjà le program) et dans le même temps je mettrais les autres db de contenu offline le temps de faire la procédure.

    Le changement d'url est rare...

    Sinon je vais utiliser une Site Directory, donc oui c'est clair que je fais ce que je veux avec mes url !
    Je cherchais une solution élégante par code mais ce n'est pas possible d'automatiser tout comme je voudrai à cause des db de contenu !

    (une surcharge de la fonction Restore avec possibilitée de choisir la db de contenu de destination serait l'idéal dans mon cas !).
    mercredi 16 avril 2008 07:23
  • Je comprend plus,

    Je viens de retester et ça fonctionne, ça remet bien dans la bonne db de contenu !
    Je ne comprend pas pourquoi ça n'allait pas avant !



    mercredi 16 avril 2008 07:56