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/

Reply via email to