Kategorie: Dev documentation

Four steps to Teams success

Naming convention Repositories, Namespaces, Services…

A solution in Visual Studio contains many projects.Each solution has a name. This name is the root namespace of all projects.For example: DataHive.ProductStructure is the name of the solution of the ProductStructure WebApi.Therefore DataHive.ProductStructure is also the root namespace of all projects contained in this solution. The projects follow this namespace with a suffix: Solution: …

CORS Headers

To check if an API endpoint allows CORS, please send a Http Request as OPTIONS with the following headers: Access-Control-Request-Headers:authorization,content-typeAccess-Control-Request-Method:POSTOrigin:http://localhost The response will look like this if CORS is allowed: Access-Control-Allow-Headers:authorization,content-typeAccess-Control-Allow-Methods:POSTAccess-Control-Allow-Origin:* For example this endpoint supports CORS: Whereas this does not:

Klassenarten

Bei der Full-Stack Entwicklung haben wir es mit verschiedenen Arten von „Modellen“ zu tun.Diese werden hier kurz aufgelistet: Frontend Input-Requests Im Frontend gibt es Use-Cases. Jeder Use-Case hat Input-Modelle, die ich als „Requests“ bezeichne.z.B. Output-Responses Genauso kann ein Use-Case auch wieder einen Output haben. Die „Responses“: ViewModels Die Daten aus den Responses können in View-Models …

Masterdata site references

MasterdataSites können aufeinander referenzieren.Somit wäre es z.B. denkbar, dass man von einer Product Masterdatasite per Hyperlink auf die obergeordnete Enterprise bzw. Site Masterdatasite springen kann.Das folgende Bild verdeutlicht diese Referenzierung: Es wird deutlich, dass alle Enterprise Masterdata sites auf alle enthaltenen Site Masterdata sites referenzieren: Dies wird durch den Pfeil (hier rot) verdeutlicht.Es gelten insgesamt …

Group Approval and Status

There are the following kinds of groups: CategoryGroups MasterdataGroups UnassignedGroups CategoryGroups have the following Status: MasterdataGroups have the following Status: UnassignedGroups have no status CategoryGroups CategoryGroups are always created in the context of a category.This category can be configured to not create groups directly after creation, but wait until the group is „inited“. This can …

Regeln zum API Entwurf

Regeln für die Controller Objekt erzeugen [POST] Falls möglich: Policy abfragen, ansonsten => Forbidden Abfangen, ob ein gültiges objekt gepostet wurde, ansonsten => 400 Bad Request und Eintrag im Log (warning) if(HandleLoggingIfObjectMissing(group, _logger)) return BadRequest(GetErrorMsgObject(Messages.StructureError)); 3. Falls in 1. die Policy nicht abgefragt werden konnte, überprüfe Berechtigung, ansonsten => Forbidden4. Erzeuge das Objekt und Eintrag …

Small helpers

How to validate an enum: if (!Enum.IsDefined(typeof(CategoryGroupStatus), status)) throw new InvalidRequestException($“Status has an invalid value: {status}“);

NuGet Packages and dependencies

Currently GroupHive environments consist of the following NuGet Packages: DataHive.Graph DataHive.SharePoint DataHive.Multivalue DataHive.Validations (-> DataHive.MultiValue) DataHive.ProductStructure.WebApi.SDK (-> DataHive.Graph, -> DataHive.Validations) DataHive.Enterprises.WebApi.SDK (-> DataHive.ProductStructure.WebApi.SDK) DataHive.Products.WebApi.SDK (-> DataHive.Enterprises.WebApi.SDK) DataHive.Groups.WebApi.SDK (-> DataHive.Enterprises.WebApi.SDK)

Geschützt: Security and service guide

Es gibt keinen Textauszug, da dies ein geschützter Beitrag ist.