diff --git a/.gitignore b/.gitignore index fc3ff0d47..18cf32456 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ [Rr]elease/ x64/ build/ +app.publish/ [Bb]in/ [Oo]bj/ diff --git a/src/Orchard.Azure/Orchard.Azure.Web/Config/Host.config b/src/Orchard.Azure/Orchard.Azure.Web/Config/Host.config index 008324024..7b6441f6c 100644 --- a/src/Orchard.Azure/Orchard.Azure.Web/Config/Host.config +++ b/src/Orchard.Azure/Orchard.Azure.Web/Config/Host.config @@ -7,9 +7,14 @@ + + + + + diff --git a/src/Orchard.Azure/Orchard.Azure.Web/Orchard.Azure.Web.csproj b/src/Orchard.Azure/Orchard.Azure.Web/Orchard.Azure.Web.csproj index 67bb7053c..77fb25cc8 100644 --- a/src/Orchard.Azure/Orchard.Azure.Web/Orchard.Azure.Web.csproj +++ b/src/Orchard.Azure/Orchard.Azure.Web/Orchard.Azure.Web.csproj @@ -425,6 +425,10 @@ Orchard.Search True + + {36b82383-d69e-4897-a24a-648babdf80ec} + Orchard.SecureSocketsLayer + {8C7FCBC2-E6E1-405E-BFB5-D8D9E67A09C4} Orchard.Setup diff --git a/src/Orchard.Azure/Orchard.Azure.sln b/src/Orchard.Azure/Orchard.Azure.sln index b7e97ef7e..c9b2e3a07 100644 --- a/src/Orchard.Azure/Orchard.Azure.sln +++ b/src/Orchard.Azure/Orchard.Azure.sln @@ -141,6 +141,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Orchard", "Orchard", "{F2AB EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Orchard.Caching", "..\Orchard.Web\Modules\Orchard.Caching\Orchard.Caching.csproj", "{7528BF74-25C7-4ABE-883A-443B4EEC4776}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Orchard.SecureSocketsLayer", "..\Orchard.Web\Modules\Orchard.SecureSocketsLayer\Orchard.SecureSocketsLayer.csproj", "{36B82383-D69E-4897-A24A-648BABDF80EC}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -403,6 +405,10 @@ Global {7528BF74-25C7-4ABE-883A-443B4EEC4776}.Debug|Any CPU.Build.0 = Debug|Any CPU {7528BF74-25C7-4ABE-883A-443B4EEC4776}.Release|Any CPU.ActiveCfg = Release|Any CPU {7528BF74-25C7-4ABE-883A-443B4EEC4776}.Release|Any CPU.Build.0 = Release|Any CPU + {36B82383-D69E-4897-A24A-648BABDF80EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {36B82383-D69E-4897-A24A-648BABDF80EC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {36B82383-D69E-4897-A24A-648BABDF80EC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {36B82383-D69E-4897-A24A-648BABDF80EC}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -461,6 +467,7 @@ Global {5D13EF34-8B39-4EC5-847F-E12892ACF841} = {8E3DE014-9B28-4B32-8AC1-B2BE404E9B2D} {E649EA64-D213-461B-87F7-D67035801443} = {8E3DE014-9B28-4B32-8AC1-B2BE404E9B2D} {7528BF74-25C7-4ABE-883A-443B4EEC4776} = {8E3DE014-9B28-4B32-8AC1-B2BE404E9B2D} + {36B82383-D69E-4897-A24A-648BABDF80EC} = {8E3DE014-9B28-4B32-8AC1-B2BE404E9B2D} {33B1BC8D-E292-4972-A363-22056B207156} = {75E7476C-C05B-4C41-8E38-081D3EB55659} {CB70A642-8CEC-4DDE-8C9F-AD08900EC98D} = {84650275-884D-4CBB-9CC0-67553996E211} {9916839C-39FC-4CEB-A5AF-89CA7E87119F} = {F2AB7512-139A-420F-AE3A-9ED22CA52CE1} diff --git a/src/Orchard.Web/Config/log4net.config b/src/Orchard.Web/Config/log4net.config index e129ba1a2..d28757088 100644 --- a/src/Orchard.Web/Config/log4net.config +++ b/src/Orchard.Web/Config/log4net.config @@ -61,7 +61,7 @@ - + @@ -81,7 +81,7 @@ - + diff --git a/src/Orchard.Web/Modules/Orchard.Azure/Orchard.Azure.csproj b/src/Orchard.Web/Modules/Orchard.Azure/Orchard.Azure.csproj index 851b26621..6db0016cc 100644 --- a/src/Orchard.Web/Modules/Orchard.Azure/Orchard.Azure.csproj +++ b/src/Orchard.Web/Modules/Orchard.Azure/Orchard.Azure.csproj @@ -71,6 +71,10 @@ False ..\..\..\..\lib\windowsazure\Microsoft.WindowsAzure.Diagnostics.StorageUtility.dll + + False + ..\..\..\..\lib\windowsazure\Microsoft.WindowsAzure.ServiceRuntime.dll + False ..\..\..\..\lib\windowsazure\Microsoft.WindowsAzure.Storage.dll @@ -89,6 +93,7 @@ + @@ -102,6 +107,10 @@ {6e444ff1-a47c-4cf6-bb3f-507c8ebd776d} Orchard.OutputCache + + {3f72a4e9-7b72-4260-b010-c16ec54f9baf} + Orchard.TaskLease + diff --git a/src/Orchard.Web/Modules/Orchard.Azure/Services/FileSystems/AzureFileSystem.cs b/src/Orchard.Web/Modules/Orchard.Azure/Services/FileSystems/AzureFileSystem.cs index 170346e64..fbff62f98 100644 --- a/src/Orchard.Web/Modules/Orchard.Azure/Services/FileSystems/AzureFileSystem.cs +++ b/src/Orchard.Web/Modules/Orchard.Azure/Services/FileSystems/AzureFileSystem.cs @@ -67,15 +67,7 @@ namespace Orchard.Azure.Services.FileSystems { // The container is named with DNS naming restrictions (i.e. all lower case) _container = _blobClient.GetContainerReference(ContainerName); - _container.CreateIfNotExists(); - - _container.SetPermissions(_isPrivate - ? new BlobContainerPermissions { - PublicAccess = BlobContainerPublicAccessType.Off - } - : new BlobContainerPermissions { - PublicAccess = BlobContainerPublicAccessType.Container - }); + _container.CreateIfNotExists(_isPrivate ? BlobContainerPublicAccessType.Off : BlobContainerPublicAccessType.Container); } private static string ConvertToRelativeUriPath(string path) { diff --git a/src/Orchard.Web/Modules/Orchard.Azure/Services/FileSystems/CloudBlobContainerExtensions.cs b/src/Orchard.Web/Modules/Orchard.Azure/Services/FileSystems/CloudBlobContainerExtensions.cs index eb12d52a9..d31932788 100644 --- a/src/Orchard.Web/Modules/Orchard.Azure/Services/FileSystems/CloudBlobContainerExtensions.cs +++ b/src/Orchard.Web/Modules/Orchard.Azure/Services/FileSystems/CloudBlobContainerExtensions.cs @@ -10,15 +10,7 @@ namespace Orchard.Azure.Services.FileSystems { public static bool BlobExists(this CloudBlobContainer container, string path) { if (String.IsNullOrEmpty(path) || path.Trim() == String.Empty) throw new ArgumentException("Path can't be empty"); - - try { - var blob = container.GetBlockBlobReference(path); - blob.FetchAttributes(); - return true; - } - catch (StorageException) { - return false; - } + return container.GetBlockBlobReference(path).Exists(); } public static void EnsureBlobExists(this CloudBlobContainer container, string path) { diff --git a/src/Orchard.Web/Modules/Orchard.Azure/Services/TaskLease/AzureMachineNameProvider.cs b/src/Orchard.Web/Modules/Orchard.Azure/Services/TaskLease/AzureMachineNameProvider.cs new file mode 100644 index 000000000..57d260bc8 --- /dev/null +++ b/src/Orchard.Web/Modules/Orchard.Azure/Services/TaskLease/AzureMachineNameProvider.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.WindowsAzure.ServiceRuntime; +using Orchard.TaskLease.Services; + +namespace Orchard.Azure.Services.TaskLease +{ + public class AzureMachineNameProvider : IMachineNameProvider + { + public string GetMachineName() + { + return RoleEnvironment.CurrentRoleInstance.Id; + } + } +} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.CodeGeneration/Commands/CodeGenerationCommands.cs b/src/Orchard.Web/Modules/Orchard.CodeGeneration/Commands/CodeGenerationCommands.cs index 2c9d1e52e..de6a306a7 100644 --- a/src/Orchard.Web/Modules/Orchard.CodeGeneration/Commands/CodeGenerationCommands.cs +++ b/src/Orchard.Web/Modules/Orchard.CodeGeneration/Commands/CodeGenerationCommands.cs @@ -21,10 +21,10 @@ namespace Orchard.CodeGeneration.Commands { private const string SolutionDirectoryThemes = "74492CBC-7201-417E-BC29-28B4C25A58B0"; private static readonly string[] _themeDirectories = new[] { - "", "Content", "Styles", "Scripts", "Views", "Zones" + "", "Content", "Styles", "Scripts", "Views" }; private static readonly string[] _moduleDirectories = new[] { - "", "Properties", "Controllers", "Views", "Models", "Scripts", "Styles" + "", "Properties", "Controllers", "Views", "Models", "Scripts", "Styles" }; private static readonly string[] _moduleTestsDirectories = new[] { "", "Properties" diff --git a/src/Orchard.Web/Modules/Orchard.Comments/Controllers/CommentController.cs b/src/Orchard.Web/Modules/Orchard.Comments/Controllers/CommentController.cs index 38c4fec44..56ff22f49 100644 --- a/src/Orchard.Web/Modules/Orchard.Comments/Controllers/CommentController.cs +++ b/src/Orchard.Web/Modules/Orchard.Comments/Controllers/CommentController.cs @@ -35,19 +35,19 @@ namespace Orchard.Comments.Controllers { var editorShape = Services.ContentManager.UpdateEditor(comment, this); - if (!ModelState.IsValidField("Author")) { + if (!ModelState.IsValidField("Comments.Author")) { Services.Notifier.Error(T("Name is mandatory and must have less than 255 chars")); } - if (!ModelState.IsValidField("Email")) { + if (!ModelState.IsValidField("Comments.Email")) { Services.Notifier.Error(T("Email is invalid or is longer than 255 chars")); } - if (!ModelState.IsValidField("Site")) { + if (!ModelState.IsValidField("Comments.Site")) { Services.Notifier.Error(T("Site url is invalid or is longer than 255 chars")); } - if (!ModelState.IsValidField("CommentText")) { + if (!ModelState.IsValidField("Comments.CommentText")) { Services.Notifier.Error(T("Comment is mandatory")); } diff --git a/src/Orchard.Web/Modules/Orchard.ContentPermissions/Drivers/ContentPermissionsPartDriver.cs b/src/Orchard.Web/Modules/Orchard.ContentPermissions/Drivers/ContentPermissionsPartDriver.cs index a294aef02..5e3fcf9af 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentPermissions/Drivers/ContentPermissionsPartDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.ContentPermissions/Drivers/ContentPermissionsPartDriver.cs @@ -177,7 +177,7 @@ namespace Orchard.ContentPermissions.Drivers { } if (!_authorizer.Authorize(Core.Contents.Permissions.PublishOwnContent, part.ContentItem)) { - part.PublishOwnContent = settings == null ? ContentPermissionsPartViewModel.SerializePermissions(allRoles.Select(x => new RoleEntry {Role = x, Checked = _authorizationService.TryCheckAccess(Core.Contents.Permissions.ViewContent, UserSimulation.Create(x), null)})) : settings.PublishOwn; + part.PublishOwnContent = settings == null ? ContentPermissionsPartViewModel.SerializePermissions(allRoles.Select(x => new RoleEntry {Role = x, Checked = _authorizationService.TryCheckAccess(Core.Contents.Permissions.PublishOwnContent, UserSimulation.Create(x), null)})) : settings.PublishOwn; } if (!_authorizer.Authorize(Core.Contents.Permissions.EditContent, part.ContentItem)) { diff --git a/src/Orchard.Web/Modules/Orchard.ContentPermissions/Views/DefinitionTemplates/ContentPermissionsPartViewModel.cshtml b/src/Orchard.Web/Modules/Orchard.ContentPermissions/Views/DefinitionTemplates/ContentPermissionsPartViewModel.cshtml index 889859042..b318e1c74 100644 --- a/src/Orchard.Web/Modules/Orchard.ContentPermissions/Views/DefinitionTemplates/ContentPermissionsPartViewModel.cshtml +++ b/src/Orchard.Web/Modules/Orchard.ContentPermissions/Views/DefinitionTemplates/ContentPermissionsPartViewModel.cshtml @@ -28,13 +28,6 @@ @Html.HiddenFor(m => m.ViewRoles[role.Index].Role) - - - @Html.HiddenFor(m => m.PublishRoles[role.Index].Role) - @Html.HiddenFor(m => m.EditRoles[role.Index].Role) + + + @Html.HiddenFor(m => m.PublishRoles[role.Index].Role) + @Html.HiddenFor(m => m.ViewOwnRoles[role.Index].Role) - - - @Html.HiddenFor(m => m.PublishOwnRoles[role.Index].Role) - @Html.HiddenFor(m => m.EditOwnRoles[role.Index].Role) + + + @Html.HiddenFor(m => m.PublishOwnRoles[role.Index].Role) +