Move list of default features to SetupService

This is so that the "setup" command doesn't require a list of
features and can use the default list.

Also add back tags, widgets and media as enabled by default.

--HG--
branch : dev
This commit is contained in:
Renaud Paquay
2010-05-13 19:07:53 -07:00
parent 132e4236e3
commit 2ad6aafc40
3 changed files with 45 additions and 30 deletions

View File

@@ -49,13 +49,40 @@ namespace Orchard.Setup.Services {
}
public void Setup(SetupContext context) {
// The vanilla Orchard distibution has the following features enabled.
if (context.EnabledFeatures == null || context.EnabledFeatures.Count() == 0) {
string[] hardcoded = {
"Orchard.Framework",
"Common",
"Dashboard",
"Feeds",
"HomePage",
"Navigation",
"Scheduling",
"Settings",
"XmlRpc",
"Orchard.Users",
"Orchard.Roles",
"TinyMce",
"Orchard.Modules",
"Orchard.Themes",
"Orchard.Pages",
"Orchard.Blogs",
"Orchard.Comments",
"Orchard.Tags",
"Orchard.Media",
"Futures.Widgets"};
context.EnabledFeatures = hardcoded;
}
var shellSettings = new ShellSettings(_shellSettings);
if (string.IsNullOrEmpty(shellSettings.DataProvider)) {
shellSettings.DataProvider = context.DatabaseProvider;
shellSettings.DataConnectionString = context.DatabaseConnectionString;
shellSettings.DataTablePrefix = context.DatabaseTablePrefix;
};
}
var shellDescriptor = new ShellDescriptor {
EnabledFeatures = context.EnabledFeatures.Select(name => new ShellFeature { Name = name })
@@ -113,8 +140,10 @@ namespace Orchard.Setup.Services {
page.As<BodyAspect>().Text = "<p>Welcome to Orchard!</p><p>Congratulations, you've successfully set-up your Orchard site.</p><p>This is the home page of your new site. We've taken the liberty to write here about a few things you could look at next in order to get familiar with the application. Once you feel confident you don't need this anymore, just click <a href=\"Admin/Pages/Edit/3\">Edit</a> to go into edit mode and replace this with whatever you want on your home page to make it your own.</p><p>One thing you could do (but you don't have to) is go into <a href=\"Admin/Settings\">Manage Settings</a> (follow the <a href=\"Admin\">Admin</a> link and then look for it under \"Settings\" in the menu on the left) and check that everything is configured the way you want.</p><p>You probably want to make the site your own. One of the ways you can do that is by clicking <a href=\"Admin/Themes\">Manage Themes</a> in the admin menu. A theme is a packaged look and feel that affects the whole site.</p><p>Next, you can start playing with the content types that we installed. For example, go ahead and click <a href=\"Admin/Pages/Create\">Add New Page</a> in the admin menu and create an \"about\" page. Then, add it to the navigation menu by going to <a href=\"Admin/Navigation\">Manage Menu</a>. You can also click <a href=\"Admin/Blogs/Create\">Add New Blog</a> and start posting by clicking \"Add New Post\".</p><p>Finally, Orchard has been designed to be extended. It comes with a few built-in modules such as pages and blogs or themes. You can install new themes by going to <a href=\"Admin/Themes\">Manage Themes</a> and clicking <a href=\"Admin/Themes/Install\">Install a new Theme</a>. Like for themes, modules are created by other users of Orchard just like you so if you feel up to it, please <a href=\"http://www.orchardproject.net/\">consider participating</a>.</p><p>--The Orchard Crew</p>";
page.As<RoutableAspect>().Slug = "home";
page.As<RoutableAspect>().Title = T("Home").ToString();
page.As<HasComments>().CommentsShown = false;
page.As<CommonAspect>().Owner = user;
if (page.Has<HasComments>()) {
page.As<HasComments>().CommentsShown = false;
}
contentManager.Publish(page);
siteSettings.Record.HomePage = "PageHomePageProvider;" + page.Id;