SPOSiteProvisioning - Missing attributes in Configuration.xml


First of, thanks for making this available! A "sanctioned" solution like this was really something I missed.

The solution is built to handle a Template section in the form of:
<Template Name="GarageTeam" Title="Garage Team - Black" Enabled="Yes" RootTemplate="STS#0" Description="Garage Team Site" SiteLogoUrl="DeploymentFiles/Garage/garagelogo.png" Theme="Garage" RootWebOnly="false" SubWebOnly="false" ManagedPath="teams" StorageMaximumLevel="100" UserCodeMaximumLevel="100">
For instance it relies on Theme and SiteLogoUrl not being null.

But the ContosoTeam node lacks these elements, hence fails.
<Template Name="ContosoTeam" Title="Contoso Team" Enabled="Yes" RootTemplate="STS#0" Description="Super Team Site" RootWebOnly="false" SubWebOnly="false" ManagedPath="teams" StorageMaximumLevel="100" UserCodeMaximumLevel="100">
Could probably be handled with null checks, or by creating some smarter configuaration elements handling. Like for instance a helper class that creates the appropriate post-creation process based on the available xml attributes instead of having to check everywhere. Then we could delegate the responsibility for the post-creation-deployment calls below to that:
                //process the remiander of the template configuration
                DeployFiles(newWebContext, newWeb, templateConfig);
                DeployCustomActions(newWebContext, newWeb, templateConfig);
                DeployLists(newWebContext, newWeb, templateConfig);
                DeployNavigation(newWebContext, newWeb, templateConfig);
                DeployTheme(clientContext, newWeb, templateConfig, baseConfiguration);
                SetSiteLog(clientContext, newWeb, templateConfig);


OfficeDeveloper wrote Mar 10, 2014 at 10:14 PM

Great feedback !

We are collecting up feedback around how we should refactor the samples and I'll include this feedback in our approach.

There are TONS of areas where we can improve. Our goal was to get these samples out broadly to get the juices flowing on how to approach common scenarios as opposed to our traditional development patterns.

vesaj wrote Jul 2, 2014 at 7:08 AM

Thanks for your input. We should have this one fixed in the latest July release of the package.

Just as additional note - We are looking into turning Office AMS as a open source project in future, so that external field can also start fixing these by them self in future, since our project don't have any resources on actually supporting the field related on these proof of concepts. Hoping to get this one done by early August.