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 96 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
mikekistler and others added 30 commits February 26, 2024 18:54
…es of derived types.

Also make examples more consistent and complete.
Co-authored-by: Michael Pizzo <mikep@microsoft.com>
Update dictionary guidance to have the correct workload CSDL to implement a dictionary type
Co-authored-by: Dan Kershaw [MSFT] <dkershaw10@users.noreply.github.com>
Update navigation property guidance to add to the list of reason why navigation properties are compelling
Co-authored-by: Garrett DeBruin <16618938+corranrogue9@users.noreply.github.com>
Co-authored-by: Garrett DeBruin <16618938+corranrogue9@users.noreply.github.com>
Co-authored-by: Garrett DeBruin <16618938+corranrogue9@users.noreply.github.com>
Co-authored-by: Garrett DeBruin <16618938+corranrogue9@users.noreply.github.com>
* Added LRO guidelines
* Restore all prior named guidelines with some edits where needed
* Address PR review feedback

Co-authored-by: Mike Kistler <mikekistler@microsoft.com>
Co-authored-by: Weidong Xu <weidxu@microsoft.com>
Clarify: cast is not required in order to see properties of derived types.
Use proper noun name for graph product
Rename `bankAccountInformation` to `bankAccountDetail`
Fix grammar
Add link to nav prop article
Update to `existing core types`
Update description of core types in overview to addd "intrinsic"
Add guidance for types which should not have new structural properties
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