Unable to retrieve all classes in OST for Managed Packages

Issue #679 new
Gustavo Tandeciarz created an issue

Thread: I have a demo org where I installed some managed packages that we are extending. I wanted to see if there was a way to pull down the visualforce pages, objects and public class headers so that we can get some auto-complete on managed package class extensions.

I can download all the metadata that isn't part of the managed package, but I want both, the managed package MD and the custom metadata. Is that possible?

This email and its attachments are for the use of the intended recipient(s) only. If you are not the intended recipient, please do not disclose the contents to anyone, but notify the sender by return email and delete this email (and any attachments) from your system.

Scott 12:15 PM (2 hours ago)

to Illuminated This message has been deleted. Restore message The offline symbol table includes symbols from installed managed packages so you should be getting completions for accessible (i.e., global) Apex classes and members as well as all packaged SObjects/fields. Unfortunately I haven't found an API for getting the packaged Visualforce component descriptions yet so you won't currently get completions for those. Maybe I'll revisit that and see if I can find a way to get to those again...

Anyway, please let me know if it isn't working as described for you.

Regards, Scott Wells --

Yeah, is see a bunch of headers in there for the managed package in question, so my guess is that the developer didn't make these global. I'm reaching out to them to get more information. Thanks, as always!

This email and its attachments are for the use of the intended recipient(s) only. If you are not the intended recipient, please do not disclose the contents to anyone, but notify the sender by return email and delete this email (and any attachments) from your system.

So, it looks like those classes are marked as global, but IC doesn't display them in the OST.

On Thu, Aug 10, 2017 at 12:15 PM, Scott scott@illuminatedcloud.com wrote: The offline symbol table includes symbols from installed managed packages so you should be getting completions for accessible (i.e., global) Apex classes and members as well as all packaged SObjects/fields. Unfortunately I haven't found an API for getting the packaged Visualforce component descriptions yet so you won't currently get completions for those. Maybe I'll revisit that and see if I can find a way to get to those again...

Anyway, please let me know if it isn't working as described for you.

Regards, Scott Wells --

Scott Wells 1:32 PM (1 hour ago)

to me Okay, so I see a bunch of these in the log:

2017-08-10 13:05:44,321 [2856756] WARN - loud.symtab.OfflineSymbolTable - No symbol table found for ccrz__cc_bean_test_Terms; skipping it. 2017-08-10 13:05:44,321 [2856756] WARN - loud.symtab.OfflineSymbolTable - No symbol table found for ccrz__cc_bean_test_mixMaxPrice; skipping it. 2017-08-10 13:05:44,321 [2856756] WARN - loud.symtab.OfflineSymbolTable - No symbol table found for ccrz__cc_bean_test_promoRD; skipping it. 2017-08-10 13:05:44,321 [2856756] WARN - loud.symtab.OfflineSymbolTable - No symbol table found for ccrz__cc_bean_test_promotion; skipping it. 2017-08-10 13:05:44,321 [2856756] WARN - loud.symtab.OfflineSymbolTable - No symbol table found for ccrz__cc_cnst_CloudCraze; skipping it. 2017-08-10 13:05:44,321 [2856756] WARN - loud.symtab.OfflineSymbolTable - No symbol table found for ccrz__cc_cnst_FedExXMLTag; skipping it. 2017-08-10 13:05:44,321 [2856756] WARN - loud.symtab.OfflineSymbolTable - No symbol table found for ccrz__cc_cnst_PageConfiguration; skipping it.

That's basically saying that when I query the ApexClass Tooling API object, it's not providing symbol tables for a bunch of types from your installed managed package. I've seen in that in the past, but I don't know why it does it sometimes and not others.

I actually then make a second pass for information about custom classes toward the end via what I call "class overlays" and I can see if querying 276 classes, 930 methods, and 1394 fields, but I don't know which of those are from the installed managed package and which are just from other stuff in the org. It's also possible that there's a bug where if I don't get a symbol table for something in the first pass, I don't apply the overlays in the second pass. My guess is that might be what's happening, and if so I need to use the best of the information available to me across both passes.

Comments (2)

  1. Neil Morris

    I suspect this is something wonky with the specific trialforce template that was being used. I saw the same behavior connecting to a colleagues trialforce org (spun up from the same template ID as Gustavo's). However, looking at other trialforce orgs from different templates (and also other developer and sandbox orgs with the same package build on them) all of the proper global objects are pulled down into the OST.

  2. Log in to comment