Ah! A question I can sort of answer!
I have recently been learning how to use ETP myself, so I may not know the best practices, but this works for me. In /web/myserver/packages/edit-this-page/tcl/etp-init.tcl
I call etp::define_content_type
and etp::define_application
. etp::define_application
lets you set where, relative to /web/myserver
, you place your .tcl and .adp files that display your pages.
I have to go to bed now, so I can't comment on your data model at this time, but you might find my WP presentation about what I have learned about developing with ETP helpful. It's at https://openacs.org/wp/display/501/ and comments are welcome.