Yep, I&#39;m definitely in favour of this.&nbsp; It would make things a lot cleaner and more usable.&nbsp; So +1 from me.<br><br>Cheers,<br>Stella<br><br><div class="gmail_quote">On Wed, Feb 11, 2009 at 4:20 AM, Barry Jaspan <span dir="ltr">&lt;<a href="mailto:barry@jaspan.org">barry@jaspan.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Now that Field API is in core it is time to start using it. &nbsp;I have an initial suggestion: change node body and teaser from special cases to normal fields. &nbsp;I suspect this is going to be quite controversial so I thought I&#39;d get some feedback here before evening bothering to start looking at the code.<br>

<br>
This message is not about the details of the implementation; I&#39;m sure there will be subtleties and complexities to work. &nbsp;I&#39;m just asking about the concept.<br>
<br>
Concept:<br>
<br>
Remove all special processing for $node-&gt;body and $node-&gt;teaser. &nbsp;Create two fields, body and teaser, both text fields. &nbsp;Assign both fields to every existing content type with a &quot;body field&quot; using the textarea widget. &nbsp;For existing nodes, as part of the upgrade path, initialize the teaser field value with whatever teaser would normally be generated automatically from the body.<br>

<br>
Random thoughts:<br>
<br>
- We will get to remove a bunch of code, much of it quite ugly, from node.module.<br>
<br>
- Sites that really want an auto-generated teaser can remove the teaser field from a content type and use the text field&#39;s teaser Display Formatter in the teaser context.<br>
<br>
- This will mean removing the body field from the node and node_revision tables, and creating a field_data_body table for it instead. &nbsp;Don&#39;t worry about database query efficiency; that is a solved problem (see <a href="http://drupal.org/node/368674" target="_blank">http://drupal.org/node/368674</a>).<br>

<br>
- With $node-&gt;body and $node-&gt;teaser being normal fields, they will not be available for overloaded use as the complete rendered output of the node. &nbsp;Hurray! &nbsp;We can use $node-&gt;content = drupal_render($node) or something like that.<br>

<br>
- We might want to think about adding other fields to our default content types. &nbsp;Perhaps Article should have a Subtitle field, etc. &nbsp;This is a whole topic in itself.<br>
<br>
Comments?<br>
<br>
Thanks,<br><font color="#888888">
<br>
Barry<br>
<br>
</font></blockquote></div><br>