-
Notifications
You must be signed in to change notification settings - Fork 3
docs: ISS-179977, Add documentation for mapping custom objects and custom links #254
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
Merged
+75
−4
Merged
Changes from 4 commits
Commits
Show all changes
23 commits
Select commit
Hold shift + click to select a range
d33cd91
Update IDM docs
tilenkavcic 720c6c6
Update supported object types
tilenkavcic c8cff51
Add fallback description
tilenkavcic 2ed743a
Add documentation for mapping custom objects and custom links
ftopic 393dbd6
Comments
ftopic a07cd0c
frontend user-identity method (#232)
shalomgk 177c130
changed the position of note (#243)
AvinashSingh10-1 302beb9
chore: Update OpenAPI specs (#245)
bdbyrne e4bc470
Point to customization API docs from identity SDK docs (#246)
shivansh aeba548
chore: Include 'Bearer' in authorization header documentation (#247)
bdbyrne c6c9488
Document `unit` and `is_read_only` customization UI hints (#248)
shivansh 0cb6bec
style rules for marketplace (#214)
bc-devrev 431bd83
add instructions for local instance (#171)
bc-devrev 08a5cd9
Update supported objects for Airdrop (#250)
arturo-aparicio 347068d
Update ekline.yml (#249)
bc-devrev e48fd8d
Cross-domain session tracking link (#252)
shalomgk d55f2f5
Minor Airdrop fixes (#253)
patricijabrecko a8e18ec
docs: Add fallback docs (#241)
tilenkavcic ddfbb0c
Fix merge
tilenkavcic 340e4c4
Merge branch 'main' into farist/custom_objects
tilenkavcic 701f9e6
Readd custom object documentation
ftopic 85c4748
remove metadata version mentions
ftopic 0f69719
Update fern/docs/pages/airdrop/metadata-extraction.mdx
ftopic File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
|
@@ -100,29 +100,65 @@ You can now use the chef-cli web UI to create initial domain mappings. | |||||
|
||||||
## Use the local UI to create initial domain mappings | ||||||
|
||||||
The final artifact of the recipe creation process is the `initial_domain_mapping.json`, which has to be embedded in the extractor. | ||||||
The chef-cli UI generates an `initial_domain_mapping.json` file that must be embedded in your extractor. This defines the options that the end-user will see when they are mapping the data. | ||||||
|
||||||
This mapping, unlike the recipe blueprint of a concrete import, can contain multiple options for each external record type from which the end-user might choose (for example, allow *task* from an external system to map either to *issue* or *ticket* in DevRev), and it can also contain mappings that apply to a record type category. | ||||||
When the user runs a new import, and the extractor reports in its metadata record types belonging to this category that are not directly mapped in the initial domain mappings, the recipe manager applies the per-category default to them. | ||||||
Initial domain mappings differ from user mappings in two key ways: | ||||||
|
||||||
After the blueprint of the test import is completed, the *Install in this org* button takes you to the initial domain mapping creation screen, where you can *merge* the blueprint to the existing initial mappings of the org. | ||||||
1. **Multiple mapping options**: The developer can choose how external record types map to DevRev records (e.g., external *task* can map to either *issue* or *ticket*). | ||||||
2. **Category-based defaults**: Mappings can apply to entire record type categories, automatically handling new record types. | ||||||
|
||||||
By repeating this process (run a new import, create a different configuration, merge to the initial mappings), you can create an initial mapping that contains multiple options for the user to choose from. | ||||||
<Steps> | ||||||
|
||||||
### Map record types and fields | ||||||
|
||||||
Use the chef-cli UI to map record types and fields. | ||||||
The UI will show you the record types that are available in the org and allow you to map them to the external record types. | ||||||
You should map one record type at a time. | ||||||
|
||||||
#### Mapping as custom object | ||||||
The system allows importing record types and categories as custom objects. To achieve this you have to select `new_custom_object` when mapping the record type. For each external record type mapped as a custom object, a new custom **Leaf type** will be defined in DevRev and a **Subtype** will automatically be created. For more details on customization concepts, please refer to the | ||||||
[Customization](../customization.mdx) and [Custom Objects](../custom-objects.mdx) documentation. | ||||||
|
||||||
The field mapping works the same as for the stock DevRev types, with the difference being that there are significantly fewer fields to map. All the unmapped fields of the external record type will be created as custom fields. | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
|
||||||
### Specify fallback mappings | ||||||
|
||||||
For most required DevRev fields we require a fallback. This is used on object creation if the extractor doesn't provide a value. | ||||||
|
||||||
The fallback should be a DevRev value that is valid for the field. | ||||||
For enum fields, the fallback should be the enum **value** as specified in [Supported object types](./supported-object-types.mdx). | ||||||
ftopic marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
||||||
### Install the blueprint | ||||||
|
||||||
Click **Install in this org** to access the initial domain mapping creation screen. | ||||||
Follow the instructions to create your initial domain mapping. | ||||||
|
||||||
### Merge configurations | ||||||
tilenkavcic marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
|
||||||
You can repeat the process for different record types and fields to create multiple mappings. | ||||||
In the install screen, you can merge your mappings with existing initial mappings. | ||||||
|
||||||
### Export the mapping file | ||||||
|
||||||
When all fields are mapped correctly, click **Export** to download `initial_domain_mapping.json`. | ||||||
|
||||||
</Steps> | ||||||
|
||||||
### Advanced configuration | ||||||
|
||||||
Finally, when all the fields are mapped without deficiencies and the blueprint is installed, the Export button allows you to retrieve the `initial_domain_mapping.json`. | ||||||
You can provide a local metadata file for enhanced functionality: | ||||||
|
||||||
<Tip> | ||||||
You can also provide a local metadata file to the command using the `-m` flag, for example: | ||||||
```bash | ||||||
chef-cli configure-mappings --env prod -m metadata.json | ||||||
``` | ||||||
|
||||||
This enables the following features: | ||||||
- Raw jq transformations using an external field as input (experimental feature). | ||||||
- Filling in example input data for trying out the transformation. | ||||||
This enables: | ||||||
- Raw jq transformations using external fields as input (experimental) | ||||||
- Example input data for testing transformations | ||||||
|
||||||
In this case, it's not validated that the local file is the same as the one submitted by the snap-in. | ||||||
</Tip> | ||||||
<Warning> | ||||||
The local metadata file is not validated against the snap-in submission. | ||||||
</Warning> | ||||||
|
||||||
### Test an import with initial mapping using the in-app UI | ||||||
|
||||||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.