On 15 Dec 2005, at 7:17 PM, Adrian Rossouw wrote:
On 15 Dec 2005, at 6:27 PM, Jeff Eaton wrote:
Would it be accurate to say that in the starry-eyed future of Drupal, 'formapi' will really just be a subset of 'presentation api' or something like that? A standard way of slinging around data such that it can be edited, or rendered, or persisted, or validated, etc? Yes.
One of the other not known things about the forms api .. (although .. i am going to refer to it by it's real name .. the view api) is that it also maps cleanly onto xml. It's a tree with properties and children. Meaning we could very simply write an import / export routine for it, that would give us the in roads into distributing CCK node types, (since you can make a package out of a node type, and a package can depend on all the modules it needs.) Now the next thing that this means, is it makes it a lot simpler to write an AJAX form designer.. since you design the element layout (the Model), and then you edit the element placement (the View .. although i think structure is more accurate.) and then it uses the theme api to render this structure. or view. The Controller is the form _submit function, but it's also optional. Also, you should note that every block in a page can now be accessed separately using the right xmlrpc call (if it's enabled of course), and you can refresh certain blocks automatically, on a timer .. or assign it to an event (which could be a link added into that block, or whenever the document changes.) It should also make it easier to expose this interface to flash or xul, since it can use xmlrpc on the back end and redraw the exact forms with the exact validation you'd have on the normal drupal sites. You could even attach ajax events to certain blocks, or just make them completely flash (think lazlo) If we do use the model/structure/view approach , it would be a fsckload simpler to just cache the models and structures, and in the case of high load sites, these things are very good candidates for being stored in shared memory. These are just some of the things possible with the forms api and only some of those more related to this discussion, but hopefully if we work together we can accomplish them. -- Adrian Rossouw Drupal developer and Bryght Guy http://drupal.org | http://bryght.com