On Thu, 18 Jan 2007, Bill Moseley wrote:
I currently have most templates (TT) on disk -- and many I'd consider to be an integral part of the application and are thus under revision control with the rest of the application. But, it would make managing the running application a bit easier if the templates were in the database. But, I don't really want to give up revision control. First, I'm curious if many people are serving templates from the database.
I have plans to do that (which went as far as writing Template::Provider::DBI and including it in my app), but not actually using yet.
I'm also curious about methods you might use for revision management of the templates (or any content) that are in the database.
I assume this is some sort of CMS-like app where the users can edit templates/data etc? I hadn't thought of that side of it yet, but I imagine a decent set of auditing tables would do the trick. Give the templates versions, and always show the newest, or always show 1 which is live, and have the older ones renumbered (this is what our work system does). Or, have the tepmlate table itself stay clean, and have a trigger copy-on-update to an audit table (which keeps down the size of the most used table). (hmm, you said that down below, I should read more)
Our work system very crudely just shows which fields have changed, but not how.. annoying that.. better ways, maybe Test::Differences, which IIRC has a nice display to show them?
I currently have "static content" served from the database -- but I haven't overridden Template::Provider, rather I fetch the template and pass it as a scalar ref to TT. But, all other templates are still served off disk (wrappers, footers, headers, layout, etc). I do maintain a history of these pages, and I have a crude "diff" view using Algorithm::Diff. I have a table that holds the history of the content and use triggers to write to it on update.
That sonuds like quite a sane way to do it, and how I probably would. Jess _______________________________________________ List: [email protected] Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/[email protected]/ Dev site: http://dev.catalyst.perl.org/
