Pokud jste někdy navrhovali hierarchii nějakého webu na Sharepointu hurá systémem (tedy bez jakékoliv analýzy), nebo po někom takový web začali spravovat, určitě jste dříve či později řešili potřebu změny hierarchie webů, přesun webu pod jiný atd. Ale ouhle, taková funkce ve WSS ani v MOSSu není, na webu existuje sice spousta “užitečných” rad typu “vytvořte si template celého webu do STP a pak z něho vytvořte nový web kde potřebujete”, ale tento postup má celou spoustu závažných much na kráse:
- při vytvoření nového webu z templatu dojde k vytvoření u všech seznamů, knihoven, pohledů, workflows atd nových identifikátorů! To na první pohled to nemusí ničemu vadit, pokud ale používáte nějaké rozšíření třetí stranou, dost možná se začnou objevovat zajímavé chyby, přestanou fungovat workflow, joby, nastavení alertů atd. (ve verzích před SP2 byl export do STP vůbec problematický)
- spousta schovaných informací a nastaveních se vůbec nepřenese
- určitě narazíte na limit velikosti STP (500 MB) – a už vůbec manipulaci a upload takového souboru přes browser a IIS
Naštěstí existuje i jedno mnohem lepší řešení v podobě rozšíření příkazové řádky STSADM o nové příkazy, mimo jiné také o příkaz pro přesun webu pod jiný.
Ukázka:
stsadm -o gl-moveweb -url <URL webu> -parenturl <nový rodič>
stsadm -o gl-moveweb -url http://intranet/vedeni/marketing -parenturl http://intranet
Tyto rozšíření STSADM příkazové řádky jsou dostupné i s kompletním popisem na webu http://stsadm.blogspot.com/