Closed cdegroot-adobe closed 6 years ago
@kstreeter fyi, I am putting this back on the radar as an issue to resolve. Thanks C.
You can add schema.org to the list of examples for given name: http://schema.org/Person
@trieloff it is actually worse then that. schema.org uses familyName rather than surName
E.g from http://schema.org/Person familyName | Text | Family name. In the U.S., the last name of an Person. This can be used along with givenName instead of the name property.
@cdegroot-adobe, @trieloff it definitely seems like there is no widely adopted norm on this, so we need to decide our own path. The W3C and schema.org seems the most considered to me. That would be my preference. We can ensure that the descriptions reference the alternative nomenclatures (first, last, surname).
@kstreeter – agreed.
@kstreeter @trieloff - disagree. There is a very entrenched norm in our customers and the industry and that is to use firstname/last(name). W3C and Schema.org are leading thinkers in the way the world needs to go(at some point), but has not yet gone is any sizable way. Looking at implementation schemas of Campaign (set of ~110 customer databases) I see ~7 cases where there is a usage of surname, almost none using any form of familyname, they are all first/last(name), where surname is used there is a lot of use of first/last(Name), so they seem to be doing some dual usage. I do not know whey we want to go against the grain here considering one of our goals is data interoperability. The downsides are significant. If you want to keep given/sur(name) make a much more substantial case please.
I would also favor W3C & schema.org on this one - even though it may differ from CDM.
@lrosenthol - please provide supporting evidence as to why you think this would be better.
The huge issue here is that there is no automatic way of translating between the two naming standards. first/last(name) is the standard in the world today, yes it is not ideal, but has been made to work in our customer's and Adobe's environments. XDM is to represent our customers data and they do not use the given/sur(name) in any appreciable way currently. So 100% of our Campaign customers will immediately create a custom first/last(name) and use that. So what is the argument of using given/sur(name) and causing customizations to be the standard here?
How is this for a compromise, @cdegroot-adobe ?
For the xdm namespace, let's use first/last. BUT I believe we should also pre-define a schema.org namespaced version for those customers that wish to align with that. That way, we have both options for our customers, without the need for anything custom.
After spending a bit more time thinking about this one, I feel like perhaps what we should do is include both the first/last fields (to enhance compatibility with the various industry and Adobe apps that use this, as suggested by @cdegroot-adobe), and also include a "fullName" option. This is actually what the W3C recommends in the documents posted above, noting that there is simply no universally workable way to split a person's name into two parts.
This method would also be compatible with schema.org, which supports a full name (Thing#name) in additional to the given/family name fields. We can then encourage customers to use the full name method when the goal is internationalized support.
Would this also address you concerns @lrosenthol ?
That sounds like a great compromise @kstreeter - thanks!!
@kstreeter yes, I support your proposal on first/last fields and a full name field. Thank you.
"fullName" is good as well as it aligns with Microsoft CDM (https://github.com/Microsoft/CDM/blob/master/schemaDocuments/core/applicationCommon/foundationCommon/crmCommon/Contact.cdm.json) modulo CDM use of all lowercase.
After spending a bit more time thinking about this one, I feel like perhaps what we should do is include both the first/last fields (to enhance compatibility with the various industry and Adobe apps that use this, as suggested by @cdegroot-adobe), and also include a "fullName" option.
We do have xdm:name
The full name of the person, in writing order most commonly accepted in the language of the name.
What would the three example names look like:
{
"xdm:givenName": "John",
"xdm:middleName": "S",
"xdm:surname": "Doe"
}
{
"xdm:givenName": "三",
"xdm:surname": "张",
"xdm:name": "张三"
}
{
"xdm:givenName": "فلانة",
"xdm:surname": "الفلانية",
"xdm:name": "فلانة الفلانية"
}
For European and North American names, the XDM approach is to simply treat givenName
as firstName
and surname
as lastName
– if you only have European and North American Names in your database, there is no adoption necessary.
My question is what our customers in Japan, in China, in UEA, in Israel are doing. Do they create custom fields? Do they just use first name/last name and then revert it in their templates like Hello <lastname>
?
Hey @cdegroot-adobe , @lrosenthol I posted https://github.com/adobe/xdm/pull/215 to address this, please take a look.
While discussions seem to have found a solution, let me post a comment by N. Anandhavelu as a FWIW (sorry for length, but I find it interesting):
TLDR of my longer answer:
Longer Answer:
What do we use : In our part of the world (a state in India with ~ 1% of world’s population) we use initials followed by name and no last name . Initials can be
Example Conversion: My name is N. Anandhavelu. Initial is N , Name is Anandhavelu. First name is Anandhavelu , Last name is Natarajan. Given name is Anandhavelu, surname is Natarajan
Here are some of the problems I faced when I convert our initials system to First Name/Last Name system :
My Comments:
What if we take a different approach:
name
/fullName
as a universal fall-backfirstName
/lastName
as optional fields to ensure backwards compatibility with eurocentric database schemasde_DE
, try givenName
, then firstName
, then fullName
, if you want to do the same in Japanese, try givenName
, then lastName
, then fullName
)middleName
later on.I like the idea of having a locale, but I think we can capture that in other ways (location context, address, etc.)
I think what we are saying is that fullName is not a fallback: it is the preferred way to carry name information, since component names are not a reliable way to discern the details of a name. We will encourage use of this field, and are only providing first/last for legacy compatibility. If someone does have data as given/surname we would ask them to combine that directly into fullName.
I like the idea of having a locale, but I think we can capture that in other ways (location context, address, etc.)
The advantage of having it right in the name is that we can deal better with people having multiple names (e.g. Xi Jinping, 习近平, 習近平) without inferring it from language preferences.
I think what we are saying is that fullName is not a fallback: it is the preferred way to carry name information, since component names are not a reliable way to discern the details of a name. We will encourage use of this field, and are only providing first/last for legacy compatibility.
Good. We need to cover this in the description.
I still think it can make sense to have more fine-grained component names, especially for use cases like personalized greeting messages. Depending on the context you want to be able to greet people as Kevin, as Mr Streeter, or as Kevin Streeter.
What are the schemas that are affected by the issue
https://github.com/adobe/xdm/blob/master/schemas/context/person-name.schema.json
What are examples of products that are impacted by the issue
This will bring in greater alignment with the industries current norms, which are implemented and very hard to change. While it is agreed that Given Name and Surname are superior for representing names, it is not the way current systems work and there is no reasonable automatic way of translating between the two representations. XDM will be harder to adopt unless this change is made.
Examples of the first/last(name) usage:
Examples for given/sur(name):
Examples of given/family(name):