[development] changes to hook_nodeapi

Moshe Weitzman weitzman at tejasa.com
Thu Aug 31 19:01:28 UTC 2006


> I'll give you one of many examples I have. Every morning a web based
> application I created and manage imports a large fixed length flat file 
> from
> a legacy mainframe system. The mainframe app that generates this data is 
> fed
> by people typing into un-validated form fields on terminals. My application
> needs to know about this data as soon as it shows up because it tracks a
> variety of metrics that are date sensitive. The data import routines clean
> up "nodes" as they come in externally and try to intelligently correct them
> for a variety of missing or incomplete elements. There is a level at which
> an imported "node" will be discarded because it just lacks too much
> information. The data is then inserted into the web app. For the most part
> this data would pass through the, now irrelevant, form validation routine.
> But not always, we let data in from the import that is missing elements 
> that
> a user would be required to enter if they were typing data into the web app
> directly. We force users to enter this info, but can't force it from the
> mainframe. But, we can't throw this node out because we need to track it 
> and
> know that the next day the missing info will most likely be included in the
> export file. In our application the data object are completely separate 
> from
> the form elements, and in many cases we have multiple forms that talk to a
> data object with different validation rules.

to get rid of a given validation like taxonomy (for example), you just do 
unset($form[#validate][taxonomy_node_validate]). to get all of validators, 
use unset($form[#validate]). your custom cleanup routine could run outside 
of drupal framework on the file but it could run within drupal too. just add 
your own #validate handler and then process the form.

thanks for the example. keep them coming!

until we hear of a something significant that can't be done with the new 
system, i'm chalking up the complaints to unfamiliarity.


More information about the development mailing list