This fixes an issue where the LayoutPart XML element would appear last in the content item XML element due to the fact that the <LayoutPart> element was being added only in the Exported event and not in the Exporting event.
To fix this, the <LayoutPart> element is no first added during the Exporting event, and later updated in the Exporting event.
- Renamed ImportedAll to ImportCompleted.
- Added a "batch label" to the BatchedInvoke method to be able to better identify what's being executed from the log files.
NOTE: You need to run "npm update" from the solution folder to download the updated version of the dependencies for the updated Gulpfile to work properly.
This fixes an issue where, if Orchard.Web has not previously been built, the SQL CE binaries will not be included when doing a Web Deploy publish of Orchard.Web.
The issue is caused by CookieCultureSelector is expecting a working implementation of HttpRequestBase.AnonymousID, yet in one case that wont'be true. During background task execution, which is started by SweepGenerator on a background thread without real HTTP request, the HttpRequestBase object is created using HttpRequestPlaceholder, which is trying to simulate a valid HTTP Request to some extent, particularly leaving its property AnonymousID not implemented. However, CookieCultureSelector.EvaluateResult is expecting context.Request.AnonymousID being implemented in some way.
This could be seen as a bug in Orchard.CultureSelector, as one can justify that it should be aware of fake HttpRequestBase object. On the other hand, this could be an Orchard bug as well, if the philosophy is to keep the users of HttpRequestBase objects ignorant of the actual implementation. I prefer the latter, thus this fix.
Make Model Serializable for use in Web Farms with session state stored in a database. Currently a Serialization error is thrown when creating layout or page in the dashboard.
The default layout was just set in the text editor, and would not be
taken into account if the Part settings were not saved. A user would
then think the default template was there but actually not.
The change here is to leave the text editor empty, and if the setting is
empty load the default from the service. To actually have an empty template
a user needs to provide an empty object.