You need to sign in to do that
Don't have an account?
Managed Package Upgrade Problem
Hi All: We have a managed app published on the AppExchange, and have recently created a new version where the only change made is that our Custom Tab uses the FULL WIDTH of the framed page versus the 2 column layout and the framed page length has been changed to 1300 pixels from 600. We also changed the color of the tab.
I have confirmed these changes are inside the new package version we uploaded, and when I install the upgrade I see a notice that the Custom tab is the single component which will get upgraded....BUT...
PROBLEM: Any SF instance which upgrades to our new version does NOT get the full width page, but instead gets the 2 column layout. Interestingly, they do get the change to 1300 pixel page length from 600, but the change in the full width versus 2 column layout does NOT occur. They also do not get the tab color change.
I'm going crazy with this! Why can't we upgrade existing installs to switch from a 2 column layout to a full width layout?? Anyone have any insights?
Thanks in advance for any help!
Mark Cira @ PrintSf.com
You can update page layouts using the metadata API, but this requires you to host some code outside of force.com as the metadata API can only be called from client applications.
We're looking into ways to provide admins with a quick merge and deploy tool for existing page layouts. This will probably be a while out though based on our current roadmap.
Another trick some partners have used is to supply a new page layouts and then just ask admins to change the page layout assignments for their users. It's a little easier.
Thanks,
All Answers
Hi Mark,
Can you log a case with the details and post the case number? That should work if this is a managed package, so be interested to see what's wrong.
Thanks,
Also, Adam, the new package version is
https://login.salesforce.com/?startURL=%2Fpackaging%2FinstallPackage.apexp%3Fp0%3D04t700000007vT3
The old version, still pubic on the AppExchange, is:
https://login.salesforce.com/?startURL=%2Fpackaging%2FinstallPackage.apexp%3Fp0%3D04t700000007txZ
Thanks, Mark
Hello,
I believe we are having a similar problem. We developed some custom objects and were able to successfully package page layouts for the objects which were assigned to user profiles. Great! This software is deployed and working fine.
But now we have added some fields and moved around some fields on those same layout objects. We made another package to upgrade the old one, but once the new one is installed we noticed that the layouts do not change. They are the same as before.
The only workaround we have is to make new layouts in our development environment and include those in the package. Then after the package is installed, the users have to go and delete the old layout, and select to replace it with the new one. Ouch!
Is this a bug that needs to be logged or is there some trick to force the page layouts to be overwritten?
Thanks,
Jason
Hi Jason,
This is actually working as designed. It follows the same model as when salesforce does a release, we don't auto update page layouts for fear that the chnages will impact existing users. They must be manually updated by the admin.
Are you distributing this package to multiple customers or only one org?
Thanks,
Hi Andrew,
I work with Jason.
We are distributing to multiple ORGs. By the time we deploy this next version, we will need to upgrade close to 100 ORGs. We would like to push our page layouts to all users. There are new fields that need to be displayed and used for the new features added in this release cycle.
We will continue making updates to the application. The currently deployed version is version 1. We don't want to convert everything to VF pages. We want all of our customers to get the lastest version.
What is the best way to do this?
Jeff Clark
Andrew, thanks for the response - I see what you are saying. One of the reasons we are using the standard pages rather than VisualForce pages is because then we can give our customers more flexibility. So, yes, not upgrading pages would then be feature so we don't blow away their modifications. Understand 100%.
Yet, many of our customers will not be modifying their pages and will just want to get the new layouts automatically...
Is there some way we can programatically set the page layout? My thinking is that we could have our own custom 'Setup' area that would allow them to, say, click a button that would update all of their page layouts for them without having to manually do it for each object. I poked around but have not found any such 'Page Layout' or similar object in apex.
You can update page layouts using the metadata API, but this requires you to host some code outside of force.com as the metadata API can only be called from client applications.
We're looking into ways to provide admins with a quick merge and deploy tool for existing page layouts. This will probably be a while out though based on our current roadmap.
Another trick some partners have used is to supply a new page layouts and then just ask admins to change the page layout assignments for their users. It's a little easier.
Thanks,
Andrew: Thanks - we were thinking about building a tool that uses the Metadata API as you described and instruct customers to run it to assist in their org upgrades. Good to have the confirmation of the solution from you though!
Cheers,
Jason