Not sure how it got resolved but it eventually was. Never had confirmation that it was a Bug, but did have an interesting round of emails from support.
After initially pushing back on the explanation I received an updated explanation
After speaking with our head engineer he confirmed that the mapping is certainly ID based and not name based. The reason you are seeing “missing data type: blog-post” is because the internal type id is the sanitized version of the initial display, (lowercase, no space, no special chars, ensured to be unique). Essentially, if the IDs don’t match, automatic mapping won’t work. You also cannot get it to work by renaming the types; they have to match from the start.
The solution to removing the missing data type error is to remap the connection to the appropriate data type.
That explanation didn’t sit well and seemed to not fully focus on the issue at hand that prompted the bug report and I replied with a question regarding how things function internally for the creation of a datatypes ID.
Questions I sent along
So once I’ve copied and pasted the datatype from my template, my client’s app will have one ID of ‘blogpost’ and a second ID of ‘blogpost1’?
In this case, if I change a datatype from “Blog-Post” that initially had the ID set to ‘blogpost’, to a label of “Sea-Creatures” the ID would remain set to ‘blogpost’?
Also, am I correct to assume that the application still saves the IDs of data types that are removed from the application via the ‘optimize-application’ feature?
The response to those questions
The special characters aren’t stripped out, they’re replaced with underscore, so first one would be blog_post, pasted thing would be blog_post1
No, optimize app removes the ability to restore types in which case the ids are removed, and you restart unique checks from scratch because the previous deleted types’ ids won’t be there anymore.
The question and answer of number 3 was exactly where my issue was related and why I submitted a bug report. After deleting the datatype and using the remove datatype function within ‘optimize application’ feature I still got the ‘missing datatype’ issue.
Seems they have fixed it and now I no longer have that issue of ‘missing datatype’.
Glad I didn’t just rely on the first ‘solution’ and spend hours remapping every instance of ‘missing datatype’.
Hopefully this information will help others fully understand the implications of their naming conventions used for datatypes, as well as what to expect when changing the name of the datatype as it may relate to integrating features from other applications.