open_conference_ware 1.0.0.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (471) hide show
  1. data.tar.gz.sig +0 -0
  2. data/.autotest +14 -0
  3. data/.coveralls.yml +1 -0
  4. data/.gitignore +21 -0
  5. data/.rspec +1 -0
  6. data/.travis.yml +18 -0
  7. data/CHANGES.md +280 -0
  8. data/CONTRIBUTORS.markdown +17 -0
  9. data/Gemfile +21 -0
  10. data/Gemfile.lock +296 -0
  11. data/Guardfile +24 -0
  12. data/LICENSE.txt +23 -0
  13. data/README.markdown +173 -0
  14. data/Rakefile +27 -0
  15. data/TODO.txt +22 -0
  16. data/app/assets/images/open_conference_ware/accept.png +0 -0
  17. data/app/assets/images/open_conference_ware/arrow-left.png +0 -0
  18. data/app/assets/images/open_conference_ware/arrow-out.png +0 -0
  19. data/app/assets/images/open_conference_ware/arrow-right.png +0 -0
  20. data/app/assets/images/open_conference_ware/arrow-up.png +0 -0
  21. data/app/assets/images/open_conference_ware/arrow_refresh.png +0 -0
  22. data/app/assets/images/open_conference_ware/comment.png +0 -0
  23. data/app/assets/images/open_conference_ware/comment_edit.png +0 -0
  24. data/app/assets/images/open_conference_ware/delete.png +0 -0
  25. data/app/assets/images/open_conference_ware/disk.png +0 -0
  26. data/app/assets/images/open_conference_ware/document-blank.png +0 -0
  27. data/app/assets/images/open_conference_ware/document.png +0 -0
  28. data/app/assets/images/open_conference_ware/edit.png +0 -0
  29. data/app/assets/images/open_conference_ware/extras/001_01.png +0 -0
  30. data/app/assets/images/open_conference_ware/extras/001_05.png +0 -0
  31. data/app/assets/images/open_conference_ware/extras/001_05x16.png +0 -0
  32. data/app/assets/images/open_conference_ware/extras/001_21.png +0 -0
  33. data/app/assets/images/open_conference_ware/extras/001_23.png +0 -0
  34. data/app/assets/images/open_conference_ware/extras/001_24.png +0 -0
  35. data/app/assets/images/open_conference_ware/extras/001_29.png +0 -0
  36. data/app/assets/images/open_conference_ware/extras/01.png +0 -0
  37. data/app/assets/images/open_conference_ware/extras/05.png +0 -0
  38. data/app/assets/images/open_conference_ware/extras/06.png +0 -0
  39. data/app/assets/images/open_conference_ware/extras/1.png +0 -0
  40. data/app/assets/images/open_conference_ware/extras/14.png +0 -0
  41. data/app/assets/images/open_conference_ware/extras/16.png +0 -0
  42. data/app/assets/images/open_conference_ware/extras/2.png +0 -0
  43. data/app/assets/images/open_conference_ware/extras/21.png +0 -0
  44. data/app/assets/images/open_conference_ware/extras/28.png +0 -0
  45. data/app/assets/images/open_conference_ware/extras/3.png +0 -0
  46. data/app/assets/images/open_conference_ware/extras/31.png +0 -0
  47. data/app/assets/images/open_conference_ware/extras/32.png +0 -0
  48. data/app/assets/images/open_conference_ware/extras/35.png +0 -0
  49. data/app/assets/images/open_conference_ware/extras/36.png +0 -0
  50. data/app/assets/images/open_conference_ware/extras/4.png +0 -0
  51. data/app/assets/images/open_conference_ware/extras/44.png +0 -0
  52. data/app/assets/images/open_conference_ware/extras/45.png +0 -0
  53. data/app/assets/images/open_conference_ware/extras/46.png +0 -0
  54. data/app/assets/images/open_conference_ware/extras/cancel.png +0 -0
  55. data/app/assets/images/open_conference_ware/extras/cancelx16.png +0 -0
  56. data/app/assets/images/open_conference_ware/extras/icon.trashcan.gif +0 -0
  57. data/app/assets/images/open_conference_ware/favorite.png +0 -0
  58. data/app/assets/images/open_conference_ware/feed.png +0 -0
  59. data/app/assets/images/open_conference_ware/heart.png +0 -0
  60. data/app/assets/images/open_conference_ware/house.png +0 -0
  61. data/app/assets/images/open_conference_ware/ignite_portland_header3_clear.png +0 -0
  62. data/app/assets/images/open_conference_ware/ignite_portland_header3_clear_cropped.png +0 -0
  63. data/app/assets/images/open_conference_ware/jquery.wysiwyg.gif +0 -0
  64. data/app/assets/images/open_conference_ware/lock.png +0 -0
  65. data/app/assets/images/open_conference_ware/new_window.gif +0 -0
  66. data/app/assets/images/open_conference_ware/openid-icon.gif +0 -0
  67. data/app/assets/images/open_conference_ware/pencil.png +0 -0
  68. data/app/assets/images/open_conference_ware/plus.png +0 -0
  69. data/app/assets/images/open_conference_ware/quote.png +0 -0
  70. data/app/assets/images/open_conference_ware/rails.png +0 -0
  71. data/app/assets/images/open_conference_ware/redx.png +0 -0
  72. data/app/assets/images/open_conference_ware/reset-fff.png +0 -0
  73. data/app/assets/images/open_conference_ware/spinner-big.gif +0 -0
  74. data/app/assets/images/open_conference_ware/spinner.gif +0 -0
  75. data/app/assets/images/open_conference_ware/star.png +0 -0
  76. data/app/assets/images/open_conference_ware/tag_blue.png +0 -0
  77. data/app/assets/images/open_conference_ware/time.png +0 -0
  78. data/app/assets/javascripts/open_conference_ware/application.js +18 -0
  79. data/app/assets/javascripts/open_conference_ware/base.js +15 -0
  80. data/app/assets/javascripts/open_conference_ware/favorites.js +76 -0
  81. data/app/assets/javascripts/open_conference_ware/ie.js +2 -0
  82. data/app/assets/javascripts/open_conference_ware/menu.js +47 -0
  83. data/app/assets/javascripts/open_conference_ware/persona.js +10 -0
  84. data/app/assets/javascripts/open_conference_ware/proposals.js +208 -0
  85. data/app/assets/javascripts/open_conference_ware/schedule.js +20 -0
  86. data/app/assets/javascripts/open_conference_ware/spinner.js +11 -0
  87. data/app/assets/javascripts/open_conference_ware/util.js +23 -0
  88. data/app/assets/stylesheets/open_conference_ware/application.css +8 -0
  89. data/app/assets/stylesheets/open_conference_ware/common.css.scss +491 -0
  90. data/app/assets/stylesheets/open_conference_ware/custom.css.scss +1033 -0
  91. data/app/assets/stylesheets/open_conference_ware/scaffold.css +54 -0
  92. data/app/controllers/open_conference_ware/application_controller.rb +488 -0
  93. data/app/controllers/open_conference_ware/authentications_controller.rb +42 -0
  94. data/app/controllers/open_conference_ware/comments_controller.rb +86 -0
  95. data/app/controllers/open_conference_ware/events_controller.rb +36 -0
  96. data/app/controllers/open_conference_ware/manage/events_controller.rb +157 -0
  97. data/app/controllers/open_conference_ware/manage/snippets_controller.rb +110 -0
  98. data/app/controllers/open_conference_ware/proposals_controller.rb +521 -0
  99. data/app/controllers/open_conference_ware/rooms_controller.rb +130 -0
  100. data/app/controllers/open_conference_ware/schedule_items_controller.rb +128 -0
  101. data/app/controllers/open_conference_ware/selector_votes_controller.rb +71 -0
  102. data/app/controllers/open_conference_ware/session_types_controller.rb +123 -0
  103. data/app/controllers/open_conference_ware/tracks_controller.rb +118 -0
  104. data/app/controllers/open_conference_ware/user_favorites_controller.rb +68 -0
  105. data/app/controllers/open_conference_ware/users_controller.rb +120 -0
  106. data/app/helpers/open_conference_ware/application_helper.rb +167 -0
  107. data/app/helpers/open_conference_ware/authentications_helper.rb +25 -0
  108. data/app/helpers/open_conference_ware/cache_if_helper.rb +13 -0
  109. data/app/helpers/open_conference_ware/display_link_to_helper.rb +25 -0
  110. data/app/helpers/open_conference_ware/display_textile_for_helper.rb +11 -0
  111. data/app/helpers/open_conference_ware/field_annotation_helper.rb +11 -0
  112. data/app/helpers/open_conference_ware/focus_helper.rb +16 -0
  113. data/app/helpers/open_conference_ware/localcss_helper.rb +10 -0
  114. data/app/helpers/open_conference_ware/page_title_helper.rb +17 -0
  115. data/app/helpers/open_conference_ware/proposals_helper.rb +54 -0
  116. data/app/helpers/open_conference_ware/rooms_helper.rb +5 -0
  117. data/app/helpers/open_conference_ware/scroll_to_helper.rb +15 -0
  118. data/app/helpers/open_conference_ware/session_types_helper.rb +5 -0
  119. data/app/helpers/open_conference_ware/snippets_helper.rb +36 -0
  120. data/app/helpers/open_conference_ware/time_range_helper.rb +198 -0
  121. data/app/helpers/open_conference_ware/tracks_helper.rb +9 -0
  122. data/app/helpers/open_conference_ware/user_favorites_helper.rb +15 -0
  123. data/app/mailers/open_conference_ware/speaker_mailer.rb +51 -0
  124. data/app/mixins/open_conference_ware/breadcrumbs_mixin.rb +76 -0
  125. data/app/mixins/open_conference_ware/cache_lookups_mixin.rb +128 -0
  126. data/app/mixins/open_conference_ware/faux_routes_mixin.rb +83 -0
  127. data/app/mixins/open_conference_ware/normalize_url_mixin.rb +40 -0
  128. data/app/mixins/open_conference_ware/public_attributes_mixin.rb +62 -0
  129. data/app/mixins/open_conference_ware/schedule_overlaps_mixin.rb +12 -0
  130. data/app/mixins/open_conference_ware/settings_checkers_mixin.rb +50 -0
  131. data/app/mixins/open_conference_ware/simple_slug_mixin.rb +26 -0
  132. data/app/models/open_conference_ware/authentication.rb +47 -0
  133. data/app/models/open_conference_ware/base.rb +6 -0
  134. data/app/models/open_conference_ware/comment.rb +26 -0
  135. data/app/models/open_conference_ware/event.rb +227 -0
  136. data/app/models/open_conference_ware/proposal.rb +625 -0
  137. data/app/models/open_conference_ware/room.rb +42 -0
  138. data/app/models/open_conference_ware/schedule.rb +216 -0
  139. data/app/models/open_conference_ware/schedule_item.rb +55 -0
  140. data/app/models/open_conference_ware/selector_vote.rb +22 -0
  141. data/app/models/open_conference_ware/session_type.rb +33 -0
  142. data/app/models/open_conference_ware/snippet.rb +58 -0
  143. data/app/models/open_conference_ware/track.rb +51 -0
  144. data/app/models/open_conference_ware/user.rb +262 -0
  145. data/app/models/open_conference_ware/user_favorite.rb +42 -0
  146. data/app/observers/open_conference_ware/cache_watcher.rb +42 -0
  147. data/app/views/layouts/open_conference_ware/_header.html.erb +106 -0
  148. data/app/views/layouts/open_conference_ware/application.atom.erb +1 -0
  149. data/app/views/layouts/open_conference_ware/application.html.erb +126 -0
  150. data/app/views/layouts/open_conference_ware/scaffold.html.erb +21 -0
  151. data/app/views/open_conference_ware/404.html.erb +8 -0
  152. data/app/views/open_conference_ware/422.html.erb +11 -0
  153. data/app/views/open_conference_ware/500.html.erb +11 -0
  154. data/app/views/open_conference_ware/_email_link.html.erb +24 -0
  155. data/app/views/open_conference_ware/_google_analytics.html.erb +9 -0
  156. data/app/views/open_conference_ware/authentications/_developer.html.erb +7 -0
  157. data/app/views/open_conference_ware/authentications/_openid.html.erb +11 -0
  158. data/app/views/open_conference_ware/authentications/_persona.html.erb +17 -0
  159. data/app/views/open_conference_ware/authentications/sign_in.html.erb +12 -0
  160. data/app/views/open_conference_ware/comments/_list.html.erb +31 -0
  161. data/app/views/open_conference_ware/comments/index.atom.builder +25 -0
  162. data/app/views/open_conference_ware/comments/index.html.erb +3 -0
  163. data/app/views/open_conference_ware/events/index.html.erb +9 -0
  164. data/app/views/open_conference_ware/events/show.html.erb +0 -0
  165. data/app/views/open_conference_ware/events/speakers.html.erb +7 -0
  166. data/app/views/open_conference_ware/manage/events/_form.html.erb +107 -0
  167. data/app/views/open_conference_ware/manage/events/edit.html.erb +3 -0
  168. data/app/views/open_conference_ware/manage/events/index.html.erb +41 -0
  169. data/app/views/open_conference_ware/manage/events/new.html.erb +3 -0
  170. data/app/views/open_conference_ware/manage/events/proposals.html.erb +133 -0
  171. data/app/views/open_conference_ware/manage/events/show.html.erb +181 -0
  172. data/app/views/open_conference_ware/manage/snippets/_form.html.erb +30 -0
  173. data/app/views/open_conference_ware/manage/snippets/edit.html.erb +3 -0
  174. data/app/views/open_conference_ware/manage/snippets/index.html.erb +34 -0
  175. data/app/views/open_conference_ware/manage/snippets/new.html.erb +3 -0
  176. data/app/views/open_conference_ware/manage/snippets/show.html.erb +32 -0
  177. data/app/views/open_conference_ware/proposals/_admin_controls.html.erb +33 -0
  178. data/app/views/open_conference_ware/proposals/_form.html.erb +381 -0
  179. data/app/views/open_conference_ware/proposals/_list.html.erb +164 -0
  180. data/app/views/open_conference_ware/proposals/_list_concise.html.erb +93 -0
  181. data/app/views/open_conference_ware/proposals/_manage_speakers.html.erb +30 -0
  182. data/app/views/open_conference_ware/proposals/_room_control.html.erb +21 -0
  183. data/app/views/open_conference_ware/proposals/_schedule_block.html.erb +8 -0
  184. data/app/views/open_conference_ware/proposals/_schedule_control.html.erb +13 -0
  185. data/app/views/open_conference_ware/proposals/_search_speakers.html.erb +20 -0
  186. data/app/views/open_conference_ware/proposals/_sub_list.html.erb +65 -0
  187. data/app/views/open_conference_ware/proposals/_sub_list_for_kind.html.erb +31 -0
  188. data/app/views/open_conference_ware/proposals/_transition_control.html.erb +16 -0
  189. data/app/views/open_conference_ware/proposals/create.html.erb +29 -0
  190. data/app/views/open_conference_ware/proposals/edit.html.erb +7 -0
  191. data/app/views/open_conference_ware/proposals/index.atom.builder +63 -0
  192. data/app/views/open_conference_ware/proposals/index.html.erb +46 -0
  193. data/app/views/open_conference_ware/proposals/new.html.erb +3 -0
  194. data/app/views/open_conference_ware/proposals/schedule.html.erb +108 -0
  195. data/app/views/open_conference_ware/proposals/sessions_index_terse.html.erb +22 -0
  196. data/app/views/open_conference_ware/proposals/show.html.erb +316 -0
  197. data/app/views/open_conference_ware/proposals/stats.html.erb +72 -0
  198. data/app/views/open_conference_ware/rooms/_form.html.erb +36 -0
  199. data/app/views/open_conference_ware/rooms/edit.html.erb +3 -0
  200. data/app/views/open_conference_ware/rooms/index.html.erb +13 -0
  201. data/app/views/open_conference_ware/rooms/new.html.erb +3 -0
  202. data/app/views/open_conference_ware/rooms/show.html.erb +27 -0
  203. data/app/views/open_conference_ware/schedule_items/_form.html.erb +35 -0
  204. data/app/views/open_conference_ware/schedule_items/edit.html.erb +3 -0
  205. data/app/views/open_conference_ware/schedule_items/index.html.erb +31 -0
  206. data/app/views/open_conference_ware/schedule_items/new.html.erb +3 -0
  207. data/app/views/open_conference_ware/schedule_items/show.html.erb +30 -0
  208. data/app/views/open_conference_ware/selector_votes/index.html.erb +81 -0
  209. data/app/views/open_conference_ware/session_types/_form.html.erb +23 -0
  210. data/app/views/open_conference_ware/session_types/edit.html.erb +3 -0
  211. data/app/views/open_conference_ware/session_types/index.html.erb +18 -0
  212. data/app/views/open_conference_ware/session_types/new.html.erb +3 -0
  213. data/app/views/open_conference_ware/session_types/show.html.erb +14 -0
  214. data/app/views/open_conference_ware/speaker_mailer/speaker_email.text.erb +14 -0
  215. data/app/views/open_conference_ware/tracks/_colors.css.erb +7 -0
  216. data/app/views/open_conference_ware/tracks/_form.html.erb +36 -0
  217. data/app/views/open_conference_ware/tracks/edit.html.erb +3 -0
  218. data/app/views/open_conference_ware/tracks/index.html.erb +25 -0
  219. data/app/views/open_conference_ware/tracks/new.html.erb +3 -0
  220. data/app/views/open_conference_ware/tracks/show.html.erb +19 -0
  221. data/app/views/open_conference_ware/user_favorites/index.html.erb +12 -0
  222. data/app/views/open_conference_ware/users/_account_box.html.erb +10 -0
  223. data/app/views/open_conference_ware/users/_block.html.erb +80 -0
  224. data/app/views/open_conference_ware/users/_list.html.erb +17 -0
  225. data/app/views/open_conference_ware/users/edit.html.erb +73 -0
  226. data/app/views/open_conference_ware/users/index.html.erb +28 -0
  227. data/app/views/open_conference_ware/users/new.html.erb +7 -0
  228. data/app/views/open_conference_ware/users/proposals.html.erb +24 -0
  229. data/app/views/open_conference_ware/users/show.html.erb +5 -0
  230. data/app/views/open_conference_ware/welcome/test.html.haml +8 -0
  231. data/bin/rails +8 -0
  232. data/ci/Gemfile.ci +13 -0
  233. data/ci/copy_database_config.rb +6 -0
  234. data/ci/database.mysql.yml +5 -0
  235. data/ci/database.postgresql.yml +4 -0
  236. data/ci/database.sqlite.yml +5 -0
  237. data/config/initializers/acts_as_taggable_on.rb +2 -0
  238. data/config/initializers/date_time_formats.rb +9 -0
  239. data/config/routes.rb +74 -0
  240. data/db/migrate/20131203235128_create_open_conference_ware_authentications.rb +14 -0
  241. data/db/migrate/20131203235216_create_open_conference_ware_comments.rb +14 -0
  242. data/db/migrate/20131203235418_create_open_conference_ware_events.rb +27 -0
  243. data/db/migrate/20131203235524_create_open_conference_ware_proposals.rb +36 -0
  244. data/db/migrate/20131203235723_create_open_conference_ware_rooms.rb +20 -0
  245. data/db/migrate/20131203235831_create_open_conference_ware_schedule_items.rb +18 -0
  246. data/db/migrate/20131203235910_create_open_conference_ware_selector_votes.rb +10 -0
  247. data/db/migrate/20131203235934_create_open_conference_ware_session_types.rb +14 -0
  248. data/db/migrate/20131204000008_create_open_conference_ware_snippets.rb +15 -0
  249. data/db/migrate/20131204000048_create_open_conference_ware_taggings.rb +16 -0
  250. data/db/migrate/20131204000129_create_open_conference_ware_tags.rb +7 -0
  251. data/db/migrate/20131204000147_create_open_conference_ware_tracks.rb +15 -0
  252. data/db/migrate/20131204000230_create_open_conference_ware_user_favorites.rb +10 -0
  253. data/db/migrate/20131204000251_create_open_conference_ware_users.rb +24 -0
  254. data/db/migrate/20131204000355_create_proposals_users_join_table.rb +8 -0
  255. data/db/seeds.rb +31 -0
  256. data/features/comment_create.feature +9 -0
  257. data/features/comment_destroy.feature +22 -0
  258. data/features/comment_new.feature +22 -0
  259. data/features/step_definitions/authentication_steps.rb +22 -0
  260. data/features/step_definitions/comment_create_steps.rb +5 -0
  261. data/features/step_definitions/comment_destroy_steps.rb +13 -0
  262. data/features/step_definitions/comment_new_steps.rb +41 -0
  263. data/features/step_definitions/notification_steps.rb +3 -0
  264. data/features/step_definitions/web_steps.rb +263 -0
  265. data/features/support/env.rb +58 -0
  266. data/features/support/helpers.rb +17 -0
  267. data/features/support/paths.rb +35 -0
  268. data/gem-public_cert.pem +22 -0
  269. data/lib/defer_proxy.rb +127 -0
  270. data/lib/ext/color_rgb_serializer_fix.rb +18 -0
  271. data/lib/ext/string_possessiveize.rb +7 -0
  272. data/lib/ext/vpim_icalendar_extra_properties.rb +25 -0
  273. data/lib/generators/open_conference_ware/install/USAGE +12 -0
  274. data/lib/generators/open_conference_ware/install/install_generator.rb +35 -0
  275. data/lib/generators/open_conference_ware/install/templates/config_initializer.rb +110 -0
  276. data/lib/generators/open_conference_ware/install/templates/omniauth_initializer.rb +33 -0
  277. data/lib/open_conference_ware.rb +156 -0
  278. data/lib/open_conference_ware/dependencies.rb +38 -0
  279. data/lib/open_conference_ware/engine.rb +38 -0
  280. data/lib/open_conference_ware/omni_auth_builder.rb +8 -0
  281. data/lib/open_conference_ware/version.rb +3 -0
  282. data/lib/rwikibot_page_drone.rb +70 -0
  283. data/lib/tasks/.gitkeep +0 -0
  284. data/lib/tasks/audio.rake +53 -0
  285. data/lib/tasks/cucumber.rake +65 -0
  286. data/lib/tasks/export.rake +170 -0
  287. data/lib/tasks/mediawiki.rake +96 -0
  288. data/lib/tasks/open_conference_ware_tasks.rake +16 -0
  289. data/lib/tasks/schedule.rake +103 -0
  290. data/lib/tasks/snippets.rake +23 -0
  291. data/open_conference_ware.gemspec +67 -0
  292. data/original_graphics/favorite.psd +0 -0
  293. data/spec/controllers/open_conference_ware/application_controller_spec.rb +309 -0
  294. data/spec/controllers/open_conference_ware/authentications_controller_spec.rb +87 -0
  295. data/spec/controllers/open_conference_ware/comments_controller_spec.rb +146 -0
  296. data/spec/controllers/open_conference_ware/events_controller_spec.rb +102 -0
  297. data/spec/controllers/open_conference_ware/manage_events_controller_spec.rb +103 -0
  298. data/spec/controllers/open_conference_ware/proposals_controller_spec.rb +1273 -0
  299. data/spec/controllers/open_conference_ware/rooms_controller_spec.rb +190 -0
  300. data/spec/controllers/open_conference_ware/selector_votes_controller_spec.rb +263 -0
  301. data/spec/controllers/open_conference_ware/session_types_controller_spec.rb +190 -0
  302. data/spec/controllers/open_conference_ware/sessions_routing_spec.rb +13 -0
  303. data/spec/controllers/open_conference_ware/tracks_controller_spec.rb +190 -0
  304. data/spec/controllers/open_conference_ware/user_favorites_controller_spec.rb +127 -0
  305. data/spec/controllers/open_conference_ware/users_controller_spec.rb +166 -0
  306. data/spec/dummy/README.rdoc +28 -0
  307. data/spec/dummy/Rakefile +6 -0
  308. data/spec/dummy/app/assets/images/.keep +0 -0
  309. data/spec/dummy/app/assets/javascripts/application.js +13 -0
  310. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  311. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  312. data/spec/dummy/app/controllers/concerns/.keep +0 -0
  313. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  314. data/spec/dummy/app/mailers/.keep +0 -0
  315. data/spec/dummy/app/models/.keep +0 -0
  316. data/spec/dummy/app/models/concerns/.keep +0 -0
  317. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  318. data/spec/dummy/bin/bundle +3 -0
  319. data/spec/dummy/bin/rails +4 -0
  320. data/spec/dummy/bin/rake +4 -0
  321. data/spec/dummy/config.ru +4 -0
  322. data/spec/dummy/config/application.rb +30 -0
  323. data/spec/dummy/config/boot.rb +5 -0
  324. data/spec/dummy/config/database.yml +25 -0
  325. data/spec/dummy/config/environment.rb +5 -0
  326. data/spec/dummy/config/environments/development.rb +29 -0
  327. data/spec/dummy/config/environments/production.rb +80 -0
  328. data/spec/dummy/config/environments/test.rb +36 -0
  329. data/spec/dummy/config/initializers/01_open_conference_ware.rb +110 -0
  330. data/spec/dummy/config/initializers/02_omniauth.rb +17 -0
  331. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  332. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  333. data/spec/dummy/config/initializers/inflections.rb +16 -0
  334. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  335. data/spec/dummy/config/initializers/secret_token.rb +12 -0
  336. data/spec/dummy/config/initializers/session_store.rb +3 -0
  337. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  338. data/spec/dummy/config/locales/en.yml +23 -0
  339. data/spec/dummy/config/routes.rb +3 -0
  340. data/spec/dummy/db/schema.rb +219 -0
  341. data/spec/dummy/db/seeds.rb +10 -0
  342. data/spec/dummy/lib/assets/.keep +0 -0
  343. data/spec/dummy/log/.keep +0 -0
  344. data/spec/dummy/public/404.html +58 -0
  345. data/spec/dummy/public/422.html +58 -0
  346. data/spec/dummy/public/500.html +57 -0
  347. data/spec/dummy/public/favicon.ico +0 -0
  348. data/spec/factories/authentication_factory.rb +16 -0
  349. data/spec/factories/common_factory.rb +4 -0
  350. data/spec/factories/event_factory.rb +26 -0
  351. data/spec/factories/proposal_factory.rb +57 -0
  352. data/spec/factories/proposal_user_factory.rb +7 -0
  353. data/spec/factories/room_factory.rb +11 -0
  354. data/spec/factories/schedule_item_factory.rb +13 -0
  355. data/spec/factories/session_types_factory.rb +10 -0
  356. data/spec/factories/snippet_factory.rb +7 -0
  357. data/spec/factories/track_factory.rb +12 -0
  358. data/spec/factories/user_factory.rb +22 -0
  359. data/spec/factories/user_favorite_factory.rb +7 -0
  360. data/spec/features/sign_in_spec.rb +11 -0
  361. data/spec/features/snippets_spec.rb +38 -0
  362. data/spec/fixtures/open_conference_ware_comments.yml +27 -0
  363. data/spec/fixtures/open_conference_ware_events.yml +56 -0
  364. data/spec/fixtures/open_conference_ware_proposals.yml +256 -0
  365. data/spec/fixtures/open_conference_ware_rooms.yml +13 -0
  366. data/spec/fixtures/open_conference_ware_schedule_items.yml +23 -0
  367. data/spec/fixtures/open_conference_ware_session_types.yml +19 -0
  368. data/spec/fixtures/open_conference_ware_snippets.yml +62 -0
  369. data/spec/fixtures/open_conference_ware_tracks.yml +65 -0
  370. data/spec/fixtures/open_conference_ware_user_favorites.yml +7 -0
  371. data/spec/fixtures/open_conference_ware_users.yml +87 -0
  372. data/spec/helpers/open_conference_ware/application_helper_spec.rb +58 -0
  373. data/spec/helpers/open_conference_ware/authentications_helper_spec.rb +15 -0
  374. data/spec/helpers/open_conference_ware/display_link_to_helper_spec.rb +52 -0
  375. data/spec/helpers/open_conference_ware/proposals_helper_spec.rb +32 -0
  376. data/spec/helpers/open_conference_ware/rooms_helper_spec.rb +11 -0
  377. data/spec/helpers/open_conference_ware/session_types_helper_spec.rb +15 -0
  378. data/spec/helpers/open_conference_ware/time_range_helper_spec.rb +56 -0
  379. data/spec/helpers/open_conference_ware/tracks_helper_spec.rb +11 -0
  380. data/spec/helpers/open_conference_ware/user_favorites_helper_spec.rb +11 -0
  381. data/spec/integration/open_conference_ware/cache_lookups_mixin_spec.rb +122 -0
  382. data/spec/mixins/open_conference_ware/normalize_url_mixin_spec.rb +65 -0
  383. data/spec/models/open_conference_ware/authentication_spec.rb +67 -0
  384. data/spec/models/open_conference_ware/event_spec.rb +211 -0
  385. data/spec/models/open_conference_ware/proposal_spec.rb +606 -0
  386. data/spec/models/open_conference_ware/room_spec.rb +14 -0
  387. data/spec/models/open_conference_ware/schedule_item_spec.rb +12 -0
  388. data/spec/models/open_conference_ware/schedule_spec.rb +358 -0
  389. data/spec/models/open_conference_ware/selector_vote_spec.rb +12 -0
  390. data/spec/models/open_conference_ware/session_type_spec.rb +15 -0
  391. data/spec/models/open_conference_ware/snippet_spec.rb +13 -0
  392. data/spec/models/open_conference_ware/speaker_mailer_spec.rb +91 -0
  393. data/spec/models/open_conference_ware/track_spec.rb +36 -0
  394. data/spec/models/open_conference_ware/user_favorite_spec.rb +41 -0
  395. data/spec/models/open_conference_ware/user_spec.rb +77 -0
  396. data/spec/ocw_config.rb +76 -0
  397. data/spec/rcov.opts +2 -0
  398. data/spec/spec.opts +3 -0
  399. data/spec/spec_helper.rb +55 -0
  400. data/spec/spec_helper_customizations.rb +125 -0
  401. data/spec/support/add_all_helpers_to_view.rb +24 -0
  402. data/spec/support/authenticated_test_helper.rb +27 -0
  403. data/spec/support/fixture_shortcuts.rb +18 -0
  404. data/spec/support/omniauth.rb +34 -0
  405. data/spec/support/valid_params_extraction.rb +15 -0
  406. data/spec/views/open_conference_ware/proposals/_room_control.html.erb_spec.rb +23 -0
  407. data/spec/views/open_conference_ware/proposals/_transition_control.html.erb_spec.rb +14 -0
  408. data/spec/views/open_conference_ware/proposals/show.html.erb_spec.rb +128 -0
  409. data/spec/views/open_conference_ware/rooms/index.html.erb_spec.rb +19 -0
  410. data/spec/views/open_conference_ware/rooms/show.html.erb_spec.rb +15 -0
  411. data/spec/views/open_conference_ware/selector_votes/index.html.erb_spec.rb +41 -0
  412. data/spec/views/open_conference_ware/session_types/edit.html.erb_spec.rb +25 -0
  413. data/spec/views/open_conference_ware/session_types/index.html.erb_spec.rb +19 -0
  414. data/spec/views/open_conference_ware/session_types/new.html.erb_spec.rb +24 -0
  415. data/spec/views/open_conference_ware/session_types/show.html.erb_spec.rb +18 -0
  416. data/spec/views/open_conference_ware/tracks/edit.html.erb_spec.rb +25 -0
  417. data/spec/views/open_conference_ware/tracks/index.html.erb_spec.rb +56 -0
  418. data/spec/views/open_conference_ware/tracks/new.html.erb_spec.rb +26 -0
  419. data/spec/views/open_conference_ware/tracks/show.html.erb_spec.rb +23 -0
  420. data/spec/views/open_conference_ware/user_favorites/index.html.erb_spec.rb +29 -0
  421. data/spec/views/open_conference_ware/users/index_spec.rb +24 -0
  422. data/util/add_id3_tags_to_mp3.rb +57 -0
  423. data/util/schedule_demo.rb +36 -0
  424. data/util/seed_schedule.rb +61 -0
  425. data/util/sessions_to_lanyrd.rb +166 -0
  426. data/util/transfer_schedule_items.rb +25 -0
  427. data/util/update_proposal_status_from_voting_spreadsheet.rb +26 -0
  428. data/util/user_favorites_contention_report.rb +42 -0
  429. data/util/user_favorites_contention_report.sh +9 -0
  430. data/vendor/assets/fonts/glyphicons-halflings-regular.eot +0 -0
  431. data/vendor/assets/fonts/glyphicons-halflings-regular.svg +228 -0
  432. data/vendor/assets/fonts/glyphicons-halflings-regular.ttf +0 -0
  433. data/vendor/assets/fonts/glyphicons-halflings-regular.woff +0 -0
  434. data/vendor/assets/images/farbtastic/marker.png +0 -0
  435. data/vendor/assets/images/farbtastic/mask.png +0 -0
  436. data/vendor/assets/images/farbtastic/wheel.png +0 -0
  437. data/vendor/assets/images/idselector/aol.ico +0 -0
  438. data/vendor/assets/images/idselector/arrow.gif +0 -0
  439. data/vendor/assets/images/idselector/arrow_white_back.png +0 -0
  440. data/vendor/assets/images/idselector/arrow_white_forward.png +0 -0
  441. data/vendor/assets/images/idselector/blogger.ico +0 -0
  442. data/vendor/assets/images/idselector/claimid.ico +0 -0
  443. data/vendor/assets/images/idselector/flickr.ico +0 -0
  444. data/vendor/assets/images/idselector/google.ico +0 -0
  445. data/vendor/assets/images/idselector/lj.ico +0 -0
  446. data/vendor/assets/images/idselector/myopenid.ico +0 -0
  447. data/vendor/assets/images/idselector/openid.ico +0 -0
  448. data/vendor/assets/images/idselector/technorati.ico +0 -0
  449. data/vendor/assets/images/idselector/verisign.ico +0 -0
  450. data/vendor/assets/images/idselector/vidoop2.ico +0 -0
  451. data/vendor/assets/images/idselector/vox.ico +0 -0
  452. data/vendor/assets/images/idselector/yahoo.ico +0 -0
  453. data/vendor/assets/javascripts/audiojs/audio.min.js +23 -0
  454. data/vendor/assets/javascripts/audiojs/audiojs.swf +0 -0
  455. data/vendor/assets/javascripts/audiojs/player-graphics.gif +0 -0
  456. data/vendor/assets/javascripts/bootstrap.js +1999 -0
  457. data/vendor/assets/javascripts/farbtastic.js +329 -0
  458. data/vendor/assets/javascripts/html5shiv.js +8 -0
  459. data/vendor/assets/javascripts/idselector.js +538 -0
  460. data/vendor/assets/javascripts/idselector~original.js +532 -0
  461. data/vendor/assets/javascripts/jquery-migrate-1.2.1.js +521 -0
  462. data/vendor/assets/javascripts/jquery.localScroll.js +106 -0
  463. data/vendor/assets/javascripts/jquery.scrollTo.js +174 -0
  464. data/vendor/assets/javascripts/respond.min.js +6 -0
  465. data/vendor/assets/stylesheets/bootstrap-theme.css +384 -0
  466. data/vendor/assets/stylesheets/bootstrap.css +6805 -0
  467. data/vendor/assets/stylesheets/farbtastic.css.scss +38 -0
  468. data/vendor/assets/stylesheets/persona-buttons.css +229 -0
  469. data/vendor/assets/stylesheets/reset-fonts-grids.css +7 -0
  470. metadata +1174 -0
  471. metadata.gz.sig +0 -0
data.tar.gz.sig ADDED
Binary file
data/.autotest ADDED
@@ -0,0 +1,14 @@
1
+ require 'autotest/redgreen'
2
+
3
+ Autotest.add_hook :run do |autotest|
4
+ autotest.add_exception(/\.git/)
5
+ autotest.add_exception(/\.hg/)
6
+ autotest.add_exception(/\.svn/)
7
+ autotest.add_exception(/^\.\/config/)
8
+ autotest.add_exception(/^\.\/coverage/)
9
+ autotest.add_exception(/^\.\/db/)
10
+ autotest.add_exception(/^\.\/log/)
11
+ autotest.add_exception(/^\.\/public/)
12
+ autotest.add_exception(/^\.\/tmp/)
13
+ autotest.add_exception(/^\.\/vendor/)
14
+ end
data/.coveralls.yml ADDED
@@ -0,0 +1 @@
1
+ service_name: travis-ci
data/.gitignore ADDED
@@ -0,0 +1,21 @@
1
+ *.bak
2
+ *.diff
3
+ *.rcov
4
+ *.swp
5
+ *.tmp
6
+ *~
7
+ /*.sql
8
+ /coverage.*
9
+ /coverage/*
10
+ .cadre
11
+ /tags
12
+ /tmp/*
13
+ .ruby-version
14
+ .ruby-gemset
15
+ .bundle
16
+ .sass-cache/
17
+ spec/dummy/db/*.sqlite3
18
+ spec/dummy/db/*.sqlite3-journal
19
+ spec/dummy/log/*.log
20
+ spec/dummy/tmp/
21
+ spec/dummy/.sass-cache
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/.travis.yml ADDED
@@ -0,0 +1,18 @@
1
+ language: ruby
2
+ before_install:
3
+ - cp Gemfile.lock Gemfile.ci.lock
4
+ - cp ci/Gemfile.ci Gemfile.ci
5
+ - export BUNDLE_GEMFILE=$PWD/Gemfile.ci
6
+ bundler_args: --without debug
7
+ rvm:
8
+ - 1.9.3
9
+ - 2.0.0
10
+ env:
11
+ - DB=mysql
12
+ - DB=postgresql
13
+ - DB=sqlite
14
+ before_script:
15
+ - mysql -e 'create database ocw_test;'
16
+ - psql -c 'create database ocw_test;' -U postgres
17
+ - ruby ci/copy_database_config.rb
18
+ - bundle exec rake db:migrate
data/CHANGES.md ADDED
@@ -0,0 +1,280 @@
1
+ ## Changes
2
+
3
+ OpenConferenceWare stable releases and changes included, with latest at top:
4
+
5
+ ### v0.20130720
6
+
7
+ - Added Twitter card metadata to proposal pages.
8
+ - Disabled XML parameter parsing, a security workaround for CVE-2013-0156.
9
+ - Disabled YAML parsing in JSON parsing code, security patch for CVE-2013-0333
10
+ - Disabled rich text editing for snippets
11
+ - Include accepted-but-not-confirmed proposals in admin schedule
12
+ - Improve status notification system.
13
+ - Updated bridgepdx theme for 2014 conference.
14
+
15
+ ### v0.20121002
16
+
17
+ - Added speaking experience to proposals.
18
+ - Added audience level to proposals.
19
+ - Added PDF generation for per-room schedule sheets.
20
+ - Added support for waitlisted sesssions.
21
+ - Added the ability to notify speakers of their selection status and request confirmation.
22
+ - Added a script to generate a user favorites contention report.
23
+ - Add JSON output for Events, Rooms, and Tracks.
24
+ - Improved selector votes.
25
+ - Tweak schedule styling.
26
+ - Improved spec coverage.
27
+ - Updated bridgepdx theme for 2013 conference.
28
+
29
+ ### v0.20110630
30
+
31
+ - Fixed "remember me" feature for logging in through a token.
32
+ - Fixed session type and proposal validations.
33
+ - Improved event management experience.
34
+ - Added CSV exports for speakers.
35
+ - Added capistrano tasks to download production data
36
+ - Added customizable agreement field to settings
37
+ - Improve documentation.
38
+ - Updated bridgepdx theme for 2012 conference.
39
+
40
+ ### v0.20110429
41
+
42
+ - Added support for session audio linking and playback to session pages.
43
+ - Added selection committee voting interface.
44
+ - Fixed issues with Rails caching.
45
+ - Updated bridgepdx theme for 2011 conference.
46
+ - Improved exception notification emails.
47
+
48
+ ### v0.20100818
49
+
50
+ - Fixed iCalendar exporter to skip items without a "start time" and not set the "end time" unless one is defined.
51
+ - Fixed proposal to only show a speaker's sessions for the related event, not all events.
52
+ - Fixed schedule to display time in local timezone.
53
+ - Fixed session's notes link by using URL escaping.
54
+ - Improved iCalendar exporter to add speaker names to excerpt.
55
+ - Improved XML and JSON exporter to include all useful fields in all models.
56
+ - Improved proposals to show the session's type only if multiple types are defined.
57
+ - Improved schedule to also show items not assigned to rooms.
58
+ - Updated `rake bridgepdx:wiki:populate` to work with new libraries.
59
+
60
+ ### v0.20100518
61
+
62
+ - Fixed schedule of user favorites so it's only displayed when the schedule is published.
63
+ - Fixed schedule so admin can view an unreleased schedule with collisions but without room assignments.
64
+ - Fixed schedule items (e.g., coffee breaks) so that they're displayed for an event.
65
+ - Improved schedule so admins can view it before it's published or sessions are assigned to rooms.
66
+ - Improved schedule so that it'd display scheduled items even if they're not assigned to rooms yet.
67
+ - Added task to import schedule for an event from a CSV file: `rake schedule:import:csv`.
68
+ - Added menu link on 'bridgepdx' header to BoF event if they're available.
69
+
70
+ ### v0.20100429.1
71
+
72
+ - FIXED Event, added uniqueness validations to slug and title fields.
73
+ - FIXED `rake clear` to expire the compiled javascripts.
74
+ - FIXED cache consistency, rollbacks now cause expirations so that cache doesn't store stale data.
75
+ - Improved performance of shared fragments, they're now only regenerated as needed and use fast preloaded data.
76
+ - Improved performance of user favorites, they now only load the proposal ids for more efficient transfers.
77
+ - Improved models, added cascade deletes to avoid leaving orphaned records after parents are deleted.
78
+ - Improved "README", described the various custom environmental variables that affect the application's behavior.
79
+ - Improved performance of event loading code by checking identifiers rather than loading entire objects.
80
+ - Added QueryTrace plugin, it shows where database queries are done. Set QUERYTRACE=1 environmental variable to use.
81
+
82
+ ### v0.20100429
83
+
84
+ - Fixed "rake setup" and "rake setup:sample": these now drop, create and populate the database correctly.
85
+ - Improved admin interface, added a way to "accept and decline" a proposal in one step, as pair for the existing "accept and confirm".
86
+ - Improved the "README.markdown" documentation.
87
+
88
+ ### v0.20100408.1
89
+
90
+ - FIXED proposal creation: the acts-as-taggable 1.1.9 plugin was buggy, reverted to 1.1.5.
91
+
92
+ ### v0.20100408
93
+
94
+ - SECURITY flaw fixed: The buggy "restful_authentication" plugin used by OpenConferenceWare and OpenProposals let users without email addresses that had used the "remember me" feature to sometimes login as other users without email addresses that had also used the "remember me" feature during the same day. All known operators running this software were notified and sent patches in advance of this notification. Because authentication was handled by OpenID, a compromise could not be escalated and there was no password to steal, the worst thing an attacker could do was edit your profile and proposals.
95
+ - FIXED handling of multiple events: reworked layout, header, menu, favorites, tracks, etc.
96
+ - FIXED autoincrement id in the events table, which could prevent creation of new events.
97
+ - FIXED "rake setup:sample" to work with an empty database.
98
+ - FIXED exception handling to display clearer messages and correctly handle rendering errors in the layout.
99
+ - FIXED "/events/EVENTID/proposals/stats" to use per-event caching.
100
+ - CHANGED Gem dependencies to use Bundler. You must install the "bundler" gem and run "bundle install" to install the application's dependencies. If you're using the Capistrano deploy task, install Bundler and its "deploy" task will automatically install the other dependencies.
101
+ - CHANGED "bridgepdx" theme for 2010, it uses a new menu that provides a way to choose events and their associated data.
102
+ - Added shared fragments to provide a common heaer for Rails app, WordPress blog and wikis, these are local files that are included into these different applications.
103
+ - Added task to update thumbnails: `rake paperclip:refresh CLASS=User`
104
+ - Added factory_girl library, factories and additional specs.
105
+
106
+ ### v0.20100218
107
+
108
+ - FIXED event-related checks to use a proposal's event when possible,
109
+ rather than the current event, since these aren't always the same.
110
+ - FIXED scrolling to a specific field on the admin's "Manage event" page.
111
+ - Added #scroll_to helper, which scrolls the page to an HTML element.
112
+ - Added "cap db:use" task to dump and download remote database and
113
+ restore it locally.
114
+ - Improved "rake db:raw:*" tasks to support proper database dump and
115
+ restore for MySQL, PostgreSQL and SQLite3.
116
+ - Upgraded to jQuery 1.3.2 and jwysiwyg 0.6.
117
+
118
+ ### v0.20100206.1
119
+
120
+ - FIXED rake use when not running the "test" environment.
121
+
122
+ ### v0.20100206
123
+
124
+ - FIXED Event#underway? typo that would throw exception in schedule.
125
+ - Improved Proposal's session notes wiki linkage to use flexible URLs.
126
+ - Improved Proposal's export to iCalendar to include a time zone.
127
+ - Improved Room, added picture of room.
128
+ - Improved Proposal to only sort in a few specific ways.
129
+ - Improved DeferProxy, made it simpler and more transparent.
130
+
131
+ ### v0.20090616
132
+
133
+ - FIXED bug that showed proposal statuses (e.g., "Accepted session")
134
+ before these statues were published. They're now only shown if the
135
+ Admin sets the "Proposal statuses published?" flag on an event.
136
+ - FIXED the login "remember me" feature. Previously it was ignored.
137
+ - FIXED proposals feeds. Made top-level "/proposal.atom" and
138
+ event-specific "/events/2009/proposals.atom" feed. Also fixed the feed
139
+ article timestamps so proposals aren't relisted if edited.
140
+ - FIXED the views to use "record-controls" wrappers around controls.
141
+ - CHANGED logic for finding the current event: first try using the
142
+ "settings.yml" file's "current_event_slug" field and find an event
143
+ with a matching slug, else use the old latest-deadline logic. Setting
144
+ a current event is necessary if you have multiple open events and want
145
+ a specific one to respond to URLs like "/proposals".
146
+ - CHANGED anonymous user's label from something like "myopenid.com" to
147
+ "User #123 at myopenid.com", which is much clearer.
148
+ - CHANGED "rake db:dump" and "rake db:restore" to "rake db:raw:dump" and
149
+ "rake db:raw:restore" to avoid collisions with YamlDB.
150
+ - Improved "rake db:raw:dump" and "rake db:raw:restore" to support both
151
+ SQLite and MySQL.
152
+ - Improved proposal form, if an event has a single track or session
153
+ type, it's used as the default and no UI is shown. This helps child
154
+ events, e.g., parent has many tracks, child has one track.
155
+ - Improved events, added parent/child relationships between them. Change
156
+ these these associations via the Admin's manage events UI.
157
+ - Added user favorites, these show up as stars next to all proposals.
158
+ - Added speaker list, e.g., "/events/2009/speakers".
159
+ - Improved display of sublists (e.g., a user's sessions and proposals).
160
+ These list links back to sessions and display favorites.
161
+ - Improved CSV exports for proposals and added these to speakers.
162
+ - Improved session sidebox, added room and scheduling information.
163
+
164
+ ### v0.20090605
165
+
166
+ - FIXED schema/migrations for MySQL, it was truncating important columns
167
+ to 255 characters. This fix upgrades these "varchar(255)" columns to
168
+ "text": proposal descriptions, schedule items excerpts and
169
+ descriptions, snippets descriptions, and tracks descriptions. If you
170
+ were using SQLite, you were not affected by this bug.
171
+
172
+ ### v0.20090524
173
+
174
+ - FIXED layout, it no longer raises an exception if there's no event.
175
+ - FIXED cache expiration, it no longer raises an exception if called
176
+ when there's no cache directory.
177
+ - FIXED events#index and events#show, they now keep flash notifications,
178
+ these were previously getting discarded.
179
+ - FIXED schedule, it now only displays proposals that are confirmed and
180
+ scheduled, previously it displayed proposals that were just scheduled.
181
+ - Added event slugs. These provide unique string identifiers for events
182
+ (e.g., "2009bof"), rather the old integer identifiers (e.g., 2009).
183
+ - Improved proposal's admin UI, the room and schedule controls are only
184
+ shown if the proposal is in a confirmed state.
185
+ - Added new CSV export system that provides more flexible exporting.
186
+ - Added DeferProxy, a clearer way to defer expensive queries.
187
+
188
+ ### v0.20090516
189
+
190
+ - Added schedule. It can be displayed as HTML or imported as iCalendar
191
+ and hCalendar data. New admin interfaces provide ways to create and
192
+ manage ScheduleItems, non-session scheduled items such as a lunch
193
+ break, and toggle whether the schedule is available to the public. A
194
+ new "schedule:import:google_spreadheet" rake task is provided for
195
+ importing schedule data from Google Spreadsheets as an alternative to
196
+ using the per-item and bulk edit interfaces for setting the schedule.
197
+ - Improved the ProposalsController#sort_proposals method to use
198
+ arguments rather than params, making it much easier to use and extend.
199
+ - Improved Track color handling with Color objects to make fancy color
200
+ transformations easy.
201
+
202
+ ### v0.20090514
203
+
204
+ - FIXED lookup of current event when no events where in the database.
205
+ - FIXED compatibility with Ruby 1.8.6p111, which doesn't have Enumerable#count.
206
+ - Added association from rooms to events.
207
+ - Added "rake export:speakers" task.
208
+
209
+ ### v0.20090505
210
+
211
+ - FIXED bug introduced by new ruby-openid and passengerl libraries that broke logins.
212
+ - FIXED bug introduced by new RubyGems library that broke Time::today.
213
+ - Refactored sorting and caching code used by proposals#index and
214
+ proposals#sessions_index. Added specs.
215
+ - Added "rake tags" task that automatically uses ctags or rtags.
216
+ - Added initial support for publishing schedule as iCalendar.
217
+
218
+ ### v0.20090425
219
+ - Added support for displaying sessions differently than proposals.
220
+ - Added heavy caching to proposals and sessions indexes.
221
+ - Added helpers to display main and sub navigation based on proposal
222
+ status and portion of the site being used.
223
+ - Improved user profiles, added Twitter and Identi.ca handles, and Blog URL.
224
+ - Improved proposals, sessions and schedule, if non-admin visits these
225
+ paths before status is published, they'll be redirected away.
226
+ - Improved NormalizeUrlMixin to validate multiple URLs at once.
227
+ - Improved boot, added check that ensures migrations have been applied.
228
+ - Improved documentation.
229
+
230
+ ### v0.20090416
231
+
232
+ - FIXED login to work with current versions of ruby_openid and Passenger.
233
+ - FIXED schema, made it compatible with other databases. SQLite was too lax.
234
+ - HACKED proposal#edit, allowing owners to edit forever. This will be revised.
235
+ - Improved manage/events#proposals, added display of proposal counts by
236
+ - status to bulk editor.
237
+ - Improved proposal#edit, added instructions for asking other speakers to
238
+ complete their profile so they can be added.
239
+ - Improved users#show, added a "me" route for accessing current user's profile
240
+ via </users/me>.
241
+ - Added users#complete_profile, which provides a way to complete a person's
242
+ profile, typically offered as link to </users/me/complete_profile>.
243
+ - Improved database support, added MySQL. See
244
+ "config/database~mysql.sample.yml" for sample.
245
+ - Improved caching support, added memcache. See
246
+ "lib/rails_cache_configurator.rb" for details.
247
+ - Improved caching, added many caches and eliminated many queries.
248
+ - Added "rake clear:cache" task which empties memcache or filesystem caches.
249
+
250
+ ### v0.20090412
251
+
252
+ - Improved logit, made it more efficient by avoiding calls based on log level.
253
+ - Added cucumber specifications for comments.
254
+ - Added cucumber (rake features).
255
+ - Upgraded rspec, switched to gem-based dependency.
256
+
257
+ ## Older Changes
258
+
259
+ Below are the list of OpenProposals versions by GIT id (latest is at top) and the
260
+ changes made to them:
261
+
262
+ ### 6098fe90a3e652a7e57497f31fa38d2df8912dd1
263
+
264
+ - IMPROVED: ExceptionHandlingMixin now notifies on InvalidAuthenticityToken exceptions.
265
+
266
+ ### 3a07223c1ed0d59d6f0bdcba83be519c9db4f81b
267
+
268
+ - FIXED: ExceptionHandlingMixin now catches InvalidAuthenticityToken errors.
269
+
270
+ ### a9e00d9d22dcc16b53d2e8f1a5d167b53b69a9a2
271
+
272
+ - FIXED: themes/*/layouts/application.html.erb now doesn't raise exceptions if @events wasn't assigned.
273
+ - FIXED: AuthenticationSystem#current_user now works in specs when no one is logged in.
274
+ - IMPROVED: ExceptionHandlingMixin now sends errors even if error template rending fails.
275
+ - IMPROVED: ApplicationController#can_edit? now works on Proposals and Users.
276
+
277
+ ### 85dcb7365a455d5b21de80ec04e54c271d47e913
278
+
279
+ - Published source code
280
+
@@ -0,0 +1,17 @@
1
+ Contributors
2
+ ============
3
+
4
+ * Igal Koshevoy: http://pragmaticraft.com/
5
+ * Reid Beels: http://reidbeels.com/
6
+ * Todd Kenefsky: http://connectinteractivemedia.com/
7
+ * Audrey Eschright: http://lifeofaudrey.com/
8
+ * Selena Deckelmann: http://www.chesnok.com/daily/
9
+ * Kirsten Comandich: http://comandich.com/
10
+ * Brandon Philips: http://ifup.org/
11
+ * Scott Becker: http://synthesis.sbecker.net/
12
+ * Don Park: http://donpark.org/
13
+ * Sam Goldstein: http://twitter.com/sam_goldstein/
14
+ * James Murty: http://www.jamesmurty.com/
15
+ * David Cato: http://crunchyfrog.net/
16
+ * Drew Kalina: http://drewkalina.org/
17
+ * Jason LaPier: http://offtheline.net/
data/Gemfile ADDED
@@ -0,0 +1,21 @@
1
+ source "https://rubygems.org"
2
+
3
+ # Declare your gem's dependencies in open_conference_ware.gemspec.
4
+ # Bundler will treat runtime dependencies like base dependencies, and
5
+ # development dependencies will be added by default to the :development group.
6
+ gemspec
7
+
8
+ # Declare any dependencies that are still in development here instead of in
9
+ # your gemspec. These might include edge Rails or gems from your path or
10
+ # Git. Remember to move these dependencies to your gemspec before releasing
11
+ # your gem to rubygems.org.
12
+ group :development do
13
+ gem 'rspec-rails', git: 'https://github.com/rspec/rspec-rails.git', branch: '2-14-maintenance'
14
+ end
15
+
16
+ group :debug do
17
+ gem 'debugger'
18
+ gem 'pry'
19
+ gem 'launchy'
20
+ end
21
+
data/Gemfile.lock ADDED
@@ -0,0 +1,296 @@
1
+ GIT
2
+ remote: https://github.com/rspec/rspec-rails.git
3
+ revision: 7ba54365f8cd1f9dc761bd837816f224e4fe23c0
4
+ branch: 2-14-maintenance
5
+ specs:
6
+ rspec-rails (2.14.0)
7
+ actionpack (>= 3.0)
8
+ activemodel (>= 3.0)
9
+ activesupport (>= 3.0)
10
+ railties (>= 3.0)
11
+ rspec-core (~> 2.14.0)
12
+ rspec-expectations (~> 2.14.0)
13
+ rspec-mocks (~> 2.14.0)
14
+
15
+ PATH
16
+ remote: .
17
+ specs:
18
+ open_conference_ware (0.0.1)
19
+ RedCloth
20
+ aasm
21
+ acts-as-taggable-on
22
+ color
23
+ comma (~> 3.0)
24
+ dalli
25
+ dynamic_form
26
+ gchartrb (~> 0.8.0)
27
+ hashery
28
+ jquery-rails
29
+ nokogiri
30
+ omniauth (~> 1.1.4)
31
+ paperclip
32
+ prawn
33
+ rails (~> 4.0.2)
34
+ rails-observers (~> 0.1.2)
35
+ rinku
36
+ sass-rails (~> 4.0.0)
37
+ uglifier
38
+ vpim
39
+
40
+ GEM
41
+ remote: https://rubygems.org/
42
+ specs:
43
+ Ascii85 (1.0.2)
44
+ RedCloth (4.2.9)
45
+ aasm (3.0.24)
46
+ actionmailer (4.0.2)
47
+ actionpack (= 4.0.2)
48
+ mail (~> 2.5.4)
49
+ actionpack (4.0.2)
50
+ activesupport (= 4.0.2)
51
+ builder (~> 3.1.0)
52
+ erubis (~> 2.7.0)
53
+ rack (~> 1.5.2)
54
+ rack-test (~> 0.6.2)
55
+ activemodel (4.0.2)
56
+ activesupport (= 4.0.2)
57
+ builder (~> 3.1.0)
58
+ activerecord (4.0.2)
59
+ activemodel (= 4.0.2)
60
+ activerecord-deprecated_finders (~> 1.0.2)
61
+ activesupport (= 4.0.2)
62
+ arel (~> 4.0.0)
63
+ activerecord-deprecated_finders (1.0.3)
64
+ activesupport (4.0.2)
65
+ i18n (~> 0.6, >= 0.6.4)
66
+ minitest (~> 4.2)
67
+ multi_json (~> 1.3)
68
+ thread_safe (~> 0.1)
69
+ tzinfo (~> 0.3.37)
70
+ acts-as-taggable-on (2.4.1)
71
+ rails (>= 3, < 5)
72
+ addressable (2.3.5)
73
+ afm (0.2.0)
74
+ arel (4.0.1)
75
+ atomic (1.1.14)
76
+ builder (3.1.4)
77
+ cadre (0.2.1)
78
+ thor (~> 0.18.1)
79
+ tilt (~> 1.0)
80
+ valise (~> 1.0)
81
+ capybara (2.2.0)
82
+ mime-types (>= 1.16)
83
+ nokogiri (>= 1.3.3)
84
+ rack (>= 1.0.0)
85
+ rack-test (>= 0.5.4)
86
+ xpath (~> 2.0)
87
+ celluloid (0.15.2)
88
+ timers (~> 1.1.0)
89
+ climate_control (0.0.3)
90
+ activesupport (>= 3.0)
91
+ cocaine (0.5.3)
92
+ climate_control (>= 0.0.3, < 1.0)
93
+ coderay (1.1.0)
94
+ color (1.4.2)
95
+ columnize (0.3.6)
96
+ comma (3.2.0)
97
+ activesupport (>= 3.0.0)
98
+ coveralls (0.7.0)
99
+ multi_json (~> 1.3)
100
+ rest-client
101
+ simplecov (>= 0.7)
102
+ term-ansicolor
103
+ thor
104
+ cucumber (1.3.10)
105
+ builder (>= 2.1.2)
106
+ diff-lcs (>= 1.1.3)
107
+ gherkin (~> 2.12)
108
+ multi_json (>= 1.7.5, < 2.0)
109
+ multi_test (>= 0.0.2)
110
+ cucumber-rails (1.4.0)
111
+ capybara (>= 1.1.2)
112
+ cucumber (>= 1.2.0)
113
+ nokogiri (>= 1.5.0)
114
+ rails (>= 3.0.0)
115
+ dalli (2.6.4)
116
+ database_cleaner (1.2.0)
117
+ debugger (1.6.3)
118
+ columnize (>= 0.3.1)
119
+ debugger-linecache (~> 1.2.0)
120
+ debugger-ruby_core_source (~> 1.2.4)
121
+ debugger-linecache (1.2.0)
122
+ debugger-ruby_core_source (1.2.4)
123
+ diff-lcs (1.2.5)
124
+ docile (1.1.1)
125
+ dynamic_form (1.1.4)
126
+ erubis (2.7.0)
127
+ execjs (2.0.2)
128
+ factory_girl (4.3.0)
129
+ activesupport (>= 3.0.0)
130
+ factory_girl_rails (4.3.0)
131
+ factory_girl (~> 4.3.0)
132
+ railties (>= 3.0.0)
133
+ ffi (1.9.3)
134
+ formatador (0.2.4)
135
+ gchartrb (0.8)
136
+ gherkin (2.12.2)
137
+ multi_json (~> 1.3)
138
+ guard (2.2.4)
139
+ formatador (>= 0.2.4)
140
+ listen (~> 2.1)
141
+ lumberjack (~> 1.0)
142
+ pry (>= 0.9.12)
143
+ thor (>= 0.18.1)
144
+ guard-rspec (4.1.0)
145
+ guard (>= 2.1.1)
146
+ rspec (~> 2.14)
147
+ hashery (2.1.1)
148
+ hashie (2.0.5)
149
+ hike (1.2.3)
150
+ i18n (0.6.9)
151
+ jquery-rails (3.0.4)
152
+ railties (>= 3.0, < 5.0)
153
+ thor (>= 0.14, < 2.0)
154
+ json (1.8.1)
155
+ launchy (2.4.2)
156
+ addressable (~> 2.3)
157
+ listen (2.3.1)
158
+ celluloid (>= 0.15.2)
159
+ rb-fsevent (>= 0.9.3)
160
+ rb-inotify (>= 0.9)
161
+ lumberjack (1.0.4)
162
+ mail (2.5.4)
163
+ mime-types (~> 1.16)
164
+ treetop (~> 1.4.8)
165
+ method_source (0.8.2)
166
+ mime-types (1.25.1)
167
+ mini_portile (0.5.2)
168
+ minitest (4.7.5)
169
+ multi_json (1.8.2)
170
+ multi_test (0.0.2)
171
+ nokogiri (1.6.0)
172
+ mini_portile (~> 0.5.0)
173
+ omniauth (1.1.4)
174
+ hashie (>= 1.2, < 3)
175
+ rack
176
+ omniauth-openid (1.0.1)
177
+ omniauth (~> 1.0)
178
+ rack-openid (~> 1.3.1)
179
+ paperclip (3.5.2)
180
+ activemodel (>= 3.0.0)
181
+ activesupport (>= 3.0.0)
182
+ cocaine (~> 0.5.3)
183
+ mime-types
184
+ pdf-reader (1.3.3)
185
+ Ascii85 (~> 1.0.0)
186
+ afm (~> 0.2.0)
187
+ hashery (~> 2.0)
188
+ ruby-rc4
189
+ ttfunk
190
+ polyglot (0.3.3)
191
+ prawn (0.12.0)
192
+ pdf-reader (>= 0.9.0)
193
+ ttfunk (~> 1.0.2)
194
+ pry (0.9.12.4)
195
+ coderay (~> 1.0)
196
+ method_source (~> 0.8)
197
+ slop (~> 3.4)
198
+ rack (1.5.2)
199
+ rack-openid (1.3.1)
200
+ rack (>= 1.1.0)
201
+ ruby-openid (>= 2.1.8)
202
+ rack-test (0.6.2)
203
+ rack (>= 1.0)
204
+ rails (4.0.2)
205
+ actionmailer (= 4.0.2)
206
+ actionpack (= 4.0.2)
207
+ activerecord (= 4.0.2)
208
+ activesupport (= 4.0.2)
209
+ bundler (>= 1.3.0, < 2.0)
210
+ railties (= 4.0.2)
211
+ sprockets-rails (~> 2.0.0)
212
+ rails-observers (0.1.2)
213
+ activemodel (~> 4.0)
214
+ railties (4.0.2)
215
+ actionpack (= 4.0.2)
216
+ activesupport (= 4.0.2)
217
+ rake (>= 0.8.7)
218
+ thor (>= 0.18.1, < 2.0)
219
+ rake (10.1.0)
220
+ rb-fsevent (0.9.3)
221
+ rb-inotify (0.9.2)
222
+ ffi (>= 0.5.0)
223
+ rest-client (1.6.7)
224
+ mime-types (>= 1.16)
225
+ rinku (1.7.3)
226
+ rspec (2.14.1)
227
+ rspec-core (~> 2.14.0)
228
+ rspec-expectations (~> 2.14.0)
229
+ rspec-mocks (~> 2.14.0)
230
+ rspec-core (2.14.7)
231
+ rspec-expectations (2.14.4)
232
+ diff-lcs (>= 1.1.3, < 2.0)
233
+ rspec-mocks (2.14.4)
234
+ ruby-openid (2.3.0)
235
+ ruby-rc4 (0.1.5)
236
+ sass (3.2.12)
237
+ sass-rails (4.0.1)
238
+ railties (>= 4.0.0, < 5.0)
239
+ sass (>= 3.1.10)
240
+ sprockets-rails (~> 2.0.0)
241
+ simplecov (0.8.2)
242
+ docile (~> 1.1.0)
243
+ multi_json
244
+ simplecov-html (~> 0.8.0)
245
+ simplecov-html (0.8.0)
246
+ slop (3.4.7)
247
+ sprockets (2.10.1)
248
+ hike (~> 1.2)
249
+ multi_json (~> 1.0)
250
+ rack (~> 1.0)
251
+ tilt (~> 1.1, != 1.3.0)
252
+ sprockets-rails (2.0.1)
253
+ actionpack (>= 3.0)
254
+ activesupport (>= 3.0)
255
+ sprockets (~> 2.8)
256
+ sqlite3 (1.3.8)
257
+ term-ansicolor (1.2.2)
258
+ tins (~> 0.8)
259
+ thor (0.18.1)
260
+ thread_safe (0.1.3)
261
+ atomic
262
+ tilt (1.4.1)
263
+ timers (1.1.0)
264
+ tins (0.13.1)
265
+ treetop (1.4.15)
266
+ polyglot
267
+ polyglot (>= 0.3.1)
268
+ ttfunk (1.0.3)
269
+ tzinfo (0.3.38)
270
+ uglifier (2.3.2)
271
+ execjs (>= 0.3.0)
272
+ json (>= 1.8.0)
273
+ valise (1.0.0)
274
+ vpim (13.11.11)
275
+ xpath (2.0.0)
276
+ nokogiri (~> 1.3)
277
+
278
+ PLATFORMS
279
+ ruby
280
+
281
+ DEPENDENCIES
282
+ cadre
283
+ capybara
284
+ coveralls
285
+ cucumber-rails
286
+ database_cleaner
287
+ debugger
288
+ factory_girl_rails
289
+ guard-rspec
290
+ launchy
291
+ omniauth-openid
292
+ open_conference_ware!
293
+ pry
294
+ rspec-rails!
295
+ simplecov
296
+ sqlite3