2

We have a managed package that works in Enterprise and Unlimited orgs. We are working on getting it working in Professional. The version we have works fine in the development org but when installed in a Professional org some pieces seem to not be working. How are we supposed to debug this?

The developer console doesn't seem to really do anything in Professional so I'm not sure how to do SOQL queries, run code directly, or get log information. I'm basically at a loss as to how to figure out what is not working much less how to fix it.

Edit: More Info

The apps (there are 2) install successfully. There are triggers involved. The only way to see if the triggers are installed is to go to "Installed Packages" > [Package] > "View Components". I am under the impression that triggers should be fine in Professional. While I would like a general answer as to how one can debug things in a Professional org environment, I have a feeling that the offending line of code is the following:

List<ApexTrigger> triggers = [SELECT Name, TableEnumOrId, Body FROM ApexTrigger];

The code that isn't working should loop over this collection and display information based on what it finds there. It is currently returning a message that there is nothing to display. The problem could be further down the chain - I'm trying to figure out how to determine where the problem is.

Ideally there would be a way to have full debug tools like in enterprise but run under the limitations of Professional, but that's probably hoping for too much.

4
  • I think triggers are fine in PE, when you say returning -- by what means are they returned? Webservice call, VF Page, etc.? Oct 12, 2012 at 19:57
  • Just on the VF page. This code is in a controller, it just throws up a message on the page if it doesn't find any triggers that conform to some rules. The triggers int he package should be fine. Hmm... now that I think of it - it may just be that the triggers names are referenced differently in this managed package (they are usually deployed in enterprise and unlimited as unmanaged packages) - maybe the problem is the lack of the namespace. Oct 12, 2012 at 20:24
  • I guess the point is that the problem may not have anything to do with Professional edition - but I can't tell because I'm not sure how to debug in that environment. Oct 12, 2012 at 20:28
  • Right, well debugging any package after it's been installed is basically impossible because the package hides the execution calls in the SFDC Debugging console. Oct 12, 2012 at 20:41

2 Answers 2

2

One thing I found that helps, is that the Developer Console in Winter 13 has a "Query Editor" - it is a tab in the same tab group as "Logs" and "Repository". It lets you run SOQL queries and returns the result.

This at least allowed me to test some of the queries I was concerned about. Using this I was able to test the SOQL I mentioned above and found out that:

sObject type 'ApexTrigger' is not supported.

So that's why my code isn't working in this case.

1
  • That's good to know. Please update this Q&A if you find other similar issues; there is precious little documentation on this. We, too, have struggled with a PE version of a package although in the end it was less of a pain than we expected.
    – jkraybill
    Oct 13, 2012 at 1:42
0

You need to figure out what all your package components are and which of them might not be available in PE.

  1. Does the app even install or uninstall successfully?
  2. Do you include Ajax Toolkit SOAP Web-services in your controllers?
  3. Do you include permission sets or record types?
2
  • The app installs successfully, it just doesn't fully work once installed. There are no errors, things that should happen just don't. There are some web services but not Ajax Toolkit SOAP Web-services. I haven't even been able to get far enough to see if the web services work. There are no permission sets or record types. Oct 12, 2012 at 19:32
  • 1
    Well my first thought is Apex methods that are invoked via Ajax Toolkit (webservice annotation) aren't allowed in Professional Addition without an API Token. Thought this is a largely undocumented and generally hard to work around issue. So you should replace these with @RemoteAction calls. Are the pages not loading? Does your browser debugging console (Firebug) run? Does it reveal any errors. Oct 12, 2012 at 19:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .