Commit Graph

70 Commits

Author SHA1 Message Date
Shannon Deminick
7404a1f93d Merge with 4.11.6 2013-03-12 00:14:50 +04:00
Shannon Deminick
c8b8b28e9b applies patch for #U4-1890 2013-03-12 00:10:59 +04:00
Shannon Deminick
c0cd157e60 applies patch for #U4-1890 2013-03-12 00:00:55 +04:00
Shannon Deminick
feff68ada8 Refactor new Services for thread safety, plus unit tests. Not all services are updated to be correct, only the
ContentService, the rest need to be updated as well.
2012-12-11 12:03:36 +05:00
Shannon Deminick
a9257ad366 Fixes #U4-1213, much better support for ignoring routes in route table. Fixes issue with LogHelper. Adds unit tests
for ignoring routes.
2012-11-19 19:56:52 +05:00
Stephan
e3efc0d19b U4-1194 - Mvc templates do not work when running in a virtual directory 2012-11-16 15:52:14 -01:00
Shannon Deminick
156f145c69 Updated the build manager to find instances based on persisted cache of previous lookups but uses BuildManager to do so, after
some benchmark unit tests against loading a type from an assembly this is about 100% faster. Updated the UmbracoModule to write more diagnostics
for benchmark debugging. Have basically reduced the startup time to approx 50% of what it used to be based on the current
benchmarks run. Previously app startup on my machine was about 5 seconds, now after the first startup it is about 2.5 seconds.
2012-11-12 08:10:12 +05:00
Shannon Deminick
083bab0528 Added HashCodeCombiner and unit tests to support. Added ability to create a hashed file based on scanned assemblies in the
PluginManager and added a cached plugin xml file to the PluginManager. Now we don't actually scan any assemblies on app startup
during plugin finding if none of the DLLs have changed. Added trace statements to the UmbracoModule for better benchmarking for
how long a full request takes to load from start to finish.
2012-11-11 09:09:06 +05:00
Shannon Deminick
c3795d7e5a Added some code comments and did a check for redirects (returns null if this is the case) 2012-10-30 06:49:36 +06:00
Stephan
be3f95610b U4-1081 - treat missing template at 404 2012-10-29 12:35:39 -01:00
Shannon Deminick
07f8f79620 Fixes: #U4-1077, found an bug with both our code and Microsoft's code in that if you RemapPath with an incorrect URL which contains
2 '?' the internals of ASP.net actually force a secondary internal request which causes BeginRequest to fire but doesn't follow the normal
chain of the module. It was a bug with our code having two query strings, however its pretty strange behavior on their part!
Have removed UmbracoContext.ClientUrl since it is not necessary to have. Have renamed UmbracoContext.UmbracoUrl = CleanedUmbracoUrl and UmbracoContext.RequextUrl = OriginalRequestUrl
Have moved the route processing logic to a static method on PublishedContentRequest which auto assigns the request back to the UmbracoContext, plus this is a cleaner
way to do the processing, including allowing us to unit test this one aspect.
Lastly, we are now rewriting the path back to the original URL in the RenderRouteHandler so that in MVC controllers the HttpContext.Request actually
reflects the URL that the client requested, not the rewritten URL (we do this in webforms too)
2012-10-26 02:55:57 +05:00
Shannon Deminick
ce4828d678 Fixes HasContent if there is actually no content (new install).
Fixes issue with TreeDefinitionCollection not initializing when accessing singleton... not sure how i overlooked that before. This fixes
issues with MNTP initialization and probably some other tree stuff.
Removes warning log in umbracomodule for not a document as this just takes up space in the log.
Fixes issue with logger that was logging 'Info' for our internal Debug calls.
2012-10-11 02:30:48 +05:00
Shannon Deminick
6bd005775d After talks with morten and stephane, this renames
DocumentNotFoundHandler  -> PublishedContentNotFoundHandler
2012-10-02 01:43:59 +05:00
Shannon Deminick
827d4dd6c0 After talks with morten and stephane, this renames
DocumentRequestBuilder -> PublishedContentRequestBuilder
2012-10-02 01:41:54 +05:00
Shannon Deminick
ffd14c839b After talks with morten and stephane, this renames
DocumentRequest -> PublishedContentRequest
2012-10-02 01:40:19 +05:00
Stephan
3cddc5e4dc merge 2012-09-30 14:04:38 -02:00
Stephan
8cd49749ec fix routing, more unit tests 2012-09-30 14:02:11 -02:00
Shannon Deminick
b3ca264af1 Explicitly loads webforms handler and remaps to it, now we can share this code somehow with the RenderRouteHandler when
we want to support having a no-template render as a 404.
2012-09-29 07:36:19 +07:00
Shannon Deminick
34e71027b3 Changed Is404 on DocumentRequest to internal as only the DocumentRequestBuilder should set this, removed the Is404 being set in the
DefaultLastChanceLookup as lookups shouldn't set the 404.
Cleaned up ObjectExtensions TryConvertValue method.
Ensures that the routes are created before the CoreBootManager complete is called.
2012-09-29 07:20:23 +07:00
Stephan
abe4944843 routing - handle when umbraco is not ready or has no content 2012-09-28 11:11:47 -02:00
Stephan
b0e336e01f routing, fix "no content" splash, fix "no template" handling, fix redirects 2012-09-28 07:04:33 -02:00
Stephan
7d8ec2678c initialize Umbraco sooner in the request pipeline 2012-09-24 12:49:36 -02:00
Stephan
343c14db48 fixing routing, 404, domains + add NiceUrl and UriUtility tests 2012-09-24 11:36:25 -02:00
Stephan
ea8ff709c2 further refactor base/rest service into Umbraco.Web 2012-09-20 14:37:23 -02:00
Shannon Deminick
f912d465c5 Moved BaseRestHandler out of the BaseRest namespace.
Updated PublishedMediaStore and wrote a bunch of unit tests for it which are all now passing.
2012-09-20 07:13:45 +07:00
Stephan
2c204d9d9e refactor base/rest module into a handler so that it works again with the new UmbracoModule 2012-09-18 08:54:54 -02:00
Shannon Deminick
9e5f2f3c9a Fixed template engine selection... oops :) Should all work now!
Fixed DefaultPublishedContentStore to correctly find a secondary root document that doesn't have a domain assigned.
2012-09-13 12:19:56 +07:00
Shannon Deminick
0ed15db408 Fixed the NiceUrlProvider as it some refactor on a previous commit broke some stuff.
Fixed up some unit tests with NiceUrlProvider to ensure that the second node under the root get's
the correct URL assigned.
Added unit test to ensure that route caches are persisted correctly.
2012-09-13 11:45:06 +07:00
Shannon Deminick
c742c6c249 Created new GlobalSettings unit tests to validate reserved paths as well as updated the umbraco module tests with an install path without
the suffixed '/'. Fixed a bug with the reserved paths which was caused by code written in 4.9 to the new code written in 4.10 and the combined
effort was not working. Added more logic to cleanup the URL before comparing too.
Cleaned up GlobalSettings to not have any reliance whatsoever on httpcontext (which of course it shouldn't and not sure why it even did before).
Obsoleted a few methods on the legacy GlobalSettings that aren't used anywhere and should be removed in the future.
Cleaned up a bit of the UmbracoModule with the URLs used.
2012-09-13 09:00:21 +07:00
Shannon Deminick
ce9be79ec6 Added the Examine Search methods to DynamicDocument as extension methods.
Renamed a few things.
2012-09-08 11:59:01 +07:00
Shannon Deminick
5e9d791523 Moved the DocumentNotFoundHandler to diff namespace, created new NoTemplateHandler and updated the engine
to route to it when no template is selected and when there are no hijacked routes.
2012-09-07 08:28:18 +07:00
Shannon Deminick
9127061194 Added support for determining rendering engine based on template chosen. 2012-09-07 07:57:25 +07:00
Shannon Deminick
bba5e6a59a Fixed issue with new UmbracoModule trying to strip the legacy umbPage query string stuff too early (still need to ask Niels about what this does)
Fixed issue with page update with Document ctor to try catch the Parent property. Removed a bunch of erroneous tracing and replaced with LogHelper.
2012-09-05 08:01:53 +07:00
Shannon Deminick
2fc0fe574b Fixed XmlDocument GetProperty to check for user properties 'invariantly'.
Added a method on content to remove the file persistence queue just before it's written based on the module, this should hopefully speed things up and fix some potential issues.
Added an overloaded method on library for UpdateDocumentCache which should save on a few dozen sql calls when publishing a node since we already have
the Document object reference yet we were looking it up again for no reason.
2012-09-02 07:35:57 +07:00
Shannon Deminick
6949178f4b removed formHandlers.config... pretty sure we removed this functionality about a zillion versions ago.
Removed old Nant build folder and files.
removed the umbVersion query string check as this was used for the old preview functionality and isn't used anymore (plus it could never work the way its implemented).
2012-09-01 07:03:56 +07:00
Shannon Deminick
b511ae3a1a Created new LookupByIdQuery ILookup which is now the first thing that is looked up. Have cleaned up
all of the default.aspx stuff so that no routing logic takes place there, all routing logic now takes
place entirely in the module.
2012-08-30 08:26:01 +07:00
Shannon Deminick
05ebc8d2f9 Changed the Template prop of documentrequest to be a new TemplateLookup object since we are going
to need to support MVC and the old Template object is for webforms. I've added a lot of TODO's here
because we'll need to enable the lookups properly in each ILookup and also set the rendering engine (IsMvc)
in the ILookups too. This hasn't been enabled, yet, just a bunch of TODO's written.
2012-08-29 08:54:29 +07:00
Shannon Deminick
b86d513aff Updated the new module to handle when no template is found (blank page) instead of the handlers (webforms or mvc) handling this. 2012-08-29 08:17:31 +07:00
Shannon Deminick
c251c9f0d3 Changed the Is404 property on the doc request to be set by the last chance lookup, not by the module
because in the future if people override the last chance lookup, they might not want it to be 404, it will
be up to them.
2012-08-29 08:10:10 +07:00
Shannon Deminick
5213d6de5c renamed IContentStore to IPublishedContentStore. Migrating DynamicNode to Umbraco.Core and cleaning up it's supported codebase.
Starting writing a few unit tests for the new DynamicNode codebase. Will of course leave the original DynamicNode stuff in its
current place for backwards compatibility but will deprecate many of the classes which will call the new ones.
2012-08-17 04:27:47 +06:00
Shannon Deminick
91e9392992 Re-removed umbraco version header after bad merge and removed from new routing module.
Started addding new ICultureDictionary since this cannot belong in the macros project.
2012-08-15 21:21:31 +06:00
shannon@ShandemVaio
c522ad6e30 Created an ContentStoreResolver so we can specify a custom ContentStore which means we can return a custom
IDocument. This now means we've opened up the possibility of an abstracted routing lookup system to map to a Document
stored anywhere. By default this is obviously Xml but could theoretically be anything, still internal until more review
of the API is done.
2012-08-10 13:38:02 +06:00
shannon@ShandemVaio
7280dbc66e Finished LookupByNiceUrl unit tests, all passing. 2012-08-09 11:22:34 +06:00
shannon@ShandemVaio
67e921f862 Added check to UriUtility to check for default.aspx since this path will show up for pre-IIS7 websites, added
unit tests for UriUtility, updated UmbracoModule to use the UmbracoUrl to pass to the document request.
Added more unit tests for LookupByNiceUrl.
2012-08-09 11:08:24 +06:00
shannon@ShandemVaio
2e5db72a09 Updated DocumentRequest so that it doesn't actually do the searching, it acts more like a model.
The DocumentSearcher now performs the searching and sets the properties on the DocumentRequest, this
simplifies the dependencies between the contexts. Updated the LookupByNiceUrlTests unit test, now all
initialization is working and the test runs which will be the basis for testing all of the IDocumentLookups.
2012-08-09 04:15:35 +06:00
shannon@ShandemVaio
739de3ef78 Started writing tests for all DocumentLookups as these all require many tests including tests for
routes when using IIS 7 and pre-IIS 7 platforms.
2012-08-08 23:55:55 +06:00
shannon@ShandemVaio
4111298b00 Got routing working properly with MVC and our HttpModule 2012-08-08 23:10:34 +06:00
shannon@ShandemVaio
d92d309c61 Added initial MVC supporting files and updated some unit tests. 2012-08-07 21:40:34 +06:00
shannon@ShandemVaio
d9eb8b426c Added TODO notes for NiceUrlProvider to fix an issue for Stephan. 2012-08-07 04:55:27 +06:00
shannon@ShandemVaio
ef0d7821eb Fixes default url cache to use concurrentdictionary instead of custom locks as this was causing errors.
Updated the references between context objects since a DocumentRequest should only be set when rendering
a front-end doc, not in the back office.
Fixes the LookupByNiceUrl to work with non directory paths.
Fixes the UmbracoContext.ClientUrl to work properly.
2012-08-07 03:54:47 +06:00