Storage for content elements and their positioning?

Permalink
Hi, I have a few simple questions for those who know how C5 works.

1. Where are content elements (paragraphs, images, etc.) stored? Are they stored in a DB? If so, are they stored as individual pieces of data or as parts of templates that are used to display them?

2. A related question is about style attributes (sizes, locations, etc.). Where are they stored? In a DB, external CSS file or what?

3. In a demo video positioning of content elements seems easy, but I wonder if it's really as easy. Dreamweaver messes up positioning elements easily (e.g., uses absolute positioning relative to wrong containers)... at least, in experience of my client. What method does C5 use to place elements in desired places -- absolute positioning? Then there would be many problems when their heights change.

Thanks in advance

 
Tony replied on at Permalink Reply
Tony
1) information is scattered across the database, so you want to use the provided interfaces to get at it (whether user interface or classes). you rarely need to write new database queries to get data while working with concrete unless you're doing something custom or creating a package. Each block type has its own table type(s) in the database, but once again you won't really need to look at them unless you customizing those blocks or something. there's also tables that hold data about pages, page attributes, etc

2) Each theme is going to have a normal css file associated with it that you can use to customize the look of your site. there's also a css file associated with each block type, within that block's directory, and you can override those in a number of ways. finally, there are a couple of ways you can set css through the user interface (such as the block "design" panel). this info is stored in the database rather than in a file.

3) at this point the positioning of elements is determined by the theme, and most themes tend not to use absolute positioning, using floats instead. so basically you define where the editable areas are in these themes (hardcoded with css the old fashion way), so that your clients won't mess up the design.