All this import/export malarky is actually part of a problem I identified many years ago, while writing FAPI.
FAPI in it's current state was always meant to be the first phase in a much larger project to fix a lot of the inherent design problems we have been bumping heads against now.
If the code looks 'non-drupal like' to you, keep in mind when this presentation was done, FAPI itself was new, and such sweeping changes still had an opportunity of being taken seriously. Unfortunately I suffered from burnout shortly afterwards, and extracted myself from doing serious core development.
FAPI3 - AKA Data API presentation
Read below for some comments on this :
What you should take away from this is in the short term :
a) you need a mechanism to define the data model, separate from just adding a field to the form
b) your crud actions need to operate on this data model ( not on the form submission )
c) you need to be able to extend the data model through AOP, so you can get a structure containing what the site thinks the object should look like.
In the long term, forms api integration would mean :
a) the data model can be used as 'scaffolding' to generate a base form, which reduces the amount of code necessary.
b) the form is just a type of 'display' of the data model, reducing the difference between view and display.
c) the form needs to populate it's values through lazy evaluation and introspection, you can't just use "value = $object->value".
d) relationship API is going to be one tricky motherfscker, we will need a rock solid mechanism to detect the id fields of the object.
There's more, and I'll answer questions related to this, but people need to keep in mind that we are playing a 'long game' with some short term goals to get us up and running.

Comments
Adrian, this presentation is
Adrian, this presentation is great and it's a shame more of this hasn't been addressed in Drupal during the last few years. :-) We'd be in a much better state today than we are now. I have a hard time imagining this being that old!
It's also confusing in the community now with the fact that the term "Data API" is being used for other related but maybe smaller pieces of the puzzle, or entirely different concepts as well such as:
Data API: first steps: http://drupal.org/node/113435
Drupal 7 battle plans: http://www.garfieldtech.com/blog/drupal7-battle-plans
Drupal Data API Design Sprint, Day 1: http://groups.drupal.org/node/8660
Are there any other efforts you are aware that are currently pushing towards this approach?
--
Gravitek Labs
--
Gravitek Labs