<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>How_to_release_notes.txt</filename>
    </added>
    <added>
      <filename>doc/guides/html/building_modules.html</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -138,7 +138,17 @@
 	&lt;li&gt;How to use helpers to add dynamic content to templates and partials&lt;/li&gt;
 	&lt;li&gt;How to use the &lt;span class=&quot;caps&quot;&gt;CMS&lt;/span&gt;-specific form builder extensions&lt;/li&gt;
 &lt;/ul&gt;
-                  
+                  &lt;h2&gt;Creating a template
+Each page in BrowserCMS uses a single template, which is designed to provide overall layout structure of the page. Here&amp;#8217;s the general process
+that a design team might follow to create a &lt;span class=&quot;caps&quot;&gt;CMS&lt;/span&gt; template.&lt;/h2&gt;
+&lt;p&gt;1. Start with a &lt;span class=&quot;caps&quot;&gt;PSD&lt;/span&gt; or &lt;span class=&quot;caps&quot;&gt;JPG&lt;/span&gt; of the design, which represents the end result of what the webpage should look like.
+2. Create a static html file which implements that design.
+3. When creating menus, use the same structural &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt; markup as will be generated by the Menu &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt;. (See Menu&amp;#8217;s below)
+4. Change the file extension from .htm to .html.erb and add it as a template to the &lt;span class=&quot;caps&quot;&gt;CMS&lt;/span&gt;.&lt;/p&gt;
+&lt;h2&gt;Menus
+BrowserCMS provides an &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt; to allow menus to be dynamically generated based on the sitemap. The purpose of this is to make
+it easy to add new pages, without having to modify templates.&lt;/h2&gt;
+&lt;div class=&quot;code_container&quot;&gt;&lt;code class=&quot;ruby&quot;&gt;render_menu&lt;/code&gt;&lt;/div&gt;
                 &lt;/td&gt;
               &lt;/tr&gt;
             &lt;/table&gt;</diff>
      <filename>doc/guides/html/designer_guide.html</filename>
    </modified>
    <modified>
      <diff>@@ -127,7 +127,7 @@
                         &lt;div id=&quot;subCol&quot;&gt;
         &lt;h3 class=&quot;chapter&quot;&gt;&lt;img src=&quot;images/chapters_icon.gif&quot; alt=&quot;&quot; /&gt;Chapters&lt;/h3&gt;
         &lt;ol class=&quot;chapters&quot;&gt;
-&lt;li&gt;&lt;a href=&quot;#content-blocks&quot;&gt;Content Blocks&lt;/a&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#creating-a-custom-content-block&quot;&gt;Creating A Custom Content Block&lt;/a&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#creating-a-custom-portlet&quot;&gt;Creating A Custom Portlet&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#using-file-system-templates&quot;&gt;Using File system templates&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#pre-selecting-a-handler&quot;&gt;Pre-selecting a handler&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#page-routes&quot;&gt;Page Routes&lt;/a&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
+&lt;li&gt;&lt;a href=&quot;#content-blocks&quot;&gt;Content Blocks&lt;/a&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#creating-a-custom-content-block&quot;&gt;Creating A Custom Content Block&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#attribute-types&quot;&gt;Attribute Types&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#creating-a-custom-portlet&quot;&gt;Creating A Custom Portlet&lt;/a&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;#using-file-system-templates&quot;&gt;Using File system templates&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#pre-selecting-a-handler&quot;&gt;Pre-selecting a handler&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;#page-routes&quot;&gt;Page Routes&lt;/a&gt;&lt;ul&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
                 &lt;/td&gt;
                 &lt;td class=&quot;guides&quot;&gt;
                   &lt;h2&gt;BrowserCMS Developer Guide&lt;/h2&gt;
@@ -170,6 +170,48 @@ end&lt;/code&gt;&lt;/div&gt;
 &lt;p&gt;The form helper methods that are prefixed with &lt;tt&gt;cms_&lt;/tt&gt; will wrap that form helper with the &lt;span class=&quot;caps&quot;&gt;CMS&lt;/span&gt; styling and extra functionality.  The &lt;tt&gt;cms_text_editor&lt;/tt&gt; will show the user a &lt;span class=&quot;caps&quot;&gt;WYSIWYG&lt;/span&gt; editor for editing &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt;.  Additional &lt;span class=&quot;caps&quot;&gt;CMS&lt;/span&gt; form builder extensions are covered in the &lt;a href=&quot;designer_guide.html&quot;&gt;BrowserCMS Designer Guide&lt;/a&gt;.&lt;/p&gt;
 &lt;p&gt;The render template at &lt;tt&gt;app/views/cms/products/render.html.erb&lt;/tt&gt; is the template that will be used to render the &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt; when this product is placed directly on a page.  It is also what is shown when you view a product within the content library of the &lt;span class=&quot;caps&quot;&gt;CMS&lt;/span&gt;.&lt;/p&gt;
 &lt;p&gt;As you will see in the next section, custom content blocks are often not placed directly on a page, instead the data of a product is displayed through a portlet.  For this reason, a more informational display, similar to what is automatically generated by the generator, is what the render template often contains.  Depending on what your content block is, you may want to place the content block directly on a page, in which case you would most likely customize the render template.&lt;/p&gt;
+&lt;h4 id=&quot;attribute-types&quot;&gt;2.1 Attribute Types
+This section covers some of the different attribute types that Content Blocks can have. Each attribute represents a
+persistent column in the database, will appear as an editable control on the &lt;em&gt;form.html.erb, and may also need to need to be configured
+on the content&lt;/em&gt;block itself.&lt;/h4&gt;
+&lt;p&gt;List of Content Types&lt;/p&gt;
+&lt;ul&gt;
+	&lt;li&gt;Text Fields&lt;/li&gt;
+	&lt;li&gt;Text Areas&lt;/li&gt;
+	&lt;li&gt;Drop Down (Select)&lt;/li&gt;
+	&lt;li&gt;Text Editor (&lt;span class=&quot;caps&quot;&gt;WYWIWYG&lt;/span&gt;)&lt;/li&gt;
+	&lt;li&gt;Attachment (File Upload)&lt;/li&gt;
+	&lt;li&gt;Tag List (Allow&lt;/li&gt;
+	&lt;li&gt;Date Picker&lt;/li&gt;
+&lt;/ul&gt;
+&lt;h5 id=&quot;drop-down--selects&quot;&gt;2.1.1 Drop Down / Selects
+This is similar to the traditional &amp;#8216;select&amp;#8217; helper, it renders a stylized select control which allows users to choose one item from a list.&lt;/h5&gt;
+&lt;h6 id=&quot;cms-drop-down&quot;&gt;2.1.1.1 cms_drop_down
+In _form.html.erb:&lt;/h6&gt;
+&lt;div class=&quot;code_container&quot;&gt;&lt;code class=&quot;html&quot;&gt;&amp;lt;%= f.cms_drop_down :category_id, Category.all(:order =&amp;gt; &amp;quot;name&amp;quot;).map{|c| [c.name, c.id]},
+                    :prompt =&amp;gt; &amp;quot;Select a Category&amp;quot;, :label =&amp;gt; &amp;quot;Category&amp;quot;,
+                    :instructions=&amp;gt;&amp;quot;Determines which category is used on the homepage.&amp;quot; %&amp;gt;&lt;/code&gt;&lt;/div&gt;
+&lt;p&gt;In product.rb:&lt;/p&gt;
+&lt;div class=&quot;code_container&quot;&gt;&lt;code class=&quot;ruby&quot;&gt;class Product &amp;lt; ActiveRecord::Base
+    belongs_to :category
+end&lt;/code&gt;&lt;/div&gt;
+&lt;h5 id=&quot;attachments&quot;&gt;2.1.2 Attachments
+Each content block can have a single file attachment, which will allow users to upload files into the content repository. After uploading, the file will be
+stored in a section within the &lt;span class=&quot;caps&quot;&gt;CMS&lt;/span&gt;. Since sections determine permissions, this will allow you to control which users can access the file itself. Attached files
+will have their own versioning history, which will keep track of changes.&lt;/h5&gt;
+&lt;h6 id=&quot;cms-file-field&quot;&gt;2.1.2.1 cms_file_field
+This helper will create a stylized file upload file. An uploaded file will be associated with the content_block to which it is attached.&lt;/h6&gt;
+&lt;p&gt;In _form.html.erb (View)&lt;/p&gt;
+&lt;div class=&quot;code_container&quot;&gt;&lt;code class=&quot;html&quot;&gt;&amp;lt;%= f.cms_file_field :attachment_file, :label =&amp;gt; &amp;quot;File&amp;quot; %&amp;gt;&lt;/code&gt;&lt;/div&gt;
+&lt;p&gt;In product.rb (Model)&lt;/p&gt;
+&lt;div class=&quot;code_container&quot;&gt;&lt;code class=&quot;ruby&quot;&gt;class Product &amp;lt; ActiveRecord::Base
+   acts_as_content_block :belongs_to_attachment =&amp;gt; true
+end&lt;/code&gt;&lt;/div&gt;
+&lt;p&gt;In create_products.rb (Migration)&lt;/p&gt;
+&lt;div class=&quot;code_container&quot;&gt;&lt;code class=&quot;ruby&quot;&gt;create_content_table :products do |t|
+    t.belongs_to :attachment
+    t.integer :attachment_version
+end&lt;/code&gt;&lt;/div&gt;
 &lt;h3 id=&quot;creating-a-custom-portlet&quot;&gt;3 Creating A Custom Portlet&lt;/h3&gt;
 &lt;p&gt;Once you have created the product content block and created a few products in the content library, you need a way to display them on a page.  To do that, you will want to create a portlet.&lt;/p&gt;
 &lt;p&gt;A portlet is used to display dynamic data on a page.  A portlet is a content block.  A portlet will typically perform some kind of database query in the render method and then render it&amp;#8217;s view.  One difference between a portlet and typical content block is that each instance of a portlet can have a unique template because that template is stored as data along with the portlet.  Let&amp;#8217;s generate a portlet to display the most recently created products:&lt;/p&gt;</diff>
      <filename>doc/guides/html/developer_guide.html</filename>
    </modified>
    <modified>
      <diff>@@ -155,7 +155,7 @@ $ script/server&lt;/code&gt;&lt;/div&gt;
 &lt;div class=&quot;code_container&quot;&gt;&lt;code class=&quot;html&quot;&gt;$ rails my_new_project_name -d mysql -m http://browsercms.org/templates/demo.rb
 $ cd my_new_project_name
 $ script/server&lt;/code&gt;&lt;/div&gt;
-&lt;p&gt;Here we specify the -m mysql flag to rails, which will create our project using MySQL. You need to have the mysql gem installed for this to work.&lt;/p&gt;
+&lt;p&gt;Here we specify the -d mysql flag to rails, which will create our project using MySQL. You need to have the mysql gem installed for this to work.&lt;/p&gt;
 &lt;h4 id=&quot;using-your-site&quot;&gt;2.3 Using your Site&lt;/h4&gt;
 &lt;p&gt;Open your browser to &lt;a href=&quot;http://localhost:3000/cms&quot;&gt;http://localhost:3000/cms&lt;/a&gt; to log into the admin for the &lt;span class=&quot;caps&quot;&gt;CMS&lt;/span&gt;. Enter the default username/password (in development mode) is username=cmsadmin, password=cmsadmin. You should be now be logged in, viewing the home page of the site. You can now edit or add new content via the admin interface.&lt;/p&gt;
 &lt;p&gt;To learn more about the types of things you can do with BrowserCMS, see the &lt;a href=&quot;user_guide.html&quot;&gt;User&amp;#8217;s Guide&lt;/a&gt;.&lt;/p&gt;</diff>
      <filename>doc/guides/html/getting_started.html</filename>
    </modified>
    <modified>
      <diff>@@ -121,7 +121,7 @@ end
 
 In create_products.rb (Migration)
 &lt;ruby&gt;
-create_versioned_table :products do |t|
+create_content_table :products do |t|
     t.belongs_to :attachment
     t.integer :attachment_version
 end</diff>
      <filename>doc/guides/source/developer_guide.textile</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>cc8816b6d5f9fda0323197e8b5878ae00ee680e8</id>
    </parent>
  </parents>
  <author>
    <name>peakpg</name>
    <email>peakpg@gmail.com</email>
  </author>
  <url>http://github.com/browsermedia/browsercms/commit/283bffc183b14c1b3e322e4d0928fc674eeeb364</url>
  <id>283bffc183b14c1b3e322e4d0928fc674eeeb364</id>
  <committed-date>2009-09-23T10:41:47-07:00</committed-date>
  <authored-date>2009-09-23T10:41:47-07:00</authored-date>
  <message>Updates to docs</message>
  <tree>9c863c64fae0e6bbfed3aad9029dfaad6dd2d908</tree>
  <committer>
    <name>peakpg</name>
    <email>peakpg@gmail.com</email>
  </committer>
</commit>
