I have recently been testing the ability to create extension packages to my base package. The reason for this is that I need to deliver some custom functionality for exporting data to external systems.
I need my base package to be able to display a list of "landing pages" for each extension package that is deployed. This will enable me to provide a list of supported export formats (e.g.. Export to X system, Export to Y system...)
My plan was to create a record in a custom object that would maintain the list of extension packages that are currently installed in an organisation. This record would be created on install of the extension package, not through an OnInstallCompleted event (which would have been nice!) but by an admin navigating to a page and clicking Complete Installation!
In Apex how do I retrieve a list of currently installed packages? I cannot find any reference to an Apex Package object. I am assuming Salesforce are using this to display the page in Setup which shows the currently installed packages. Is there any way I can get to this?
I also considered deploying my own tab from the extension package too. However, it seems that I cannot access tabs through the API either, so I cannot assign the tab to one of the Custom Applications in my base package. Any ideas on this one would be great too.
We have a managed package with many custom objects. Now, we are creating a package extension. This extension has some new custom fields added to several custom objects in the managed package. They package up just fine, the issue is getting an updated .object file so we can add it to our source control database (subversion).
I am able to get updated standard objects we've added fields to (Eclipse > Force.com Project Contents, add objects - standard), but not custom objects. How can I get these updated files?