Giter Site home page Giter Site logo

atlas's People

Contributors

benmcevoy avatar davidnguyen avatar geekrocket avatar heikof avatar hollywoodinvegas avatar mt-dd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

atlas's Issues

Merge "develop" to "master" and release new NuGet package version

Hi,
I'm trying to get Atlas to work with Sitecore 9 and it's all well and good except the LinkFieldRenderingString class still has some dependency to CommonServiceLocator. In Sitecore 9, CommonServiceLocator is still used, but reserved for Solr integration only. This breaks on any ViewModel class that uses ILinkFieldRenderingString. The fix for this has already merge to the "develop" branch. It would be great if it could be merged to master, and release a new version of NuGet package.

Thanks,
David Nguyen

Increase unit test coverage

The test coverage in the project is a little... basic. We should add unit test coverage across all Atlas components, especially the mapper / field rendering components.

Remove the LinkFieldStyle class and its dependcies

This class poses a very specific concern on a particular solution/implementation context and there fore shouldn't be held at the framework level. The full class name is DeloitteDigital.Atlas.FieldRendering.LinkFieldStyle.

IFieldRenderString methods are not as usable as they could be

In the IFieldRenderingString interface we have three methods, WithAttribute, DisableWebEdit, and DefaultValueIfEmpty.
These methods return IFieldRenderingString (the this), and were intended to be builder methods to let the user build up the desired behaviour, e.g.

MyField.DisableWebEdit().DefaultValueIfEmpty("I'm empty!");

When you use these methods you are coerced to IFieldRenderingString which can be annoying if your field was more derived, such as LinkFieldRenderingString.

These methods would be better as extension methods, that use a generic parameter constrained to IFieldRenderingString. i.e.

public static T DisableWebEdit<T>(this T field) where T : IFieldRenderingString

This would allow the builder pattern on any of the field rendering types that derive from IFieldRenderingString, without the coercion, e.g. after using DisableWebEdit() the field is still a LinkFieldRenderingString and not a boring old IFieldRenderingString.

Changing the interface is a breaking change. Adding equivalent extension methods would help, but any code that references Atlas would have to be recompiled.

Stop the LogScope log spamming

LogScope emits Debug.WriteLine. We did this so we could see the logs while debugging.

The SitecoreTraceListener then writes the trace to the sitecore log file as well, results in duplicate logs.

I suggest the Debug.Write are removed.

GetItemUrl returns invalid url

I had a list of articles to be retrieved as I found out that for some of articles, url is mydomain.com/articles/article1 but for some other is like /sitecore/content/home/articles/article1

So I changed
return LinkManager.GetItemUrl(item);
With
return LinkManager.GetItemUrl(item, UrlOptions.DefaultOptions);

HtmlAgilityPack version mismatch with Sitecore

Atlas is built against HtmlAgilityPack 1.4.9.5 but Sitecore ships with an earlier version. You currently need to manually install v 1.4.9.5 and add an assembly redirect.

This should be rectified, either by:

  • taking a proper NuGet dependency on 1.4.9.5
  • using the version that Sitecore ships with (TBC, potential code change?)

Binding of Rendering Parameters other than type Bool or String is not supported

We have the need to use a Rendering Parameter template with a field of type GeneralLink.

Binding this field using a var of type IFieldRenderingString returns Null and using a var of type string, returns the xml for the link field.

We need a IFieldRenderingString or a Link object to be able to be returned so that it can be rendered and/or properties retrieved

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.