Unfortunately not - Embedded Content is an excellent datatype and currently supports the following types (Textstring, Textbox multiple, True / false, Content picker, Media picker, Simple editor and Date editor).
(I'm not sure if the DataType Grid supports the uComponents Url picker yet either, but suspect that it will do...)
Hendy is absolutely right, it won't support that at the moment I'm afraid. There are plans to extend the range of data types you can use with Embedded content, yet there is nothing concrete yet I'm afraid.
the RichText editor is most likely the first data type I'm going to integrate as soon as I got time for it, which will hopefully soon. I'll keep you posted.
Web rich text editors in general are web apps unto themselves, so integrating one (such as TinyMCE, which Umbraco already uses) with Embedded Content will likely take some time.
I will try to find some time before the weekend to investigate what is actually needed to include the other data types in Embedded Content. Keith is absolutely right, since the text editor is a fully fledged app in itself there might be a whole bunch of little things which don't fit. So far I've been using the umbraco wrapper around the types, e.g. for the content picker. The big issue with that is not getting the control to display and work itself in Embedded Content but to save the values and fill them when editing. E.g. for the Improved Media Picker I would most likely have to populate the thumbnail preview of the image myself when click edit.
Anyways, I'll dig a bit and get back to you on how difficult and how long that will probably take. If I'm really really lucky it won't take long at all and you might have a new version of Embedded Content in your hand by the end of the weekend with some nice additional data types, but don't get your hopes up too hight. ;)
Not sure if this helps, but I've been able to make the "Related Links with Media" datatype use the Improved Media Picker instead of the basic by just adding two simple parameters to the mediaChooser call:
_mediaChooserExtractor = new PagePickerwMediaDataExtractor(); _mediaChooser = new mediaChooser(_mediaChooserExtractor,true,true); // <<< (added ',true, true') for bool showPreview and boolShowAdvanced _mediaChooser.ID = base.ID + "mediaChooser";
Not sure if this is the same way you are calling the Media Picker, but just by adding those two parameters the thumbnail preview, upload, etc works with no extra work required :)
Thanks again for all your hard work on this datatype! Looking forward to support for some additional datatypes someday :)
thanks for your input, that is great. I've now been looking at the whole business and I think the only real way forward is to populate controls the way Umbraco itself does, aka you will get a list of all the available data types (and by that I mean not the Richtext editor itself for example but every instance you actually create of it), all the prevalue editor will do is store the id for that data type instance and then generate the edit controls in the content editor like any other content node, only this time inside of the Embedded Content data type. I've made good progress so far on that, very close of getting the TinyMCE editor to show properly inside of an Embedded Content instance. However the real piece of work starts then. The main difference between how Umbraco and my control works is that once the controls are instantiated I do everything via Javascript and not on a postback, which means I don't have the form post back values but have to grab the values directly from the fields. E.g. if I am displaying an Ultimate Picker checkbox list the Embedded Content control would have to actually go through the individual checkboxes and create the comma separated string itself. That's why it's quite likely that the TinyMCE will work soon and I guess I don't have too much trouble with the Improved Media Picker as well, but something like the Ultimate Picker will need some further thought. The easiest way would be to trigger the save method on each control, yet that is not possible via Javascript.
Anyway, I'll be spending some time the next couple of days on it and will let you guys know how it comes along. :) Any input highly appreciated, and I'll also let you know should I hit a wall so we might be able to crosss that together.
I'm afraid I don't have any updates yet as I haven't been able to work on it. I have implemented Matt Brailford's suggestion though so you will be able to set a limit on the number of content items that can be added to the control, and there appear to be some mysterious errors with Embedded Content when using it with Umbraco 4.7. I am however definitely following this up as time allows.
Sorry I can't give you any better news at the moment,
Just quickly wanted to give an update on the whole WYWIWYG editor (and other data types) implementation:
So, I just tried to create an instance of a WYSIWYG editor on the content editor like I did e.g. with the content picker. That didn't really work out, so I thought I'm missing the configuration string for the WYSIWYG which gets passed into the constructor. Made sense I told myself, since you can have multiple instances of the RTE data type in your Umbraco CMS, and each one is individually customizable. So I thought it would make good sense to have the user in the prevalue editor choose the instance of the WYWIWYG editor they want to use. Then again, if we're already going down that route, why not give the user ALL the data types avaiable his/her Umbraco instance to choose from? (Completely ignoring any save methods for now.) So I extended the available controls dropdown with all the data types (worked a treat, looked really nice apart from the fact that it's not working), and choose the RTE one. Saved absolutely fine (I changed the prevalue editor to save the id of the data type instead the name like 'Textstring'. Now the trouble began on the content editor. Just from having the id of the data type doesn't mean you can't instantiate it, and even after browsing through the Umbraco source I'm still no wiser anymore.
The good thing about this approach is that it will possibly cater for all data types (the limitiation is that I'm saving the content via Javascript and not on the postback where I can just access the Value property of the respective property), the bad thing that it's probably taking some good more time and nobody says it will work at all as expected. In the end it will just mimick how the properties work on a regular content node: Umbraco instantiates each of the DataEditors for the properties defined for a page.
My plan is to keep on digging a bit deeper, however might abandon that for now sometime soon in order to get a non-customized WYSIWYG working in the EmbeddedControl (with non-customized I mean that none of your custom styles would appear and you'd have no control over which buttons will be shown in the WYWIWYG etc).
Any thoughts please feel free to share, glad for any input I can get. :)
I didn't read the entire topic so this post might be useless, but I did some digging on how to use datatypes on normal pages and usercontrol. You can read the entire topic here, but this post might be particularly interesting because it says how you can use the TinyMCE editor on custom pages. I've used it a couple of times and it works perfectly. Will blog about soon as well.
so it looks like I don't really have the time to properly look at this, and since it would really be a shame not to further enhance the package we've pretty much decided to open it up for collaboration. I'll have a look on the weekend how to best set it up (probably Bitbucket), then we can see together how that can be achieved. I'll keep you posted on how that is going, but please let me know if anyone feels like contributing to the project.
Will this work with uComponents URL Picker?
Will this work with uComponents URL Picker? I need to have a control that allows unlimited links to content nodes and/or outside links.
Hi Connie,
Unfortunately not - Embedded Content is an excellent datatype and currently supports the following types (Textstring, Textbox multiple, True / false, Content picker, Media picker, Simple editor and Date editor).
(I'm not sure if the DataType Grid supports the uComponents Url picker yet either, but suspect that it will do...)
Cheers,
Hendy
Hendy is absolutely right, it won't support that at the moment I'm afraid. There are plans to extend the range of data types you can use with Embedded content, yet there is nothing concrete yet I'm afraid.
What about RichText editor datatype? thats the one very important and supported by Repeatable custom content ?
Hi Pinal,
the RichText editor is most likely the first data type I'm going to integrate as soon as I got time for it, which will hopefully soon. I'll keep you posted.
Cheers,
Sascha
any approximate ETA for that?
Web rich text editors in general are web apps unto themselves, so integrating one (such as TinyMCE, which Umbraco already uses) with Embedded Content will likely take some time.
I'd really like to see the Upload field and the "Improved" Media Picker (with upload/preview) field too :)
Hi guys,
I will try to find some time before the weekend to investigate what is actually needed to include the other data types in Embedded Content. Keith is absolutely right, since the text editor is a fully fledged app in itself there might be a whole bunch of little things which don't fit. So far I've been using the umbraco wrapper around the types, e.g. for the content picker. The big issue with that is not getting the control to display and work itself in Embedded Content but to save the values and fill them when editing. E.g. for the Improved Media Picker I would most likely have to populate the thumbnail preview of the image myself when click edit.
Anyways, I'll dig a bit and get back to you on how difficult and how long that will probably take. If I'm really really lucky it won't take long at all and you might have a new version of Embedded Content in your hand by the end of the weekend with some nice additional data types, but don't get your hopes up too hight. ;)
Cheers for all your feedback, much appreciated,
Sascha
Hi Sascha,
RE: Improved Media Picker
Not sure if this helps, but I've been able to make the "Related Links with Media" datatype use the Improved Media Picker instead of the basic by just adding two simple parameters to the mediaChooser call:
Not sure if this is the same way you are calling the Media Picker, but just by adding those two parameters the thumbnail preview, upload, etc works with no extra work required :)
Thanks again for all your hard work on this datatype! Looking forward to support for some additional datatypes someday :)
-Tom
Hi Tom,
thanks for your input, that is great. I've now been looking at the whole business and I think the only real way forward is to populate controls the way Umbraco itself does, aka you will get a list of all the available data types (and by that I mean not the Richtext editor itself for example but every instance you actually create of it), all the prevalue editor will do is store the id for that data type instance and then generate the edit controls in the content editor like any other content node, only this time inside of the Embedded Content data type. I've made good progress so far on that, very close of getting the TinyMCE editor to show properly inside of an Embedded Content instance. However the real piece of work starts then. The main difference between how Umbraco and my control works is that once the controls are instantiated I do everything via Javascript and not on a postback, which means I don't have the form post back values but have to grab the values directly from the fields. E.g. if I am displaying an Ultimate Picker checkbox list the Embedded Content control would have to actually go through the individual checkboxes and create the comma separated string itself. That's why it's quite likely that the TinyMCE will work soon and I guess I don't have too much trouble with the Improved Media Picker as well, but something like the Ultimate Picker will need some further thought. The easiest way would be to trigger the save method on each control, yet that is not possible via Javascript.
Anyway, I'll be spending some time the next couple of days on it and will let you guys know how it comes along. :) Any input highly appreciated, and I'll also let you know should I hit a wall so we might be able to crosss that together.
Cheers,
Sascha
Any update on support for RichText editor datatype?
Hi Pinal,
I'm afraid I don't have any updates yet as I haven't been able to work on it. I have implemented Matt Brailford's suggestion though so you will be able to set a limit on the number of content items that can be added to the control, and there appear to be some mysterious errors with Embedded Content when using it with Umbraco 4.7. I am however definitely following this up as time allows.
Sorry I can't give you any better news at the moment,
Sascha
no problem Sascha. Thanks for the response.
I've ran into a snag and found a need for the rich text editor in the embedded content also. Let me know if you need any testing done!
BTW...Congrats on the MVP nomination. It's well deserved!
Hi Michael,
very nice of you to say that. :)
Just quickly wanted to give an update on the whole WYWIWYG editor (and other data types) implementation:
So, I just tried to create an instance of a WYSIWYG editor on the content editor like I did e.g. with the content picker. That didn't really work out, so I thought I'm missing the configuration string for the WYSIWYG which gets passed into the constructor. Made sense I told myself, since you can have multiple instances of the RTE data type in your Umbraco CMS, and each one is individually customizable. So I thought it would make good sense to have the user in the prevalue editor choose the instance of the WYWIWYG editor they want to use. Then again, if we're already going down that route, why not give the user ALL the data types avaiable his/her Umbraco instance to choose from? (Completely ignoring any save methods for now.) So I extended the available controls dropdown with all the data types (worked a treat, looked really nice apart from the fact that it's not working), and choose the RTE one. Saved absolutely fine (I changed the prevalue editor to save the id of the data type instead the name like 'Textstring'. Now the trouble began on the content editor. Just from having the id of the data type doesn't mean you can't instantiate it, and even after browsing through the Umbraco source I'm still no wiser anymore.
The good thing about this approach is that it will possibly cater for all data types (the limitiation is that I'm saving the content via Javascript and not on the postback where I can just access the Value property of the respective property), the bad thing that it's probably taking some good more time and nobody says it will work at all as expected. In the end it will just mimick how the properties work on a regular content node: Umbraco instantiates each of the DataEditors for the properties defined for a page.
My plan is to keep on digging a bit deeper, however might abandon that for now sometime soon in order to get a non-customized WYSIWYG working in the EmbeddedControl (with non-customized I mean that none of your custom styles would appear and you'd have no control over which buttons will be shown in the WYWIWYG etc).
Any thoughts please feel free to share, glad for any input I can get. :)
Sascha
I didn't read the entire topic so this post might be useless, but I did some digging on how to use datatypes on normal pages and usercontrol. You can read the entire topic here, but this post might be particularly interesting because it says how you can use the TinyMCE editor on custom pages. I've used it a couple of times and it works perfectly. Will blog about soon as well.
Jeroen
Hi Sascha,
What about simple solution - make ajax request, instead of doing all using javascript (if advanced controls are used).
Petr
Hi everyone,
so it looks like I don't really have the time to properly look at this, and since it would really be a shame not to further enhance the package we've pretty much decided to open it up for collaboration. I'll have a look on the weekend how to best set it up (probably Bitbucket), then we can see together how that can be achieved. I'll keep you posted on how that is going, but please let me know if anyone feels like contributing to the project.
Cheers,
Sascha
is working on a reply...