Retrieve metadata does not retrieve all files unless 'refresh' is pressed

Issue #493 resolved
Kamil Pilarski created an issue

Hi, I'm expriencing a problem where IC does not retrieve files from server that are not yet present in local project unless refresh button is pressed on the list of components. I think that if you refresh the list and close it, you don't have to refresh it again, as some components missing locally do appear after retrieve. I'm not sure if it's supposed to be this way, but if it is, then it would be nice to have an option to retrieve all subscribed metadata regardless of whether the list was refreshed or not.

Comments (9)

  1. Scott Wells repo owner

    Kamil, I'm not 100% sure I follow the steps that are resulting in this behavior. Would you mind enumerating them discretely so I can comment on whether it's working as designed (which may or may not be as desired) or not.

  2. Kamil Pilarski reporter

    Hi Scott,

    a)
    1. Create a new class on server, for example through setup or developer console
    2. Press retrieve metadata
    3. 'Select retrieval scope' window will appear, press ok.

    The file you created won't be downloaded

    b)
    1. Create a new class on server, for example through setup or developer console
    2. Press retrieve metadata
    3. 'Select retrieval scope' window will appear, click on refresh button and press ok

    The file you created be downloaded.

    It'd be great to have an option to retrieve all subscribed metadata without having to click on refresh button and waiting until it downloads the describes. A few people I'm working with that are using IC complain that it often doesn't download the files other people created and I think the problem lays here.

  3. Scott Wells repo owner

    Thanks, Kamil. That's what I thought but I wanted to be 100% sure. So the reason for the refresh button is that listing all of the metadata on the server can be VERY expensive on some orgs with very large amounts of metadata. Doing that every time the deploy/retrieve dialog is opened would be very damaging to the user experience. Hence the refresh button so that users can tell IC when it needs to update its local cache. I'll keep this open to re-examine the approach and see if there's a better compromise, but I don't think that just making it query the server for new metadata would be an acceptable option for many users working in densely-populated orgs.

  4. Kamil Pilarski reporter

    I think it would be good to just have a separate option or button, similar to 'Refresh metadata' to let users download all subscribed metadata or all files of chosen metadata types.

  5. Scott Wells repo owner

    This is dramatically improved in 1.7.8.0. Now the IDE knows when the metadata subscription has been adjusted (including manual changes to a package.xml file even outside the IDE) and automatically refreshes the deploy/retrieve/delete dialog to reflect those changes. Additionally with changes in 1.7.7.0 and 1.7.8.0, the metadata subscription does a quite decent job of keeping itself updated based on file additions/removals.

    Resolving this for now given all of those recent enhancements/refinements. Please let me know if you find situations that still aren't behavior as expected/desired.

  6. Kamil Pilarski reporter

    I've just checked and it works as expected. The latest update is simply awesome, thanks Scott :)

  7. Scott Wells repo owner

    Thanks for the feedback, Kamil! I'm glad to hear that it's working well for you, and I'm glad to hear that this update is well-received overall. I've put a TON of time into trying to refine usability in this one based on feedback from you and many others as well as my own usage.

  8. Log in to comment