Commit Graph

30 Commits

Author SHA1 Message Date
Shannon Deminick b9d53ceac8 Fixes more of U4-1140, ensure that only legacy objects are returned from the dynamic stuff in the razor macros. Adds unit test for it. 2012-11-07 03:49:32 +05:00
Shannon Deminick fb0c9c3fbb Changed DynamicXml to public (somehow this wasn't checked in before) #U4-U4-1146
Added unit tests for DynamicXml.Find methods which are passing.
2012-11-06 08:32:21 +06:00
jeavonleopold e502ce4ff9 U4-1112 - Add Any() property to DynamicXml 2012-10-31 10:47:04 +00:00
Shannon Deminick 5fc3d8e248 Fixes threading issue with Dynamicexpression... would have caused some strange behavior in the past!
Fixes: U4-995 - most methods will now work in dynamic expressions
2012-10-08 00:09:44 +05:00
Shannon Deminick 54e5140d6a Added more extension methods to our strongly typed IPublishedContent object and IEnumerable<IPublishedContent> to match all of the available methods
that are on the DynamicPublishedContent object. Added more unit tests for all of these classes.
Moved some of the Dynamic objects into the web project which simplifies things quite a bit as some of these classes require access to the biz logic layer.
Now we have intellisense for all of the nice magical methods that were on DynamicPublishedContent on our strongly typed object!
2012-10-04 03:26:56 +05:00
Shannon Deminick c0102f1c71 Refactored the traversal, ishelper, etc... methods to be extension methods on IPublishedContent so now all of these methods are available on the Typed object not just the dynamic object which makes a whole lot more sense... and you can have intellisense.
Updated DynamicPublishedContent's methods to just proxy calls to the new extension methods so that all of the logic is contained in one place.
Added new GetRootDocuments to the IPublishedContentStore since we need this in order to get the root list of documents for many of these methods.
Fixed an issue with the DynamicNode to IPublishedContent converter.
Fixed many of the failing unit tests.
2012-10-04 01:31:08 +05:00
Shannon Deminick ef5525e67f renamed DynamicDocumentList to DynamicPublishedContentList
simplified some of the DynamicPublishedContent methods to accept Func<IPublishedContent> instead of Func<DynamicPublishedContent>, made the IsHelper method private as this shouldn't be exposed.
renamed other objects starting with DynamicDocument to DynamicPublishedContent
2012-10-02 22:51:53 +05:00
Shannon Deminick 053df24640 After talks with morten and stephane, this renames
IDocument -> IPublishedContent
DynamicDocument -> DynamicPublishedContent
2012-10-02 01:35:39 +05:00
Shannon Deminick ea3d2f893f Added AsDynamic extension to IDocument.
Makes DynamicDocument explicitly implement IDocument as well.
Changes all ContentById methods, etc... back to returning just 'dynamic'
Removes valueAlias from the .Field method of UmbracoHelper which didn't actually do anything
removes altValueAlias from the .Field method of the UmbracoHelper which didn't actually do anything.
2012-10-01 02:48:08 +05:00
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 a48b996571 Got ChildrenAsTable working as extensions on DynamicDocument with supporting unit tests.
Have updated the ChildrenAsTable code for Node as well to use the same base code, this should
also fix some issues with generating a datatable correctly when a content type is changed, previously
the cache was not cleared for Alias to name mapping.
2012-09-20 12:42:43 +07:00
Shannon Deminick 1566b16f0f Migrated most of the functionality from RazorLibraryCore to UmbracoHelper and updated RazorLibraryCore to call
the methods in UmbracoHelper so we only have to maintain one set of code. Didn't port over the Wrap methods because
I need feedback on these as to what they do/are supposed to do.
Added the Media methods to UmbracoHelper using the media store stuff.
2012-09-14 09:09:23 +07:00
Shannon Deminick 0a8b1cc784 Big cleanup of DynamicDocument, removed DynamicBackingItem for this implementation as it is not required.
Removd DynamicBackingItemType since media and content are the same.
2012-09-14 07:28:44 +07:00
Shannon Deminick 27bcea78d2 Started implementing new IPublishedMediaStore which will replace the notion of the legacy ExamineBackedMedia and
moving forward will open up many nice opportunities. This will be used for the media accessor in the new DynamicDocument.
Renamed XmlPublishedContentStore to just DefaultPublishedContentStore.
Made GetProperty an extension method for IDocument and removed from the interface as it is not needed there.
2012-09-08 13:22:45 +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 59fa733156 Created MacroTagParser and updated ItemRenderer to use it. Have DynamicDocument rendering RTE content
with macro content without having to use any special methods, we just use a new custom Property Editor value converter.
Now just need to port this over to DynamicNode too.
Obsoleted a method on the 'helper' class to something much more meaningful... hopefully we can do that with the rest of that class too.
2012-09-08 07:13:03 +07:00
Shannon Deminick 3cd1592abc Added better support for Skip for DynamicDocument and DynamicNode and added unit tests. 2012-08-28 09:33:34 +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 64c9d97e53 Got extension methods working on DynamicDocument/DynamicDocumentList and added unit tests
for them.
2012-08-24 23:44:47 +07:00
Shannon Deminick d7f8214d24 Got extension methods working for DynamicDocument. Exposes some new APIs publicly because they need to work with type finding and med trust, plus we need to expose these for MVC 2012-08-22 08:33:19 +06:00
Shannon Deminick 22c0350a4a Have deprecated more of the dynamic class in the macroEngines project to proxy to the
classes in the Umbraco.Core project.
2012-08-22 07:47:21 +06:00
Shannon Deminick e9c793cede Fixed difficult merge 2012-08-22 05:57:34 +06:00
Shannon Deminick bee73cce12 Changed IApplicationEvents to IApplicationEventHandler.
Removed all reflection calls to BindingFlags.NonPublic which was mostly used by DynamicNode, this will
not work in medium trust.
2012-08-22 05:21:02 +06:00
Shannon Deminick 72ac3532d2 Updated DynamicDocument to be much more readable and allows for inheriting the structure so we can potentially use it
in DynamicNode (to be inherited from)
2012-08-20 11:22:45 +06:00
Shannon Deminick e24e3af955 Added DynamicDocument tests for getting a converted value for a custom PropertyEditorValueConverter, updated
DynamicDocument with performance enhancements, should perform much quicker for multiple requests for the same property now.
2012-08-20 09:11:14 +06:00
Shannon Deminick 56a13c5e0c Created new IPropertyEditorValueConverter for use with DynamicDocument so we don't have to rely on
any more xml configuration sections to created and add value 'mappers' / converters. This saves on tons
of code and makes it really easy for devs to handle their own conversions for use with dynamic node.
2012-08-18 11:39:18 +06:00
Shannon Deminick 7175860ae0 Added tests for dynamic node to select children based on the child doc type names including pluralized names and added
support for checking with case insensitivity. Example. CurrentPage.NewsItems where NewsItem is a child doc type alias.
Found one reason why the old dynamic node has performance issues and have added a note, just need to do more reseearch to
make sure my findings are correct.
Changed over all of the new DynamicNode classes to be DynamicDocument instead.
2012-08-18 11:03:30 +06:00
Shannon Deminick 9177257952 Fixed/Cleaned up new dynamic node, added more support for member properties such as propertyId and added much better
support for camel case vs pascal case names. Also added support for returning the strongly typed value for reflected properties.
Also added support for handling "@" prefixed property names when using GetProperty("@Id") or similar.
Added unit tests for all of the above and other dynamic node methods.
2012-08-17 14:02:29 +06:00
Shannon Deminick 3da387591d Deprecated many of the classes for Dynamics in the macro engines project and proxied these calls
to the superceded classes.
2012-08-17 06:22:51 +06: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