I'm still not sure we can completely replace the custom acidfree data types with CCK, but it's worth looking into.
On top of the standard data types, acidfree layers the album hierarchy (which is just taxonomy) and a common interface for displaying thumbnails.
The video class has the following functions:
function acidfree_import_video($node, $file) {
function theme_acidfree_print_thumb_video($node, $parent=null) {
function acidfree_video_form_alter(&$form, &$form_state, $form_id) {
function _class_video_fake_thumb() {
function theme_acidfree_view_video($node) {
function acidfree_video_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
function acidfree_video_view_alter(&$node) {
The image class has the following functions:
function acidfree_import_image($node, $file) {
function theme_acidfree_print_thumb_image($node, $parent=null) {
function _class_image_rotate(&$node) {
function acidfree_image_form_alter(&$form, &$form_state, $form_id) {
function theme_acidfree_view_image($image) {
function acidfree_image_nodeapi(&$node, $op, $teaser = NULL, $page = NULL) {
function acidfree_image_view_alter(&$node) {
Note: I'm pretty sure the import functions are "left overs" from the 4.x/5.x version of acidfree and I don't think they are currently called by anything, although they might be used by mass import - I have to check.
A single CCK class would have to provide:
- Admin capabilities to specify which CCK data types should be supported by acidfree.
- Admin capabilities to associate default thumbnails with CCK data types.
- Hooks to display thumbnails when new types are displayed.
- Hooks to manage thumbnails when new types are edited (i.e., to support displaying a custom thumbnail.)
- The ability to manage/specify a "player" for the specified CCK data type.
The last one is the killer. Creating a custom acidfree MP3 class seems straight forward, pushing the responsibility for specifying a mechanism for playing MP3s seems much harder.
The other major point is this: How many more data types does acidfree really need? After all these years, it doesn't seem like anyone has bothered using it to do more than images and video. Adding audio seems like it would complete the set, do we really need an arbitrary structure to support video and audio?
Alternate model: Enhance the acidfree video data type to automatically create the needed CCK data types at install time, so that the user does not have to do it manually. Model a new mp3 to do the same thing.