Forum OpenACS Development: Re: OpenACS on Apache?

Collapse
7: Re: OpenACS on Apache? (response to 1)
Posted by Jonathan Ellis on
I don't understand -- why did you need to implement ad_form in pnsd?
Good question.

nstcl implements a subset of the ns_ commands involved in processing adp templates,  and ad_form makes use of some of the ones that are not implemented.  Because of differences between how nstcl and aolserver implement these it's not a simple matter of implementing the missing ns_* procs.  Specifically, recursion is handled differently in the native and pure tcl libraries,  and ad_form relies on some globals (level, content) that don't necessarily have the same values at the same adp parse/emit stage.

The aD code's reliance on globals made it really hard for me to figure out what was going on, and ultimately I couldn't figure out how to bridge the two.  Michael C suggested just reimplementing ad_form,  as he did with the almost all the rest of the custom tags.  His reimplemented code relies much more on namespaces than on globals,  and is much cleaner to extend and debug.

Can this re-implementation of ad_form and some of the guts of the Templating System be just dropped into OpenACS without causing any problems? If yes, and if it really is, "much cleaner to extend and debug", then I'd personally like to see that code rolled back into OpenACS...