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

Support for Salesforce table description ingestion #13556

Closed
kwgdaig opened this issue Oct 13, 2023 · 6 comments · Fixed by #14733
Closed

Support for Salesforce table description ingestion #13556

kwgdaig opened this issue Oct 13, 2023 · 6 comments · Fixed by #14733
Assignees
Labels
enhancement New feature or request Ingestion

Comments

@kwgdaig
Copy link
Contributor

kwgdaig commented Oct 13, 2023

Is your feature request related to a problem? Please describe.
For Salesforce, which is a Database service, there is no function to extract the description assigned to an object (table).
Even if the object (table) description is written in Salesforce, it must be manually added to OpenMetadata.Even if the description is included in Salesforce, it must be manually added to OpenMetadata.

Describe the solution you'd like
We would like to extract object (table) descriptions in the Salesforce Metadata ingestion and automatically import them into OpenMetadata. This feature eliminates the need for double management of table descriptions in Salesforce and OpenMetadata. In addition, the automatic inclusion of decsription will improve the rate at which descriptions are assigned to tables and increase the organization's understanding of the data.

Additional context
In Salesforce, it is possible to optionally assign a description to an object, as shown in the attached image.

salesforce_customobject_description_20231013
@kwgdaig kwgdaig added the enhancement New feature or request label Oct 13, 2023
@kwgdaig
Copy link
Contributor Author

kwgdaig commented Oct 19, 2023

FYI

I have investigated how to extract the description of a salesforce object.
REST API used in this code cannot get the object description, so we need to use another API. I think that we need to use Tooling API to access the metadata as the other API since EntityDefinition document on Tooling API includes the object description.
In simple-salesforce package currently used in OpenMetadata, it seems that Tooling API can be used with toolingexecute function.

I have confirmed that the object description can be extracted by using the following code.

code:

self.client.toolingexecute("""query/?q=SELECT+DeveloperName,QualifiedApiName,Description+FROM+EntityDefinition+LIMIT+100""")

retuls:

{
	'size': 100,
	'totalSize': 100,
	'done': True,
	'queryLocator': None,
	'entityTypeName': 'EntityDefinition',
	'records': [{
		'attributes': {
			'type': 'EntityDefinition',
			'url': '/services/data/v42.0/tooling/sobjects/EntityDefinition/01***********'
		},
		'DeveloperName': '******Info',
		'QualifiedApiName': '***_******__c',
		'Description': None
	}, {
		'attributes': {
			'type': 'EntityDefinition',
			'url': '/services/data/v42.0/tooling/sobjects/EntityDefinition/01*********'
		},
		'DeveloperName': '******',
		'QualifiedApiName': '******__******__c',
		'Description': '****** for ******.'
	}, {
...
	}]
}

Reference document:

@harshach harshach moved this to Ingestion - Bugs & Minor Features in Release 1.3.0 Oct 22, 2023
@pmbrull
Copy link
Collaborator

pmbrull commented Dec 12, 2023

hi @kwgdaig since we don't have access to enterprise salesforce instance, would you be able to contribute this? Happy to guide you. Thanks

@kwgdaig
Copy link
Contributor Author

kwgdaig commented Dec 17, 2023

@pmbrull Yes, I would like to contribute to it. Cloud you assign me to this?

@ayush-shah
Copy link
Member

Hello @kwgdaig i have assigned the issue to you, let me know if you need help with the same..we can communicate via https://slack.open-metadata.org/

Find me under Ayush Shah or ask on #support / #contributor channel and we will be available to help

@pmbrull
Copy link
Collaborator

pmbrull commented Jan 16, 2024

@kwgdaig do you have any updates here? WE'd need help since we don't have the enterprise service to test 🙏

@kwgdaig
Copy link
Contributor Author

kwgdaig commented Jan 16, 2024

Hi @pmbrull -san, I have fixed the code and created a PR, but will check as some tests are failing.

@ayush-shah ayush-shah removed their assignment Jan 18, 2024
TeddyCr added a commit that referenced this issue Jan 23, 2024
)

* ISSUE-13556: Add suport for Salesforce table description ingestion

* ISSUE-13556: Remove unnecessary blank line

* ISSUE-13556: Fix to get description for each table

---------

Co-authored-by: Teddy <teddy.crepineau@gmail.com>
@pmbrull pmbrull moved this from Ingestion - Bugs & Minor Features to Done in Release 1.3.0 Jan 23, 2024
harshach pushed a commit that referenced this issue Jan 24, 2024
)

* ISSUE-13556: Add suport for Salesforce table description ingestion

* ISSUE-13556: Remove unnecessary blank line

* ISSUE-13556: Fix to get description for each table

---------

Co-authored-by: Teddy <teddy.crepineau@gmail.com>
Abhishek332 pushed a commit to Abhishek332/OpenMetadata that referenced this issue Jan 25, 2024
…ngestion (open-metadata#14733)

* ISSUE-13556: Add suport for Salesforce table description ingestion

* ISSUE-13556: Remove unnecessary blank line

* ISSUE-13556: Fix to get description for each table

---------

Co-authored-by: Teddy <teddy.crepineau@gmail.com>
harshach added a commit that referenced this issue Feb 1, 2024
* Fix #14786: Suggestions API

* Handle suggestions in ometa

* Minor: Optimise Databricks Client (#14776)

* MINOR - Fix SP topology context & Looker usage context (#14816)

* MINOR - Fix SP topology context & Looker usage context

* MINOR - Fix SP topology context & Looker usage context

* Fix tests

* Fixes #14598: Fix Tags / Labels ingestion on includeTags as False (#14782)

* fix(ui): password error message for char limits (#14808)

* fix(ui): password error message for char limits

* fix java side code

* Fixes #13556: Support for Salesforce table description ingestion (#14733)

* ISSUE-13556: Add suport for Salesforce table description ingestion

* ISSUE-13556: Remove unnecessary blank line

* ISSUE-13556: Fix to get description for each table

---------

Co-authored-by: Teddy <teddy.crepineau@gmail.com>

* MINOR - Better handling of Ingestion Pipeline Status (#14792)

* MINOR - Better handling of Ingestion Pipeline Status

* format

* format

* MINOR: Added table validation for cost analysis data (#14793)

* Added validation for cost analysis source

* centralized life cycle logic

* CYPRESS: simplify side navigation click in cypress (#14818)

* simplify side navigation click in cypress

* make sidbar item uses common enum

* fix cypress failure of outside import

* fix(#14326): tier dropdown is not working in advance search (#14780)

* improvement in advance search based on custom property

* fix a reading undefined property issue

* wip: advance search based on tier

* some code cleanup and improvement

* some fixes

* fix: ui flicker when advanceSearched is apply and refresh the page

* some cleanup

* no need to call customproperty api call, if entity not suppport customProperties

* minor change

* fix: autocomplete not working in tier search option in advance search modal

* added unit test for advance search provider component

* some cleanup

* added testcase for open modal

* added testcase for resetAllFilters method

* removed unwanted code

* added e2e test for testing tier advance search

* fix: e2e search flow for single field

* fix: string field not working after giving listValues in TierSearch

* fix: group query e2e test fix

* used asyncFetch way to get the tierOptions synchronously

* some cleanup

* remove unwanted lines

* some cleanup

* fix: selected option show option value instead of option title

* fix(minor): update skip icon for executions (#14809)

* Fixes #14803: ignore capitalization when confirming deletes  (#14804)

* ignore case when confirming deletes

* Test confirmation of deletes works when case differs 

Added test case for 'delete' as the confirmation text.

* minor(config): update openmetadata-ui code reviewers (#14823)

* Add Tests

* Add list/accept/reject apis

* initial ui changes

* localisation

* show suggestion for empty description

* ui feedbacks

* Fix permission check for entities without owner

* Fix entityLink and add tests

* Add update suggestion WIP

* Fix test

* Fix PUT and Pagination

* Fix styling

* update test

* Update status

* add OM server connection in apps

* add permissions check

* Fix CI

* Remove TODO

* Fix feedResourceTest

* fix unit tests

* add private configs for apps

* add private configs for apps

* fix update application icons

* minor center align icon

* add private configs for apps

* Format

* Fix pydantic gen

* Remove token

* Update name

* Rework private conf

* Fix apps

* Fix apps

* Format

* Format

* show metapilot only if its installed

---------

Co-authored-by: Pere Miquel Brull <peremiquelbrull@gmail.com>
Co-authored-by: Mayur Singal <39544459+ulixius9@users.noreply.github.com>
Co-authored-by: Ayush Shah <ayush@getcollate.io>
Co-authored-by: Chirag Madlani <12962843+chirag-madlani@users.noreply.github.com>
Co-authored-by: kwgdaig <18678754+kwgdaig@users.noreply.github.com>
Co-authored-by: Teddy <teddy.crepineau@gmail.com>
Co-authored-by: Onkar Ravgan <onkar.10r@gmail.com>
Co-authored-by: Ashish Gupta <ashish@getcollate.io>
Co-authored-by: Abhishek Porwal <80886271+Abhishek332@users.noreply.github.com>
Co-authored-by: Carlo Q <carlo@machina.bio>
Co-authored-by: karanh37 <karanh37@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Ingestion
Projects
No open projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants