Commit Graph
100 Commits
Author SHA1 Message Date
Sipke Schoorstra dcb340c3e6 Improved exception message.
When developers accidentally add recipes to a module with the same name, a "key already exists" error would be logged.
This message makes it easier to identify the issue.
2015-09-08 14:27:03 +01:00
Sipke Schoorstra 4ad806af8e Refactored the way elements are instantiated.
Elements are now resolved using work context scope.
2015-09-07 18:22:56 +01:00
Sipke Schoorstra a760f012f2 Optimized HomeAlias exported XML a bit.
Also fixed an issue when a custom route contains an empty value for a route value entry (e.g. id=null).
2015-09-07 17:57:36 +01:00
Sipke Schoorstra d81e32d3b8 Added separator pipe between edit and delete (Alias UI). 2015-09-07 17:48:00 +01:00
Sipke Schoorstra 7ba273b4c4 Removed copy of SetupService from ImportExport.
Refactored ISetupService and SetupContext to work with an actual Recipe object so that client code can control what recipe to use.
2015-09-07 17:29:30 +01:00
Sipke Schoorstra 999a10b6e4 Shaving off a few microseconds per content item import. 2015-09-07 13:22:01 +01:00
Sipke Schoorstra e02bf2dacb Merge pull request #5680 from OrchardCMS/feature/initializing-tenant
Implemented Initializing status.
2015-09-03 13:15:42 +02:00
Sipke Schoorstra d0ad5de25c Rebuilt assets with Gulp. 2015-09-02 17:29:36 +01:00
Sipke Schoorstra 902021c686 Fixed default dashboard layout data string. 2015-09-02 14:40:15 +01:00
Sipke Schoorstra ce15e438ca Getting rid of a compiler warning regarding deprecated ExportOptions type. 2015-09-02 14:10:41 +01:00
Sipke Schoorstra 748a354632 Merge pull request #5628 from OrchardCMS/feature/distributed-locking
Feature/distributed locking
2015-09-02 12:49:38 +02:00
Sipke Schoorstra db03498cfa Deletes lock records when Count reaches 0.
Also some minor polishing and changed ObjectDisposedException to OrchardException in case a lock was already released.
2015-09-02 11:43:12 +01:00
Sipke Schoorstra 553a0e260a Merge branch 'dev' into feature/distributed-locking
Conflicts:
	src/Orchard/Orchard.Framework.csproj
2015-09-02 10:20:57 +01:00
Sipke Schoorstra e9799d5537 Fixed a potential "ValueFactory attempted to access the Value property of this instance" issue.
The underlying cause of such an error is a recursive call issue, where some code in a background task accesses the current http context (which is a stand in), while its construction also (indirectly) accesses the http context in order to get the site content item and query the configured BaseUrl. In theory we could access this information straight from the database without loading the Site content item, but since the URL value doesn't really matter it is better to keep it simple.
2015-09-01 15:05:28 +01:00
Sipke Schoorstra 735ab882b2 Removed unnecessary feature from setup context. 2015-08-28 12:25:35 +01:00
Sipke Schoorstra 8f2bd16fed Fixed broken setup due to auto-enabling features.
This change will only auto-enable features for already running shells.
2015-08-27 14:32:43 +01:00
Sipke Schoorstra e0e600a6ce Merge pull request #5688 from Codinlab/issue/5475
Fixes #5475 : Add missing properties to HttpRequestPlaceholder
2015-08-24 10:42:51 +01:00
Sipke Schoorstra 7fae246341 Added convenience overload taking a default value factory method.
This overload is useful in scenarios where you want to provide a default value but is relatively expensive to execute.
Using the overload, the factory method is only executed if the infoset does not contain an entry for the requested key.
2015-08-23 22:40:34 +01:00
Sipke Schoorstra 81adb78818 Implemented Initializing status. 2015-08-23 18:27:36 +01:00
Sipke Schoorstra b560a4c3d0 Corrected labels on import screen. 2015-08-22 23:35:45 +01:00
Sipke Schoorstra ec0c071ab6 Refactored minor internal affairs. 2015-08-22 23:07:55 +01:00
Sipke Schoorstra 86bae087fa Added support for eternal distributed locks.
Eternal locks never expire until they are explicitly released.
2015-08-22 22:55:00 +01:00
Sipke Schoorstra c5b0cac24a Removed unnecessary lock statements and updated tests.
The updated test needs to refresh the lock record entity since the DB record is updated using different connections (from child lifetime scopes).
2015-08-22 20:15:20 +01:00
Sipke Schoorstra 5f4cd14937 Changed the lifetime of DB services to match their lifetime scope.
This enables tests that involve multi threading and child lifetime scopes.
2015-08-22 20:13:46 +01:00
Sipke Schoorstra 7673e2e12f Non-functional change but more explicit.
Perhaps a bit subjective, but passing in a null value or a zero value controls whether the AcquireLockInternal will block or not, so probably better to provide an explicit Zero value from TryAcquireLock instead.
2015-08-22 18:10:43 +01:00
Sipke Schoorstra 3615cbe6db Added table index to DistributedLockRecord. 2015-08-22 18:04:12 +01:00
Sipke Schoorstra 5dcbad2235 Formatted code.
Moved static members to top of class.
2015-08-22 17:51:34 +01:00
Sipke Schoorstra 079fb1f84b Narrowed the lock scope to per-thread. 2015-08-22 17:11:03 +01:00
Sipke Schoorstra 1cf2b6cf27 Corrected message on ObsoleteAttribute applied to ITaskLeaseService/TaskLeaseService. 2015-08-22 17:05:42 +01:00
Sipke Schoorstra 2555302ed7 Removed unintentionally added file. 2015-08-21 23:21:13 +01:00
Sipke Schoorstra 811001143e Corrected interface name.
Potentially breaking, but I highly doubt anyone implemented this interface.
2015-08-21 23:14:37 +01:00
Sipke Schoorstra 412c531027 Merge branch 'dev' into feature/auto-enable-dependencies
Conflicts:
	src/Orchard/Orchard.Framework.csproj
2015-08-21 19:45:53 +01:00
Sipke Schoorstra 81bf5d94fd Updated usages of ITaskLeaseService with IDistributedLockService. 2015-08-21 19:35:42 +01:00
Sipke Schoorstra 6c712a9840 Fixed bugs, refactored and polished distributed lock service.
- Added machine and thread scoped locking.
- Added support for blocking acquisitions.
- Added thread synchronization when creating and committing nested transactions for lock record creation and updates.
2015-08-21 15:22:32 +01:00
Sipke Schoorstra 61f1c3ae00 Simplified distributed locking implementation and did the following:
- Added Support for re-entry
- Made TryAcquireLock method thread-safe.
- Changed the way locks are released by decreasing their ref count. A lock is expired if: a) ref count == 0 or b) ExpiredUtc lies in the past. It is no longer necessary to delete a lock record (but would be fine, maybe as a background task).
2015-08-19 23:05:39 +01:00
Sipke Schoorstra 641236f358 Re-implemented HomeAlias custom export step as recipe builder steps. 2015-08-13 14:43:05 +01:00
Sipke Schoorstra 564fdc27be #5636: Fixed a bug with AliasStorage.Remove method.
Fixes #5636
2015-08-13 13:48:37 +01:00
Sipke Schoorstra 25fa422a5e Added RemoveContent execution step. 2015-08-13 13:44:26 +01:00
Sipke Schoorstra 7d7340fbab Resolved merge conflicts.
The dev branch had the ExtensionManagerExtensions class as a separate file while the 1.9.x branch had this class in the same file as IExtensionManager.cs.
2015-08-12 15:33:10 +01:00
Sipke Schoorstra 591a06e944 Merge branch 'dev' of https://github.com/OrchardCMS/Orchard into feature/auto-enable-dependencies
Conflicts:
	src/Orchard.Web/Modules/Orchard.Layouts/Module.txt
	src/Orchard/Environment/Extensions/IExtensionManager.cs
	src/Orchard/Orchard.Framework.csproj
2015-08-12 15:24:36 +01:00
Sipke Schoorstra 08a3285e4f #3132: Auto-enabling dependency features.
This makes sure that any dependency of a feature that is currently not enabled gets enabled automatically before the shell is activated.
This prevents potential autofac resolution issues if one service depends on another service provided by a feature that is disabled.

Fixes #3132
2015-08-12 15:13:03 +01:00
Sipke Schoorstra 4cd88cb9c9 Minor cleanup and formatting. 2015-08-12 15:07:15 +01:00
Sipke Schoorstra f39b273558 Fixed some typos and corrected TinyMce dependency listings. 2015-08-12 14:47:24 +01:00
Sipke Schoorstra 77b8df516a Improved locking code.
- Moved DatabaseLock into Framework and making it the default lock provider.
- Removed unnecessary thread synchronization code.
- Allowing multiple lock acquisitions from the same machine (simulating a "lease").
- Updated unit tests.
2015-08-11 16:43:48 +01:00
Sipke Schoorstra 11f6ecc4d4 Added unit test for CompositionStrategy. 2015-08-11 12:56:18 +01:00
Sipke Schoorstra cb6835aba3 Updated AutomaticDataMigrations to take advantage of the DistributedLockService. 2015-08-10 18:08:00 +01:00
Sipke Schoorstra 0a9b05314e Changed dependency resolution.
This ensures dependency resolution works even when there's no work context (which happens when the code executes at the EndRequest event for example).
2015-08-10 18:06:57 +01:00
Sipke Schoorstra 01de9ef646 Addec leanup code to the ContainerTestBase. 2015-08-10 18:05:15 +01:00
Sipke Schoorstra 92c6d5fd80 Added logging statement in case of non-fatal exception. 2015-08-10 17:43:21 +01:00
Sipke Schoorstra 97fcfd4e24 Added tests for DistributedService. 2015-08-10 16:27:04 +01:00
Sipke Schoorstra 68c401c6eb Preventing usage disposed object and fixed EnsureLifetimeScope. 2015-08-10 15:27:15 +01:00
Sipke Schoorstra 16cd4e89c4 Added tests for DatabaseLock. 2015-08-10 15:24:18 +01:00
Sipke Schoorstra 17082eec9c Refactored disposal of DatabaseLock.
This ensures the cleanup will be able to resolve a database transaction even when it's Autofac that's disposing the object.
2015-08-10 15:13:03 +01:00
Sipke Schoorstra b62939f850 Implemented locking using ReaderWriterLockSlim and simplified logging statements. 2015-08-10 14:06:58 +01:00
Sipke Schoorstra ab12e9e630 Turned IDistributedLockService into an ISingleton. 2015-08-10 14:06:13 +01:00
Sipke Schoorstra f2e0fb22b3 Removed copy/paste artifact. 2015-08-10 13:48:54 +01:00
Sipke Schoorstra 15e6c95740 Added thread synchronization.
This ensures that only one thread at a time can acquire a lock.
2015-08-10 13:24:54 +01:00
Sipke Schoorstra 5813647574 Refactor renamed ILock to IDistributedLock.
Also refactored the IDistributedLockService to be more in line with general .NET patterns by return a boolean from the TryAcquire method.
2015-08-10 12:47:53 +01:00
Sipke Schoorstra f363ac2b5f Initial work on a distributed locking service. 2015-08-10 11:56:00 +01:00
Sipke Schoorstra d2c622dac6 Merge pull request #5626 from Xeevis/dev
Added woff2 mimetype
2015-08-09 10:37:59 +01:00
Sipke Schoorstra 86b232aa52 Reformatted web.config and added some default mimetypes. 2015-08-06 21:04:12 +01:00
Sipke Schoorstra c724cf0fcf Merge branch '1.9.x' into dev
Conflicts:
	src/Orchard.Web/Modules/Orchard.DynamicForms/Module.txt
	src/Orchard.Web/Modules/Orchard.Rules/Module.txt
2015-08-06 20:52:13 +01:00
Sipke Schoorstra 4a88752ba8 #5271: Added Lifecycle Status field to module manifest.
- Module manifest extended with LifecycleStatus field.
- Updated Features screen to show lifecycle status if LifecycleStatus != Production.
- Updated the deprecated module manifests with the new lifecycle status (CustomForms, Media, MediaPicker and Rules).
2015-08-06 17:48:50 +01:00
Sipke Schoorstra b1288ae5bc Minor code cleanup. 2015-08-05 17:18:40 +01:00
Sipke Schoorstra 98666530b4 #4097: Changed Import to accommodate expected behavior as defined as part of the issue.
This formalizes what we decided should happen when importing recipes in combination with various possible statuses a content item can have and how the import affects this.
2015-08-05 17:11:04 +01:00
Sipke Schoorstra ac1a279d1b #2540: Fixes an issue with NotifyFilter.
This fixes the case when a controller for example registers a notification and then returns a View result instead of a Redirect result.
When returning a View, the registered notifications would not be rendered until another page request occurred.

Fixes #2540
2015-08-05 14:03:44 +01:00
Sipke Schoorstra 226dc719ab Merge pull request #5599 from mahsaro/dev
Importing/Exporting of Aliases.
2015-08-04 22:25:20 +01:00
Sipke Schoorstra de29f63521 Formatted file. 2015-08-04 17:18:28 +01:00
Sipke Schoorstra 8cda6b54c6 Throwing an exception when specifying a non-existing recipe. 2015-08-04 17:08:15 +01:00
Sipke Schoorstra 783281321c Updated generated assets. 2015-08-04 17:07:32 +01:00
Sipke Schoorstra f4a707a281 Merge branch 'dev' into issue/homepage-alias
Conflicts:
	src/Orchard.Web/Modules/Orchard.ImportExport/Views/Admin/ImportResult.cshtml
	src/Orchard.Web/Modules/Orchard.Layouts/Orchard.Layouts.csproj
2015-08-04 16:28:07 +01:00
Sipke Schoorstra 2ad324d4e2 Merge branch 'dev' into issue/homepage-alias
Conflicts:
	src/Orchard.Web/Modules/Orchard.ImportExport/Views/Admin/ImportResult.cshtml
	src/Orchard.Web/Modules/Orchard.Layouts/Orchard.Layouts.csproj
2015-08-04 16:25:35 +01:00
Sipke Schoorstra 0c6326bafd Improved recipe import/reset execution by pausing sweep generator.
This prevents active background tasks from accessing tables that may no longer be there (in the case of a full site reset) by pausing the sweep generator.
To ensure that the sweep generator is resumed after the recipe has been executed, a new ActivateSweepGeneratorStep is enqueued at the end of the recipe execution.
2015-08-04 15:03:47 +01:00
Sipke Schoorstra d746548f56 Fixed reset.
The database tables need to be dropped after reading settings from the Site item.
2015-08-03 18:51:15 +01:00
Sipke Schoorstra 7ba2751de1 Fixed an issue with site reset.
This fixes an issue where currently enabled features are enabled too soon.
Instead only core features should be enabled and then whatever is enabled via the recipe.
2015-08-03 18:00:15 +01:00
Sipke Schoorstra 0c729e6e7f Fixed DI registration of IDatabaseManager. 2015-08-03 17:23:47 +01:00
Sipke Schoorstra 7f55f27580 Renamed weirdly named argument. 2015-08-03 17:21:14 +01:00
Sipke Schoorstra 3cd39bcc73 Fixed dropping of database tables during site reset.
This fixes an issue where only a subset of the actual tables were being deleted due to a minimal shell context.
2015-08-03 17:20:55 +01:00
Sipke Schoorstra 09f3e2ad2f Removed unused namespaces and some whitespace. 2015-08-03 17:19:08 +01:00
Sipke Schoorstra 64077ae09a Changed labels of content recipe builder step.
This should make for a more consistent terminology.
2015-07-30 23:13:19 +01:00
Sipke Schoorstra 2a2aba9548 Fixed that xmldecl was not part of the export.xml. 2015-07-30 22:57:26 +01:00
Sipke Schoorstra c746fe926b Fixed removal of database tables when using data table prefix. 2015-07-30 16:39:17 +01:00
Sipke Schoorstra 73170a0d63 Added support for multiple recipe steps of the same type and added unit tests.
Enables execution of multiple child recipes in a particular sequence. This is useful for the RecipesStep for example, where you want to execute a child recipe first, then execute some commands and import some content, then execute a second child recipe.
2015-07-30 14:26:01 +01:00
Sipke Schoorstra a7d2777478 Made DatabaseEnabledTestsBase.Cleanup virtual.
This enables child classes to provide additional cleanup.
2015-07-30 14:21:32 +01:00
Sipke Schoorstra d13d3e7ff3 Fixed a null reference exception by initializing the lists. 2015-07-29 13:06:50 +01:00
Sipke Schoorstra 57692e073d Added RecipesStep.
This recipe steps enables the execution of other recipes within the same ExecutionId.
2015-07-28 18:15:43 +01:00
Sipke Schoorstra cbf10216b0 Merge pull request #5581 from dcinzona/patch-4
Updated README.md Orchard version to 1.9.1
2015-07-28 15:14:00 +01:00
Sipke Schoorstra 805de7d563 Removed unnecessary check for "/".
The DisplayAlias of a content item will not be set to "" or "/" for the item to become the homepage, so there's no need to check for the display alias to be "/".
2015-07-26 17:16:41 +01:00
Sipke Schoorstra 8aa2a9f070 Fixed autoroute part editor template.
This fixes an issue where the alias text field becomes hidden when the content is the homepage, while given the home alias updates you should still be able to change the alias of the content item.
2015-07-26 17:10:09 +01:00
Sipke Schoorstra c4ff7a21f3 Removed unused namespace. 2015-07-26 17:06:33 +01:00
Sipke Schoorstra 2317d6a737 Update FrontEndCultureSelector shape template to accommodate home alias changes. 2015-07-26 16:19:38 +01:00
Sipke Schoorstra 6566c11880 Fixed bad merge. 2015-07-24 15:01:16 +01:00
Sipke Schoorstra 0d3f525610 Simplified accessing the localizable aspect and elaborated a bit on the hack. 2015-07-24 14:57:19 +01:00
Sipke Schoorstra e8cc0cba6e Merge branch 'dev' into issue/homepage-alias
Conflicts:
	src/Orchard.Web/Modules/Orchard.Autoroute/Drivers/AutoroutePartDriver.cs
	src/Orchard.Web/Modules/Orchard.Autoroute/Handlers/AutoroutePartHandler.cs
	src/Orchard.Web/Modules/Orchard.Autoroute/ImportExport/HomeAliasExportStep.cs
	src/Orchard.Web/Modules/Orchard.Autoroute/Orchard.Autoroute.csproj
	src/Orchard.Web/Modules/Orchard.Autoroute/Services/AutorouteService.cs
	src/Orchard.Web/Modules/Orchard.ImportExport/Views/Admin/ImportResult.cshtml
	src/Orchard.Web/Modules/Orchard.Layouts/Orchard.Layouts.csproj
	src/Orchard.Web/Modules/Orchard.Localization/Providers/LocalizationDateTimeFormatProvider.cs
	src/Orchard.Web/Modules/Orchard.Pages/Orchard.Pages.csproj
	src/Orchard/Localization/Services/CultureDateTimeFormatProvider.cs
	src/Orchard/Localization/Services/DefaultDateFormatter.cs
	src/Orchard/Localization/Services/IDateTimeFormatProvider.cs
2015-07-24 14:11:00 +01:00
Sipke Schoorstra f575944df3 Updated Page commands to create home page alias. 2015-07-24 13:52:38 +01:00
Sipke Schoorstra 4159584d85 Merge branch 'dev' into issue/homepage-alias
Conflicts:
	src/Orchard.Web/Modules/Orchard.Autoroute/Drivers/AutoroutePartDriver.cs
	src/Orchard.Web/Modules/Orchard.Autoroute/Handlers/AutoroutePartHandler.cs
	src/Orchard.Web/Modules/Orchard.Autoroute/Services/AutorouteService.cs
2015-07-24 13:33:36 +01:00
Sipke Schoorstra d6e96252e7 Merge branch 'feature/tabs' into dev 2015-07-24 11:52:39 +01:00
Sipke Schoorstra f6e5f6b91e Removed "Both" column from Content recipe builder step. 2015-07-24 11:42:26 +01:00
Sipke Schoorstra a88b35192e Fixed Orchard.AntiSpam compilation issue by correcting data type. 2015-07-24 11:20:22 +01:00
Sipke Schoorstra bd82412d95 Updated gulped script output. 2015-07-24 10:59:15 +01:00