Skip to main content
spelling fixes right here from the Tardis
Source Link

I have yet to find a clear answer to this topic, so I'm writtingwriting this question in hope that someone can explain me the correct way to archieveachieve my goal. I must also add that all my test was done on SharePoint 2007, but as far as I know the behaviourbehavior should be the same when using the 2010 version. Edit: I have conducted some test on SP 2010 and I can now confirm that the behaviourbehavior seems to be the same.

Premise: I was trying to build a custom choice field that supports localization. Since the choice labels will change based on the current locale (let's forget SP 2010 multilanguagemulti-language for a moment and suppose that only one-language web site are used) I started to search a way to implement locale-indipendentindependent values for my custom field, something like the classical "id-value" concept used by traditional ASP choice controls.

Others indicates it as a form of feng-shui that can be used to enancheenhance the cosmic energy flows in your feature files, but no one seems to have a concrete answer.

PS: I also thinked ofconsidered using the SPFieldMultiChoice.Mappings Property and build an extension method to implement some logic that would decode the field choice "text" to the mapped value (I should be able to to that, the property contains the full xml mapping node taken from the field definition), but before I try this solution I would like to know if I have missunderstoodmisunderstood the tag usage.

EDIT: I have conducted some more research on the topic. While I didn't found any concrete answer (seems that someone is asking the same question on msdn without much luck...) I am starting to belivebelieve that the tag could indeed be a sofisticatesophisticate form of feng-shui.

If you look at the same field on the Healt Rule list in Central Administration (use a tool like SharepointSharePoint Manager 2010) you will see that the whole mapping section is missing. That would seem that in this case the mapping ISN'T propagated to the child field on the list instance. On the other hand, I have tried to build a custom feature for a field that uses the mapping section and I was able to propagate the info to the list (still no luck at retrivingretrieving the mapped value). It could still be possible that the mapping info is read from the parent field when the SharePoint object model requires it, but as now I am starting to think that this feature is simply un-implemented... Not even the LinqToSharePoint mapping seems to use it:

EDIT: As Amit sugestedsuggested in his answer, I had a quick look to the official "Collaborative Application Markup Language (CAML) Structure Specification" document. It is indeed suspicious that the latest versions of the document had removed any reference to the schema element - that could indicate that the element is indeed unused/unimplemented. On the opposite hand, the HealthRuleScope field uses the mappings declaration - and as far as I know it was introduced only with SP 2010...

I have yet to find a clear answer to this topic, so I'm writting this question in hope that someone can explain me the correct way to archieve my goal. I must also add that all my test was done on SharePoint 2007, but as far as I know the behaviour should be the same when using the 2010 version. Edit: I have conducted some test on SP 2010 and I can now confirm that the behaviour seems to be the same.

Premise: I was trying to build a custom choice field that supports localization. Since the choice labels will change based on the current locale (let's forget SP 2010 multilanguage for a moment and suppose that only one-language web site are used) I started to search a way to implement locale-indipendent values for my custom field, something like the classical "id-value" concept used by traditional ASP choice controls.

Others indicates it as a form of feng-shui that can be used to enanche the cosmic energy flows in your feature files, but no one seems to have a concrete answer.

PS: I also thinked of using the SPFieldMultiChoice.Mappings Property and build an extension method to implement some logic that would decode the field choice "text" to the mapped value (I should be able to to that, the property contains the full xml mapping node taken from the field definition), but before I try this solution I would like to know if I have missunderstood the tag usage.

EDIT: I have conducted some more research on the topic. While I didn't found any concrete answer (seems that someone is asking the same question on msdn without much luck...) I am starting to belive that the tag could indeed be a sofisticate form of feng-shui.

If you look at the same field on the Healt Rule list in Central Administration (use a tool like Sharepoint Manager 2010) you will see that the whole mapping section is missing. That would seem that in this case the mapping ISN'T propagated to the child field on the list instance. On the other hand, I have tried to build a custom feature for a field that uses the mapping section and I was able to propagate the info to the list (still no luck at retriving the mapped value). It could still be possible that the mapping info is read from the parent field when the SharePoint object model requires it, but as now I am starting to think that this feature is simply un-implemented... Not even the LinqToSharePoint mapping seems to use it:

EDIT: As Amit sugested in his answer, I had a quick look to the official "Collaborative Application Markup Language (CAML) Structure Specification" document. It is indeed suspicious that the latest versions of the document had removed any reference to the schema element - that could indicate that the element is indeed unused/unimplemented. On the opposite hand, the HealthRuleScope field uses the mappings declaration - and as far as I know it was introduced only with SP 2010...

I have yet to find a clear answer to this topic, so I'm writing this question in hope that someone can explain me the correct way to achieve my goal. I must also add that all my test was done on SharePoint 2007, but as far as I know the behavior should be the same when using the 2010 version. Edit: I have conducted some test on SP 2010 and I can now confirm that the behavior seems to be the same.

Premise: I was trying to build a custom choice field that supports localization. Since the choice labels will change based on the current locale (let's forget SP 2010 multi-language for a moment and suppose that only one-language web site are used) I started to search a way to implement locale-independent values for my custom field, something like the classical "id-value" concept used by traditional ASP choice controls.

Others indicates it as a form of feng-shui that can be used to enhance the cosmic energy flows in your feature files, but no one seems to have a concrete answer.

PS: I also considered using the SPFieldMultiChoice.Mappings Property and build an extension method to implement some logic that would decode the field choice "text" to the mapped value (I should be able to to that, the property contains the full xml mapping node taken from the field definition), but before I try this solution I would like to know if I have misunderstood the tag usage.

EDIT: I have conducted some more research on the topic. While I didn't found any concrete answer (seems that someone is asking the same question on msdn without much luck...) I am starting to believe that the tag could indeed be a sophisticate form of feng-shui.

If you look at the same field on the Healt Rule list in Central Administration (use a tool like SharePoint Manager 2010) you will see that the whole mapping section is missing. That would seem that in this case the mapping ISN'T propagated to the child field on the list instance. On the other hand, I have tried to build a custom feature for a field that uses the mapping section and I was able to propagate the info to the list (still no luck at retrieving the mapped value). It could still be possible that the mapping info is read from the parent field when the SharePoint object model requires it, but as now I am starting to think that this feature is simply un-implemented... Not even the LinqToSharePoint mapping seems to use it:

EDIT: As Amit suggested in his answer, I had a quick look to the official "Collaborative Application Markup Language (CAML) Structure Specification" document. It is indeed suspicious that the latest versions of the document had removed any reference to the schema element - that could indicate that the element is indeed unused/unimplemented. On the opposite hand, the HealthRuleScope field uses the mappings declaration - and as far as I know it was introduced only with SP 2010...

added 1 characters in body
Source Link

Premise: I wastryingwas trying to build a custom choice field that supports localization. Since the choice labels will change based on the current locale (let's forget SP 2010 multilanguage for a moment and suppose that only one-language web site are used) I started to search a way to implement locale-indipendent values for my custom field, something like the classical "id-value" concept used by traditional ASP choice controls.

Premise: I wastrying to build a custom choice field that supports localization. Since the choice labels will change based on the current locale (let's forget SP 2010 multilanguage for a moment and suppose that only one-language web site are used) I started to search a way to implement locale-indipendent values for my custom field, something like the classical "id-value" concept used by traditional ASP choice controls.

Premise: I was trying to build a custom choice field that supports localization. Since the choice labels will change based on the current locale (let's forget SP 2010 multilanguage for a moment and suppose that only one-language web site are used) I started to search a way to implement locale-indipendent values for my custom field, something like the classical "id-value" concept used by traditional ASP choice controls.

added 73 characters in body
Source Link

EDIT: As Amit sugested in his answer, I had a quick look to the official "Collaborative Application Markup Language (CAML) Structure Specification" document. It is indeed suspicious that the latest versions of the document had removed any reference to the schema element - that could indicate that the element is indeed unused/unimplemented. On the opposite hand, the HealthRuleScope field uses the mappings declaration - and as far as I know it was introduced only with SP 2010...

EDIT: As Amit sugested in his answer, I had a quick look to the official "Collaborative Application Markup Language (CAML) Structure Specification" document. It is indeed suspicious that the latest versions of the document had removed any reference to the schema element - that could indicate that the element is indeed unused/unimplemented. On the opposite hand, the HealthRuleScope field uses the mappings declaration - and as far as I know it was introduced only with SP 2010...

added 73 characters in body
Source Link
Loading
revisited the question to add info about my latest test.
Source Link
Loading
added 318 characters in body
Source Link
Loading
added 1807 characters in body
Source Link
Loading
Tweeted twitter.com/#!/StackSharePoint/status/125603241634435074
Source Link
Loading