Commit Graph

30 Commits

Author SHA1 Message Date
Shannon Deminick
1aebce7ad6 makes SystemDirectories and SystemFiles public.
moves ResolveUrlsFromTextString to TemplateUtilities class and obsoletes other ones.
Fixes an issue if content cache is stored in codegen folder and not in med trust.
Updates the XmlDocument (IDocumentProperty) to always return a value with parsed {localLink} and resolved Urls and cache them so the parsing only happens once.
2012-09-29 11:11:48 +07:00
Shannon Deminick
11fd6553e9 Ensures that localLinks are parsed when rendering fields and macros using UmbracoHelper.
Added additional ControllerExtensions to render views as strings.
2012-09-29 08:49:21 +07:00
Shannon Deminick
8fb159ddc2 Changes IThumbnailProvider to exist under Umbraco.Core.Media instead of just Umbraco.Core.
Moves many of the MVC extension methods into the Umbraco.Web.Mvc namespace and tidies up a few other
class's namespaces
2012-09-29 08:07:00 +07:00
Shannon Deminick
f7f83bc057 Changed IPublishedContentStore and IPublishedMediaStore back to internal as we don't need to expose these yet. Instead have added
an UmbracoHelper property to the PluginController class which will expose any methods needed by devs to retreive media or content.
Have updated UmbracoHelper with loads of new helpful methods and moved the Wrap methods to HtmlHelper extensions because this is purely to
do with rendering html (have written unit tests for it too).
Updated some 'library' methods to proxy calls to UmbracoHelper so we only have to maintain one set of code.
Added a convenience property to UmbracoContext to return the current NiceUrlProvider so you don't have to go through the RoutingContext to get it.
2012-09-27 08:30:35 +07:00
Shannon Deminick
53a3ad24e6 comments out test surface controllers for now 2012-09-26 13:44:23 +07:00
Shannon Deminick
5ece0b5af0 Surface controllers now auto-routing, both locally declared and plugin types (which require a [PluginController] attribute and an Area Name assigned).
BeginUmbracoForm working for both local and plugin SurfaceControllers. SurfaceController class now inherits from PluginController which exposes all things a dev would
need including making IPublishedContentStore and IPublishedMediaStore public which can be accessed simply by properties on the controller.
Updated web.config for views to include Umbraco.Web namespace for all of our helper methods.
BeginUmbracoForm now has many more overrides for which you can specify a type or a generic type (we no longer require GUIDs :)
2012-09-26 13:42:03 +07:00
Shannon Deminick
332b42aa49 Changed how surface controllers are routed: because we don't load plugins in via App_Plugins/[PackageName] like we did in v5 which meant that we can autoroute all plugin controllers with their own areas, in v4 we have to do something different.
Instead (because we still want areas), we have an attribute called PluginControllerAttribute which allows a dev to assign an area name as a string. A package developer should always ensure that all of their plugin controllers are assigned to the same
area. This also lets us get rid of the GUID id part of the plugin (hopefully we can leave it out, just need to run some tests). Since we have areas, package devs can then put their views into
their own folders and not clutter up the local devs ~/Views folder. Perhaps we use App_Plugins/[PackageName] for the views like we did in v5 but need to ask on the mail list. Otherwise it will be the standard MVC:
~/Areas/[AreaName]/Views which will still also clutter up the local devs view folder if they are using Areas.
2012-09-26 11:04:07 +07:00
Shannon Deminick
7b7e3b82f1 Started adding tests for surface controller routing. They are working but not quite correctly yet. 2012-09-25 13:33:47 +07:00
Shannon Deminick
0b7f04ab37 Added all code to support auto-routing surface controllers and started implementing the code for
BeginUmbracoForm.
2012-09-25 13:09:59 +07:00
Shannon Deminick
083b18139a Adds code to RenderViewEngine to ensure the /Views folder exists and also that the razor web.config file exists there too.
I've also added this web.config file to the sln so it should output in the build by default though it will still be created automatically if
its not there.
2012-09-25 11:20:05 +07:00
Shannon Deminick
ae4cb00bbc Got Wrap methods on UmbracoHelper, deprecated old classes in the macroEngines project that Wrap utilizes and proxies
all calles in RazorLibraryCore for Wrap to UmbracoHelper. Fixed up the HtmlTagWrapper classes so they have immutable properties and replaced
public fields with Properties.
2012-09-20 13:16:38 +07:00
Shannon Deminick
fd166389c4 Changed the MVC view class to expose the UmbracoHelper as just @Umbraco instead of @UmbracoHelper, this
follows the same naming conventions as MVC with HtmlHelper is exposed just as @Html, plus it is less to type
2012-09-20 12:47:37 +07:00
Shannon Deminick
1c040912f6 Exposes the IDocument property as CurrentDocument on the Model for MVC pages. 2012-09-13 12:28:08 +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
c3747d70ce Added ObjectExtensionsTests, Added functionality for MVC to render any macro types (i.e. razor and xslt, etc..)
Adds UmbracoHelper as a property to the RenderViewPage for MVC. Tested rendering Xslt and Razor macros with and
without parameters and works well.
Next we need to get the RTE rendering with macros embedded in MVC.
2012-09-03 07:54:09 +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
bc3a5122dd Fixes DynamicNode issue not implementing IEnumerable<DynamicNode>
Adds a few unit tests for DynamicDocument/DynamicNode and fixes both to properly support the 'Take' method
as this wasn't really working. Not sure how or why it was working previously. Have also allowed for extension
methods to be executed against either of these objects that accept IQueryable which was not supported before.
2012-08-28 09:20:30 +07:00
Shannon Deminick
32350fd35a adds some docs 2012-08-28 06:51:01 +07:00
Shannon Deminick
528b06f692 Got the RenderViewPage rendering with the new DynamicDocument for the @CurrentPage property 2012-08-25 07:14:23 +07:00
Shannon Deminick
4e9f9b77f4 Created CultureDictionaryFactoryResolver for use in the new MVC views which returns a ICultureDictionary.
This allows us in the future to use any type of data source for the dictionary. Have obsoleted the old
ICultureDictionary in the macro engines project (where it doesn't belong anyways). The new one doesn't expose
the 'Language' property to the front-end because this is a business logic class which means designers can just delete
a whole language from the db by calling 'Delete' on the object !
2012-08-15 23:20:37 +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
e131011667 Rename namespace from Umbraco.Core.Resolving to Umbraco.Core.ObjectResolution 2012-08-10 13:18:13 +06:00
shannon@ShandemVaio
61c4a9e68d Created IDocument and IDocumentProperty to one day replace INode since it doesn't contain enough information
and is poorly formatted, this now allows us to properly abstract an IDocument using the new IContentStore which now
returns IDocument instead of XmlNode so we now have an abstraction away from Xml for routing.
2012-08-10 13:08:47 +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
626b9ceefa Updated Web.UI project to support MVC and VS MVC dialogs.
Updated RenderViewPage to include UmbracoContext and DocumentRequest.
2012-08-08 23:37:54 +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
25b06a88ab Began integration of Stephen's new routing logic. The sln compiles and things have been refactored
from the initial concept. The module is not active as it currently will not work because of
contructor dependencies and classes marked as internal, will liase with Stephen regarding this.
2012-07-20 01:04:35 +06:00