7

Question

Is there any trick to retrieving action overrides via the metadata api?

Background

The docs seem to indicate this is straightforward, just use object dot notation and a type of ActionOverride. But when I use the package.xml below I'm getting an Entity type: 'ActionOverride' is unknown error. Any idea what I'm doing wrong? It seems people are equally stumped on the salesforce dev boards. I've also tried Actionoverride and actionoverride since in the past the docs have misspelled the retrieve targets, but no luck.

<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types>
        <members>CuystomObject__c.Edit</members>
        <name>ActionOverride</name>
    </types>
    <version>28.0</version>
</Package>
4

Metadata API states: "You can only access ActionOverride by accessing its encompassing CustomObject."

This is in the docs for the API.

Check out the code example there and you'll see it looks a lot like yours, only wrapped in CustomObject, not Package.

  • 1
    You can only deal directly with Metadata component types that extend the Metadata schema base type. You can use the describeMetadata operatoin to get a full list programatically (this is what Eclipse uses I imagine) in its Project wizard. – Andrew Fawcett Aug 20 '13 at 12:46
  • 1
    Thanks for the clarification. I had interpreted that statement as implying I needed to access it via dot notation, i.e. CustomObject__c.Edit, but it's clear now :) – Ralph Callaway Aug 21 '13 at 0:47
  • So to download just the action overrides of the Case object, I need to download the entire Case object? – tggagne Feb 25 '16 at 16:49
  • 1
    new to using metadata API here. The API docs seem to describe how the retrieve XML looks but not how the manifest needs to contain for the retrieve. Tried a few things, but no luck. Can you add some detail to your answer? – Vid L Jun 7 '17 at 21:32
1

I maintain two repositories; one for the specific things we need from standard objects (like listviews, recordtypes, customfields) and another repo where we grab the entire object but remove the tags we don't want with the script below (I run it on OSX but it works just as well on git-bash).

#!/bin/bash

for file in src/objects/*.object; do
    echo fixing "$file"
    ex -s \
        +'g/<businessProcesses>/,/<\/businessProcesses>/d' \
        +'g/<compactLayouts>/,/<\/compactLayouts>/d' \
        +'g/<fieldSets>/,/<\/fieldSets>/d' \
        +'g/<listViews>/,/<\/listViews>/d' \
        +'g/<recordTypes>/,/<\/recordTypes>/d' \
        +'g/<validationRules>/,/<\/validationRules>/d' \
        +'g/<webLinks>/,/<\/webLinks>/d' \
        +'g/<fields>/,/<\/fields>/d' \
        +'wq' \
        "$file"
done

We push the first one (specific) with our deploys, then deploy the second because it doesn't require running unit tests.

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.