OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

odata message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] Updated: (ODATA-530) Navigable capability term should apply to entityset, not navigationproperty directly


     [ http://tools.oasis-open.org/issues/browse/ODATA-530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Pizzo updated ODATA-530:
--------------------------------

    Proposal: 
Replace the "Navigable" term in the Capabilities vocabulary with a "NavigationRestrictions" term that can be applied to the entity set:

<!--NavigationRestrictions-->

<Term Name="NavigationRestrictions" Type="Capabilities.NavigationRestrictionsType" AppliesTo="EntitySet">
  <Annotation Term="Core.Description" String="Restrictions on navigating properties according to OData URL conventions" />
</Term>
<ComplexType Name="NavigationRestrictionsType">
  <Property Name="Navigability" Type="Capabilities.NavigationType" >
    <Annotation Term="Core.Description" String="Supported Navigability"/>
  </Property>
  <Property Name="RestrictedProperties" Type="Collection(Capabilities.NavigationPropertyRestriction)"/>
</ComplexType>

<ComplexType Name="NavigationPropertyRestriction">
  <Property Name="NavigationProperty" Type="Edm.NavigationPropertyPath">
  <Annotation Term="Core.Description" String="Navigation properties can be navigated to a single level" />
  </Property>
  <Property Name="Navigability" Type="Capabilities.NavigationType">
    <Annotation Term="Core.Description" String="Navigation properties can be navigated to a single level" />
  </Property>
</ComplexType>

<EnumType Name="NavigationType">
  <Member Name="Recursive">
    <Annotation Term="Core.Description" String="Navigation properties can be recursively navigated" />
  </Member>
  <Member Name="Single">
    <Annotation Term="Core.Description" String="Navigation properties can be navigated to a single level" />
  </Member>
  <Member Name="None">
    <Annotation Term="Core.Description" String="Navigation properties are not navigable" />
  </Member>
</EnumType>

  was:
Replace the "Navigable" term in the Capabilities vocabulary with a "NavigationRestrictions" term that can be applied to the entity set:

<!--NavigationRestrictions-->

<Term Name="NavigationRestrictions" Type="Capabilities.NavigationRestrictionsType" AppliesTo="EntitySet">
  <Annotation Term="Core.Description" String="Restrictions on navigating properties according to OData URL conventions" />
</Term>
<ComplexType Name="NavigationRestrictionsType">
  <Property Name="Navigability" Type="Capabilities.NavigationType" DefaultValue="Capabilities.NavigationType/Recursive">
    <Annotation Term="Core.Description" String="Supported Navigability"/>
  </Property>
  <Property Name="RestrictedProperties" Type="Collection(Capabilities.NavigationPropertyRestriction)"/>
</ComplexType>

<ComplexType Name="NavigationPropertyRestriction">
  <Property Name="NavigationProperty" Type="Edm.NavigationPropertyPath">
  <Annotation Term="Core.Description" String="Navigation properties can be navigated to a single level" />
  </Property>
  <Property Name="Navigability" Type="Capabilities.NavigationType">
    <Annotation Term="Core.Description" String="Navigation properties can be navigated to a single level" />
  </Property>
</ComplexType>

<EnumType Name="NavigationType">
  <Member Name="Recursive">
    <Annotation Term="Core.Description" String="Navigation properties can be recursively navigated" />
  </Member>
  <Member Name="Single">
    <Annotation Term="Core.Description" String="Navigation properties can be navigated to a single level" />
  </Member>
  <Member Name="None">
    <Annotation Term="Core.Description" String="Navigation properties are not navigable" />
  </Member>
</EnumType>


Probably doesn't make sense to have a default for Navigability. Edited proposal.

> Navigable capability term should apply to entityset, not navigationproperty directly
> ------------------------------------------------------------------------------------
>
>                 Key: ODATA-530
>                 URL: http://tools.oasis-open.org/issues/browse/ODATA-530
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Bug
>          Components: Vocabularies
>    Affects Versions: V4.0_CS01
>         Environment: [Proposed]
>            Reporter: Michael Pizzo
>             Fix For: V4.0_CSD03
>
>
> We decided to define all capabilities on either the entity set or the entity container, rather than type, so that we could share a type definitions across sets, and even services, and define the relative restrictions based on the actual exposed set.
> Somehow we missed the navigable term in doing this, the current definition of which is:
>       <Term Name="Navigable" Type="Core.Tag" DefaultValue="true" AppliesTo="NavigationProperty">
>         <Annotation Term="Core.Description" String="Supports navigation paths according to OData URL conventions" />
>       </Term>
> Also, note that many service support one level of navigation but not recursive navigation. We should capture that as well.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://tools.oasis-open.org/issues/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]