Have been playing with flexinode - great stuff, seems like it should be in core. I've made a few modifications to my version but not sure whether there is a good way to 'contribute' them (subject to review, since I am a PHP and drupal novice, more a perl/[j]python person).

My changes are mainly to support 'assisted' content submission, where you've got an external
content source application that pops up partially filled in flexinode node creation
pages, including file uploads. Also support for referring to flexinode nodes and fields by name rather than ID in URLs/themes (ie. MyNewType instead of flexinode-1, SomeNewField instead of flexinode_3).

  • Dynamic field defaults - support URLs like http://drupal.org/?q=/node/add/flexinode-1&edit[title]=The%20Title&edit[flexinode-1]=Some%20Value
    so that an external content source can trigger a browser pop with some of the content fields already filled in
  • Dynamic field hiding - as above, add ...&hide=title;flexinode-2 to URL to hide specific fields on the content submission form so user can't modify defaults
  • Default upload support - external content source generates multi-part POST to upload file and passes serialized file object as default value to flexinode submission form
  • Label vs ID reference to flexinode types and objects - added a flexinode_node_fieldname() function to lookup fields by label instead of ID in theme code. Use drupal URL aliasing to alias (say) /node/add/flexinode-1 to /publish/MyNewType and you no longer need to hardwire type and field IDs in any theming/external code.

Other changes that would be nice but I'm not adventurous enough to try yet:

  • Would be good if theme_flexinode_xxx() functions got passed the parent node or at least parent node type so you can switch conditionally on field name/type basd on what kind of node you're themeing
  • Would be good if flexinode_node_types() returned type names instead of IDs, e.g. 'flexinode-MyNewType' instead of 'flexinode-1'. Might need a proper 'type name' field during type creation (I just use the label for now).

Anyway, cool stuff, drupal (and flexinode) is magic...

Comments

Boris Mann’s picture

I've made a few modifications to my version but not sure whether there is a good way to 'contribute' them

Apply for a CVS account, and you should probably join the developer mailing list, too.

Looks like some good changes.

beate_r’s picture

looks very intersting — is there any chance to obtain a copy and try it out?

cheers,

Michael