Joe Van Dyk wrote:
Hi,

I'm new to Radiant, but not Rails.

So, I'm seeing that stuff like the layout and CSS is entered through
forms and saved to the database, and aren't contained in version
controlled files.

So, how does that work?  I mean, how do you deploy changes?  Just by
copy/pasting the updated snippets and css stuff to the live site and
enter it into the form?  How do you version control it?

Seems a little weird to me, perhaps I'm missing something?

Joe
_______________________________________________

You pretty much have it right and it's this way for two reasons:

  1. Radiant's design objectives have always been for small teams like
     a small business, brochureware kind of site.  If you think about
     it, those almost never exist under version control (and the small
     business folk who maintain it wouldn't understand it or have time
     to bother with it in many cases).

  2. While #1's true, there are still situations where some kind of
     archiving is called for.  But developers and the core team have
     been busy with other stuff and there are different possible
     needs/approaches. So you'll tend to find some
     extensions/scripts/misc to get it done in a well-enough-for-now
     fashion.

As I see it part of the problem is defining the real need:

   * There's importing/exporting which helps with deploying but could
     also be tied in with a backup or source control process.  The most
     well known one is Sean Cribbs import-export extension:
     http://github.com/radiant/radiant-import-export-extension/tree/master
     and a recently forked version at:
     http://github.com/nelstrom/radiant-import-export-extension/tree/master.

     There is also a plugin for taking a local copy in SQLite and
     deploying to MySQL at:
     http://blog.radixhound.com/2008/4/28/backing-up-radiant-cms-using-sqlite3

   * Then there's just backing up things for archive purposes.  Aitor
     built the Snapshot Extension
     (http://snapshot.rubyforge.org/svn/trunk/).  You can read about it
     here:
     
http://www.nabble.com/-PREVIEW--Snapshot-extension%3A-serve-Radiant-sites-statically-tt13392910.html

   * And finally there's version tracking.  Part of the problem here is
     are you just handling drafts while another live "version" is
     actively published, or are you trying to track every save that was
     ever made.  The other issue is working it into Radiant's elegant
     UI.  All the other approaches are more admin tools.  This one
     would involve the user and versioning can really affect usability
     and workflow.

To my knowledge, there isn't anything existing to tackle the third item yet (though it's mentioned as being on the development timeline). There'd be some happy campers if you want to roll out a first-class solution here (all the free beer and pizza you want at the big Radiant gatherings).

Hope this helps (though I kind of wrote all this to document everything for me too). And if I've missed anyone's great extensions, please chime in.

-Chris
_______________________________________________
Radiant mailing list
Post:   Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant

Reply via email to