wontomedia 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. data/COPYING +661 -0
  2. data/COPYING.DOCUMENTATION +450 -0
  3. data/LICENSE +661 -0
  4. data/README.markdown +56 -0
  5. data/Rakefile +185 -0
  6. data/VERSION.yml +4 -0
  7. data/app/controllers/admin_controller.rb +144 -0
  8. data/app/controllers/application_controller.rb +29 -0
  9. data/app/controllers/connections_controller.rb +150 -0
  10. data/app/controllers/items_controller.rb +365 -0
  11. data/app/helpers/connections_helper.rb +67 -0
  12. data/app/helpers/format_helper.rb +154 -0
  13. data/app/helpers/items_helper.rb +105 -0
  14. data/app/models/category_item.rb +23 -0
  15. data/app/models/connection.rb +210 -0
  16. data/app/models/individual_item.rb +23 -0
  17. data/app/models/item.rb +86 -0
  18. data/app/models/property_item.rb +23 -0
  19. data/app/models/qualified_item.rb +23 -0
  20. data/app/views/admin/index.html.erb +74 -0
  21. data/app/views/connections/_index_outbound_links.html.erb +48 -0
  22. data/app/views/connections/_spo_select_controls.html.erb +151 -0
  23. data/app/views/connections/edit.html.erb +70 -0
  24. data/app/views/connections/index.html.erb +84 -0
  25. data/app/views/connections/new.html.erb +61 -0
  26. data/app/views/connections/show.html.erb +110 -0
  27. data/app/views/items/_active_content.html.erb +26 -0
  28. data/app/views/items/_content_examples.html.erb +55 -0
  29. data/app/views/items/_core_tasks.html.erb +23 -0
  30. data/app/views/items/_form_fields.html.erb +69 -0
  31. data/app/views/items/_list_outbound_links.html.erb +58 -0
  32. data/app/views/items/_screen_select.html.erb +24 -0
  33. data/app/views/items/_show_outbound_links.html.erb +70 -0
  34. data/app/views/items/_topic_list.html.erb +26 -0
  35. data/app/views/items/_type_select.html.erb +47 -0
  36. data/app/views/items/edit.html.erb +63 -0
  37. data/app/views/items/index.html.erb +74 -0
  38. data/app/views/items/new.html.erb +124 -0
  39. data/app/views/items/newpop.html.erb +58 -0
  40. data/app/views/items/show.html.erb +209 -0
  41. data/app/views/layouts/_amazon_ads.html.erb +55 -0
  42. data/app/views/layouts/_glossary_help_box.html.erb +43 -0
  43. data/app/views/layouts/_google_ads.html.erb +40 -0
  44. data/app/views/layouts/_language_select.html.erb +24 -0
  45. data/app/views/layouts/_login_controls.html.erb +24 -0
  46. data/app/views/layouts/_master_help.html.erb +24 -0
  47. data/app/views/layouts/_navigation_menu.html.erb +39 -0
  48. data/app/views/layouts/_search_box.html.erb +27 -0
  49. data/app/views/layouts/_status_msgs.html.erb +25 -0
  50. data/app/views/layouts/application.html.erb +67 -0
  51. data/app/views/layouts/base.html.erb +93 -0
  52. data/app/views/layouts/home.html.erb +67 -0
  53. data/app/views/layouts/popup.html.erb +23 -0
  54. data/assets/wontomedia-sample.rb +47 -0
  55. data/config/asset_packages.yml +44 -0
  56. data/config/boot.rb +110 -0
  57. data/config/cucumber.yml +65 -0
  58. data/config/database-mysql-development.yml +47 -0
  59. data/config/database-mysql.yml +26 -0
  60. data/config/environment.rb +94 -0
  61. data/config/environments/cucumber.rb +29 -0
  62. data/config/environments/development.rb +26 -0
  63. data/config/environments/production.rb +33 -0
  64. data/config/environments/test.rb +31 -0
  65. data/config/initializers/inflections.rb +19 -0
  66. data/config/initializers/mime_types.rb +14 -0
  67. data/config/initializers/new_rails_defaults.rb +26 -0
  68. data/config/locales/en.yml +14 -0
  69. data/config/routes.rb +37 -0
  70. data/db/fixtures/connections.yml +96 -0
  71. data/db/fixtures/items.yml +277 -0
  72. data/db/migrate/20090312212805_create_items.rb +31 -0
  73. data/db/migrate/20090406221320_create_connections.rb +32 -0
  74. data/db/migrate/20090411014503_add_type_for_item_subclasses.rb +29 -0
  75. data/db/migrate/20090415142152_rename_item_type.rb +31 -0
  76. data/db/migrate/20090518022918_rename_object_and_self.rb +33 -0
  77. data/db/migrate/20090529171442_add_flags_to_items.rb +27 -0
  78. data/db/migrate/20090529171508_add_flags_to_connections.rb +27 -0
  79. data/db/migrate/20090605213800_flags_columns_not_null.rb +29 -0
  80. data/db/migrate/20090605215028_flags_columns_default_zero.rb +29 -0
  81. data/db/schema.rb +30 -0
  82. data/default-custom/app/views/items/_home_extern_list.html.erb +32 -0
  83. data/default-custom/app/views/items/_home_introductory_text.html.erb +70 -0
  84. data/default-custom/app/views/items/home.html.erb +77 -0
  85. data/default-custom/public/images/logo.png +0 -0
  86. data/default-custom/public/images/logo.svg +74 -0
  87. data/default-custom/public/stylesheets/wm.css +301 -0
  88. data/doc/README.markdown +44 -0
  89. data/doc/README_FOR_APP +82 -0
  90. data/doc/customization.markdown +93 -0
  91. data/doc/scripts/rake-customize.markdown +83 -0
  92. data/lib/helpers/connection_helper.rb +41 -0
  93. data/lib/helpers/item_helper.rb +141 -0
  94. data/lib/helpers/tripple_navigation.rb +158 -0
  95. data/lib/tasks/cucumber.rake +83 -0
  96. data/lib/tasks/customize.rake +70 -0
  97. data/lib/tasks/db.rake +65 -0
  98. data/lib/tasks/javascript_testing_tasks.rake +176 -0
  99. data/public/404.html +50 -0
  100. data/public/422.html +50 -0
  101. data/public/500.html +53 -0
  102. data/public/dispatch.cgi +20 -0
  103. data/public/dispatch.fcgi +34 -0
  104. data/public/dispatch.rb +20 -0
  105. data/public/favicon.ico +0 -0
  106. data/public/images/blank_error_icon.png +0 -0
  107. data/public/images/blank_status_icon.png +0 -0
  108. data/public/images/error_error_icon.png +0 -0
  109. data/public/images/error_status_icon.png +0 -0
  110. data/public/images/good_status_icon.png +0 -0
  111. data/public/images/help_icon.png +0 -0
  112. data/public/images/twitter_icon.png +0 -0
  113. data/public/images/warn_error_icon.png +0 -0
  114. data/public/images/working_status_icon.gif +0 -0
  115. data/public/javascripts/application.js +56 -0
  116. data/public/javascripts/controls.js +963 -0
  117. data/public/javascripts/dragdrop.js +973 -0
  118. data/public/javascripts/effects.js +1128 -0
  119. data/public/javascripts/event.simulate.js +64 -0
  120. data/public/javascripts/fancybox.js +43 -0
  121. data/public/javascripts/forConnectionsForms.js +218 -0
  122. data/public/javascripts/forItemsForms.js +511 -0
  123. data/public/javascripts/itemCreatePopup.js +115 -0
  124. data/public/javascripts/itemTitleToName.js +119 -0
  125. data/public/javascripts/jquery.js +4376 -0
  126. data/public/javascripts/modalbox.js +502 -0
  127. data/public/javascripts/prototype.js +4320 -0
  128. data/public/javascripts/reconcileJQueryAndPrototype.js +19 -0
  129. data/public/robots.txt +7 -0
  130. data/public/stylesheets/blank.gif +0 -0
  131. data/public/stylesheets/fancy_close.png +0 -0
  132. data/public/stylesheets/fancy_loading.png +0 -0
  133. data/public/stylesheets/fancy_nav_left.png +0 -0
  134. data/public/stylesheets/fancy_nav_right.png +0 -0
  135. data/public/stylesheets/fancy_shadow_e.png +0 -0
  136. data/public/stylesheets/fancy_shadow_n.png +0 -0
  137. data/public/stylesheets/fancy_shadow_ne.png +0 -0
  138. data/public/stylesheets/fancy_shadow_nw.png +0 -0
  139. data/public/stylesheets/fancy_shadow_s.png +0 -0
  140. data/public/stylesheets/fancy_shadow_se.png +0 -0
  141. data/public/stylesheets/fancy_shadow_sw.png +0 -0
  142. data/public/stylesheets/fancy_shadow_w.png +0 -0
  143. data/public/stylesheets/fancy_title_left.png +0 -0
  144. data/public/stylesheets/fancy_title_main.png +0 -0
  145. data/public/stylesheets/fancy_title_over.png +0 -0
  146. data/public/stylesheets/fancy_title_right.png +0 -0
  147. data/public/stylesheets/fancybox.css +333 -0
  148. data/public/stylesheets/modalbox.css +110 -0
  149. data/public/stylesheets/scaffold.css +36 -0
  150. data/public/stylesheets/spinner.gif +0 -0
  151. data/script/about +4 -0
  152. data/script/console +3 -0
  153. data/script/cucumber +10 -0
  154. data/script/dbconsole +3 -0
  155. data/script/destroy +3 -0
  156. data/script/generate +3 -0
  157. data/script/performance/benchmarker +3 -0
  158. data/script/performance/profiler +3 -0
  159. data/script/performance/request +3 -0
  160. data/script/plugin +3 -0
  161. data/script/process/inspector +3 -0
  162. data/script/process/reaper +3 -0
  163. data/script/process/spawner +3 -0
  164. data/script/runner +3 -0
  165. data/script/server +3 -0
  166. data/vendor/plugins/asset_packager/CHANGELOG +122 -0
  167. data/vendor/plugins/asset_packager/README +178 -0
  168. data/vendor/plugins/asset_packager/Rakefile +22 -0
  169. data/vendor/plugins/asset_packager/about.yml +8 -0
  170. data/vendor/plugins/asset_packager/init.rb +2 -0
  171. data/vendor/plugins/asset_packager/install.rb +1 -0
  172. data/vendor/plugins/asset_packager/lib/jsmin.rb +205 -0
  173. data/vendor/plugins/asset_packager/lib/synthesis/asset_package.rb +212 -0
  174. data/vendor/plugins/asset_packager/lib/synthesis/asset_package_helper.rb +39 -0
  175. data/vendor/plugins/asset_packager/tasks/asset_packager_tasks.rake +23 -0
  176. data/vendor/plugins/asset_packager/test/asset_package_helper_development_test.rb +100 -0
  177. data/vendor/plugins/asset_packager/test/asset_package_helper_production_test.rb +140 -0
  178. data/vendor/plugins/asset_packager/test/asset_packager_test.rb +92 -0
  179. data/vendor/plugins/asset_packager/test/asset_packages.yml +20 -0
  180. data/vendor/plugins/asset_packager/test/assets/javascripts/application.js +2 -0
  181. data/vendor/plugins/asset_packager/test/assets/javascripts/bar.js +4 -0
  182. data/vendor/plugins/asset_packager/test/assets/javascripts/controls.js +815 -0
  183. data/vendor/plugins/asset_packager/test/assets/javascripts/dragdrop.js +913 -0
  184. data/vendor/plugins/asset_packager/test/assets/javascripts/effects.js +958 -0
  185. data/vendor/plugins/asset_packager/test/assets/javascripts/foo.js +4 -0
  186. data/vendor/plugins/asset_packager/test/assets/javascripts/prototype.js +2006 -0
  187. data/vendor/plugins/asset_packager/test/assets/stylesheets/bar.css +16 -0
  188. data/vendor/plugins/asset_packager/test/assets/stylesheets/foo.css +16 -0
  189. data/vendor/plugins/asset_packager/test/assets/stylesheets/header.css +16 -0
  190. data/vendor/plugins/asset_packager/test/assets/stylesheets/screen.css +16 -0
  191. data/vendor/plugins/asset_packager/test/assets/stylesheets/subdir/bar.css +16 -0
  192. data/vendor/plugins/asset_packager/test/assets/stylesheets/subdir/foo.css +16 -0
  193. metadata +265 -0
@@ -0,0 +1,26 @@
1
+ <%
2
+ # WontoMedia - a wontology web application
3
+ # Copyright (C) 2010 - Glen E. Ivey
4
+ # www.wontology.com
5
+ #
6
+ # This program is free software: you can redistribute it and/or modify
7
+ # it under the terms of the GNU Affero General Public License version
8
+ # 3 as published by the Free Software Foundation.
9
+ #
10
+ # This program is distributed in the hope that it will be useful, but
11
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Affero General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Affero General Public License
16
+ # along with this program in the file COPYING and/or LICENSE. If not,
17
+ # see "http://www.gnu.org/licenses/".
18
+ %>
19
+
20
+
21
+ <% if @display_unimplemented %>
22
+ <div id="block-topics" class="box">
23
+ <p class="unimplemented">[area to list all Topics in the
24
+ wontology, sorted by size/activity]</p>
25
+ </div>
26
+ <% end -%>
@@ -0,0 +1,47 @@
1
+ <%
2
+ # WontoMedia - a wontology web application
3
+ # Copyright (C) 2010 - Glen E. Ivey
4
+ # www.wontology.com
5
+ #
6
+ # This program is free software: you can redistribute it and/or modify
7
+ # it under the terms of the GNU Affero General Public License version
8
+ # 3 as published by the Free Software Foundation.
9
+ #
10
+ # This program is distributed in the hope that it will be useful, but
11
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Affero General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Affero General Public License
16
+ # along with this program in the file COPYING and/or LICENSE. If not,
17
+ # see "http://www.gnu.org/licenses/".
18
+ %>
19
+
20
+
21
+ <p class="inputpara">
22
+ <%= f.label :sti_type, "Type" %>
23
+ <%= popup_help_icon "Help for type", "Help:Popup/ItemType" %>
24
+ <%= if @type == "verb"
25
+ selections = [ [ "Property", "PropertyItem" ] ]
26
+ @item.sti_type = "PropertyItem"
27
+ else
28
+ selections = [
29
+ [ "- type of item -", "" ],
30
+ [ "Category", "CategoryItem" ],
31
+ [ "Individual", "IndividualItem" ],
32
+ [ "Property", "PropertyItem" ] ]
33
+ end
34
+
35
+ select_tag "item[sti_type]",
36
+ options_for_select( selections,
37
+ @item.sti_type.nil? ? "" : @item.sti_type ),
38
+ :tabindex => "1"
39
+ %>
40
+ <%= image_tag "blank_error_icon.png", :id=>"sti_type_error_icon",
41
+ :alt=>"", :size=>"16x16" %>
42
+ </p><p class="directions">
43
+ <span id="sti_type_required">Selection of a type is required.</span>
44
+ </p>
45
+ <script type="text/javascript">
46
+ $('item_sti_type').focus();
47
+ </script>
@@ -0,0 +1,63 @@
1
+ <%
2
+ # WontoMedia - a wontology web application
3
+ # Copyright (C) 2010 - Glen E. Ivey
4
+ # www.wontology.com
5
+ #
6
+ # This program is free software: you can redistribute it and/or modify
7
+ # it under the terms of the GNU Affero General Public License version
8
+ # 3 as published by the Free Software Foundation.
9
+ #
10
+ # This program is distributed in the hope that it will be useful, but
11
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Affero General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Affero General Public License
16
+ # along with this program in the file COPYING and/or LICENSE. If not,
17
+ # see "http://www.gnu.org/licenses/".
18
+ %>
19
+
20
+
21
+ <% content_for :head do %>
22
+ <meta name="robots" content="noindex" />
23
+ <meta name="googlebot" content="noindex" />
24
+ <% end
25
+
26
+ @title_text = filter_parenthetical h @item.title
27
+
28
+ # initialize array to define "Glossary Help" box of links:
29
+ @glossary_help_entries = [
30
+ [ 'Item', 'Help:GlossaryAtoO#anchor_Item' ]
31
+ ]
32
+ %>
33
+
34
+ <div class="headline">Editing item<%=
35
+ popup_help_icon "Help item edit", "Help:Popup/HeaderItemEdit" %>
36
+ </div>
37
+
38
+
39
+ <% form_for(@item, :url => item_path(@item)) do |f| %>
40
+ <%= f.error_messages %>
41
+ <%= render :partial => "form_fields", :locals => { :f => f } %>
42
+ <p><%= f.submit "Update", :tabindex => "10" %></p>
43
+ <% end %>
44
+
45
+ <div class="horizontal-link-list"><ul>
46
+ <li><%= link_to 'Cancel,&nbsp;show&nbsp;item', item_path(@item),
47
+ :rel => 'nofollow' -%></li>
48
+ <li><%= link_to 'Cancel,&nbsp;show&nbsp;item&nbsp;list', items_path,
49
+ :rel => 'nofollow' -%></li>
50
+ </ul></div>
51
+
52
+ <% content_for :first_bottom_page_js do %>
53
+ <script type="text/javascript">
54
+ inAnItemsForm = true;
55
+ creatingNewItem = false;
56
+ </script>
57
+ <% end %>
58
+ <% content_for :last_bottom_page_js do %>
59
+ <script type="text/javascript">
60
+ plumbEventHandlersToItemCreationElements();
61
+ $(controlNamePrefix + 'item_title').focus();
62
+ </script>
63
+ <% end %>
@@ -0,0 +1,74 @@
1
+ <%
2
+ # WontoMedia - a wontology web application
3
+ # Copyright (C) 2010 - Glen E. Ivey
4
+ # www.wontology.com
5
+ #
6
+ # This program is free software: you can redistribute it and/or modify
7
+ # it under the terms of the GNU Affero General Public License version
8
+ # 3 as published by the Free Software Foundation.
9
+ #
10
+ # This program is distributed in the hope that it will be useful, but
11
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Affero General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Affero General Public License
16
+ # along with this program in the file COPYING and/or LICENSE. If not,
17
+ # see "http://www.gnu.org/licenses/".
18
+ %>
19
+
20
+
21
+ <%
22
+ require Rails.root.join( 'lib', 'helpers', 'item_helper')
23
+ @title_text = 'All Items'
24
+
25
+ # initialize array to define "Glossary Help" box of links:
26
+ @glossary_help_entries = [
27
+ [ 'Name', 'Help:GlossaryAtoO#anchor_Name' ],
28
+ [ 'Title', 'Help:GlossaryPtoZ#anchor_Title' ],
29
+ [ 'Description', 'Help:GlossaryAtoO#anchor_Description' ],
30
+ [ 'Item', 'Help:GlossaryAtoO#anchor_Item' ],
31
+ [ 'Connection', 'Help:GlossaryAtoO#anchor_Connection' ]
32
+ ]
33
+ %>
34
+
35
+
36
+ <div class="headline">
37
+
38
+ <%= popup_help_icon "Help, items list", "Help:Popup/HeaderItemsIndex"
39
+ -%>Listing all defined items
40
+
41
+ <div class="noncontent vertical-link-list"
42
+ style="float: left; margin-left: 2em;">
43
+ <%= render :partial => "list_outbound_links",
44
+ :locals => { :generating_index_page => true } %>
45
+ </div>
46
+ </div>
47
+
48
+ <table class="tight-table index-table" style="clear: both;">
49
+ <% @edit_help_icon_used = false
50
+ @delete_help_icon_used = false
51
+
52
+ @items.each do |item| %>
53
+ <% content_tag :tr, :id => h(item.name) do %>
54
+ <td class="firstrow"><%= wrap_item_name h item.name -%></td>
55
+ <td class="firstrow" style="font-weight: bold; width: 62%;">
56
+ <%= link_to filter_parenthetical(h item.title), item_path(item) -%></td>
57
+ <td class="firstrow" style="font-size: 80%;">
58
+ <% generate_item_links(item) %>
59
+ </td>
60
+ <% end %>
61
+ <tr>
62
+ <td colspan="3" class="secondrow" style="padding-left: 2.2em;">
63
+ <span style="font-size: 70%">
64
+ <%=h ItemHelper::ITEM_SUBTYPES_TO_HUMAN[item.sti_type] %>:</span>
65
+ <%=h item.description %></td>
66
+ </tr>
67
+ <% end %>
68
+ </table>
69
+
70
+ <div class="horizontal-link-list">
71
+ <%= render :partial => 'list_outbound_links',
72
+ :locals => { :generating_index_page => true } %>
73
+ </div>
74
+
@@ -0,0 +1,124 @@
1
+ <%
2
+ # WontoMedia - a wontology web application
3
+ # Copyright (C) 2010 - Glen E. Ivey
4
+ # www.wontology.com
5
+ #
6
+ # This program is free software: you can redistribute it and/or modify
7
+ # it under the terms of the GNU Affero General Public License version
8
+ # 3 as published by the Free Software Foundation.
9
+ #
10
+ # This program is distributed in the hope that it will be useful, but
11
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Affero General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Affero General Public License
16
+ # along with this program in the file COPYING and/or LICENSE. If not,
17
+ # see "http://www.gnu.org/licenses/".
18
+ %>
19
+
20
+
21
+ <% content_for :head do %>
22
+ <meta name="robots" content="noindex" />
23
+ <meta name="googlebot" content="noindex" />
24
+ <% end %>
25
+
26
+ <%
27
+ require Rails.root.join( 'lib', 'helpers', 'item_helper')
28
+ @title_text = 'Make a new item'
29
+
30
+ # initialize array to define "Glossary Help" box of links:
31
+ @glossary_help_entries = [
32
+ [ 'Category', 'Help:GlossaryAtoO#anchor_Category' ],
33
+ [ 'Individual', 'Help:GlossaryAtoO#anchor_Individual' ],
34
+ [ 'Property', 'Help:GlossaryAtoO#anchor_Property' ],
35
+ [ 'Item', 'Help:GlossaryAtoO#anchor_Item' ]
36
+ ]
37
+ %>
38
+
39
+
40
+ <% options = @item.sti_type.nil? ? {} : { :url => items_path() }
41
+ form_for(@item, options) do |f|
42
+ %>
43
+ <%= f.error_messages %>
44
+ <div style="width: 36%; float: left;">
45
+ <%= render :partial => "type_select", :locals => { :f => f } %>
46
+ <%= render :partial => "form_fields", :locals => { :f => f } %>
47
+ <script type="text/javascript">
48
+ genNameFromTitleOk = true;
49
+ </script>
50
+
51
+ <p id="create_button_container" style="text-align: center">
52
+ <%= f.submit "Create", :tabindex => "10" %>
53
+ </p>
54
+
55
+ <div class="horizontal-link-list"><ul>
56
+ <li><%= link_to 'Cancel,&nbsp;show&nbsp;item&nbsp;list', items_path,
57
+ :rel => 'nofollow' -%></li>
58
+ <li><%= link_to 'Cancel,&nbsp;show&nbsp;connection&nbsp;list',
59
+ connections_path, :rel => 'nofollow' -%></li>
60
+ </ul></div>
61
+ </div>
62
+
63
+ <div class="noncontent" style="width: 60%; float: right; margin-left: 0;">
64
+ <dl><dt id="category_title">Category</dt><dd id="category_desc">
65
+
66
+ "Category" is for groups of things, for concepts, and for the
67
+ upper levels of <%=
68
+ popup_help_icon 'Definition of hierarchies in a wontology',
69
+ 'Help:GlossaryAtoO#anchor_Hierarchy', 'hierarchies' -%>.
70
+ (Though a hierarchy made up entirely of concepts could be all
71
+ Categories.) Categories can "contain" other categories and/or
72
+ individuals.
73
+
74
+ </dd><dt id="individual_title">Individual</dt><dd id="individual_desc">
75
+
76
+ "Individual" is for specific, concrete things. Individuals can
77
+ "contain" other individuals, but cannot contain categories.
78
+ ("Ford Model-T" might be an individual, but could still contain
79
+ parts that are also individuals, like "Windshield" and "Tire".)
80
+
81
+ </dd><dt id="property_title">Property</dt><dd id="property_desc">
82
+
83
+ "Property" is used to define <%=
84
+ popup_help_icon 'Definition of relationships in a wontology',
85
+ 'Help:GlossaryPtoZ#anchor_Relationship', 'relationships' -%>
86
+ between other items. Once you create a new Property <%=
87
+ popup_help_icon 'Definition of Item',
88
+ 'Help:GlossaryAtoO#anchor_Item', 'item' -%>,
89
+ you should create one or more <%=
90
+ popup_help_icon 'Definition of Connection',
91
+ 'Help:GlossaryAtoO#anchor_Connection', 'connections' -%>
92
+ that relate that property to other existing properties. In
93
+ general, you will use the "sub_property_of" property in order to
94
+ create these connections. For example, if you were creating a
95
+ description of famillial relations between people, you might
96
+ create a new property named "spouseOf". To define what the
97
+ creation of connections using this new property <em>means</em>, you
98
+ can create the connection "<code>spouseOf sub_property_of
99
+ symmetric_relationship</code>". This example will cause
100
+ "spouseOf" to be treated as a "peer" <%=
101
+ popup_help_icon 'Peer relationships in a wontology',
102
+ 'Help:GlossaryPtoZ#anchor_Peer', 'relationship' -%>
103
+ (rather than a hierarchical one), and as a symmetric <%=
104
+ popup_help_icon 'Symmetric relationships in a wontology',
105
+ 'Help:GlossaryPtoZ#anchor_Symmetric', 'relationship' -%>,
106
+ so that creating a "spouseOf" connection from one item to another
107
+ implies an connection going the other direction even if it is not
108
+ defined explicitly.
109
+
110
+ </dd></dl>
111
+ </div>
112
+ <% end %> <!-- of form_for -->
113
+
114
+ <% content_for :first_bottom_page_js do %>
115
+ <script type="text/javascript">
116
+ inAnItemsForm = true;
117
+ creatingNewItem = true;
118
+ </script>
119
+ <% end %>
120
+ <% content_for :last_bottom_page_js do %>
121
+ <script type="text/javascript">
122
+ plumbEventHandlersToItemCreationElements();
123
+ </script>
124
+ <% end %>
@@ -0,0 +1,58 @@
1
+ <%
2
+ # WontoMedia - a wontology web application
3
+ # Copyright (C) 2010 - Glen E. Ivey
4
+ # www.wontology.com
5
+ #
6
+ # This program is free software: you can redistribute it and/or modify
7
+ # it under the terms of the GNU Affero General Public License version
8
+ # 3 as published by the Free Software Foundation.
9
+ #
10
+ # This program is distributed in the hope that it will be useful, but
11
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Affero General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Affero General Public License
16
+ # along with this program in the file COPYING and/or LICENSE. If not,
17
+ # see "http://www.gnu.org/licenses/".
18
+ %>
19
+
20
+
21
+ <% content_for :head do %>
22
+ <meta name="robots" content="noindex" />
23
+ <meta name="googlebot" content="noindex" />
24
+ <% end %>
25
+
26
+ <% require Rails.root.join( 'lib', 'helpers', 'item_helper') %>
27
+
28
+
29
+ <h1>Make a new item</h1>
30
+
31
+ <% options = @item.sti_type.nil? ? {} : { :url => items_path() }
32
+ form_for(@item, options) do |f|
33
+ %>
34
+ <%= f.error_messages %>
35
+ <%= render :partial => "type_select", :locals => { :f => f } %>
36
+ <%= render :partial => "form_fields", :locals => { :f => f } %>
37
+ <%= hidden_field_tag 'popup_flag', 'yes' %>
38
+
39
+ <p id="create_button_container" style="text-align: center">
40
+ <%= button_to_function "Create",
41
+ "if (okToSubmitItemForm()) itemCreatePopup_Submit(this)",
42
+ :id => "item_submit", :tabindex => "10" %>
43
+ </p>
44
+
45
+ <p style="text-align: center">
46
+ <%= link_to_function 'Cancel&nbsp;item&nbsp;creation',
47
+ 'itemCreatePopup_Cancel()' %>
48
+ </p>
49
+ <% end %> <!-- of form_for -->
50
+
51
+
52
+ <!-- forItemsForms.js should have already been loaded by page that
53
+ popped us up. Call function to wire library functions to the form
54
+ elements we've just loaded. -->
55
+ <script type="text/javascript">
56
+ genNameFromTitleOk = true;
57
+ plumbEventHandlersToItemCreationElements("submitViaModalbox");
58
+ </script>
@@ -0,0 +1,209 @@
1
+ <%
2
+ # WontoMedia - a wontology web application
3
+ # Copyright (C) 2010 - Glen E. Ivey
4
+ # www.wontology.com
5
+ #
6
+ # This program is free software: you can redistribute it and/or modify
7
+ # it under the terms of the GNU Affero General Public License version
8
+ # 3 as published by the Free Software Foundation.
9
+ #
10
+ # This program is distributed in the hope that it will be useful, but
11
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Affero General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Affero General Public License
16
+ # along with this program in the file COPYING and/or LICENSE. If not,
17
+ # see "http://www.gnu.org/licenses/".
18
+ %>
19
+
20
+
21
+ <%
22
+ @title_text = h( filter_parenthetical( @item.title ) )
23
+
24
+ # initialize array to define "Glossary Help" box of links:
25
+ @glossary_help_entries = [
26
+ [ 'Name', 'Help:GlossaryAtoO#anchor_Name' ],
27
+ [ 'Title', 'Help:GlossaryPtoZ#anchor_Title' ],
28
+ [ 'Description', 'Help:GlossaryAtoO#anchor_Description' ],
29
+ [ 'Item', 'Help:GlossaryAtoO#anchor_Item' ]
30
+ ]
31
+ %>
32
+
33
+
34
+ <style>
35
+ .margin-help-icon {
36
+ position: absolute;
37
+ left: 15.7%;
38
+ overflow: visible;
39
+ }
40
+ </style>
41
+ <% # question-icon for title/name/desc pop-up help
42
+ unless @popup_flag %>
43
+ <div style="height: 600px; float: left; padding-right: 1em;">&nbsp;</div>
44
+ <div class="margin-help-icon">
45
+ <%= popup_help_icon "Help, item content", "Help:Popup/HeaderItem" %>
46
+ </div>
47
+ <% end %>
48
+
49
+
50
+ <% # populate top (title/name/desc) section of page
51
+ %>
52
+ <p style="margin-bottom: 0; font-weight: bold;">
53
+ <%= text_with_tooltip h( @item.title ),
54
+ '&nbsp;<b>Title</b> of this <b>Item</b>&nbsp;', 'item_title' %>
55
+ </p>
56
+
57
+ <p id="item_name_para">
58
+ <%= text_with_tooltip h( @item.name ),
59
+ '&nbsp;<b>Name</b> of this <b>Item</b>&nbsp;', 'item_name' %>
60
+ </p>
61
+
62
+ <p>
63
+ <%= text_with_tooltip h( @item.description ),
64
+ '&nbsp;<b>Description</b> of this <b>Item</b>&nbsp;',
65
+ 'item_description' %>
66
+ </p>
67
+
68
+ <% # embed this for testability and future JavaScript
69
+ %>
70
+ <div id="item_id" style="display: none"><%= h @item.id -%></div>
71
+
72
+
73
+
74
+ <% # links to global pages/actions
75
+ %>
76
+ <p style="clear: right">
77
+ <% unless @popup_flag %>
78
+ <%= render :partial => "show_outbound_links" -%>
79
+ <% end %>
80
+ </p>
81
+
82
+ <% # populate bottom (connections referencing this item) section of page
83
+ unless @connection_list.empty? %>
84
+
85
+
86
+ <% # track things to do only once:
87
+ list_open_output = false
88
+ last_predicate_id = nil
89
+ last_obj_id = nil
90
+ table_open_output = false
91
+ @show_help_icon_used = false
92
+ @edit_help_icon_used = false
93
+ @delete_help_icon_used = false
94
+
95
+ array_of_arrays_of_connections = @connection_list.to_enum
96
+
97
+
98
+ # first, put all connections w/ current item-is-subject into indented list
99
+ begin
100
+ while true do # exit via break or exception
101
+
102
+ connection_array = array_of_arrays_of_connections.next
103
+
104
+ # check ID of first connection's subject item against "this" item's ID
105
+ break if @connection_hash[connection_array[0]].subject_id != @item.id
106
+
107
+ connection_array.each do |connection_id|
108
+ e = @connection_hash[connection_id]
109
+
110
+ unless list_open_output
111
+ list_open_output = true
112
+
113
+ # question-icon for connections-list pop-up help
114
+ unless @popup_flag %>
115
+ <div class="margin-help-icon">
116
+ <%= popup_help_icon "Help, connections referencing a item",
117
+ "Help:Popup/HeaderItemConnectionList" %>
118
+ </div>
119
+ <% end %>
120
+
121
+ <ul>
122
+ <%= text_with_tooltip (h filter_parenthetical @item.title),
123
+ (h @item.name) %>
124
+ <ul style="list-style-type: none;">
125
+ <% end
126
+
127
+ if last_predicate_id != e.predicate_id
128
+ if last_predicate_id %>
129
+ </ul>
130
+ </li>
131
+ <% end %>
132
+ <li>
133
+ <%= n = @item_hash[e.predicate_id]
134
+ link_with_tooltip (h filter_parenthetical n.title ),
135
+ h( n.name ), item_path(n) %>
136
+ <ul style="list-style-type: circle;">
137
+ <% end %>
138
+
139
+ <li>
140
+ <div style="float: right; font-size: 80%; margin-right: 6em;">
141
+ <% generate_connection_links(e) %>
142
+ </div>
143
+ <%= n = @item_hash[e.obj_id]
144
+ link_with_tooltip (h filter_parenthetical n.title ),
145
+ h( n.name ), item_path(n) %>
146
+ </li>
147
+
148
+ <% last_predicate_id = e.predicate_id
149
+
150
+ end # .each over connection_array
151
+ end # while over array-of-connection_array's
152
+ rescue StopIteration # out of connections
153
+ connection_array = nil # none for table
154
+ end
155
+
156
+
157
+ if list_open_output %>
158
+ </ul>
159
+ </li>
160
+ </ul>
161
+ </ul>
162
+ <p style="line-height: 50%; font-size: 50%;">&nbsp;</p>
163
+ <% end
164
+
165
+ # now put any remaining connections into a table
166
+ if connection_array
167
+ loop do # until exception on .next at loop's end
168
+
169
+ unless table_open_output
170
+ table_open_output = true
171
+
172
+ # question-icon for connections-table pop-up help
173
+ unless @popup_flag %>
174
+ <div class="margin-help-icon">
175
+ <%= popup_help_icon "Help, connections referencing a item",
176
+ "Help:Popup/HeaderItemConnectionTable" %>
177
+ </div>
178
+ <% end
179
+
180
+ output_table_open
181
+ end %>
182
+
183
+ <tbody>
184
+ <% connection_array.each do |connection_id| %>
185
+ <tr>
186
+ <td>
187
+ <%= e = @connection_hash[connection_id]
188
+ self_string_or_other_link(e.subject_id) %>
189
+ </td><td class="connectioncolumn">
190
+ <%= self_string_or_other_link(e.predicate_id) %>
191
+ </td><td>
192
+ <%= self_string_or_other_link(e.obj_id) %>
193
+ </td><td style="font-size: 80%">
194
+ <% generate_connection_links(e) %>
195
+ </td>
196
+ </tr>
197
+ <% end %>
198
+ </tbody>
199
+ <%
200
+ connection_array = array_of_arrays_of_connections.next
201
+
202
+ end # loop over ..._connections iterator
203
+ end # if any connections to put in table
204
+
205
+ if table_open_output
206
+ output_table_close
207
+ end
208
+ end # unless @connection_list.empty?
209
+ %>