How to keep content out of features? I have plenty of Panels pages that I track using the Features module. Currently, if I create put a Custom Content pane inside of a page, all of the content that is inside that pane is then stored in code.

If I make the custom content pane reusable or use a block instead, it is referenced by id. I don't want this behavior, either. For example, I create the block on my development environment, add it to my page, and commit my feature containing that page to version control. When I pull those changes into my test environment, the page is looking for a block with a specific id. Chances are the block won't exist, and I have to go create it. When I do that, though, there's no guarantee that my block will have the same id. Even worse, a block might already exist with that id, and the page will be using a block with completely unwanted content!

Blocks that are organized using the Context module rather than Panels have the same problem, I think.

I'm looking for a module or an approach that lets me reserve a space for content. I don't want that content to be kept in code (my feature) at all, but I do want the feature to know that my panel or context has a space reserved for that content. Modifying the content shouldn't cause the feature to show up as overridden.

Is there an existing module that allows for this functionality? If not, which module developers should I contact in order to get this sort of thing implemented? Or will a whole new module need to be created for this?

Maybe I'm misunderstanding the current behavior of these modules, even. Any help would be appreciated.

By the way, I don't think this is a problem that's specific to one version of Drupal, but if you have to pick a Drupal version to talk about, I'd say 7.
Though I don't think this solves your problem of not wanting the content included in the feature at all, there are 2 ways that I know of to be able to create blocks that don't use numerical ids, and that can therefore be safely included in a feature.


Boxes
Beans


Personally, I prefer the Bean approach, since the Bean Bundles are fully fieldable, allowing to create very advanced types of blocks. Both of these modules however essentially allow you to create blocks that have machine_names (feature proof) as opposed to numerical ids, which as you know are a royal pain in the ass when it comes to features integration.

EDIT: actually, now that I think of it, Bean does not create blocks with machine_names - it uses numerical ID's. It is the Bean Types (think Content Types) that have machine_names. So, if you want blocks with machine_names, Boxes is the way to go.