I recently set about creating a Topology Generator, to make setting up a Topology in SDL Web 8 easier. Currently, Topologies can only be created using powershell scripts, which are prone to error and prove quite laborious to write. Initially, I started doing something with spreadsheets which was a definite improvement, but still prone to errors.
When you start digging into the Topology Manager for SDL Web 8 you'll find that even just to setup a very basic topology you'll have to run 5 powershell cmdlets to get up and running.
Add-TtmCdTopologyType -Id TTID -Name NAME -EnvironmentPurposes "PURPOSE"
Add-TtmCdEnvironment -Id CDEID -EnvironmentPurpose PURPOSE -DiscoveryEndpointUrl http://.../ -AuthenticationType OAuth -ClientId CLIENTID -ClientSecret CLIENTSECRET
Add-TtmCdTopology -Id TID -Name NAME -CdTopologyTypeId TTID -CdEnvironmentIds "CDEID"
Add-TtmWebsite -Id WID -CdEnvironmentId CDID -BaseUrls "http://site.com"
Add-TtmMapping -Id MID -PublicationID tcm:... -WebApplicationId WID_RootWebApp
When you start to consider multi-site and localisation, the number of cmdlets increases dramatically.
I'm working on a site with only ~25 localised sites, and there is in excess of 100 cmdlets to run. This was very challenging to setup and I ended up using an excel file to try and map it all, but one typo would break the dependencies, and a lot of time would be lost working back through the process using the delete cmdlets.
Building a Topology Generator seemed like the best solution (plus it was also a good excuse to get up to speed with Angular 2, so a nice two-for-one bonus).
I want to make a way to import the JSON produced by Export-TtmCdStructure and remap the text boxes and regenerate the powershell. I'll also want to consider the option to update and remove with the generator.