Commit Graph

5242 Commits

Author SHA1 Message Date
Renaud Paquay
c20d722ee9 Allow disabling parallel behavior through HostComponents.config
Safety net...

--HG--
branch : 1.x
2011-06-02 17:23:14 -07:00
Renaud Paquay
1d5fd306b9 Merge
--HG--
branch : 1.x
2011-06-02 17:14:47 -07:00
Renaud Paquay
f0f7100837 #17901: Missing attribute value
Work Item: 17901

--HG--
branch : 1.x
2011-06-02 17:13:08 -07:00
Sebastien Ros
bbe6a420f3 Fixing tagged content items view order
--HG--
branch : 1.x
2011-06-02 15:54:18 -07:00
Sebastien Ros
3006f0ef45 Adding unit test for multi tenancy
--HG--
branch : 1.x
2011-06-02 15:53:51 -07:00
Nathan Heskew
e1b9eb60bd Updating the Common feature's XmlRpcHandler to set CreatedUtc to the posted date (when/if it's given)
--HG--
branch : 1.x
2011-06-02 15:43:53 -07:00
Sebastien Ros
0bb96b5633 Fixing specflow tests
--HG--
branch : 1.x
2011-06-02 14:13:52 -07:00
Sebastien Ros
94d54408f9 Fixing css discrepencies in admin for text boxes
--HG--
branch : 1.x
2011-06-02 12:15:03 -07:00
Sebastien Ros
c435aea775 #17757: Fixing multi-tenancy when more than one tenant
Work Items: 17757

--HG--
branch : 1.x
2011-06-02 12:11:29 -07:00
Renaud Paquay
ea11dbf606 PERF: Collect extension modification dates in parallel
Lots of file I/O, runs faster in parallel.

--HG--
branch : 1.x
2011-06-02 10:35:05 -07:00
Renaud Paquay
53f84b3cbc PERF: Compact list of tokens for cache entries
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
2011-06-02 10:34:01 -07:00
Renaud Paquay
2a43983151 PERF: Build shape table in parallel
We have lots of file I/O to scan directories for templates,
so it was a good candidate to run in parallel.

--HG--
branch : 1.x
2011-06-02 10:31:46 -07:00
Nathan Heskew
6755e88686 Merge
--HG--
branch : 1.x
2011-06-01 15:29:01 -07:00
Nathan Heskew
86c2f66488 #17894 Making sure the AntiForgeryAuthorizationFilter makes a good attempt at getting the name ("area" value) of the currently executing module
work item: 17894

--HG--
branch : 1.x
2011-06-01 15:28:15 -07:00
Renaud Paquay
43b3d45348 Merge
--HG--
branch : 1.x
2011-06-01 14:39:17 -07:00
Renaud Paquay
dda45b654e PERF: Revert previous change.
Using file system directly is 4x times faster.

--HG--
branch : 1.x
2011-06-01 14:38:55 -07:00
Nathan Heskew
172e53dbde #17897: Removing a (featureless) ResourceManifest registration from setup
Also tidying up some of the related resource usage.

work item: 17897

--HG--
branch : 1.x
2011-06-01 14:07:59 -07:00
Suha Can
7d26298c4a Merge
--HG--
branch : 1.x
2011-06-01 13:37:03 -07:00
Suha Can
34755f6205 Adding field name and field type name information to PartFieldDefinitionBuilder to allow field settings to be used and persisted correctly. Naively written code in external modules such as DateTimeField,ImageField drivers
can be updated. Also removed previous workaround.

--HG--
branch : 1.x
2011-06-01 13:36:33 -07:00
Sebastien Ros
5d08a6fe44 #17826: SiteSettings lose encryption keys when edited
Work Items: #17826

--HG--
branch : 1.x
2011-06-01 12:50:20 -07:00
Renaud Paquay
a721f20802 Remove extra ";"
--HG--
branch : 1.x
2011-06-01 11:59:18 -07:00
Renaud Paquay
1c400dbd69 Merge
--HG--
branch : 1.x
2011-06-01 11:09:45 -07:00
Andre Rodrigues
e353220ecf Fixing broken UT.
--HG--
branch : 1.x
2011-06-01 01:12:01 -07:00
Renaud Paquay
4daaeb0b40 Removed unused dependency
--HG--
branch : 1.x
2011-05-31 20:57:54 -07:00
Renaud Paquay
3ac3aead61 Use supported VPP api to retrieve modification date
--HG--
branch : 1.x
2011-05-31 19:19:07 -07:00
Renaud Paquay
1bb16a470c Load features in parallel.
--HG--
branch : 1.x
2011-05-31 18:24:18 -07:00
Renaud Paquay
df9abf1cc0 Load references of dependencies in parallel.
--HG--
branch : 1.x
2011-05-31 18:23:29 -07:00
Renaud Paquay
4c2785024c Ensure task result are returned ordered
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
2011-05-31 18:22:47 -07:00
Renaud Paquay
5f04d394c4 Minor cleanup
--HG--
branch : 1.x
2011-05-31 18:21:41 -07:00
Suha Can
07dbc2b136 #17879: Export a field duplicate settings for all field types
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
2011-05-31 18:09:45 -07:00
Suha Can
1dbc40c6ac Contribution by Piotr.
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
2011-05-31 12:38:34 -07:00
Suha Can
13d921a648 Contribution by mspring.
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
2011-05-31 12:20:43 -07:00
Renaud Paquay
f04e67d151 PERF: Extension loader probing performed in parallel
--HG--
branch : 1.x
2011-05-30 22:55:44 -07:00
Renaud Paquay
7122000ae0 Refactor cache context to support correct parallel execution
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
2011-05-30 22:31:27 -07:00
Renaud Paquay
1c16b10aa0 Run extension harvesting code in parallel task
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
2011-05-30 17:37:51 -07:00
Renaud Paquay
750493c447 Abstract away cache context
This is needed to support proper behavior of cache context
when executing tasks in parallel.

--HG--
branch : 1.x
2011-05-30 17:33:59 -07:00
Renaud Paquay
3ca3234bbf Refactor extension folder harvesting
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
2011-05-30 14:17:06 -07:00
Renaud Paquay
48a48e4cfe PERF: Don't look for themes in "~/Core".
It's not supported, hence it's unecessary disk I/O.

--HG--
branch : 1.x
2011-05-30 12:12:00 -07:00
Renaud Paquay
d6e4297c91 Merge
--HG--
branch : 1.x
2011-05-30 00:01:01 -07:00
Renaud Paquay
1fd64b705d PERF: Move async token monitoring to a service interface
Update UT

--HG--
branch : 1.x
2011-05-29 13:58:06 -07:00
Renaud Paquay
234375704a Fix bug in hashing algorithm
As per .NET guidelines and implementation details, can't use
string.GetHashCode() to persist string hash code values on disk.

--HG--
branch : 1.x
2011-05-29 13:08:38 -07:00
Sebastien Ros
487b04e6b6 Owner Editor is displayed by default for visual compatibility
--HG--
branch : 1.x
2011-05-29 10:51:37 -07:00
Renaud Paquay
a281658f9a Minor code refactoring
Spmplify/relayer things a little bit

--HG--
branch : 1.x
2011-05-29 02:42:57 -07:00
Renaud Paquay
933b625bf0 PERF: Re-use cached filehash for dynamic module hash
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
2011-05-28 22:16:14 -07:00
Renaud Paquay
21f1658f48 PERF: During startup, re-use the retrieve file modification dates
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
2011-05-28 21:01:39 -07:00
Renaud Paquay
b97c0f0666 Rename class to be more consistent with similar components
--HG--
branch : 1.x
rename : src/Orchard/FileSystems/Dependencies/DefaultModuleDependenciesManager.cs => src/Orchard/FileSystems/Dependencies/DefaultExtensionDependenciesManager.cs
rename : src/Orchard/FileSystems/Dependencies/IModuleDependenciesManager.cs => src/Orchard/FileSystems/Dependencies/IExtensionDependenciesManager.cs
2011-05-28 20:45:51 -07:00
Renaud Paquay
ec7e44db4f Move last write time computation out of loaders
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
2011-05-28 20:44:46 -07:00
Renaud Paquay
23afea8a0e PERF: Monitor modules files asynchronously
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
2011-05-28 19:05:52 -07:00
Louis DeJardin
331a36a703 Small mistakes in last commit
--HG--
branch : 1.x
2011-05-27 19:35:28 -07:00
Louis DeJardin
252cc00196 Refactoring OwnerEditor and DateEditor breakout
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
2011-05-27 19:02:45 -07:00