browsercmsi 3.1.1 → 3.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +3 -4
- data/app/controllers/cms/dynamic_views_controller.rb +3 -2
- data/app/controllers/cms/portlet_controller.rb +9 -2
- data/app/helpers/cms/form_builder.rb +1 -1
- data/app/views/cms/dynamic_views/index.html.erb +5 -0
- data/app/views/cms/form_builder/_cms_select_year.html.erb +16 -0
- data/app/views/cms/sessions/new.html.erb +1 -1
- data/app/views/layouts/_page_toolbar.html.erb +4 -3
- data/bin/browsercmsi +1 -1
- data/browsercmsi.gemspec +111 -6
- data/config/initializers/i18n.rb +2 -0
- data/config/locales/bcms/de/behaviors.yml +22 -0
- data/config/locales/bcms/de/bootstrap.yml +30 -0
- data/config/locales/bcms/de/controllers.yml +76 -0
- data/config/locales/bcms/de/helpers.yml +13 -0
- data/config/locales/bcms/de/js.yml +7 -0
- data/config/locales/bcms/de/models.yml +146 -0
- data/config/locales/bcms/de/portlets.yml +10 -0
- data/config/locales/bcms/de/views/cms/blocks.yml +68 -0
- data/config/locales/bcms/de/views/cms/cache.yml +5 -0
- data/config/locales/bcms/de/views/cms/categories.yml +9 -0
- data/config/locales/bcms/de/views/cms/connectors.yml +10 -0
- data/config/locales/bcms/de/views/cms/content.yml +5 -0
- data/config/locales/bcms/de/views/cms/content_types.yml +4 -0
- data/config/locales/bcms/de/views/cms/dashboard.yml +18 -0
- data/config/locales/bcms/de/views/cms/dynamic_views.yml +18 -0
- data/config/locales/bcms/de/views/cms/email_messages.yml +18 -0
- data/config/locales/bcms/de/views/cms/forgot_password_mailer.yml +6 -0
- data/config/locales/bcms/de/views/cms/form_builder.yml +5 -0
- data/config/locales/bcms/de/views/cms/groups.yml +34 -0
- data/config/locales/bcms/de/views/cms/links.yml +14 -0
- data/config/locales/bcms/de/views/cms/page_routes.yml +28 -0
- data/config/locales/bcms/de/views/cms/pages.yml +39 -0
- data/config/locales/bcms/de/views/cms/redirects.yml +19 -0
- data/config/locales/bcms/de/views/cms/routes.yml +10 -0
- data/config/locales/bcms/de/views/cms/section_nodes.yml +15 -0
- data/config/locales/bcms/de/views/cms/sections.yml +23 -0
- data/config/locales/bcms/de/views/cms/sessions.yml +7 -0
- data/config/locales/bcms/de/views/cms/shared.yml +38 -0
- data/config/locales/bcms/de/views/cms/tags.yml +5 -0
- data/config/locales/bcms/de/views/cms/tasks.yml +8 -0
- data/config/locales/bcms/de/views/cms/users.yml +48 -0
- data/config/locales/bcms/de/views/layouts/cms/content_library.yml +8 -0
- data/config/locales/bcms/de/views/layouts/cms/footer.yml +5 -0
- data/config/locales/bcms/de/views/layouts/cms_toolbar.yml +4 -0
- data/config/locales/bcms/de/views/layouts/page_toolbar.yml +27 -0
- data/config/locales/bcms/de/views/portlets.yml +57 -0
- data/config/locales/bcms/en/bootstrap.yml +1 -1
- data/config/locales/bcms/en/models.yml +1 -1
- data/config/locales/bcms/en/views/cms/blocks.yml +1 -1
- data/config/locales/bcms/en/views/cms/groups.yml +1 -1
- data/config/locales/bcms/en/views/layouts/page_toolbar.yml +5 -1
- data/config/locales/bcms/en/views/portlets.yml +1 -1
- data/config/locales/bcms/es/models.yml +1 -1
- data/config/locales/bcms/es/views/cms/sections.yml +1 -1
- data/config/locales/bcms/es/views/cms/sessions.yml +1 -1
- data/config/locales/bcms/es/views/layouts/page_toolbar.yml +6 -2
- data/config/locales/bcms/fr/behaviors.yml +21 -0
- data/config/locales/bcms/fr/bootstrap.yml +30 -0
- data/config/locales/bcms/fr/controllers.yml +76 -0
- data/config/locales/bcms/fr/helpers.yml +12 -0
- data/config/locales/bcms/fr/js.yml +7 -0
- data/config/locales/bcms/fr/models.yml +146 -0
- data/config/locales/bcms/fr/portlets.yml +9 -0
- data/config/locales/bcms/fr/views/cms/blocks.yml +67 -0
- data/config/locales/bcms/fr/views/cms/cache.yml +6 -0
- data/config/locales/bcms/fr/views/cms/categories.yml +11 -0
- data/config/locales/bcms/fr/views/cms/connectors.yml +10 -0
- data/config/locales/bcms/fr/views/cms/content.yml +5 -0
- data/config/locales/bcms/fr/views/cms/content_types.yml +4 -0
- data/config/locales/bcms/fr/views/cms/dashboard.yml +16 -0
- data/config/locales/bcms/fr/views/cms/dynamic_views.yml +18 -0
- data/config/locales/bcms/fr/views/cms/email_messages.yml +18 -0
- data/config/locales/bcms/fr/views/cms/forgot_password_mailer.yml +8 -0
- data/config/locales/bcms/fr/views/cms/form_builder.yml +5 -0
- data/config/locales/bcms/fr/views/cms/groups.yml +34 -0
- data/config/locales/bcms/fr/views/cms/links.yml +14 -0
- data/config/locales/bcms/fr/views/cms/page_routes.yml +28 -0
- data/config/locales/bcms/fr/views/cms/pages.yml +38 -0
- data/config/locales/bcms/fr/views/cms/redirects.yml +18 -0
- data/config/locales/bcms/fr/views/cms/routes.yml +9 -0
- data/config/locales/bcms/fr/views/cms/section_nodes.yml +15 -0
- data/config/locales/bcms/fr/views/cms/sections.yml +22 -0
- data/config/locales/bcms/fr/views/cms/sessions.yml +7 -0
- data/config/locales/bcms/fr/views/cms/shared.yml +38 -0
- data/config/locales/bcms/fr/views/cms/tags.yml +5 -0
- data/config/locales/bcms/fr/views/cms/tasks.yml +7 -0
- data/config/locales/bcms/fr/views/cms/users.yml +43 -0
- data/config/locales/bcms/fr/views/layouts/cms/content_library.yml +7 -0
- data/config/locales/bcms/fr/views/layouts/cms/footer.yml +5 -0
- data/config/locales/bcms/fr/views/layouts/cms_toolbar.yml +4 -0
- data/config/locales/bcms/fr/views/layouts/page_toolbar.yml +26 -0
- data/config/locales/bcms/fr/views/portlets.yml +56 -0
- data/doc/guides/html/authentication.html +448 -192
- data/doc/guides/html/build_it_yourself.html +454 -175
- data/doc/guides/html/building_modules.html +453 -245
- data/doc/guides/html/building_templates.html +448 -498
- data/doc/guides/html/content_blocks.html +450 -470
- data/doc/guides/html/customizing_browsercms.html +453 -169
- data/doc/guides/html/deployment_guide.html +451 -201
- data/doc/guides/html/files/bcmsorg.js +28 -0
- data/doc/guides/html/files/clearfix.css +8 -0
- data/doc/guides/html/files/cufon.js +7 -0
- data/doc/guides/html/files/global.css +190 -0
- data/doc/guides/html/files/helvetica.js +91 -0
- data/doc/guides/html/files/jquery.js +11 -0
- data/doc/guides/html/getting_started.html +454 -213
- data/doc/guides/html/index.html +454 -174
- data/doc/guides/html/installing_modules.html +454 -186
- data/doc/guides/html/portlets.html +451 -232
- data/doc/guides/html/user_guide.html +452 -270
- data/doc/guides/html/writing_guides.html +454 -161
- data/lib/cms/init.rb +2 -1
- data/lib/cms/version.rb +2 -2
- data/public/images/cms/locales/de/nav_admin.gif +0 -0
- data/public/images/cms/locales/de/nav_admin_h.gif +0 -0
- data/public/images/cms/locales/de/nav_admin_on.gif +0 -0
- data/public/images/cms/locales/de/nav_content_library.gif +0 -0
- data/public/images/cms/locales/de/nav_content_library_h.gif +0 -0
- data/public/images/cms/locales/de/nav_content_library_on.gif +0 -0
- data/public/images/cms/locales/de/nav_dash.gif +0 -0
- data/public/images/cms/locales/de/nav_dash_h.gif +0 -0
- data/public/images/cms/locales/de/nav_dash_on.gif +0 -0
- data/public/images/cms/locales/de/nav_sitemap.gif +0 -0
- data/public/images/cms/locales/de/nav_sitemap_h.gif +0 -0
- data/public/images/cms/locales/de/nav_sitemap_on.gif +0 -0
- data/public/images/cms/locales/fr/nav_admin.gif +0 -0
- data/public/images/cms/locales/fr/nav_admin_h.gif +0 -0
- data/public/images/cms/locales/fr/nav_admin_on.gif +0 -0
- data/public/images/cms/locales/fr/nav_content_library.gif +0 -0
- data/public/images/cms/locales/fr/nav_content_library_h.gif +0 -0
- data/public/images/cms/locales/fr/nav_content_library_on.gif +0 -0
- data/public/images/cms/locales/fr/nav_dash.gif +0 -0
- data/public/images/cms/locales/fr/nav_dash_h.gif +0 -0
- data/public/images/cms/locales/fr/nav_dash_on.gif +0 -0
- data/public/images/cms/locales/fr/nav_sitemap.gif +0 -0
- data/public/images/cms/locales/fr/nav_sitemap_h.gif +0 -0
- data/public/images/cms/locales/fr/nav_sitemap_on.gif +0 -0
- data/rails/init.rb +2 -2
- data/templates/blank.rb +1 -1
- data/templates/demo.rb +1 -1
- data/templates/module.rb +1 -1
- data/test/functional/cms/dynamic_views_controller_test.rb +26 -2
- metadata +187 -4
@@ -1,249 +1,457 @@
|
|
1
|
-
<!DOCTYPE
|
2
|
-
<html
|
3
|
-
|
4
|
-
|
5
|
-
<
|
6
|
-
<
|
7
|
-
<
|
8
|
-
<
|
9
|
-
<
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
}
|
16
|
-
|
17
|
-
#page {
|
18
|
-
margin: 0 auto;
|
19
|
-
text-align: left;
|
20
|
-
width: 1000px;
|
21
|
-
}
|
22
|
-
|
23
|
-
#header {
|
24
|
-
height: 110px;
|
25
|
-
}
|
26
|
-
|
27
|
-
div.top_cap {
|
28
|
-
background: transparent url(images/top_cap.png) no-repeat scroll 0 0;
|
29
|
-
height: 10px;
|
30
|
-
}
|
31
|
-
|
32
|
-
#contentwrap {
|
33
|
-
background: transparent url(images/dot.png) repeat scroll 0 0;
|
34
|
-
float: left;
|
35
|
-
width: 1000px;
|
36
|
-
}
|
37
|
-
|
38
|
-
div.bottom_cap {
|
39
|
-
background: transparent url(images/bottom_cap.png) no-repeat scroll 0 0;
|
40
|
-
height: 9px;
|
41
|
-
}
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
2
|
+
<html class="cufon-active cufon-ready" xml:lang="en"
|
3
|
+
xmlns="http://www.w3.org/1999/xhtml" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
6
|
+
<meta name="keywords" content="">
|
7
|
+
<meta name="description" content="">
|
8
|
+
<link href="files/clearfix.css" media="screen,projection" rel="stylesheet" type="text/css">
|
9
|
+
<link href="files/global.css" media="screen,projection" rel="stylesheet" type="text/css">
|
10
|
+
<script src="files/jquery.js" type="text/javascript"></script>
|
11
|
+
<script src="files/cufon.js" type="text/javascript"></script>
|
12
|
+
<style type="text/css">cufon {
|
13
|
+
text-indent: 0 !important;
|
14
|
+
}
|
42
15
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
<
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
16
|
+
@media screen, projection {
|
17
|
+
cufon {
|
18
|
+
display: inline !important;
|
19
|
+
display: inline-block !important;
|
20
|
+
position: relative !important;
|
21
|
+
vertical-align: middle !important;
|
22
|
+
font-size: 1px !important;
|
23
|
+
line-height: 1px !important;
|
24
|
+
}
|
25
|
+
|
26
|
+
cufon cufontext {
|
27
|
+
display: -moz-inline-box !important;
|
28
|
+
display: inline-block !important;
|
29
|
+
width: 0 !important;
|
30
|
+
height: 0 !important;
|
31
|
+
overflow: hidden !important;
|
32
|
+
text-indent: -10000in !important;
|
33
|
+
}
|
34
|
+
|
35
|
+
cufon canvas {
|
36
|
+
position: relative !important;
|
37
|
+
}
|
38
|
+
}
|
39
|
+
|
40
|
+
@media print {
|
41
|
+
cufon {
|
42
|
+
padding: 0 !important;
|
43
|
+
}
|
44
|
+
|
45
|
+
cufon canvas {
|
46
|
+
display: none !important;
|
47
|
+
}
|
48
|
+
}</style>
|
49
|
+
<script src="files/helvetica.js" type="text/javascript"></script>
|
50
|
+
<script src="files/bcmsorg.js" type="text/javascript"></script>
|
51
|
+
<title>Table of Contents</title>
|
52
|
+
</head>
|
53
|
+
<body>
|
54
|
+
|
55
|
+
<div id="container">
|
56
|
+
<div id="header">
|
57
|
+
<h1 id="logo"><a href="http://www.staging.browsercms.org/"
|
58
|
+
title="Return to Home Page">Table of Contents</a></h1>
|
59
|
+
|
60
|
+
<div id="topnav">
|
61
|
+
<ul>
|
62
|
+
<li><a href="/">Home</a></li>
|
63
|
+
<li><a href="/demo">Demo</a></li>
|
64
|
+
<li><a href="/documentation" class="active">Documentation</a></li>
|
65
|
+
<li><a href="/extending">Extending</a></li>
|
66
|
+
<li><a href="/support">Support</a></li>
|
67
|
+
<li><a href="/blog">Blog</a></li>
|
68
|
+
<li><a href="/download">Download</a></li>
|
69
|
+
</ul>
|
70
|
+
|
71
|
+
</div>
|
72
|
+
</div>
|
73
|
+
<div id="content" class="clearfix">
|
74
|
+
<div id="subnav">
|
75
|
+
<ul class="breadcrumbs">
|
76
|
+
<li class="first first-child"><a
|
77
|
+
href="http://www.staging.browsercms.org/documentation">Documentation</a></li>
|
78
|
+
<li><a href="http://www.staging.browsercms.org/documentation/guides">Guides</a></li>
|
79
|
+
<li class="last-child">Table of Contents</li>
|
80
|
+
</ul>
|
81
|
+
</div>
|
82
|
+
<div id="sidenav_doc">
|
83
|
+
<h2 class="alt">
|
84
|
+
<cufon style="width: 58px; height: 23px;" alt="Table "
|
85
|
+
class="cufon cufon-canvas">
|
86
|
+
<canvas style="width: 77px; height: 23px;
|
87
|
+
top: 1px; left: -1px;" height="23" width="77"></canvas>
|
88
|
+
<cufontext>Table</cufontext>
|
89
|
+
</cufon>
|
90
|
+
<cufon
|
91
|
+
style="width: 25px; height: 23px;" alt="of " class="cufon cufon-canvas">
|
92
|
+
<canvas
|
93
|
+
style="width: 43px; height: 23px; top: 1px; left: -1px;" height="23"
|
94
|
+
width="43"></canvas>
|
95
|
+
<cufontext>of</cufontext>
|
96
|
+
</cufon>
|
97
|
+
<cufon
|
98
|
+
style="width: 84px; height: 23px;" alt="Contents" class="cufon
|
99
|
+
cufon-canvas">
|
100
|
+
<canvas style="width: 98px; height: 23px; top: 1px; left:
|
101
|
+
-1px;" height="23" width="98"></canvas>
|
102
|
+
<cufontext>Contents</cufontext>
|
103
|
+
</cufon>
|
104
|
+
</h2>
|
105
|
+
<div id="menu" class="menu">
|
106
|
+
<ul>
|
107
|
+
<li id="section_6" class="depth-1 first open first-child">
|
108
|
+
<a
|
109
|
+
href="http://www.staging.browsercms.org/documentation/guides/table-of-contents/installing-browsercms">Installing
|
110
|
+
BrowserCMS</a>
|
111
|
+
<ul>
|
112
|
+
<li id="page_11" class="depth-2 first last last-child
|
113
|
+
first-child">
|
114
|
+
<a
|
115
|
+
href="http://www.staging.browsercms.org/documentation/guides/table-of-contents/installing-browsercms/things-you-need-first">Things
|
116
|
+
you need first</a>
|
117
|
+
</li>
|
118
|
+
</ul>
|
119
|
+
</li>
|
120
|
+
<li id="section_7" class="depth-1 last open final">
|
121
|
+
<a
|
122
|
+
href="http://www.staging.browsercms.org/documentation/guides/table-of-contents/trying-out-browsercms">Trying
|
123
|
+
Out BrowserCMS</a>
|
124
|
+
<ul>
|
125
|
+
<li id="page_14" class="depth-2 first first-child">
|
126
|
+
<a
|
127
|
+
href="http://www.staging.browsercms.org/documentation/guides/table-of-contents/trying-out-browsercms/with-sqlite3">With
|
128
|
+
SQLite3</a>
|
129
|
+
</li>
|
130
|
+
<li id="page_15" class="depth-2">
|
131
|
+
<a
|
132
|
+
href="http://www.staging.browsercms.org/documentation/guides/table-of-contents/trying-out-browsercms/with-mysql">With
|
133
|
+
MySQL</a>
|
134
|
+
</li>
|
135
|
+
<li id="page_16" class="depth-2 last last-child final">
|
136
|
+
<a
|
137
|
+
href="http://www.staging.browsercms.org/documentation/guides/table-of-contents/trying-out-browsercms/using-your-site">Using
|
138
|
+
your Site</a>
|
139
|
+
</li>
|
140
|
+
</ul>
|
141
|
+
</li>
|
142
|
+
</ul>
|
143
|
+
</div>
|
144
|
+
|
145
|
+
</div>
|
146
|
+
<div id="main_doc">
|
147
|
+
|
148
|
+
<h2>
|
149
|
+
<cufon style="width: 73px; height: 23px;" alt="Header "
|
150
|
+
class="cufon cufon-canvas">
|
151
|
+
<canvas style="width: 92px; height: 23px;
|
152
|
+
top: 1px; left: -1px;" height="23" width="92"></canvas>
|
153
|
+
<cufontext>Header
|
154
|
+
</cufontext>
|
155
|
+
</cufon>
|
156
|
+
<cufon style="width: 12px; height: 23px;" alt="2"
|
157
|
+
class="cufon cufon-canvas">
|
158
|
+
<canvas style="width: 25px; height: 23px;
|
159
|
+
top: 1px; left: -1px;" height="23" width="25"></canvas>
|
160
|
+
<cufontext>2</cufontext>
|
161
|
+
</cufon>
|
162
|
+
</h2>
|
163
|
+
<h2 class="alt">
|
164
|
+
<cufon style="width: 73px; height: 23px;" alt="Header "
|
165
|
+
class="cufon cufon-canvas">
|
166
|
+
<canvas style="width: 92px; height: 23px;
|
167
|
+
top: 1px; left: -1px;" height="23" width="92"></canvas>
|
168
|
+
<cufontext>Header
|
169
|
+
</cufontext>
|
170
|
+
</cufon>
|
171
|
+
<cufon style="width: 18px; height: 23px;" alt="2 "
|
172
|
+
class="cufon cufon-canvas">
|
173
|
+
<canvas style="width: 36px; height: 23px;
|
174
|
+
top: 1px; left: -1px;" height="23" width="36"></canvas>
|
175
|
+
<cufontext>2</cufontext>
|
176
|
+
</cufon>
|
177
|
+
<cufon
|
178
|
+
style="width: 27px; height: 23px;" alt="Alt" class="cufon cufon-canvas">
|
179
|
+
<canvas
|
180
|
+
style="width: 44px; height: 23px; top: 1px; left: -1px;" height="23"
|
181
|
+
width="44"></canvas>
|
182
|
+
<cufontext>Alt</cufontext>
|
183
|
+
</cufon>
|
184
|
+
</h2>
|
185
|
+
<h2 class="brdr">
|
186
|
+
<cufon style="width: 73px; height: 23px;" alt="Header "
|
187
|
+
class="cufon cufon-canvas">
|
188
|
+
<canvas style="width: 92px; height: 23px;
|
189
|
+
top: 1px; left: -1px;" height="23" width="92"></canvas>
|
190
|
+
<cufontext>Header
|
191
|
+
</cufontext>
|
192
|
+
</cufon>
|
193
|
+
<cufon style="width: 18px; height: 23px;" alt="2 "
|
194
|
+
class="cufon cufon-canvas">
|
195
|
+
<canvas style="width: 36px; height: 23px;
|
196
|
+
top: 1px; left: -1px;" height="23" width="36"></canvas>
|
197
|
+
<cufontext>2</cufontext>
|
198
|
+
</cufon>
|
199
|
+
<cufon
|
200
|
+
style="width: 91px; height: 23px;" alt="Underline" class="cufon
|
201
|
+
cufon-canvas">
|
202
|
+
<canvas style="width: 104px; height: 23px; top: 1px; left:
|
203
|
+
-1px;" height="23" width="104"></canvas>
|
204
|
+
<cufontext>Underline</cufontext>
|
205
|
+
</cufon>
|
206
|
+
</h2>
|
207
|
+
<h3>
|
208
|
+
<cufon style="width: 51px; height: 16px;" alt="Header " class="cufon
|
209
|
+
cufon-canvas">
|
210
|
+
<canvas style="width: 64px; height: 16px; top: 0px; left:
|
211
|
+
0px;" height="16" width="64"></canvas>
|
212
|
+
<cufontext>Header</cufontext>
|
213
|
+
</cufon>
|
214
|
+
<cufon
|
215
|
+
style="width: 8px; height: 16px;" alt="3" class="cufon cufon-canvas">
|
216
|
+
<canvas
|
217
|
+
style="width: 18px; height: 16px; top: 0px; left: 0px;" height="16"
|
218
|
+
width="18"></canvas>
|
219
|
+
<cufontext>3</cufontext>
|
220
|
+
</cufon>
|
221
|
+
</h3>
|
222
|
+
<h3 class="alt">
|
223
|
+
<cufon style="width: 51px; height: 16px;" alt="Header "
|
224
|
+
class="cufon cufon-canvas">
|
225
|
+
<canvas style="width: 64px; height: 16px;
|
226
|
+
top: 0px; left: 0px;" height="16" width="64"></canvas>
|
227
|
+
<cufontext>Header</cufontext>
|
228
|
+
</cufon>
|
229
|
+
<cufon
|
230
|
+
style="width: 12px; height: 16px;" alt="3 " class="cufon cufon-canvas">
|
231
|
+
<canvas
|
232
|
+
style="width: 25px; height: 16px; top: 0px; left: 0px;" height="16"
|
233
|
+
width="25"></canvas>
|
234
|
+
<cufontext>3</cufontext>
|
235
|
+
</cufon>
|
236
|
+
<cufon
|
237
|
+
style="width: 19px; height: 16px;" alt="Alt" class="cufon cufon-canvas">
|
238
|
+
<canvas
|
239
|
+
style="width: 31px; height: 16px; top: 0px; left: 0px;" height="16"
|
240
|
+
width="31"></canvas>
|
241
|
+
<cufontext>Alt</cufontext>
|
242
|
+
</cufon>
|
243
|
+
</h3>
|
244
|
+
<h3 class="brdr">
|
245
|
+
<cufon style="width: 51px; height: 16px;" alt="Header "
|
246
|
+
class="cufon cufon-canvas">
|
247
|
+
<canvas style="width: 64px; height: 16px;
|
248
|
+
top: 0px; left: 0px;" height="16" width="64"></canvas>
|
249
|
+
<cufontext>Header</cufontext>
|
250
|
+
</cufon>
|
251
|
+
<cufon
|
252
|
+
style="width: 12px; height: 16px;" alt="3 " class="cufon cufon-canvas">
|
253
|
+
<canvas
|
254
|
+
style="width: 25px; height: 16px; top: 0px; left: 0px;" height="16"
|
255
|
+
width="25"></canvas>
|
256
|
+
<cufontext>3</cufontext>
|
257
|
+
</cufon>
|
258
|
+
<cufon
|
259
|
+
style="width: 63px; height: 16px;" alt="Underline" class="cufon
|
260
|
+
cufon-canvas">
|
261
|
+
<canvas style="width: 73px; height: 16px; top: 0px; left:
|
262
|
+
0px;" height="16" width="73"></canvas>
|
263
|
+
<cufontext>Underline</cufontext>
|
264
|
+
</cufon>
|
265
|
+
</h3>
|
266
|
+
<h4>
|
267
|
+
<cufon style="width: 45px; height: 14px;" alt="Header " class="cufon
|
268
|
+
cufon-canvas">
|
269
|
+
<canvas style="width: 56px; height: 14px; top: 0px; left:
|
270
|
+
0px;" height="14" width="56"></canvas>
|
271
|
+
<cufontext>Header</cufontext>
|
272
|
+
</cufon>
|
273
|
+
<cufon
|
274
|
+
style="width: 7px; height: 14px;" alt="4" class="cufon cufon-canvas">
|
275
|
+
<canvas
|
276
|
+
style="width: 15px; height: 14px; top: 0px; left: 0px;" height="14"
|
277
|
+
width="15"></canvas>
|
278
|
+
<cufontext>4</cufontext>
|
279
|
+
</cufon>
|
280
|
+
</h4>
|
281
|
+
<h4 class="alt">
|
282
|
+
<cufon style="width: 45px; height: 14px;" alt="Header "
|
283
|
+
class="cufon cufon-canvas">
|
284
|
+
<canvas style="width: 56px; height: 14px;
|
285
|
+
top: 0px; left: 0px;" height="14" width="56"></canvas>
|
286
|
+
<cufontext>Header</cufontext>
|
287
|
+
</cufon>
|
288
|
+
<cufon
|
289
|
+
style="width: 11px; height: 14px;" alt="4 " class="cufon cufon-canvas">
|
290
|
+
<canvas
|
291
|
+
style="width: 22px; height: 14px; top: 0px; left: 0px;" height="14"
|
292
|
+
width="22"></canvas>
|
293
|
+
<cufontext>4</cufontext>
|
294
|
+
</cufon>
|
295
|
+
<cufon
|
296
|
+
style="width: 16px; height: 14px;" alt="Alt" class="cufon cufon-canvas">
|
297
|
+
<canvas
|
298
|
+
style="width: 27px; height: 14px; top: 0px; left: 0px;" height="14"
|
299
|
+
width="27"></canvas>
|
300
|
+
<cufontext>Alt</cufontext>
|
301
|
+
</cufon>
|
302
|
+
</h4>
|
303
|
+
<h4 class="brdr">
|
304
|
+
<cufon style="width: 45px; height: 14px;" alt="Header "
|
305
|
+
class="cufon cufon-canvas">
|
306
|
+
<canvas style="width: 56px; height: 14px;
|
307
|
+
top: 0px; left: 0px;" height="14" width="56"></canvas>
|
308
|
+
<cufontext>Header</cufontext>
|
309
|
+
</cufon>
|
310
|
+
<cufon
|
311
|
+
style="width: 11px; height: 14px;" alt="4 " class="cufon cufon-canvas">
|
312
|
+
<canvas
|
313
|
+
style="width: 22px; height: 14px; top: 0px; left: 0px;" height="14"
|
314
|
+
width="22"></canvas>
|
315
|
+
<cufontext>4</cufontext>
|
316
|
+
</cufon>
|
317
|
+
<cufon
|
318
|
+
style="width: 55px; height: 14px;" alt="Underline" class="cufon
|
319
|
+
cufon-canvas">
|
320
|
+
<canvas style="width: 64px; height: 14px; top: 0px; left:
|
321
|
+
0px;" height="14" width="64"></canvas>
|
322
|
+
<cufontext>Underline</cufontext>
|
323
|
+
</cufon>
|
324
|
+
</h4>
|
325
|
+
<h5>
|
326
|
+
<cufon style="width: 35px; height: 11px;" alt="Header " class="cufon
|
327
|
+
cufon-canvas">
|
328
|
+
<canvas style="width: 44px; height: 11px; top: 0px; left:
|
329
|
+
0px;" height="11" width="44"></canvas>
|
330
|
+
<cufontext>Header</cufontext>
|
331
|
+
</cufon>
|
332
|
+
<cufon
|
333
|
+
style="width: 6px; height: 11px;" alt="5" class="cufon cufon-canvas">
|
334
|
+
<canvas
|
335
|
+
style="width: 12px; height: 11px; top: 0px; left: 0px;" height="11"
|
336
|
+
width="12"></canvas>
|
337
|
+
<cufontext>5</cufontext>
|
338
|
+
</cufon>
|
339
|
+
</h5>
|
340
|
+
<h5 class="alt">
|
341
|
+
<cufon style="width: 35px; height: 11px;" alt="Header "
|
342
|
+
class="cufon cufon-canvas">
|
343
|
+
<canvas style="width: 44px; height: 11px;
|
344
|
+
top: 0px; left: 0px;" height="11" width="44"></canvas>
|
345
|
+
<cufontext>Header</cufontext>
|
346
|
+
</cufon>
|
347
|
+
<cufon
|
348
|
+
style="width: 9px; height: 11px;" alt="5 " class="cufon cufon-canvas">
|
349
|
+
<canvas
|
350
|
+
style="width: 18px; height: 11px; top: 0px; left: 0px;" height="11"
|
351
|
+
width="18"></canvas>
|
352
|
+
<cufontext>5</cufontext>
|
353
|
+
</cufon>
|
354
|
+
<cufon
|
355
|
+
style="width: 13px; height: 11px;" alt="Alt" class="cufon cufon-canvas">
|
356
|
+
<canvas
|
357
|
+
style="width: 21px; height: 11px; top: 0px; left: 0px;" height="11"
|
358
|
+
width="21"></canvas>
|
359
|
+
<cufontext>Alt</cufontext>
|
360
|
+
</cufon>
|
361
|
+
</h5>
|
362
|
+
<h5 class="brdr">
|
363
|
+
<cufon style="width: 35px; height: 11px;" alt="Header "
|
364
|
+
class="cufon cufon-canvas">
|
365
|
+
<canvas style="width: 44px; height: 11px;
|
366
|
+
top: 0px; left: 0px;" height="11" width="44"></canvas>
|
367
|
+
<cufontext>Header</cufontext>
|
368
|
+
</cufon>
|
369
|
+
<cufon
|
370
|
+
style="width: 9px; height: 11px;" alt="5 " class="cufon cufon-canvas">
|
371
|
+
<canvas
|
372
|
+
style="width: 18px; height: 11px; top: 0px; left: 0px;" height="11"
|
373
|
+
width="18"></canvas>
|
374
|
+
<cufontext>5</cufontext>
|
375
|
+
</cufon>
|
376
|
+
<cufon
|
377
|
+
style="width: 44px; height: 11px;" alt="Underline" class="cufon
|
378
|
+
cufon-canvas">
|
379
|
+
<canvas style="width: 50px; height: 11px; top: 0px; left:
|
380
|
+
0px;" height="11" width="50"></canvas>
|
381
|
+
<cufontext>Underline</cufontext>
|
382
|
+
</cufon>
|
383
|
+
</h5>
|
384
|
+
<p>
|
385
|
+
<code>I am code<br>
|
386
|
+
I can expand as needed<br>
|
387
|
+
with my content<br>
|
388
|
+
</code></p>
|
389
|
+
|
390
|
+
<p>
|
391
|
+
<code class="mono">I am monotone code<br>
|
392
|
+
I can expand too<br>
|
393
|
+
</code></p>
|
394
|
+
|
395
|
+
<div class="info">
|
396
|
+
I am info<br>
|
397
|
+
again, can expand with content<br>
|
398
|
+
as I grow
|
399
|
+
</div>
|
400
|
+
<div class="warn">
|
401
|
+
I am warning<br>
|
402
|
+
repetition is nice when it <br>
|
403
|
+
comes to demonstrating expansion<br>
|
404
|
+
of elements
|
405
|
+
</div>
|
406
|
+
<ul class="list">
|
407
|
+
<li class="first-child">
|
408
|
+
list item 1
|
409
|
+
</li>
|
410
|
+
<li class="last-child">
|
411
|
+
list item 2
|
412
|
+
</li>
|
149
413
|
</ul>
|
150
|
-
<
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
<
|
155
|
-
|
156
|
-
|
157
|
-
<p>After the project has been created, there are a number of files which are created. Here’s a brief list of the notable files and their purpose.</p>
|
158
|
-
<table>
|
159
|
-
<tr>
|
160
|
-
<th>File </th>
|
161
|
-
<th>Purpose </th>
|
162
|
-
</tr>
|
163
|
-
<tr>
|
164
|
-
<td> .gitignore </td>
|
165
|
-
<td> Contains a list of files which will not be checked into git </td>
|
166
|
-
</tr>
|
167
|
-
<tr>
|
168
|
-
<td> bcms_pet_store.gemspec</td>
|
169
|
-
<td> An initial gemspec to package the module as a gem. </td>
|
170
|
-
</tr>
|
171
|
-
<tr>
|
172
|
-
<td> config/initializers/init_module.rb </td>
|
173
|
-
<td> Called by BrowserCMS startup to load the module’s files. (You shouldn’t need to modify this) </td>
|
174
|
-
</tr>
|
175
|
-
<tr>
|
176
|
-
<td> lib/bcms_pet_store.rb </td>
|
177
|
-
<td> Used to require files not in the app/ loadpath. You may need to update this if you add new files under lib. </td>
|
178
|
-
</tr>
|
179
|
-
<tr>
|
180
|
-
<td> public/bcms/bcms_petstore/ </td>
|
181
|
-
<td> A directory for public files which should be copied into projects that use this module. </td>
|
182
|
-
</tr>
|
183
|
-
<tr>
|
184
|
-
<td> lib/bcms_pet_store/routes.rb </td>
|
185
|
-
<td> A place to define routes for this module, like content blocks. These routes will be included in projects that use this gem. </td>
|
186
|
-
</tr>
|
187
|
-
<tr>
|
188
|
-
<td> rails/init.rb </td>
|
189
|
-
<td> Add the gem root to the Rails load path, including determining which files will be copied from the gem into projects .</td>
|
190
|
-
</tr>
|
191
|
-
</table>
|
192
|
-
<p>Note the gemspec, license (<span class="caps">LGPL</span>) and copywrite files specific to BrowserMedia, therefore you will likely want to edit these later to reflect your own purposes.</p>
|
193
|
-
<h3 id="creating-blocks">2 Creating Blocks</h3>
|
194
|
-
<p>One of the most common reason to creating a module is to define one or more Content blocks that can be added to projects. For our Pet Store example, we will create a Product block which will represent a purchasable good in our Store. Run the following command inside the project.</p>
|
195
|
-
<div class="code_container"><code class="html">$ script/generate content_block product name:string price:integer description:html</code></div>
|
196
|
-
<p>This is the exact same generator used to create content blocks for any BrowserCMS project. You can run <tt>rake db:migrate</tt> and see this block in the <span class="caps">CMS</span> Admin UI.</p>
|
197
|
-
<h4 id="defining-routes-for-the-module">2.1 Defining routes for the module</h4>
|
198
|
-
<p>Each content block will have its own routes for the Admin UI, which the generator will place into the <tt>config/routes.rb</tt>. This works fine for a BrowserCMS project, but not as a module as the <tt>config/routes.rb</tt> file won’t be packaged in the gem. To fix this, we need to move the route from the <tt>config/routes.rb</tt> to the <tt>lib/bcms_pet_store/routes.rb</tt>. Open the latter file and alter to look like this:</p>
|
199
|
-
<div class="code_container"><code class="ruby">module Cms::Routes
|
200
|
-
def routes_for_bcms_pet_store
|
201
|
-
namespace(:cms) do |cms|
|
202
|
-
cms.content_blocks :products
|
203
|
-
end
|
204
|
-
end
|
205
|
-
end</code></div>
|
206
|
-
<p>Then edit the +config/routes.rb file to look like this:</p>
|
207
|
-
<div class="code_container"><code class="ruby">ActionController::Routing::Routes.draw do |map|
|
208
|
-
map.routes_for_bcms_pet_store
|
209
|
-
map.routes_for_browser_cms
|
210
|
-
end</code></div>
|
211
|
-
<p>By doing this, we are defining our routes in a reusuable way, both for the gem as well as the bcms_pet_store project for testing. All routes that you want to make available to projects should be defined in the <tt>lib/bcms_pet_store/routes.rb</tt> file, which developers will add to their routes by calling <tt>map.routes_for_bcms_pet_store</tt>.</p>
|
212
|
-
<p>Restart your server and verify that you see that the routes still work.</p>
|
213
|
-
<h3 id="displaying-products-in-our-site">3 Displaying Products in our Site</h3>
|
214
|
-
<p>Now that we have our product data, we can use the Admin UI to create some sample product data. But how do we display our products to our site visitors. In a typical Rails project, you might create a controller that looks up the products and shows them in a view. However, in a BrowserCMS project we probably want to take advantage of displaying products on <span class="caps">CMS</span> page which can be styled by our <span class="caps">CMS</span> editors.</p>
|
215
|
-
<p>To do this, we need to use portlets.</p>
|
216
|
-
<h3 id="copying-files-into-projects">4 Copying files into projects.</h3>
|
217
|
-
<ul>
|
218
|
-
<li><code>rails/init.rb</code></li>
|
414
|
+
<ul class="disc">
|
415
|
+
<li class="first-child">
|
416
|
+
disc list item 1
|
417
|
+
</li>
|
418
|
+
<li class="last-child">
|
419
|
+
disc list item 2
|
420
|
+
</li>
|
219
421
|
</ul>
|
220
|
-
<
|
221
|
-
<
|
222
|
-
|
223
|
-
|
224
|
-
<
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
<
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
<p>wherever (I use <code>/var/tmp</code>). Edit the <code>config/environment.rb</code> file to include the line</p>
|
236
|
-
<p><code>gem.config 'bcms_[module name]'</code></p>
|
237
|
-
<p>then run the app locally and make sure your module works as expected.</p>
|
238
|
-
</td>
|
239
|
-
</tr>
|
240
|
-
</table>
|
241
|
-
</div>
|
242
|
-
</div>
|
243
|
-
<br clear="all"/>
|
244
|
-
<div class="bottom_cap"></div>
|
245
|
-
</div>
|
246
|
-
</div>
|
247
|
-
</body>
|
248
|
-
</html>
|
422
|
+
<ul class="flat-list">
|
423
|
+
<li class="first-child">
|
424
|
+
flat-list item 1
|
425
|
+
</li>
|
426
|
+
<li class="last-child">
|
427
|
+
flat-list item 2
|
428
|
+
</li>
|
429
|
+
</ul>
|
430
|
+
<p class="clearfix">
|
431
|
+
clearing paragraph block (has margins)</p>
|
432
|
+
|
433
|
+
<div class="clearfix">
|
434
|
+
cleearing regular block (no margins)
|
435
|
+
</div>
|
436
|
+
|
249
437
|
|
438
|
+
</div>
|
439
|
+
</div>
|
440
|
+
<div id="footer">
|
441
|
+
<ul>
|
442
|
+
<li class="first-child"><a href="">BrowserMedia Home</a></li>
|
443
|
+
<li><a href="">BrowserCMS Home</a></li>
|
444
|
+
<li><a href="">Sitemap</a></li>
|
445
|
+
<li class="last-child"><a href="">Contact Us</a></li>
|
446
|
+
</ul>
|
447
|
+
<p class="copynotice">© 1998-2010 BrowserMedia, LLC. All Rights
|
448
|
+
Reserved.</p>
|
449
|
+
</div>
|
450
|
+
</div>
|
451
|
+
<script type="text/javascript">
|
452
|
+
//<![CDATA[
|
453
|
+
bcmsOrg.init();
|
454
|
+
//]]>
|
455
|
+
</script>
|
456
|
+
</body>
|
457
|
+
</html>
|