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

Managed Package's Object in Org Browser : Metadata #1998

Closed
nikhil-sfdev opened this issue Feb 18, 2020 · 18 comments
Closed

Managed Package's Object in Org Browser : Metadata #1998

nikhil-sfdev opened this issue Feb 18, 2020 · 18 comments
Labels
area:namespaces area:orgbrowser type:enhancements Feedback to take into account for existing features

Comments

@nikhil-sfdev
Copy link

I have installed some packages in my org, and their sObject's Info are NOT available(in Org Browser : Metadata) in following categories :

  • Custom Object
  • Workflows
  • Flow Definitions
    ( Probably in other categories as well(Not Checked) )

Though some info is available in sObject Definitions (location : .sfdx>tools>sObjects) for field's description, can we have all kind of info in "Org Browser" as well (similar to other standard and Unmanaged sObjects)?.

Currently using extension's info :
sfdx-cli/7.46.1-3d2451fad8 darwin-x64 node-v10.15.3
vs_code_version : 1.42.1

@lcampos
Copy link
Contributor

lcampos commented Feb 19, 2020

Thanks for opening this @nikhil-sfdev. The org browser does not display metadata inside of managed packages because that metadata cannot be retrieved (metadata retrieve) by a subscriber.
Can you provide more info on what you are trying to accomplish ?

@nikhil-sfdev
Copy link
Author

nikhil-sfdev commented Feb 19, 2020

@lcampos
We are using few package's object in our sales process, and wrote few validations, flows, and other custom configurations to extend their functionalities. But it is difficult to maintain versioning for the same.

It would be great if we can pull out these informations to our repositories.
Plus , it can also help us in our CI/CD pipelines.

Thanks !

@lcampos
Copy link
Contributor

lcampos commented Feb 19, 2020

@nikhil-sfdev so you want some sort of reference to the sobjects in a managed package e.g. opening a file that lists all the fields ? Or you want to get this information while you're coding with the extensions e.g. typing the managed package namespace in an apex class and seeing a list of suggestions for the objects, fields, etc in that namespace ?

Can you also clarify how this info would help you in your CI/CD pipeline ?

cc @smaddox-sf @ntotten

@nikhil-sfdev
Copy link
Author

nikhil-sfdev commented Feb 20, 2020

@lcampos
I guess we can reference managed package's objects and fieldName__c from sObject Definitions (location : .sfdx>tools>sObjects), so ,no issue in that.

Components in which i am interested are:

Object's Metadata
Screenshot 2020-02-20 at 1 32 31 PM

FlowDefinition written on managed package's object
Screenshot 2020-02-20 at 1 34 12 PM

Workflows written on managed package's object
Screenshot 2020-02-20 at 1 36 06 PM

Currently, Admins/Devs configure above categories informations for package's object, therefore it is difficult to trace down those changes ( where git can help ) and In addition, we can deploy these metadata via our git branches instead of Change Sets.

Thanks !

@snugsfbay
Copy link

I would love this capability so that I can include custom fields and record types that we build onto objects in managed packages. For example, when I add a field to the Affiliations object that is part of EDA and NPSP managed packages from Salesforce, I want to include that custom field or record types in the metadata I can browse, download and pull into our repository.

@anellurirocket
Copy link

anellurirocket commented Apr 16, 2020

We use Salesforce CPQ and extended its functionality by creating custom fields, workflows, process builders, email alerts etc on objects like SBQQ__Quote__c. There is no way to access that metadata using Org Browser where as manifest file can retrieve that metadata.

@az-oolloow
Copy link

@lcampos
You say:

because that metadata cannot be retrieved (metadata retrieve) by a subscriber.

However, if i just add that managed component (e.g. object) in the correct folder as an empty .xml, right click in VS code and say 'retrieve from source' it is retrieved correctly.

@Christopher-B-Carpenter
Copy link

Christopher-B-Carpenter commented Jun 16, 2020

@az-oolloow that is how I have been getting around this limitation as well, so it seems there is not a hard limitation here as @lcampos mentioned. We create a lot of customizations within the SBQQ namespace (Salesforce CPQ) and it would be great if we could access this metadata through the org browser.

@peternoges
Copy link

peternoges commented Feb 12, 2021

Hi @lcampos — Hopefully this revised writeup is helpful to the OP issue discussion:

I'm believing Orgbrowser uses sfdx retrieve commands and its unusual that, given vanilla .forceignore file, the command sfdx force:source:retrieve -m CustomObject does only a PARTIAL job at retrieving managed package sObjects. This could be related to the OP's issue.

For example, why when running sfdx force:source:retrieve -m CustomObject do i see just a few (but not all) managed (namespaced) sobjects in the retrieval results? Many sobjects from installed packages are not retrieved, but some are. The few that are definitely are namespaced sObjects (not custom settings, not metadatatypes, but in fact sobject from managed packages).

Suggestion:
I think sfdx retrieve commands, and orgbrowser should both be upgraded to honor the expectation that ISVs have around namespaced meta, which, to my knowledge, is that only some namespaced metadata is hidden but no namespaced sobjects should be hidden; parts of them uneditable sure but ideally all namespaced sobjects would be retrievable therefore please upgrade both OrGBrowser and sfdx force:source:retrieve -m CustomObject so that it retrieves all (not just some) namespaced sObjects (at least those that are not forceignored)

Version: 1.53.2 (user setup)
Commit: 622cb03f7e070a9670c94bae1a45d78d7181fbd4
Date: 2021-02-11T11:48:04.245Z
Electron: 11.2.1
Chrome: 87.0.4280.141
Node.js: 12.18.3
V8: 8.7.220.31-electron.0
OS: Windows_NT x64 10.0.19041

@trinasfdx trinasfdx added the status:in review pr/issue is being reviewed label Apr 1, 2022
@jag-j jag-j added type:enhancements Feedback to take into account for existing features and removed status:in review pr/issue is being reviewed labels Apr 1, 2022
@JodieM
Copy link

JodieM commented May 14, 2022

Over two years later and this is still not fixed. Please please please allow us to download our FULL org metadata from our orgs, of which 99.99% of orgs use Managed Packages and people customise objects in Managed Packages so we need to be able to see everything in VSCode.

@mattmartin26
Copy link

Agreed, this is pretty important for those of us who are extending Managed Packages (eg. NPSP, EDA).

@mspiep01
Copy link

Any update on progress or prioritization? If we're supporting managed packages, we should include them across our pipelines as well

@DaveHahn-Fuel
Copy link

This is a major issue for us as well. We may add a new custom field to the Managed Package object and need to retrieve it into source to be checked in via git so our ci/cd process can deploy it since the new field could be referenced in Apex, on a page layout or flexipage or any other number of dependencies that break the automated build/deploy process. With Salesforce pushing the CI/CD process, how is this not possible. It is available in Illuminated Cloud for itelliJ. We are forced to use the cli every time we add or change anything on a custom object in a managed package. This is not great for an admin who is on windows and has never used a bash terminal.

@twkirumba
Copy link

@DaveHahn-Fuel the slight workaround I've been using is maintaining a "ManagedPackage.xml" manifest. When we make a change to something managed, I add it to the manifest then use that to retrieve and add to my VCS. It's not much but it's better than cli commands in the terminal, especially for an admin who isn't familiar

@DaveHahn-Fuel
Copy link

Thanks @twkirumba thats an interesting work around, I will give it a try

@sakarettm07
Copy link

This is so important to my workflow. It keeps me using IntelliJ + IlluminatedCloud because I can't get a reference to the objects and fields within VisualStudio.

@twkirumba
Copy link

@sakarettm07 how does IntelliJ + IlluminatedCloud provide references to managed metadata components? Does it use a different CLI tool?

@daphne-sfdc
Copy link
Contributor

Hello everyone, This issue has been fixed in #5403. Please try updating to the latest version of the VSCode extensions and see if the problem is resolved. I'm going to close this issue - if the problem still persists, feel free to let us know by opening a new issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:namespaces area:orgbrowser type:enhancements Feedback to take into account for existing features
Projects
None yet
Development

No branches or pull requests