Due to the way we nest cache context implicitly, there were cases
where we had 1,500+ tokens with only 200+ unique ones.
We now call "distinct" on the tokens when after an entry is created.
This decreases memory usage and also improve performance on cache
hits (fewer tokens to go though each time).
--HG--
branch : 1.x
This is to avoid a potentially un-wanted side-effect of having
an enumeration returned in a different order when executed
in parallel.
--HG--
branch : 1.x
The bug was lower in the stack, in ContentDefinitionWriter. So besides Import/Export, the Experimental
module was also susceptible to the same. There may still be some loose end related to FieldSettings in
general, doesn't seem to be a well explored area.
--HG--
branch : 1.x
Fix workitem #17872: Null shape added to Zone causes NotImplementedException being thrown (return to change listing).
Added handling of null shapes. If shape that gets passed to Add method is null - it is simply ignored.
--HG--
branch : contributions
Added the BlogPart to the shape model of RecentBlogPostsPart just the same way
as being done in BlogArchivesPartDriver.
This enables the use of Html.ItemDisplayLink((IContent)Model.Blog) inside
overwritten shapes which want to show a link to the entire blog.
--HG--
branch : contributions
We need a new service, IParallelCacheContext, which allows
tracking the current cache context across threads and tasks
running in the thread pool.
--HG--
branch : 1.x
Extension harvesting is a mix of independent operations requiring
file i/o and cpu usage, so they are good candidate for
parellelization.
Also make module harvesting in ~/Core a separate folder instance.
--HG--
branch : 1.x
Use composition over inheritance. This will be useful later to
improve performance of module/theme manifest harvesting.
--HG--
branch : 1.x
rename : src/Orchard/Environment/Extensions/Folders/ExtensionFolders.cs => src/Orchard/Environment/Extensions/Folders/ExtensionHarvester.cs
Before recompiling a dynamic module (.csproj), the BuildManager
verifies that the file hash (returned from the VPP) has changed
from the previous compilation. Instead of returning of the file
hash of the .csproj file and all its virtual dependencies (source
files and references), use the file hash value stored in the file
managed by IExtensionDependenciesManager.
This improves startup time by 10+ seconds on file i/o bound machines.
--HG--
branch : 1.x
to compute the file hash to store into the ExtensionDependencies
file. This allows skipping doing additional file I/O on dynamic
modules when they are activated.
--HG--
branch : 1.x
Loaders should only know about dependencies, not about modification
dates. This will help centralizing and abstracting away (for
performance reason) the algorithm used to pick the correct
module to activate (according to last modification dates).
--HG--
branch : 1.x
Monitoring virtual dependency files for modules takes requires a lot
of file I/O, and can be a significant bottleneck on heavily loaded
disk sub-system (5-10 secs). Making this process asynchronous during
startup decreases startup time by almost that amount of time.
--HG--
branch : 1.x
Splitting OwnerEditor and DateEditor settings apart. Breaking off any knowledge
in the CommonPart of the OwnerEditor and DateEditor.
Changed the settings to appear as TypePart definition instead of Type.
Based the ViewModel on Shape instead of EditorTemplates.
The goal of these changes is to illustrate how a 3rd party module would
accomplish the same kind of ContentPart extension w/out changing core code.
--HG--
branch : 1.x
rename : src/Orchard.Web/Core/Common/Drivers/DateEditorPartDriver.cs => src/Orchard.Web/Core/Common/DateEditor/DateEditorDriver.cs
rename : src/Orchard.Web/Core/Common/Handlers/DateEditorPartHandler.cs => src/Orchard.Web/Core/Common/DateEditor/DateEditorHandler.cs
rename : src/Orchard.Web/Core/Common/Settings/CommonEditorsSettings.cs => src/Orchard.Web/Core/Common/DateEditor/DateEditorSettings.cs
rename : src/Orchard.Web/Core/Common/Drivers/OwnerEditorPartDriver.cs => src/Orchard.Web/Core/Common/OwnerEditor/OwnerEditorDriver.cs
rename : src/Orchard.Web/Core/Common/Settings/CommonEditorsSettings.cs => src/Orchard.Web/Core/Common/OwnerEditor/OwnerEditorSettings.cs
rename : src/Orchard.Web/Core/Common/ViewModels/OwnerEditorViewModel.cs => src/Orchard.Web/Core/Common/OwnerEditor/OwnerEditorViewModel.cs
rename : src/Orchard.Web/Core/Common/Views/DefinitionTemplates/CommonEditorsSettings.cshtml => src/Orchard.Web/Core/Common/Views/DefinitionTemplates/DateEditorSettings.cshtml
rename : src/Orchard.Web/Core/Common/Views/DefinitionTemplates/CommonEditorsSettings.cshtml => src/Orchard.Web/Core/Common/Views/DefinitionTemplates/OwnerEditorSettings.cshtml
rename : src/Orchard.Web/Core/Common/Views/EditorTemplates/Parts.Common.CreatedUtc.cshtml => src/Orchard.Web/Core/Common/Views/Parts.Common.Date.Edit.cshtml
extra : transplant_source : %D1%21c%ACa%F0%0FO%A1%9A%88YS%1Bk9.%CB%04%08