Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add guidance for implementing an external standard on graph #503

Draft
wants to merge 79 commits into
base: corranrogue9/externalstandards
Choose a base branch
from

Conversation

corranrogue9
Copy link
Contributor

No description provided.

@@ -328,6 +329,19 @@ For a complete mapping of error codes to HTTP statuses, see

<a name="api-contract-and-non-backward-compatible-changes"></a>

## External standards

For ease of client use and interoperatibility, some APIs should implement a standard that is defined external to Microsoft Graph and OData.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From Mike, I should be clear what APIs "conflict with odata stnadrad/graph guidelines"

Workloads must define these standards in their CSDL model if they do not conflict with the OData standard.
Standards that *do* conflict with the OData standard may be defined in the CSDL in one of two ways:
1. Using `Edm.Untyped` only and support for the external standard will come directly from the service implementation; OR
2. Adding CSDL elements to model the external standard using `Edm.String` for `EnumType`s that conflict with the OData standard and `Edm.Untyped` wherever any other conflict with the OData standard occurs
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From Mike: The structuring of the conjunction makes this sentence seem like it's only about enums

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The allowed values annotaiton should be used for strings

@OlgaPodo OlgaPodo added Graph Guidelines This should be reviewed by Microsoft Grap team. Microsoft Graph This should be reviewed by Microsoft Grap team. labels Dec 1, 2023
OlgaPodo and others added 30 commits December 22, 2023 12:02
…es, and completedDateTime common property name (#507)
fixed graph owners to include nested folders and files
commented azure owners as the group list has errors
Update product name guidance to include the caveat about the /admin s…
fixed example in markdown
Fix formatting of json example.
… Service Design

This PR adds a reference in the guidelines for String Offsets & Lengths to the corresponding section in Considerations for Service Design, which has more details and an example JSON response value.
…es of derived types.

Also make examples more consistent and complete.
Update dictionary guidance to have the correct workload CSDL to implement a dictionary type
Update navigation property guidance to add to the list of reason why navigation properties are compelling
* Added LRO guidelines
* Restore all prior named guidelines with some edits where needed
* Address PR review feedback

Co-authored-by: Mike Kistler <[email protected]>
Co-authored-by: Weidong Xu <[email protected]>
Clarify: cast is not required in order to see properties of derived types.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Graph Guidelines This should be reviewed by Microsoft Grap team. Microsoft Graph This should be reviewed by Microsoft Grap team.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet