I upgraded my website from Umbraco v4.7.2 to v4.8.0
Everythings seems to work fine, except for my custom registration functionality.
When trying to register a new member with the code:
"Member member = Member.MakeNew(email, email, mtype, new umbraco.BusinessLogic.User(0));"
I'm getting an YSOD with the error message:
"Could not find a IDataType control matching DataEditorId bf1a6031-dba9-4249-9baa-9124974eb09d in the controls collection. To correct this, check the data type definition in the developer section or ensure that the package/control is installed correctly."
This is just a long shot from me - but have you referenced the upgraded dll's in your solution or are they still connected to the old ones? (If that makes sense?).
[ArgumentException: Could not find a IDataType control matching DataEditorId bf1a6031-dba9-4249-9baa-9124974eb09d in the controls collection. To correct this, check the data type definition in the developer section or ensure that the package/control is installed correctly.] umbraco.cms.businesslogic.datatype.controls.Factory.GetNewObject(Guid DataEditorId) +514 umbraco.cms.businesslogic.property.Property.MakeNew(PropertyType pt, Content c, Guid versionId) +723 umbraco.cms.businesslogic.Content.createNewVersion() +750 umbraco.cms.businesslogic.Content.CreateContent(ContentType ct) +260 umbraco.cms.businesslogic.member.Member.MakeNew(String Name, String LoginName, String Email, MemberType mbt, User u) +681 umbraco.cms.businesslogic.member.Member.MakeNew(String Name, String Email, MemberType mbt, User u) +36 UmbracoRegistration.Usercontrols.MemberRegister.MakeMember(MemberType mtype, String email, String password) in c:\repos\umbracoregistration\UmbracoRegistration\UmbracoRegistration\Usercontrols\MemberRegister.ascx.cs:188 UmbracoRegistration.Usercontrols.MemberRegister.btnRegister_Click(Object sender, EventArgs e) in c:\repos\umbracoregistration\UmbracoRegistration\UmbracoRegistration\Usercontrols\MemberRegister.ascx.cs:95 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +155 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3804
I wonder if the the namespace: umbraco.NodeFactory; could have something to do with it, as I'm refering to this namespace in my code:
That GUID mentioned is for the uComponents country picker data type. You need to install version 5 of uComponents with Umbraco 4.8 and above. So maybe worth investigating that.
issue with programmatically creating member
Hi,
I upgraded my website from Umbraco v4.7.2 to v4.8.0
Everythings seems to work fine, except for my custom registration functionality.
When trying to register a new member with the code:
"Member member = Member.MakeNew(email, email, mtype, new umbraco.BusinessLogic.User(0));"
I'm getting an YSOD with the error message:
"Could not find a IDataType control matching DataEditorId bf1a6031-dba9-4249-9baa-9124974eb09d in the controls collection. To correct this, check the data type definition in the developer section or ensure that the package/control is installed correctly."
Does anyone has an idea what's going on?
Thanks for your help,
Anthony
Hi Anthony
This is just a long shot from me - but have you referenced the upgraded dll's in your solution or are they still connected to the old ones? (If that makes sense?).
/Jan
Hi Jan,
This could be the problem. I'll try it out and let you know if that solved the problem.
greetings,
Anthony
I removed and add new dll reference for:
umbraco.dll
cms.dll
interfaces.dll
businesslogic.dll
But I'm still getting the same error message.
The stack trace looks like this:
[ArgumentException: Could not find a IDataType control matching DataEditorId bf1a6031-dba9-4249-9baa-9124974eb09d in the controls collection. To correct this, check the data type definition in the developer section or ensure that the package/control is installed correctly.] umbraco.cms.businesslogic.datatype.controls.Factory.GetNewObject(Guid DataEditorId) +514 umbraco.cms.businesslogic.property.Property.MakeNew(PropertyType pt, Content c, Guid versionId) +723 umbraco.cms.businesslogic.Content.createNewVersion() +750 umbraco.cms.businesslogic.Content.CreateContent(ContentType ct) +260 umbraco.cms.businesslogic.member.Member.MakeNew(String Name, String LoginName, String Email, MemberType mbt, User u) +681 umbraco.cms.businesslogic.member.Member.MakeNew(String Name, String Email, MemberType mbt, User u) +36 UmbracoRegistration.Usercontrols.MemberRegister.MakeMember(MemberType mtype, String email, String password) in c:\repos\umbracoregistration\UmbracoRegistration\UmbracoRegistration\Usercontrols\MemberRegister.ascx.cs:188 UmbracoRegistration.Usercontrols.MemberRegister.btnRegister_Click(Object sender, EventArgs e) in c:\repos\umbracoregistration\UmbracoRegistration\UmbracoRegistration\Usercontrols\MemberRegister.ascx.cs:95 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +155 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3804
I wonder if the the namespace: umbraco.NodeFactory; could have something to do with it, as I'm refering to this namespace in my code:
using umbraco.NodeFactory;
Thanks for your help,
Anthony
Do you have uComponents installed?
That GUID mentioned is for the uComponents country picker data type. You need to install version 5 of uComponents with Umbraco 4.8 and above. So maybe worth investigating that.
Hi,
Matt, thanks for the tip. I indeed installed uComponents. I'll install uComponents v5.
greetings,
Anthony
@Matt : you were right! I uninstalled uComponents and installed the latest version (v5.3) and now registration page is functioning again.
Thanks a lot man,
Anthony
is working on a reply...