Custom fields, Web links not showing up in Deployment Scope

Issue #640 resolved
Steven created an issue

Hi,

I've had issues a couple of times now concerning deploying fields and buttons to a different connection (production org). Newly created fields or web links do show up in the deployment scope when selecting the sandbox org connection, but when I choose the production connection, they disappear. As a result, I'm not able to deploy fields or buttons through IC.

  1. Create new custom button/link in SF sandbox
  2. Update subscription in IC to include newly created button/link
  3. Deploy Modified Metadata -> select project connection sandbox
  4. Collapse objects>WebLinks and see that it shows up
  5. Deploy Modified Metadata -> select global connection production
  6. Collapse objects>WebLinks and see that it does not show up here

[Edit: updated from 1.7.9.1 to 1.7.9.5.]

See screens below.

Comments (23)

  1. Scott Wells repo owner

    Sorry so late following up on this. I've been at TrailheaDX this week and haven't had much breathing room. Let me take a look today and I'll let you know if there's a solution/workaround in the existing product or, if not, when I might be able to produce a fix for you.

  2. Scott Wells repo owner

    Sorry for the long delay on this. Life got VERY busy as soon as I got back from the conference. I'm going to include this in the next build so you should be hearing from me if I'm unable to reproduce it according to your steps very soon.

  3. Scott Wells repo owner

    Steven, I finally had a chance to look at this today. Here are the steps I followed and the results:

    1. From the Setup Web UI, add a new custom button to an existing custom object that's already part of IC's metadata subscription.
    2. From IC, start a Retrieve Metadata action.
    3. In the Retrieve Metadata dialog, click the pencil icon beside Contents to add the new custom button to my subscription.
    4. In the metadata subscription editor, click the Refresh button and navigate to the WebLink metadata type under which I now see my new custom button. Check that to add it to the subscription and click OK.
    5. The Retrieve Metadata dialog is updated for the refreshed server metadata and I now see the custom button under objects > WebLink selected for retrieval.
    6. Click Retrieve or Retrieve and Merge to pull the custom button into the local filesystem.

    It seems like perhaps you're missing the refresh operations. Those are required because IC doesn't implicitly know when metadata has changed on the server, and enumerating all metadata on the server is an expensive operation in densely-populated orgs. As a result, I mostly leave that to the user unless IC has caused the change in server metadata.

    Please let me know if this explanation doesn't resolve the issue for you.

  4. Scott Wells repo owner

    I'm going to resolve this for now, but if you find that my update doesn't help resolve the issue for you, or if I've just misinterpreted your issue, please feel free to reopen and let me know what I've missed.

  5. Steven reporter

    Hi Scott,

    Thanks for investigating. I did the retrieve steps but the items still won't show up in the scope of a global connection (production). I checked the contents of the local object and it does include the newly created field.

  6. Scott Wells repo owner

    No problem. I think I missed the "global connection" part. Let me take another look this weekend and I'll get back to you. Thanks!

  7. Steven reporter

    Hi Scott,

    When selecting a project connection, the same happens. But I figured out that, when you would want to deploy a custom field for example, deploying the full object deploys the field with it! I guess the same holds for WebLinks, I'll check this too.

    Hope this gives you a clue. At least it seems that I have a workaround (saving me from creating Change Sets in the web UI...). Cheers!

  8. Steven reporter

    Hi Scott,

    Unfortunately it is not possible to deploy the object metadata of objects from managed packages. I wanted to deploy a sharing reason for this object, but sharing reasons, like fields, web links, and probably other object related metadata, cannot be selected in the scope if it's not already available in the target org.

    Since in this case deploying the complete object is impossible this workaround doesn't satisfy...

  9. Scott Wells repo owner

    Steven, you should be able to deploy those files to the org. Are few questions:

    1. Have you added those to your metadata subscription? If Selected, just add the metadata type altogether; if Package.xml make sure to update your package.xml as appropriate. If you can't get them added, no big thing...I'll talk about how to work around that below.
    2. When you open the deploy dialog, do you have Local Only checked so that those files are displayed? If you weren't able to add them to the subscription, uncheck Subscribed Only and you should see them for selection. You may need to switch the value for the Contents drop-down to Custom to select exactly those files.

    Once you have the local files selected, go ahead and deploy them. Then go back into the subscription editor and click the refresh button if necessary to add them to your metadata subscription.

    Let me know if that doesn't help.

  10. Steven reporter

    Hi Scott,

    Thanks for the quick response. Still no luck though... I did everything you said. My steps:

    1. Create a Sharing Reason in org A in the web UI
    2. IC -> Retrieve Metadata
    3. Update subscription for org A to include newly created Sharing Reason
    4. Select the new Sharing Reason within the module for org A, click Retrieve (4b. Verify Sharing Reason is now existing locally)

    5. IC -> Deploy Modified Metadata

    6. Choose connection for org B
    7. Update subscription for org B to include Sharing Reason metadata
    8. Refresh scope
    9. Check Local Only, Local + Server , and Server Only; uncheck Subscribed Only
    10. Expand Object -> Sharing Reason in order to find your new Sharing Reason not appearing...

    (11. Change connection to org A and verify that it does show up for that connection)

    (12. IC -> Deploy All Metadata - as I have no idea what the difference is between All vs Modified exactly - and try steps 6 - 10. Still nothing...)

  11. Scott Wells repo owner

    Okay, we may just need to jump on a quick screenshare if you're available for that. Today won't work for me as I'll be traveling, but I could do it tomorrow if that might work for you. Hopefully just a few minutes looking at the same screen will either yield a solution or more insight into the problem. Let me know if that might work for you and we can figure out the details.

  12. Steven reporter

    Sure! It depends a bit on which timezone you're on. Tomorrow or Friday in the morning until 13:00 CET would work, otherwise I'm available all Monday and Tuesday too.

  13. Steven reporter

    Hi, updated the version. Any chance you could look into it or aren't you updating IC1 anymore?

    Best,

  14. Scott Wells repo owner

    Hi, Steven. Yes, I'm definitely supporting IC1 and I apologize for this falling off my radar. Let me take a look again and see if I can reproduce it. If not, let's try to have that long-overdue screenshare so I can take a look at the problem as it happens.

  15. Scott Wells repo owner

    This and #857 are very closely-related. In the next build IC will allow you to include packaged metadata in your subscription that is documented to be subscriber-editable according to the ISVforce Guide.

  16. Steven reporter

    Hi Scott,

    Unfortunately, this still does not work. I tried it a couple of times the last weeks and I just tested it thoroughly but still couldn't make it work. I then found #928, my understanding is that this is the same problem, is that correct?

  17. Log in to comment