From: Nathan V. <na...@th...> - 2001-06-13 18:47:46
|
I didn't get a response back about this, does anyone have any thoughts? I fixed extracols support in slash 2.0.0 in order to get something working for a client, and I'd like to know what the future plans are if extracols has been dropped so I can let him know what will be involved. The subclassing thoughts are beside that main point. Cheers, nathan On Fri, 8 Jun 2001, Nathan Vonnahme wrote: > > On Fri, 8 Jun 2001, Brian Aker wrote: > > > I wouldn't use extracols, it has been dropped in the development schema. > > I would make use of getStory() setStory() and let data fall into the > > param table. > > Where should I do that? And how are you going to make the slashdot books > section work without the extracols stuff? It is, in theory at least, a > good way to provide extensions to certain sections. > > What I'd really like to see is a Story module that I could subclass, > making use of inheritance as much as possible. The Story module could > know how to print its own edit form, short/full display, etc. That would > be much cooler than the templates. > > > > I would guess that there is a performance penalty for doing this sort of > > > thing in the templates, but there may not be, since the templates are > > Probably isn't, but there is another issue to not do it. If you > > ever want to move to another database you won't have the ability to > > use the abstraction layer to save you porting time. Plus if directly > > hit the DB, you may find that in the future your templates > > will break because we made some schema change. > > Well, it does use the DB method sqlSelectMany... which is abstracted in > theory. I can't see any way of getting around referring to certain fields > and tables in the database, though. I was trying to do this in the > templates to avoid having trouble managing changes to the perl modules or > .pl files. > > Which brings up a big question that's been irritating me: how do the > templates really help the customization situation? With slash 2 we can > now make most of our changes in the templates, so the perl code is easy to > upgrade because we haven't needed to mess with it. But the templates go > through significant revisions too so we have to manage a similar amount of > change to upgrade. It's actually more of a pain because I find writing > perlish things in the templates awkward, and it would be easier to just > edit the perl code and manage changes there anyway. > > I know that you have lots of other things on your mind than another big > architecture shift, but what would be more useful and extensible, I think, > is to use inheritance more. Somehow my theme or plugin should be able to > inherit from the standard one -- that way changes to the distribution > could often be inherited by custom themes and plugins. > > Like... I want a book reviews section and each story needs to have extra > fields like ISBN nad stuff. So I subclass the Slash::Story > object using this sort of thing: > > package Slash::Story::BookReview; > push @ISA, 'Slash::Story'; > sub display { > # copy Slash::Story's display sub here and modify it > } > sub display_edit_form { > $self->SUPER::display_edit_form; > # print extra field edit stuff here... second form? > } > sub save { > $self->SUPER::save(); > # save extra fields here > } > sub display_submit_form { > # same thing, etc. > } > > But most of the story's subs would stay the same so we'd just inherit them > automatically and not have to redefine them. > > -n > > > > _______________________________________________ > Slashcode-development mailing list > Sla...@li... > http://lists.sourceforge.net/lists/listinfo/slashcode-development > |