Wednesday 1: Kevin Bridges, "Drupal 7 entities and fields"

Example module
Used to just live in CVS, now on d.o at project/example
Needs help

Install file
No longer need explicit hook-schema - fields API provides it
Revision control no longer needs to be self-rolled

node-example module defines and invokes 3 fields, bundles up a content type and then creates an instance of type node using that bundle.

Field definitions as a structured array
Cardinality is number permitted of this field
Field type - images in core

Define widgets as part of instances
Define displays as part of instances

hook-uninstall deletes fields and instances, and content type, and purges field data

Multiple node delete
All field delete
All field instances delete
Delete node type
Purge 

Module
hook-node-info
Hook-menu
hook-help [which has always been of limited use outside of contrib.]
These all look very similar

["hook-help is incredibly useful for users" - really? Or just wishful thinking?]

NodeHook-form for node content form
hook-theme

D7 niceness
Hook-entity-info-alter
Extending the entity definition -our entity is "nodes"
Telling drupal it has custom settings
Hook-field-formatter-info
Say which field types that applies to
Safe values, like in CCK

Demo
[still bloody colons on form labels, so much that one of his labels has TWO colons]
Field formatters are massively simplified from CCK

Really early adopters at theexaminer.com

1. How do I prevent hook-schema being IMplicitly called? Does that happen
2. How do I change a widget later? Do I have to change in the .install file?

All configurable in the interface

3. What if I have the same field on several content types? What happens at purge?

You can still share fields across content types in D7. Purge only deletes unrefererenced data:it knows if data is still referenced. 

4. Flexibility of e.g cardinality?

In interface