GithubHelp home page GithubHelp logo

enterspeedhq / enterspeed-source-umbraco-cms Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 8.0 1.46 MB

Enterspeed integration for Umbraco

Home Page: https://www.enterspeed.com/

License: MIT License

C# 90.82% JavaScript 4.01% HTML 4.57% CSS 0.60%
headless enterspeed umbraco-v8 umbraco-cms umbraco-v7 umbraco-v9 umbraco-v10 umbraco-v11

enterspeed-source-umbraco-cms's People

Contributors

aochmann avatar cbdribamar avatar elglogins avatar jesperweber avatar jthind avatar kasperadk avatar malthebp avatar mhove89 avatar msoelvsteen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

enterspeed-source-umbraco-cms's Issues

Macros and RTE fields error

I'm gonna start out by saying that this is the first time im trying to run a content seed from umbraco to enterspeed - so bare with me if there's something I've missed!

But,
When trying to seed data it looks like i'm getting errors in RTE fields where I have macros.

image

Exception Failed creating entity (1295/en-us). Message: The Umbraco.Web.Macros.PartialViewMacroEngine cannot execute with a null HttpContext.Current reference.. StackTrace: ved Umbraco.Web.Macros.PartialViewMacroEngine.<.ctor>b__2_0() i D:\a\1\s\src\Umbraco.Web\Macros\PartialViewMacroEngine.cs:linje 26 ved Umbraco.Web.Macros.PartialViewMacroEngine.Execute(MacroModel macro, IPublishedContent content) i D:\a\1\s\src\Umbraco.Web\Macros\PartialViewMacroEngine.cs:linje 71 ved Umbraco.Web.Macros.MacroRenderer.<>c__DisplayClass17_0.<ExecuteMacroOfType>b__0() i D:\a\1\s\src\Umbraco.Web\Macros\MacroRenderer.cs:linje 342 ved Umbraco.Web.Macros.MacroRenderer.ExecuteProfileMacroWithErrorWrapper(MacroModel macro, String msgIn, Func1 getMacroContent, Func1 msgErr) i D:\a\1\s\src\Umbraco.Web\Macros\MacroRenderer.cs:linje 313 ved Umbraco.Web.Macros.MacroRenderer.ExecuteMacroWithErrorWrapper(MacroModel macro, String msgIn, String msgOut, Func1 getMacroContent, Func1 msgErr) i D:\a\1\s\src\Umbraco.Web\Macros\MacroRenderer.cs:linje 272 ved Umbraco.Web.Macros.MacroRenderer.ExecuteMacroOfType(MacroModel model, IPublishedContent content) i D:\a\1\s\src\Umbraco.Web\Macros\MacroRenderer.cs:linje 339 ved Umbraco.Web.Macros.MacroRenderer.Render(MacroModel macro, IPublishedContent content, IDictionary pageElements) i D:\a\1\s\src\Umbraco.Web\Macros\MacroRenderer.cs:linje 245 ved Umbraco.Web.PropertyEditors.ValueConverters.RteMacroRenderingValueConverter.<>c__DisplayClass7_0.<RenderRteMacros>b__1(String macroAlias, Dictionary2 macroAttributes) i D:\a\1\s\src\Umbraco.Web\PropertyEditors\ValueConverters\RteMacroRenderingValueConverter.cs:linje 64 ved Umbraco.Web.Macros.MacroTagParser.ParseMacros(String text, Action1 textFoundCallback, Action2 macroFoundCallback) i D:\a\1\s\src\Umbraco.Web\Macros\MacroTagParser.cs:linje 196 ved Umbraco.Web.PropertyEditors.ValueConverters.RteMacroRenderingValueConverter.RenderRteMacros(String source, Boolean preview) i D:\a\1\s\src\Umbraco.Web\PropertyEditors\ValueConverters\RteMacroRenderingValueConverter.cs:linje 70 ved Umbraco.Web.PropertyEditors.ValueConverters.RteMacroRenderingValueConverter.Convert(Object source, Boolean preview) i D:\a\1\s\src\Umbraco.Web\PropertyEditors\ValueConverters\RteMacroRenderingValueConverter.cs:linje 96 ved Umbraco.Web.PropertyEditors.ValueConverters.RteMacroRenderingValueConverter.ConvertIntermediateToObject(IPublishedElement owner, IPublishedPropertyType propertyType, PropertyCacheLevel referenceCacheLevel, Object inter, Boolean preview) i D:\a\1\s\src\Umbraco.Web\PropertyEditors\ValueConverters\RteMacroRenderingValueConverter.cs:linje 78 ved Umbraco.Core.Models.PublishedContent.PublishedPropertyType.ConvertInterToObject(IPublishedElement owner, PropertyCacheLevel referenceCacheLevel, Object inter, Boolean preview) i D:\a\1\s\src\Umbraco.Core\Models\PublishedContent\PublishedPropertyType.cs:linje 221 ved Umbraco.Web.PublishedCache.NuCache.Property.GetValue(String culture, String segment) i D:\a\1\s\src\Umbraco.Web\PublishedCache\NuCache\Property.cs:linje 211 ved Enterspeed.Source.UmbracoCms.V8.Extensions.PropertyExtensions.GetValue[T](IPublishedProperty property, String culture) ved Enterspeed.Source.UmbracoCms.V8.Services.DataProperties.DefaultConverters.DefaultRichTextEditorPropertyValueConverter.Convert(IPublishedProperty property, String culture) ved Enterspeed.Source.UmbracoCms.V8.Services.EnterspeedPropertyService.ConvertProperties(IEnumerable1 properties, String culture) ved Enterspeed.Source.UmbracoCms.V8.Services.EnterspeedPropertyService.GetProperties(IPublishedContent content, String culture) ved Enterspeed.Source.UmbracoCms.V8.Handlers.EnterspeedContentPublishJobHandler.CreateUmbracoContentEntity(IPublishedContent content, EnterspeedJob job)

How to replicate:

  1. Create content page with RTE field
  2. Insert macro to RTE page
  3. Try to seed this page to enterspeed

Redirects returns null

Redirects returns null, when the content is published and sent to Enterspeed.

This is what is sent to Enterspeed:

{
  "redirects": [
            null,
            null
        ],
} 

Where as the two nulls are actual redirects.

MNTP draft data not available

When saving preview data with Umbraco 9 connector, it does not include picked unpublished content in 'Multi-node tree picker' property.

I think it should work similar as 'Content picker' #42

Culture invariant properties on sites that doesn't use the installation's default culture is not ingested properly (Umbraco 8)

In a scenario when an Umbraco installation have 3 languages:

Screenshot 2022-07-11 at 17 03 36

One of the website in the installation only uses 2 of the languages, and not the default language:

Screenshot 2022-07-11 at 17 03 45

And when using a invariant by culture property:

Screenshot 2022-07-11 at 16 59 42

The result is that the property value ingested into Enterspeed is not ingested properly:

Screenshot 2022-07-11 at 16 58 27

This could be something to do with the the way Enterspeed forces a culture on every property getValue:

Umbraco throws exception if Enterspeed is not yet configured but installed

When you install the Enterspeed Umbraco integration into your Umbraco solution, it will throw an exception when you press save or save and publish.

Possible solution

Add a check if Enterspeed is configured in Umbraco and if it is not yet configured, exit the listeners to avoid sending data to Enterspeed that is unable to process.

UmbracoRichTextParser - not respecting relative paths in MediaDomain

Hey Enterspeed.

The UmbracoRichTextParser does not respect relative paths in the media domain set in the Umbraco backoffice.

It should be as simple as joining the 2 URL paths.

Something like:

...
foreach (var imageNode in imageNodes)
{
    var src = imageNode.GetAttributeValue("src", string.Empty);
    if (src.StartsWith("/media/"))
    {
        var relativePath = Path.Join(mediaDomainUrl.AbsolutePath, src);

        imageNode.SetAttributeValue("src", new Uri(mediaDomainUrl, relativePath).ToString());
    }
}
...

Regards
Malthe

Enterspeed should not listen on cache refresher event

Hi Guys,
relying on cache refreshers is not great as umbraco will send this notifications on following events:

  • startup
  • closing application
  • cache repair
  • publishing
  • reloading cache
    I know it was done because there was no reliable way to say if something was publish with descendants, but there is change in umbraco core which will let you to determine if you need reload children or not:
    umbraco/Umbraco-CMS#13145
    :)

Repeatable string editor failing

The implementation of the repeatable string editor cases failures in Umbraco 13. It can be fixed pretty easily with the change below:

https://github.com/enterspeedhq/enterspeed-source-umbraco-cms/blob/8bb0383ca5208f29f7c5b292e8c0bf785d258f0c/src/Enterspeed.Source.UmbracoCms/Services/DataProperties/DefaultConverters/DefaultRepeatableTextStringPropertyValueConverter.cs#L18C43-L18C51

IEnumerable<string> items = property.GetValue<IEnumerable<string>>(culture);

The error:

Unable to cast object of type 'System.Linq.EmptyPartition`1[System.String]' to type 'System.String[]'.

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.