protected override void InstallPages(SiteInitializer initializer)
 {
     initializer.Installer
         .CreateModuleGroupPage(LocationsPageGroupID, "Locations")
             .PlaceUnder(SiteInitializer.ModulesNodeId)
             .SetOrdinal(1)
             .SetTitle("Locations")
             .SetUrlName("Locations")
             .SetDescription("Module for managing a list of Locations")
             .AddChildPage(LandingPageId, "Locations")
                 .SetTitle("Locations")
                 .SetHtmlTitle("Locations")
                 .SetUrlName("Locations")
                 .SetDescription("Module for managing a list of Locations")
                 .AddContentView(b =>
                 {
                     b.ControlDefinitionName = LocationsDefinitions.BackendDefinitionName;
                 })
                 .Done();
 }
  
 public override void Upgrade(SiteInitializer initializer, Version upgradeFrom)
 {
     // not needed
 }
  
 protected override void InstallTaxonomies(SiteInitializer initializer)
 {
     this.InstallTaxonomy(initializer, typeof(LocationItem));
 }
  
 protected override ConfigSection GetModuleConfig()
 {
     // code to return Module configuration
     return Config.Get<LocationsModuleConfig>();
 }
  
 protected override void InstallConfiguration(SiteInitializer initializer)
 {
     // Module widget is installed on Bootstrapper_Initialized
     initializer.Installer
         .PageToolbox()
             .LoadOrAddSection("Locations")
                 .LoadOrAddWidget<LocationsView>("LocationsView")
                     .SetTitle("LocationsViewTitle")
                     .SetDescription("LocationsViewDescription")
                     .Done()
                 .Done()
             .Done();
 }
  
 public override Guid LandingPageId
 {
     get { return LocationsModuleLandingPage; }
 }
  
 public override Type[] Managers
 {
     get { return new[] { typeof(LocationsManager) }; }
 }