0

I am developing a managed package that has a VisualForce page for configuration. Before I packaged everything up, I made some buttons on the page that the user can click to automatically set their org's Account 'New' and 'Edit' action overrides to be of type 'Visualforce' and point to custom VF pages that are in the same namespace. This is done using the metadata api via JSforce.

The connection is set up in a JS script on the configuration VF page like so:

var conn = new jsforce.Connection({ accessToken: "{!$Api.Session_Id}"});

The thing is, everything worked fine until I added everything into a managed package (including the custom VF pages that the action overrides are supposed to point to. Now when I click the button to automatically set the overrides, I get an error that says,

namespace__page_name does not exist or is not a valid override for action Edit

I know the page exists and is a valid override, because I can set the override manually.

I did notice that in the error it had the page's name all lower case, whereas I sent it more like NameSpace__Page_name, so maybe SalesForce suddenly started being case-sensitive and JSforce suddenly started converting requests to all lowercase...but I doubt it.

Why can't it find the page anymore? I'm testing this in the same org I'm developing it in (still waiting for my Partner account)...could that be a factor?

  • Maybe it's because I don't have this package technically installed on my developer org...I'll have to get another org to test it. – Neo Jun 17 '15 at 16:33
2

You should install it into a staging Org to conduct meaningful tests.

My experience is, that in managed packages you'll get a way less powerfull session-id, so your {!$Api.Session_Id} could be a reason.

Find some backgrounds for session Ids here:

  • I finally was able to install it in another org, and it worked fine with {!$Api.Session_Id}. It still doesn't work when I test it in the same org in which I developed it, but that doesn't really matter. Thanks! – Neo Jun 24 '15 at 15:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.