On this page
Node, comment and user editing page.
Node, comment and user editing page.
In the notes about the object listings, you can read about what objects are. For the sake of readability I use the term “object editing page”, but you can read this, for the time being as the node edit pages.
Because these node edit pages are the most used, they need the most attention, but we should have a general concept, that will be used for any object editing page. So the same concept (not necessarily the same PHP functions!) should apply to any object that can be expanded, such as comment forms, user-profile edit forms etceteras.
Currently, we have a nodeapi for nodes, and still use _view etc hooks. Comments and users, however, only use a _view _foo hook system. We agreed on the meetings that we need a unified, and consistent system.
We also agreed that there is a need for more power over the placement and even existence of form elements. With CCK peeping around the corner, we need even more power over the various elements presented in those forms. We only spoke about node forms, but this theory should be expanded to at least comments and users.
The idea we agreed upon, is that modules return form items as arrays, and that a core function parses these entries into the correct place in a form.
Arrays
A form should be passed along as a keyed array, with some additional data.
TASK 1: Define the exact structure of the array
Each module can use a hook to add items to an array.TASK 2: Develop a hook that collects arrayed form items.
Each module can use a hook to remove items added by other modules (?)A core module (node.module?) will then collect the array items, sort them by weight, and make/print them as form.
Form areas
We will use three main form areas:
- form_head
- form_side
- form_body
- form_footer

TASK 3: Discuss how to expand this beyond node edit forms, for user forms, comment forms etcetera.
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion