Commit Graph

9 Commits

Author SHA1 Message Date
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
053df24640 After talks with morten and stephane, this renames
IDocument -> IPublishedContent
DynamicDocument -> DynamicPublishedContent
2012-10-02 01:35:39 +05:00
Shannon Deminick
a16f28eb26 Re-implemented GetProperty on IDocument, had removed it because I didn't see a need for it because we already have a Properties collection, however we do require it
for specific implementations where the IDocument needs to search for the specified property based on alias since it might not already know about it. This is true for the
DefaultPublishedMediaStore where a property may not exist in the Examine cache so we need to fallback to the db in that case.
2012-09-20 14:17:40 +07:00
Shannon Deminick
f2a7b3b255 Updated the published content stores so that content doesn't inherit from media, instead there is a base
interface IPublishedDataStore.
Simplified the interface structure and removed the GetDocumentProperty method as it is not needed and i think existed
before we updated the codebase to not rely on xml.
2012-09-11 05:58:16 +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
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
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@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