Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Jeavon Leopold 3074 posts 13632 karma points MVP 11x admin c-trib
    Aug 22, 2013 @ 17:19
    Jeavon Leopold
    1

    Suggestion - include a Property Editor Value Converter

    Hi Dirk,

    Awesome work on this package! Have you considered including a property editor value converter for use with Mvc?

    You have even already included a Model for the crops so it should be really easy to implement.

    Thanks,

    Jeavon

  • Dirk Seefeld 126 posts 665 karma points
    Aug 22, 2013 @ 23:47
    Dirk Seefeld
    0

    Hi Jeavon,

    indeed it was easy to implement an PropertyEditorValueConverter, but that will break the model approach as I have documented :-(

    I guess I could make an extra package for the PropertyEditorValueConverter.

    Dirk

  • Jeavon Leopold 3074 posts 13632 karma points MVP 11x admin c-trib
    Aug 23, 2013 @ 00:38
    Jeavon Leopold
    0

    Hi Dirk,

    That is a dilemma, if you were to include a PEVC, what does it break in the currently documented approach?

    Jeavon

  • Dirk Seefeld 126 posts 665 karma points
    Aug 23, 2013 @ 08:27
    Dirk Seefeld
    1

    Hi Jeavon,

    meanwhile I have build and uploaded an addon package Image_Cropper_Extended_PEVC_1.0.zip. Thus all users who have implemented the "model" approach (see docu page 8 "MVC") may update to version 1.7 without breaking their views.
    All who prefer the PropertyEditorValueConverter - which indeed looks smarter -  can install the addon package (see docu page 8 "MVC" too).
    I think the problem is Model.Conten.GetPropertyValue<T>(). With the typed PropertyEditorValueConverterin place the result of  Model.Conten.GetPropertyValue<string>() does not return the xml content as string. I guess this is the same issue you mentioned in the context of integrating the PEVCs into core(?)

    What do you think, was my first "model" approach somehow awkward? Should I change to PEVC in the next version of the Image Cropper Extended package?

    Dirk

  • Jeavon Leopold 3074 posts 13632 karma points MVP 11x admin c-trib
    Aug 23, 2013 @ 12:51
    Jeavon Leopold
    0

    Hi Dirk,

    I've just been thinking about this, but I'm having trouble getting it working with the current model (without PEVC installed).

    Here's what I'm trying:

    var a = Umbraco.TypedMedia(1047);
    var b = a.GetPropertyValue<string>("crop");
    var c = new ImageCropperModel(b);
    

    Which gives me an exception:

    "System.NullReferenceException was unhandled by user code" on line NewUrl = crop.Attributes["newurl"].Value;

    var b contains <crops date=\"2013-08-23T09:26:38\" ignoreICC=\"false\"><crop name=\"thumb\" x=\"0\" y=\"0\" x2=\"768\" y2=\"768\" width=\"100\" height=\"100\" /></crops>

    Am I doing something stupid?

    Thanks,

    Jeavon

  • Dirk Seefeld 126 posts 665 karma points
    Aug 23, 2013 @ 14:10
    Dirk Seefeld
    0

    Hi Jeavon,

    you are almost right;-) The first three lines are fine:

    var a = Umbraco.TypedMedia(1047);
    var b = a.GetPropertyValue<string>("crop");
    var c = new ImageCropperModel(b);

    but line NewUrl = crop.Attributes["newurl"].Value; does not work. Var c is a strongly typed object with InteliSense in VStudio (what helps a lot!). Thus you can do this to select a certain crop:

    var thumbCrop = c.Find("thumb");
    var newUrl = thumbCrop.NewUrl;
    var altText = thumbCrop.Name;
    <img src="@newUrl" alt="@altText"/>

    or if you want to iterate over all definded crops of the cropper property do the following:

    @foreach (var crop in c.Crops){  @crop.Name <br /><img src="@crop.NewUrl" alt="@crop.Name"/> }

    I hope, this is helpful(?)

    Your,
    Dirk

  • Jeavon Leopold 3074 posts 13632 karma points MVP 11x admin c-trib
    Aug 23, 2013 @ 15:44
    Jeavon Leopold
    1

    Hi Dirk,

    Line 3 throws the exception, and while debug shows the exception is caused by NewUrl = crop.Attributes["newurl"].Value;

    Thanks,

    Jeavon

  • Dirk Seefeld 126 posts 665 karma points
    Aug 23, 2013 @ 16:40
    Dirk Seefeld
    0

    Well, I got it!

    Please check the Save crop images as files: in the data type settings. Thus crop images will be rendered.

    Meanwhile I will fix the bug in the model...

    Dirk

  • Jeavon Leopold 3074 posts 13632 karma points MVP 11x admin c-trib
    Aug 23, 2013 @ 17:11
    Jeavon Leopold
    0

    Ah great, glad I'm not completely stupid then :-)

  • Dirk Seefeld 126 posts 665 karma points
    Aug 23, 2013 @ 17:25
    Dirk Seefeld
    0

    No, you are not, but I am the one, who has to admit his failure. What was it that Alex calls it? Not HY5r but ...

  • Dirk Seefeld 126 posts 665 karma points
    Aug 23, 2013 @ 17:53
    Dirk Seefeld
    0

    Bug killed! :-D

  • Jeavon Leopold 3074 posts 13632 karma points MVP 11x admin c-trib
    Aug 23, 2013 @ 18:26
    Jeavon Leopold
    0

    Ah cool, looks like you've switched to including the PEVC in the package also.

    This package definitely deserves a h5yr not a h5is!

    Great work!

  • Jeavon Leopold 3074 posts 13632 karma points MVP 11x admin c-trib
    Aug 23, 2013 @ 23:38
    Jeavon Leopold
    1

    Hey Dirk,

    Did you get the PEVC working with TypedMedia? I have it working with TypedContent but not TypedMedia, I don't think I've actually every tried a PEVC with TypeMedia before so maybe there is a core bug....? e.g

    var a = Umbraco.TypedMedia(1047);
    var b = a.GetPropertyValue<CropList>("crop");
    

    Thanks,

    Jeavon

  • Dirk Seefeld 126 posts 665 karma points
    Aug 24, 2013 @ 07:53
    Dirk Seefeld
    0

    Hey Jeavon,

    I guess you are right there seems to be a bug in the core. As far as I have analysed, the data type GUID is not properly detected in the media context.
    I shall dig deep and have a look at the issues list.

    Please have a look at the sample partial views (SamplePartialViews_4_Image_Cropper_Extended_2.0.2.zip) that I have attached to this project. It's only a little bit more clunky instead of

    mediaItem.GetPropertyValue<CropList>("crops")

    you have 

    new idseefeld.de.imagecropper.Model.ImageCropperModel(mediaItem.GetPropertyValue<string>("crops"))
    

     But of course a strongly typed PEVC for media would be much more consistent and transparent. So I will see what I can do.

    Many Thanks for your testing and reports!
    This really makes me happy and lets me forget all the hours of coding - just have to convince my wife of this value ;-)

    Dirk

     

  • Jeavon Leopold 3074 posts 13632 karma points MVP 11x admin c-trib
    Aug 24, 2013 @ 10:05
    Jeavon Leopold
    1

    Hi Dirk,

    I have confirmed that it is indeed a bug and reported it here http://issues.umbraco.org/issue/U4-2713

    Jeavon

  • Dirk Seefeld 126 posts 665 karma points
    Aug 24, 2013 @ 10:55
    Dirk Seefeld
    0

    Hi Jeavon,

    great, meanwhile I figured out a posible solution and added my proposal to the issue.
    Lets see waht core team thinks. It seems quit complex...

    Dirk

  • Jeavon Leopold 3074 posts 13632 karma points MVP 11x admin c-trib
    Sep 02, 2013 @ 17:21
    Jeavon Leopold
    0

    Hi Dirk,

    Have you given it a try with a v6.2 nightly yet?

    Jeavon

  • Dirk Seefeld 126 posts 665 karma points
    Sep 02, 2013 @ 19:59
    Dirk Seefeld
    100

    Hi Jeavon,

    I have just tried v6.2 and it works. In principle Shannon has implemented my suggestion with some optimisation ;-)

    Dirk

  • Jeavon Leopold 3074 posts 13632 karma points MVP 11x admin c-trib
    Sep 02, 2013 @ 20:01
    Jeavon Leopold
    0

    Awesome job all round then!

  • This forum is in read-only mode while we transition to the new forum.

    You can continue this topic on the new forum by tapping the "Continue discussion" link below.

Please Sign in or register to post replies