Will a NoAccessException be thrown when Unlicensed users attempt an action within a Managed Package?
We have a trigger on the Account object that's part of a managed package.
If an unlicensed user edits something on the account page, I'm getting a general System.Exception exception saying that an object doesn't have an 'Id' field...
Wondering two things:
- Can I wrap all of the contents of my trigger in a try/catch statement to prevent this error, and
- Can I use a System.NoAccessException to catch this so that other exceptions are handled differently?
We do not show the LMA as an installed package in our organization, nor does any administrator admit to ever installing it. However, Leads are being automagically edited by user 'License Manager' who is not a user in our org. The Lead Source is being changed to values not in our picklist.
Any ideas how we can determine what's going on or how to shut it down?
Thanks in advance,
Just installed LMA in a new org and got our first lead and this error:
Alert: Salesforce experienced the following problem creating the lead below:
Reason: Apex trigger leadEmailCheck caused an unexpected exception,
contact your administrator: leadEmailCheck: compiling trigger body
caused by: line 4, column 24: Dependent class is invalid and needs recompilation:
duplicatelogic: line 1, column 1: unexpected token: package
Lead Capture Page: Not available.
Anyone have any ideas?
I'm the Product Manager for packaging here at salesforce.com. We're currently working on a feature that would allow fields and objects to be removed from managed packages. This is a popular request and something we're hoping to deliver very soon, but we need your help. Please respond to this post with any thoughts around this topic. I've included a few questions to get the conversation going:
- Why do you want to remove these? No longer used? Customers didn't like them? Replace with a new field?
- When you deprecate a field/object, what should happen for existing customers? New customers?
- Would you have to remove all usage of a field/object in your app before you can deprecate it? What happens if you've included the field in another formula field, etc?
I have been looking through documentation but haven't found an answer yet. If an org is maxed out on custom objects and they would like to install a package, which includes two objects, would the installation error out or would the installation be permitted?
Ok, so here is it.
- I have a customer who installed a trial version of a managed package into their sandbox.
- Our LMA does not show a license record for that new installation.
- We have a workflow that sends out an automated email to the customer when the package is about to expire based on the LMA's License Record's Expiration field. They got that message. How did that happen if the record never existed?
- Problem: Customer needs an extension of the trial period. How can I extend the trial period if the LMA record does not exist?
What is the reason that the install into the sandbox does not show in the LMA?
Will it actually expire in the sandbox? (maybe this answers the question above?)
If it will expire, how do I extend it if I can't see it in the LMA?
I have used the Data Explorer to see if there are more records there than the web interface is displaying, but I didn't see anything.
Let me explain what i did.
1. Installed the AppExchange Listed Managed Package in the Enterprise Edition. After installing it and adding licenses to it, uninstall button was greyed out.
I have a base managed package and several managed extension packages.
Each of the managed extension package is product that I want to control the number of users for. For base package, I don't want any control.
For extension packages, one extension package might have 10 users while other has only 5 - I want to do them independently.
Can I use the License Management to accomplish this?
Few specific questions:
1. Do I need to list on AppExchange to use License Management ? If not how would I do it.
2. Can I make the base package NOT license managed but make extension packages License Managed?
I've installed the LMA and it is functional. Problem is that I want to use the License object in my LMO org to identify my customer org using the API, but there doesn't seem to be any object or field on the customer org with which I can relate back to the license.
Is there a way to do this? The idea is that I have a webtab from which I want to identify which customer is accessing my application so that I can provide the relevant information for that org. If only the OrgId or similar information was available in the License, I'd be able to get it.
The LMA documentation says that a License gets 'installed' on the customer org, but as far as I could try, there's no access to this too.
This is urgent so any help will be appreciated.
I was attempting to manage licensing internally but because the product is an s-control I was forced to enable cross domain scripting in order to write back subscription information to my server. Does anyone have any good ideas on how to do this?