lcms-engine 0.3.1 → 0.4.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 (328) hide show
  1. checksums.yaml +4 -4
  2. data/.dockerignore +25 -0
  3. data/.eslintignore +2 -1
  4. data/.eslintrc +23 -73
  5. data/.nvmrc +1 -1
  6. data/.overcommit.yml +8 -2
  7. data/.prettierrc +7 -0
  8. data/.rubocop.yml +5 -2
  9. data/.ruby-version +1 -1
  10. data/.stylelintignore +9 -0
  11. data/.stylelintrc +8 -0
  12. data/CHANGELOG.md +42 -2
  13. data/Dockerfile +3 -3
  14. data/Gemfile.lock +345 -298
  15. data/README.md +21 -33
  16. data/app/assets/config/lcms_engine_manifest.js +4 -2
  17. data/app/assets/javascripts/lcms/engine/admin/{application.js → lcms_engine_application.js} +1 -3
  18. data/app/assets/javascripts/lcms/engine/initializers/foundation.js +1 -1
  19. data/app/assets/javascripts/lcms/engine/{application.js → lcms_engine_application.js} +0 -0
  20. data/app/assets/stylesheets/lcms/engine/admin/collections.scss +2 -1
  21. data/app/assets/stylesheets/lcms/engine/admin/components.scss +60 -19
  22. data/app/assets/stylesheets/lcms/engine/admin/curriculums.scss +12 -10
  23. data/app/assets/stylesheets/lcms/engine/admin/lessons.scss +21 -15
  24. data/app/assets/stylesheets/lcms/engine/admin/materials.scss +25 -17
  25. data/app/assets/stylesheets/lcms/engine/admin/resources.scss +8 -7
  26. data/app/assets/stylesheets/lcms/engine/admin/standards.scss +4 -1
  27. data/app/assets/stylesheets/lcms/engine/admin/users.scss +1 -1
  28. data/app/assets/stylesheets/lcms/engine/base/_colors.scss +8 -10
  29. data/app/assets/stylesheets/lcms/engine/base/_ld-colors.scss +10 -10
  30. data/app/assets/stylesheets/lcms/engine/components/_assoc-picker.scss +4 -5
  31. data/app/assets/stylesheets/lcms/engine/components/lesson/_activity.scss +6 -2
  32. data/app/assets/stylesheets/lcms/engine/components/lesson/_callout.scss +19 -5
  33. data/app/assets/stylesheets/lcms/engine/components/lesson/_columns.scss +4 -3
  34. data/app/assets/stylesheets/lcms/engine/components/lesson/_curriculum-map.scss +16 -7
  35. data/app/assets/stylesheets/lcms/engine/components/lesson/_def.scss +2 -2
  36. data/app/assets/stylesheets/lcms/engine/components/lesson/_expand.scss +9 -9
  37. data/app/assets/stylesheets/lcms/engine/components/lesson/_foundational-divider.scss +0 -1
  38. data/app/assets/stylesheets/lcms/engine/components/lesson/_group.scss +3 -1
  39. data/app/assets/stylesheets/lcms/engine/components/lesson/_icons.scss +1 -1
  40. data/app/assets/stylesheets/lcms/engine/components/lesson/_image-wrap.scss +2 -2
  41. data/app/assets/stylesheets/lcms/engine/components/lesson/_inset.scss +7 -2
  42. data/app/assets/stylesheets/lcms/engine/components/lesson/_materials.scss +1 -1
  43. data/app/assets/stylesheets/lcms/engine/components/lesson/_multiple-choice.scss +4 -1
  44. data/app/assets/stylesheets/lcms/engine/components/lesson/_override.scss +28 -9
  45. data/app/assets/stylesheets/lcms/engine/components/lesson/_pd.scss +7 -7
  46. data/app/assets/stylesheets/lcms/engine/components/lesson/_pv.scss +5 -4
  47. data/app/assets/stylesheets/lcms/engine/components/lesson/_section.scss +10 -3
  48. data/app/assets/stylesheets/lcms/engine/components/lesson/_selection-control.scss +14 -8
  49. data/app/assets/stylesheets/lcms/engine/components/lesson/_sidebar.scss +25 -10
  50. data/app/assets/stylesheets/lcms/engine/components/lesson/_title.scss +3 -1
  51. data/app/assets/stylesheets/lcms/engine/components/lesson/_unit-map.scss +1 -1
  52. data/app/assets/stylesheets/lcms/engine/components/material/_material.scss +3 -3
  53. data/app/assets/stylesheets/lcms/engine/components/material/_overlay.scss +12 -4
  54. data/app/assets/stylesheets/lcms/engine/components/material/_preview.scss +1 -1
  55. data/app/assets/stylesheets/lcms/engine/components/support/_survey.scss +3 -1
  56. data/app/assets/stylesheets/lcms/engine/layout/_footer.scss +29 -11
  57. data/app/assets/stylesheets/lcms/engine/layout/_header.scss +5 -5
  58. data/app/assets/stylesheets/lcms/engine/layout/_navigation.scss +4 -6
  59. data/app/assets/stylesheets/lcms/engine/layout/_page.scss +2 -2
  60. data/app/assets/stylesheets/lcms/engine/{admin.scss → lcms_engine_admin.scss} +26 -15
  61. data/app/assets/stylesheets/lcms/engine/lcms_engine_application.scss +9 -0
  62. data/app/assets/stylesheets/lcms/engine/pdf.scss +5 -26
  63. data/app/assets/stylesheets/lcms/engine/pdf_plain.scss +5 -23
  64. data/app/assets/stylesheets/lcms/engine/print/_base.scss +41 -12
  65. data/app/assets/stylesheets/lcms/engine/print/_cover.scss +12 -12
  66. data/app/assets/stylesheets/lcms/engine/print/_footer.scss +8 -3
  67. data/app/assets/stylesheets/lcms/engine/print/_gdoc-base.scss +10 -37
  68. data/app/assets/stylesheets/lcms/engine/print/_helpers.scss +5 -2
  69. data/app/assets/stylesheets/lcms/engine/print/_lesson-base.scss +2 -14
  70. data/app/assets/stylesheets/lcms/engine/print/_material-base.scss +1 -3
  71. data/app/assets/stylesheets/lcms/engine/print/_print.scss +15 -8
  72. data/app/assets/stylesheets/lcms/engine/print/_toc.scss +24 -9
  73. data/app/assets/stylesheets/lcms/engine/print/gdoc/_base-typography.scss +24 -6
  74. data/app/assets/stylesheets/lcms/engine/print/gdoc/_base.scss +10 -3
  75. data/app/assets/stylesheets/lcms/engine/print/gdoc/_colors.scss +3 -3
  76. data/app/assets/stylesheets/lcms/engine/print/gdoc/_header.scss +2 -2
  77. data/app/assets/stylesheets/lcms/engine/print/gdoc/_helpers.scss +1 -0
  78. data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_activity.scss +1 -1
  79. data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_agenda.scss +8 -2
  80. data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_callout.scss +16 -6
  81. data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_def.scss +1 -1
  82. data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_dialogue.scss +3 -1
  83. data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_expand.scss +5 -2
  84. data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_image-wrap.scss +5 -3
  85. data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_image.scss +1 -1
  86. data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_optbreak.scss +1 -0
  87. data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_section.scss +4 -1
  88. data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_smp.scss +1 -0
  89. data/app/assets/stylesheets/lcms/engine/print/gdoc/lesson/_tables.scss +11 -3
  90. data/app/assets/stylesheets/lcms/engine/print/gdoc/material/_header.scss +5 -2
  91. data/app/assets/stylesheets/lcms/engine/print/lesson/_base-typography.scss +33 -9
  92. data/app/assets/stylesheets/lcms/engine/print/lesson/_group.scss +3 -1
  93. data/app/assets/stylesheets/lcms/engine/print/lesson/_image.scss +3 -1
  94. data/app/assets/stylesheets/lcms/engine/print/lesson/_materials.scss +1 -1
  95. data/app/assets/stylesheets/lcms/engine/print/lesson/_pd.scss +8 -4
  96. data/app/assets/stylesheets/lcms/engine/print/lesson/_section.scss +1 -1
  97. data/app/assets/stylesheets/lcms/engine/print/material/_header.scss +4 -1
  98. data/app/assets/stylesheets/lcms/engine/themes/_material.scss +11 -11
  99. data/app/assets/stylesheets/lcms/engine/utils/_colorcodes.scss +15 -5
  100. data/app/assets/stylesheets/lcms/engine/utils/_functions.scss +1 -1
  101. data/app/assets/stylesheets/lcms/engine/utils/_helpers.scss +23 -11
  102. data/app/assets/stylesheets/lcms/engine/utils/_placeholders.scss +1 -1
  103. data/app/assets/stylesheets/lcms/engine/utils/_variables.scss +11 -11
  104. data/app/assets/stylesheets/lcms/engine/vendors/{mathjax.css → mathjax.scss} +0 -0
  105. data/app/assets/stylesheets/lcms/engine/vendors/react-tagsinput.css +48 -0
  106. data/app/controllers/concerns/lcms/engine/reimportable.rb +1 -1
  107. data/app/controllers/lcms/engine/admin/access_codes_controller.rb +8 -3
  108. data/app/controllers/lcms/engine/admin/admin_controller.rb +5 -39
  109. data/app/controllers/lcms/engine/admin/association_picker_controller.rb +4 -1
  110. data/app/controllers/lcms/engine/admin/batch_reimports_controller.rb +2 -2
  111. data/app/controllers/lcms/engine/admin/curriculums_controller.rb +21 -2
  112. data/app/controllers/lcms/engine/admin/documents_controller.rb +26 -14
  113. data/app/controllers/lcms/engine/admin/materials_controller.rb +23 -13
  114. data/app/controllers/lcms/engine/admin/resource_bulk_edits_controller.rb +2 -2
  115. data/app/controllers/lcms/engine/admin/resources_controller.rb +9 -7
  116. data/app/controllers/lcms/engine/admin/settings_controller.rb +1 -1
  117. data/app/controllers/lcms/engine/admin/standards_controller.rb +2 -2
  118. data/app/controllers/lcms/engine/admin/users_controller.rb +10 -7
  119. data/app/controllers/lcms/engine/application_controller.rb +1 -1
  120. data/app/controllers/lcms/engine/resources_controller.rb +5 -5
  121. data/app/controllers/lcms/engine/welcome_controller.rb +11 -0
  122. data/app/entities/lcms/engine/hierarchical_position.rb +1 -2
  123. data/app/entities/lcms/engine/media_embed.rb +1 -1
  124. data/app/entities/lcms/engine/pagination.rb +14 -10
  125. data/app/entities/lcms/engine/roman_numerals.rb +1 -1
  126. data/app/exceptions/lcms/engine/document_error.rb +8 -0
  127. data/app/exceptions/lcms/engine/material_error.rb +8 -0
  128. data/app/helpers/admin/components_helper.rb +1 -1
  129. data/app/helpers/lcms/engine/path_helper.rb +32 -0
  130. data/app/helpers/lcms/engine/resource_helper.rb +1 -1
  131. data/app/helpers/lcms/engine/view_helper.rb +0 -8
  132. data/app/interactors/lcms/engine/explore_curriculum_interactor.rb +1 -1
  133. data/app/javascript/components/admin/ImportStatus.jsx +88 -58
  134. data/app/javascript/components/admin/Initializer.jsx +33 -35
  135. data/app/javascript/components/admin/MultiSelectedOperation.jsx +43 -19
  136. data/app/javascript/components/admin/association-picker/AssociationPicker.jsx +68 -48
  137. data/app/javascript/components/admin/association-picker/AssociationPickerItem.jsx +18 -7
  138. data/app/javascript/components/admin/association-picker/AssociationPickerResults.jsx +42 -18
  139. data/app/javascript/components/admin/association-picker/AssociationPickerWindow.jsx +47 -28
  140. data/app/javascript/components/admin/curriculum/CurriculumEditor.jsx +54 -33
  141. data/app/javascript/components/admin/curriculum/DirectoryPicker.jsx +80 -53
  142. data/app/javascript/components/admin/picker/PickerButton.jsx +16 -11
  143. data/app/javascript/components/admin/picker/pickerModal.jsx +6 -6
  144. data/app/javascript/components/admin/picker/pickerWindowWrapper.jsx +61 -40
  145. data/app/javascript/components/admin/resource-picker/ResourcePicker.jsx +54 -40
  146. data/app/javascript/components/admin/resource-picker/ResourcePickerResource.jsx +14 -3
  147. data/app/javascript/components/admin/resource-picker/ResourcePickerWindow.jsx +50 -21
  148. data/app/javascript/components/paginate/PageView.jsx +20 -8
  149. data/app/javascript/components/paginate/PaginationBoxView.jsx +78 -66
  150. data/app/javascript/components/paginate/PaginationListView.jsx +59 -45
  151. data/app/javascript/packs/lcms_engine_admin.js +15 -0
  152. data/app/javascript/packs/{application.js → lcms_engine_application.js} +5 -4
  153. data/app/javascript/packs/server_rendering.js +1 -0
  154. data/app/javascript/vendor/jstree/jstree.min.js +6 -0
  155. data/app/javascript/vendor/jstree/themes/default/32px.png +0 -0
  156. data/app/javascript/vendor/jstree/themes/default/40px.png +0 -0
  157. data/app/javascript/vendor/jstree/themes/default/style.css +1106 -0
  158. data/app/javascript/vendor/jstree/themes/default/style.min.css +1 -0
  159. data/app/javascript/vendor/jstree/themes/default/throbber.gif +0 -0
  160. data/app/javascript/vendor/jstree/themes/default-dark/32px.png +0 -0
  161. data/app/javascript/vendor/jstree/themes/default-dark/40px.png +0 -0
  162. data/app/javascript/vendor/jstree/themes/default-dark/style.css +1150 -0
  163. data/app/javascript/vendor/jstree/themes/default-dark/style.min.css +1 -0
  164. data/app/javascript/vendor/jstree/themes/default-dark/throbber.gif +0 -0
  165. data/app/jobs/lcms/engine/document_generate_job.rb +1 -1
  166. data/app/jobs/lcms/engine/document_generate_pdf_job.rb +5 -5
  167. data/app/jobs/lcms/engine/material_generate_pdf_job.rb +4 -4
  168. data/app/models/concerns/lcms/engine/navigable.rb +6 -10
  169. data/app/models/concerns/lcms/engine/searchable.rb +7 -0
  170. data/app/models/lcms/engine/document.rb +1 -1
  171. data/app/models/lcms/engine/resource.rb +1 -1
  172. data/app/models/lcms/engine/search/repository.rb +1 -1
  173. data/app/presenters/lcms/engine/content_presenter.rb +1 -1
  174. data/app/presenters/lcms/engine/curriculum_presenter.rb +21 -18
  175. data/app/presenters/lcms/engine/document_presenter.rb +3 -1
  176. data/app/presenters/lcms/engine/resource_presenter.rb +6 -3
  177. data/app/queries/lcms/engine/admin_documents_query.rb +1 -1
  178. data/app/queries/lcms/engine/admin_materials_query.rb +11 -2
  179. data/app/queries/lcms/engine/base_query.rb +1 -1
  180. data/app/services/lcms/engine/document_build_service.rb +2 -0
  181. data/app/services/lcms/engine/document_generator.rb +2 -2
  182. data/app/services/lcms/engine/google/drive_service.rb +7 -15
  183. data/app/services/lcms/engine/google/script_service.rb +7 -3
  184. data/app/services/lcms/engine/html_sanitizer.rb +1 -1
  185. data/app/services/lcms/engine/lti_exporter.rb +1 -1
  186. data/app/services/lcms/engine/material_preview_generator.rb +1 -1
  187. data/app/services/lcms/engine/s3_service.rb +14 -2
  188. data/app/tasks/resource_tasks.rb +2 -2
  189. data/app/views/layouts/lcms/engine/admin.html.erb +3 -3
  190. data/app/views/layouts/lcms/engine/application.html.erb +2 -2
  191. data/app/views/layouts/lcms/engine/lti.html.erb +1 -1
  192. data/app/views/lcms/engine/admin/access_codes/_form.html.erb +1 -1
  193. data/app/views/lcms/engine/admin/access_codes/index.html.erb +3 -3
  194. data/app/views/lcms/engine/admin/batch_reimports/_search_form.html.erb +1 -1
  195. data/app/views/lcms/engine/admin/curriculums/edit.html.erb +4 -2
  196. data/app/views/lcms/engine/admin/documents/_reimport.html.erb +1 -1
  197. data/app/views/lcms/engine/admin/documents/_search_form.html.erb +1 -1
  198. data/app/views/lcms/engine/admin/documents/import.html.erb +1 -1
  199. data/app/views/lcms/engine/admin/documents/index.html.erb +5 -3
  200. data/app/views/lcms/engine/admin/documents/new.html.erb +6 -2
  201. data/app/views/lcms/engine/admin/materials/_reimport.html.erb +1 -1
  202. data/app/views/lcms/engine/admin/materials/_search_form.html.erb +1 -1
  203. data/app/views/lcms/engine/admin/materials/import.html.erb +1 -1
  204. data/app/views/lcms/engine/admin/materials/index.html.erb +22 -18
  205. data/app/views/lcms/engine/admin/materials/new.html.erb +5 -1
  206. data/app/views/lcms/engine/admin/resource_bulk_edits/new.html.erb +1 -1
  207. data/app/views/lcms/engine/admin/resources/_fields.html.erb +4 -3
  208. data/app/views/lcms/engine/admin/resources/_form.html.erb +1 -1
  209. data/app/views/lcms/engine/admin/resources/_search_form.html.erb +1 -1
  210. data/app/views/lcms/engine/admin/resources/index.html.erb +7 -5
  211. data/app/views/lcms/engine/admin/shared/_header.html.erb +12 -12
  212. data/app/views/lcms/engine/admin/standards/_form.html.erb +3 -1
  213. data/app/views/lcms/engine/admin/standards/_search_form.html.erb +1 -1
  214. data/app/views/lcms/engine/admin/users/_form.html.erb +1 -1
  215. data/app/views/lcms/engine/admin/users/_search_form.html.erb +1 -1
  216. data/app/views/lcms/engine/admin/users/index.html.erb +6 -6
  217. data/app/views/lcms/engine/pages/not_found.html.erb +5 -0
  218. data/app/views/lcms/engine/resources/generic.html.erb +0 -4
  219. data/app/views/lcms/engine/resources/media.html.erb +0 -4
  220. data/app/views/lcms/engine/resources/show.html.erb +0 -2
  221. data/config/initializers/airbrake.rb +62 -10
  222. data/config/initializers/bitly.rb +1 -1
  223. data/config/initializers/carrier_wave.rb +6 -4
  224. data/config/initializers/ckeditor.rb +6 -0
  225. data/config/initializers/elasticsearch.rb +1 -1
  226. data/config/initializers/resque.rb +2 -2
  227. data/config/locales/admin/en.yml +0 -1
  228. data/config/locales/ui/en.yml +1 -0
  229. data/config/routes.rb +5 -2
  230. data/db/migrate/.keep +0 -0
  231. data/db/schema.rb +279 -311
  232. data/db/seeds.rb +0 -1
  233. data/docker-compose.ror4.yml +32 -0
  234. data/docker-compose.yml +6 -3
  235. data/docs/env-variables.md +40 -40
  236. data/docs/google-cloud-platform-setup.md +45 -17
  237. data/docs/how-to-build-and-publish.md +14 -0
  238. data/docs/pdf-generation.md +31 -0
  239. data/lcms-engine.gemspec +27 -15
  240. data/lib/doc_template/document.rb +3 -4
  241. data/lib/doc_template/document_toc.rb +2 -2
  242. data/lib/doc_template/objects/activity_metadata.rb +1 -1
  243. data/lib/doc_template/objects/toc_helpers.rb +4 -4
  244. data/lib/doc_template/objects/toc_metadata.rb +4 -6
  245. data/lib/doc_template/tags/answer_space_tag.rb +1 -1
  246. data/lib/doc_template/tags/base_tag.rb +2 -2
  247. data/lib/doc_template/tags/block_tag.rb +1 -1
  248. data/lib/doc_template/tags/table_tag.rb +1 -1
  249. data/lib/doc_template/template.rb +1 -1
  250. data/lib/doc_template.rb +9 -9
  251. data/lib/document_exporter/gdoc/base.rb +5 -2
  252. data/lib/document_exporter/pdf/base.rb +1 -1
  253. data/lib/document_exporter/pdf/document.rb +2 -2
  254. data/lib/document_exporter/pdf/material.rb +2 -2
  255. data/lib/document_exporter/pdf/student_material.rb +2 -2
  256. data/lib/document_exporter/pdf/teacher_material.rb +2 -2
  257. data/lib/document_renderer/part.rb +1 -3
  258. data/lib/lcms/engine/engine.rb +10 -9
  259. data/lib/lcms/engine/version.rb +1 -1
  260. data/lib/lcms/engine.rb +0 -1
  261. data/lib/lt/lcms/metadata/context.rb +56 -52
  262. data/lib/lt/lcms/metadata/service.rb +3 -2
  263. data/lib/tasks/cloud66.rake +2 -2
  264. data/lib/tasks/document.rake +4 -4
  265. data/lib/tasks/google.rake +29 -14
  266. data/lib/tasks/lcms/engine_tasks.rake +1 -1
  267. data/package.json +31 -10
  268. data/postcss.config.js +12 -0
  269. data/spec/controllers/admin/curriculums_controller_spec.rb +23 -0
  270. data/spec/controllers/admin/documents_controller_spec.rb +22 -2
  271. data/spec/controllers/admin/materials_controller_spec.rb +16 -3
  272. data/spec/controllers/admin/resource_bulk_edit_controller_spec.rb +1 -1
  273. data/spec/controllers/admin/resources_controller_spec.rb +1 -1
  274. data/spec/controllers/admin/settings_controller_spec.rb +1 -1
  275. data/spec/controllers/admin/standards_controller_spec.rb +1 -1
  276. data/spec/controllers/admin/welcome_controller_spec.rb +12 -10
  277. data/spec/controllers/resources_controller_spec.rb +3 -3
  278. data/spec/controllers/welcome_controller_spec.rb +38 -0
  279. data/spec/dummy/.traceroute.yaml +0 -2
  280. data/spec/dummy/bin/webpack +18 -0
  281. data/spec/dummy/bin/webpack-dev-server +18 -0
  282. data/spec/dummy/config/application.rb +1 -1
  283. data/spec/dummy/config/environments/test.rb +1 -1
  284. data/spec/dummy/config/initializers/assets.rb +6 -0
  285. data/spec/dummy/config/lcms-admin.yml +3 -7
  286. data/spec/dummy/config/routes.rb +6 -0
  287. data/spec/dummy/db/schema.rb +5 -5
  288. data/spec/factories/documents.rb +1 -0
  289. data/spec/factories/downloads.rb +1 -1
  290. data/spec/factories/resources.rb +2 -2
  291. data/spec/features/admin/materials/add_material_spec.rb +2 -0
  292. data/spec/features/admin/users_spec.rb +2 -2
  293. data/spec/{controllers/admin/admin_controller_spec.rb → helpers/path_helper_spec.rb} +6 -6
  294. data/spec/lib/doc_template/objects/activity_metadata_spec.rb +1 -1
  295. data/spec/lib/doc_template/objects/agenda_metadata_spec.rb +2 -0
  296. data/spec/lib/doc_template/objects/toc_metadata_spec.rb +1 -1
  297. data/spec/lib/doc_template/tags/page_break_tag_spec.rb +1 -1
  298. data/spec/lib/doc_template/tags/pd_tag_spec.rb +1 -1
  299. data/spec/models/document_spec.rb +1 -1
  300. data/spec/models/standard_spec.rb +2 -0
  301. data/spec/queries/lcms/engine/admin_materials_query_spec.rb +41 -0
  302. data/spec/rails_helper.rb +6 -17
  303. data/spec/services/document_build_service_spec.rb +4 -11
  304. data/spec/services/s3_service_spec.rb +31 -0
  305. data/spec/support/concerns/navigable.rb +2 -0
  306. data/spec/support/routes.rb +4 -0
  307. data/spec/support/shared_examples/content_tag.rb +4 -4
  308. data/templates/routes.rb +0 -1
  309. data/yarn.lock +3412 -2933
  310. metadata +152 -289
  311. data/app/assets/stylesheets/lcms/engine/application.scss +0 -36
  312. data/app/assets/stylesheets/lcms/engine/vendors/jquery.tagsinput.css +0 -1
  313. data/app/exceptions/components_api_error.rb +0 -4
  314. data/app/exceptions/document_error.rb +0 -4
  315. data/app/exceptions/material_error.rb +0 -4
  316. data/app/javascript/packs/admin.js +0 -14
  317. data/app/models/lcms/engine/component.rb +0 -88
  318. data/app/presenters/lcms/engine/social_media_presenter.rb +0 -83
  319. data/app/views/lcms/engine/shared/_social_sharing.html.erb +0 -22
  320. data/db/migrate/20200217160930_change_document_parts_to_polymorphic.rb +0 -36
  321. data/db/migrate/20200218144849_drop_material_parts_table.rb +0 -7
  322. data/db/migrate/20200422130652_add_reimported_at_to_documents.rb +0 -7
  323. data/db/migrate/20200429130353_drop_pages.rb +0 -13
  324. data/db/seeds/pages.seeds.rb +0 -26
  325. data/lib/document_exporter.rb +0 -6
  326. data/lib/lcms/engine/migration.rb +0 -16
  327. data/spec/models/component_spec.rb +0 -60
  328. data/vendor/assets/javascripts/jquery.tagsinput.js +0 -1
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lcms-engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Kuznetsov
8
8
  - Abraham Sánchez
9
9
  - Rômulo Saksida
10
- autorequire:
10
+ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-02-12 00:00:00.000000000 Z
13
+ date: 2022-10-13 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activejob-retry
@@ -60,14 +60,14 @@ dependencies:
60
60
  requirements:
61
61
  - - "~>"
62
62
  - !ruby/object:Gem::Version
63
- version: '6.5'
63
+ version: '7.0'
64
64
  type: :runtime
65
65
  prerelease: false
66
66
  version_requirements: !ruby/object:Gem::Requirement
67
67
  requirements:
68
68
  - - "~>"
69
69
  - !ruby/object:Gem::Version
70
- version: '6.5'
70
+ version: '7.0'
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: addressable
73
73
  requirement: !ruby/object:Gem::Requirement
@@ -88,14 +88,14 @@ dependencies:
88
88
  requirements:
89
89
  - - "~>"
90
90
  - !ruby/object:Gem::Version
91
- version: '10.0'
91
+ version: '13.0'
92
92
  type: :runtime
93
93
  prerelease: false
94
94
  version_requirements: !ruby/object:Gem::Requirement
95
95
  requirements:
96
96
  - - "~>"
97
97
  - !ruby/object:Gem::Version
98
- version: '10.0'
98
+ version: '13.0'
99
99
  - !ruby/object:Gem::Dependency
100
100
  name: autoprefixer-rails
101
101
  requirement: !ruby/object:Gem::Requirement
@@ -176,22 +176,22 @@ dependencies:
176
176
  name: bullet
177
177
  requirement: !ruby/object:Gem::Requirement
178
178
  requirements:
179
- - - ">="
180
- - !ruby/object:Gem::Version
181
- version: 6.1.0
182
179
  - - "~>"
183
180
  - !ruby/object:Gem::Version
184
181
  version: '6.1'
182
+ - - ">="
183
+ - !ruby/object:Gem::Version
184
+ version: 6.1.0
185
185
  type: :runtime
186
186
  prerelease: false
187
187
  version_requirements: !ruby/object:Gem::Requirement
188
188
  requirements:
189
- - - ">="
190
- - !ruby/object:Gem::Version
191
- version: 6.1.0
192
189
  - - "~>"
193
190
  - !ruby/object:Gem::Version
194
191
  version: '6.1'
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: 6.1.0
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: carrierwave
197
197
  requirement: !ruby/object:Gem::Requirement
@@ -212,14 +212,14 @@ dependencies:
212
212
  requirements:
213
213
  - - "~>"
214
214
  - !ruby/object:Gem::Version
215
- version: '4.3'
215
+ version: '5.1'
216
216
  type: :runtime
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
220
  - - "~>"
221
221
  - !ruby/object:Gem::Version
222
- version: '4.3'
222
+ version: '5.1'
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: closure_tree
225
225
  requirement: !ruby/object:Gem::Requirement
@@ -503,7 +503,7 @@ dependencies:
503
503
  version: '0.2'
504
504
  - - ">="
505
505
  - !ruby/object:Gem::Version
506
- version: 0.2.2
506
+ version: 0.2.3
507
507
  type: :runtime
508
508
  prerelease: false
509
509
  version_requirements: !ruby/object:Gem::Requirement
@@ -513,7 +513,7 @@ dependencies:
513
513
  version: '0.2'
514
514
  - - ">="
515
515
  - !ruby/object:Gem::Version
516
- version: 0.2.2
516
+ version: 0.2.3
517
517
  - !ruby/object:Gem::Dependency
518
518
  name: lt-lcms
519
519
  requirement: !ruby/object:Gem::Requirement
@@ -523,7 +523,7 @@ dependencies:
523
523
  version: '0.4'
524
524
  - - ">="
525
525
  - !ruby/object:Gem::Version
526
- version: 0.4.1
526
+ version: 0.4.4
527
527
  type: :runtime
528
528
  prerelease: false
529
529
  version_requirements: !ruby/object:Gem::Requirement
@@ -533,7 +533,7 @@ dependencies:
533
533
  version: '0.4'
534
534
  - - ">="
535
535
  - !ruby/object:Gem::Version
536
- version: 0.4.1
536
+ version: 0.4.4
537
537
  - !ruby/object:Gem::Dependency
538
538
  name: migration_data
539
539
  requirement: !ruby/object:Gem::Requirement
@@ -602,20 +602,20 @@ dependencies:
602
602
  requirements:
603
603
  - - "~>"
604
604
  - !ruby/object:Gem::Version
605
- version: '1.10'
605
+ version: '1.11'
606
606
  - - ">="
607
607
  - !ruby/object:Gem::Version
608
- version: 1.10.8
608
+ version: 1.11.4
609
609
  type: :runtime
610
610
  prerelease: false
611
611
  version_requirements: !ruby/object:Gem::Requirement
612
612
  requirements:
613
613
  - - "~>"
614
614
  - !ruby/object:Gem::Version
615
- version: '1.10'
615
+ version: '1.11'
616
616
  - - ">="
617
617
  - !ruby/object:Gem::Version
618
- version: 1.10.8
618
+ version: 1.11.4
619
619
  - !ruby/object:Gem::Dependency
620
620
  name: oj
621
621
  requirement: !ruby/object:Gem::Requirement
@@ -736,40 +736,40 @@ dependencies:
736
736
  requirements:
737
737
  - - "~>"
738
738
  - !ruby/object:Gem::Version
739
- version: '1.1'
739
+ version: '2.3'
740
740
  - - ">="
741
741
  - !ruby/object:Gem::Version
742
- version: 1.1.6
742
+ version: 2.3.3
743
743
  type: :runtime
744
744
  prerelease: false
745
745
  version_requirements: !ruby/object:Gem::Requirement
746
746
  requirements:
747
747
  - - "~>"
748
748
  - !ruby/object:Gem::Version
749
- version: '1.1'
749
+ version: '2.3'
750
750
  - - ">="
751
751
  - !ruby/object:Gem::Version
752
- version: 1.1.6
752
+ version: 2.3.3
753
753
  - !ruby/object:Gem::Dependency
754
754
  name: rails
755
755
  requirement: !ruby/object:Gem::Requirement
756
756
  requirements:
757
757
  - - "~>"
758
758
  - !ruby/object:Gem::Version
759
- version: '5.2'
759
+ version: 6.1.6
760
760
  - - ">="
761
761
  - !ruby/object:Gem::Version
762
- version: 5.2.4
762
+ version: 6.1.6.1
763
763
  type: :runtime
764
764
  prerelease: false
765
765
  version_requirements: !ruby/object:Gem::Requirement
766
766
  requirements:
767
767
  - - "~>"
768
768
  - !ruby/object:Gem::Version
769
- version: '5.2'
769
+ version: 6.1.6
770
770
  - - ">="
771
771
  - !ruby/object:Gem::Version
772
- version: 5.2.4
772
+ version: 6.1.6.1
773
773
  - !ruby/object:Gem::Dependency
774
774
  name: ransack
775
775
  requirement: !ruby/object:Gem::Requirement
@@ -834,62 +834,76 @@ dependencies:
834
834
  name: resque
835
835
  requirement: !ruby/object:Gem::Requirement
836
836
  requirements:
837
- - - ">="
838
- - !ruby/object:Gem::Version
839
- version: 2.0.0
840
837
  - - "~>"
841
838
  - !ruby/object:Gem::Version
842
839
  version: '2.0'
840
+ - - ">="
841
+ - !ruby/object:Gem::Version
842
+ version: 2.0.0
843
843
  type: :runtime
844
844
  prerelease: false
845
845
  version_requirements: !ruby/object:Gem::Requirement
846
846
  requirements:
847
- - - ">="
848
- - !ruby/object:Gem::Version
849
- version: 2.0.0
850
847
  - - "~>"
851
848
  - !ruby/object:Gem::Version
852
849
  version: '2.0'
850
+ - - ">="
851
+ - !ruby/object:Gem::Version
852
+ version: 2.0.0
853
853
  - !ruby/object:Gem::Dependency
854
854
  name: resque-scheduler
855
855
  requirement: !ruby/object:Gem::Requirement
856
856
  requirements:
857
- - - ">="
858
- - !ruby/object:Gem::Version
859
- version: 4.4.0
860
857
  - - "~>"
861
858
  - !ruby/object:Gem::Version
862
859
  version: '4.4'
860
+ - - ">="
861
+ - !ruby/object:Gem::Version
862
+ version: 4.4.0
863
863
  type: :runtime
864
864
  prerelease: false
865
865
  version_requirements: !ruby/object:Gem::Requirement
866
866
  requirements:
867
- - - ">="
868
- - !ruby/object:Gem::Version
869
- version: 4.4.0
870
867
  - - "~>"
871
868
  - !ruby/object:Gem::Version
872
869
  version: '4.4'
870
+ - - ">="
871
+ - !ruby/object:Gem::Version
872
+ version: 4.4.0
873
873
  - !ruby/object:Gem::Dependency
874
874
  name: rest-client
875
875
  requirement: !ruby/object:Gem::Requirement
876
876
  requirements:
877
- - - ">="
878
- - !ruby/object:Gem::Version
879
- version: 2.1.0
880
877
  - - "~>"
881
878
  - !ruby/object:Gem::Version
882
879
  version: '2.1'
880
+ - - ">="
881
+ - !ruby/object:Gem::Version
882
+ version: 2.1.0
883
883
  type: :runtime
884
884
  prerelease: false
885
885
  version_requirements: !ruby/object:Gem::Requirement
886
886
  requirements:
887
+ - - "~>"
888
+ - !ruby/object:Gem::Version
889
+ version: '2.1'
887
890
  - - ">="
888
891
  - !ruby/object:Gem::Version
889
892
  version: 2.1.0
893
+ - !ruby/object:Gem::Dependency
894
+ name: retriable
895
+ requirement: !ruby/object:Gem::Requirement
896
+ requirements:
890
897
  - - "~>"
891
898
  - !ruby/object:Gem::Version
892
- version: '2.1'
899
+ version: '3.1'
900
+ type: :runtime
901
+ prerelease: false
902
+ version_requirements: !ruby/object:Gem::Requirement
903
+ requirements:
904
+ - - "~>"
905
+ - !ruby/object:Gem::Version
906
+ version: '3.1'
893
907
  - !ruby/object:Gem::Dependency
894
908
  name: ruby-progressbar
895
909
  requirement: !ruby/object:Gem::Requirement
@@ -948,22 +962,16 @@ dependencies:
948
962
  name: sass-rails
949
963
  requirement: !ruby/object:Gem::Requirement
950
964
  requirements:
951
- - - ">="
952
- - !ruby/object:Gem::Version
953
- version: 5.1.0
954
965
  - - "~>"
955
966
  - !ruby/object:Gem::Version
956
- version: '5.1'
967
+ version: '6'
957
968
  type: :runtime
958
969
  prerelease: false
959
970
  version_requirements: !ruby/object:Gem::Requirement
960
971
  requirements:
961
- - - ">="
962
- - !ruby/object:Gem::Version
963
- version: 5.1.0
964
972
  - - "~>"
965
973
  - !ruby/object:Gem::Version
966
- version: '5.1'
974
+ version: '6'
967
975
  - !ruby/object:Gem::Dependency
968
976
  name: simple_form
969
977
  requirement: !ruby/object:Gem::Requirement
@@ -1112,6 +1120,20 @@ dependencies:
1112
1120
  - - ">="
1113
1121
  - !ruby/object:Gem::Version
1114
1122
  version: 1.0.2
1123
+ - !ruby/object:Gem::Dependency
1124
+ name: with_advisory_lock
1125
+ requirement: !ruby/object:Gem::Requirement
1126
+ requirements:
1127
+ - - "~>"
1128
+ - !ruby/object:Gem::Version
1129
+ version: '4.6'
1130
+ type: :runtime
1131
+ prerelease: false
1132
+ version_requirements: !ruby/object:Gem::Requirement
1133
+ requirements:
1134
+ - - "~>"
1135
+ - !ruby/object:Gem::Version
1136
+ version: '4.6'
1115
1137
  - !ruby/object:Gem::Dependency
1116
1138
  name: capybara
1117
1139
  requirement: !ruby/object:Gem::Requirement
@@ -1158,16 +1180,16 @@ dependencies:
1158
1180
  name: email_spec
1159
1181
  requirement: !ruby/object:Gem::Requirement
1160
1182
  requirements:
1161
- - - "~>"
1183
+ - - '='
1162
1184
  - !ruby/object:Gem::Version
1163
- version: '2.1'
1185
+ version: 2.2.0
1164
1186
  type: :development
1165
1187
  prerelease: false
1166
1188
  version_requirements: !ruby/object:Gem::Requirement
1167
1189
  requirements:
1168
- - - "~>"
1190
+ - - '='
1169
1191
  - !ruby/object:Gem::Version
1170
- version: '2.1'
1192
+ version: 2.2.0
1171
1193
  - !ruby/object:Gem::Dependency
1172
1194
  name: factory_bot
1173
1195
  requirement: !ruby/object:Gem::Requirement
@@ -1244,28 +1266,28 @@ dependencies:
1244
1266
  requirements:
1245
1267
  - - "~>"
1246
1268
  - !ruby/object:Gem::Version
1247
- version: '3.8'
1269
+ version: 4.0.2
1248
1270
  type: :development
1249
1271
  prerelease: false
1250
1272
  version_requirements: !ruby/object:Gem::Requirement
1251
1273
  requirements:
1252
1274
  - - "~>"
1253
1275
  - !ruby/object:Gem::Version
1254
- version: '3.8'
1276
+ version: 4.0.2
1255
1277
  - !ruby/object:Gem::Dependency
1256
1278
  name: rubocop
1257
1279
  requirement: !ruby/object:Gem::Requirement
1258
1280
  requirements:
1259
1281
  - - "~>"
1260
1282
  - !ruby/object:Gem::Version
1261
- version: 0.93.1
1283
+ version: '1.17'
1262
1284
  type: :development
1263
1285
  prerelease: false
1264
1286
  version_requirements: !ruby/object:Gem::Requirement
1265
1287
  requirements:
1266
1288
  - - "~>"
1267
1289
  - !ruby/object:Gem::Version
1268
- version: 0.93.1
1290
+ version: '1.17'
1269
1291
  - !ruby/object:Gem::Dependency
1270
1292
  name: safe_attributes
1271
1293
  requirement: !ruby/object:Gem::Requirement
@@ -1342,6 +1364,20 @@ dependencies:
1342
1364
  - - "~>"
1343
1365
  - !ruby/object:Gem::Version
1344
1366
  version: '4.1'
1367
+ - !ruby/object:Gem::Dependency
1368
+ name: simplecov
1369
+ requirement: !ruby/object:Gem::Requirement
1370
+ requirements:
1371
+ - - "<"
1372
+ - !ruby/object:Gem::Version
1373
+ version: '0.18'
1374
+ type: :development
1375
+ prerelease: false
1376
+ version_requirements: !ruby/object:Gem::Requirement
1377
+ requirements:
1378
+ - - "<"
1379
+ - !ruby/object:Gem::Version
1380
+ version: '0.18'
1345
1381
  - !ruby/object:Gem::Dependency
1346
1382
  name: spring
1347
1383
  requirement: !ruby/object:Gem::Requirement
@@ -1404,14 +1440,14 @@ dependencies:
1404
1440
  requirements:
1405
1441
  - - "~>"
1406
1442
  - !ruby/object:Gem::Version
1407
- version: '4.0'
1443
+ version: '5.0'
1408
1444
  type: :development
1409
1445
  prerelease: false
1410
1446
  version_requirements: !ruby/object:Gem::Requirement
1411
1447
  requirements:
1412
1448
  - - "~>"
1413
1449
  - !ruby/object:Gem::Version
1414
- version: '4.0'
1450
+ version: '5.0'
1415
1451
  description: Implements common components and features for Rails-based LCMS systems
1416
1452
  email:
1417
1453
  - alexander@learningtapestry.com
@@ -1423,6 +1459,7 @@ extra_rdoc_files: []
1423
1459
  files:
1424
1460
  - ".babelrc"
1425
1461
  - ".codeclimate.yml"
1462
+ - ".dockerignore"
1426
1463
  - ".env.docker"
1427
1464
  - ".env.template"
1428
1465
  - ".eslintignore"
@@ -1430,10 +1467,13 @@ files:
1430
1467
  - ".gitignore"
1431
1468
  - ".nvmrc"
1432
1469
  - ".overcommit.yml"
1470
+ - ".prettierrc"
1433
1471
  - ".rspec"
1434
1472
  - ".rubocop.yml"
1435
1473
  - ".ruby-gemset"
1436
1474
  - ".ruby-version"
1475
+ - ".stylelintignore"
1476
+ - ".stylelintrc"
1437
1477
  - CHANGELOG.md
1438
1478
  - Dockerfile
1439
1479
  - Gemfile
@@ -1503,11 +1543,10 @@ files:
1503
1543
  - app/assets/images/lcms/engine/st_icon_m.svg
1504
1544
  - app/assets/images/lcms/engine/st_icon_plus.svg
1505
1545
  - app/assets/images/lcms/engine/st_icon_s.svg
1506
- - app/assets/javascripts/lcms/engine/admin/application.js
1507
- - app/assets/javascripts/lcms/engine/application.js
1546
+ - app/assets/javascripts/lcms/engine/admin/lcms_engine_application.js
1508
1547
  - app/assets/javascripts/lcms/engine/application_lti.js
1509
1548
  - app/assets/javascripts/lcms/engine/initializers/foundation.js
1510
- - app/assets/stylesheets/lcms/engine/admin.scss
1549
+ - app/assets/javascripts/lcms/engine/lcms_engine_application.js
1511
1550
  - app/assets/stylesheets/lcms/engine/admin/collections.scss
1512
1551
  - app/assets/stylesheets/lcms/engine/admin/components.scss
1513
1552
  - app/assets/stylesheets/lcms/engine/admin/curriculums.scss
@@ -1517,7 +1556,6 @@ files:
1517
1556
  - app/assets/stylesheets/lcms/engine/admin/standards.scss
1518
1557
  - app/assets/stylesheets/lcms/engine/admin/users.scss
1519
1558
  - app/assets/stylesheets/lcms/engine/admin/welcome.scss
1520
- - app/assets/stylesheets/lcms/engine/application.scss
1521
1559
  - app/assets/stylesheets/lcms/engine/base/_colors.scss
1522
1560
  - app/assets/stylesheets/lcms/engine/base/_ld-colors.scss
1523
1561
  - app/assets/stylesheets/lcms/engine/base/_typography.scss
@@ -1562,6 +1600,8 @@ files:
1562
1600
  - app/assets/stylesheets/lcms/engine/layout/_header.scss
1563
1601
  - app/assets/stylesheets/lcms/engine/layout/_navigation.scss
1564
1602
  - app/assets/stylesheets/lcms/engine/layout/_page.scss
1603
+ - app/assets/stylesheets/lcms/engine/lcms_engine_admin.scss
1604
+ - app/assets/stylesheets/lcms/engine/lcms_engine_application.scss
1565
1605
  - app/assets/stylesheets/lcms/engine/pdf.scss
1566
1606
  - app/assets/stylesheets/lcms/engine/pdf_plain.scss
1567
1607
  - app/assets/stylesheets/lcms/engine/print/_base.scss
@@ -1629,8 +1669,8 @@ files:
1629
1669
  - app/assets/stylesheets/lcms/engine/utils/_variables.scss
1630
1670
  - app/assets/stylesheets/lcms/engine/vendors/foundation_and_overrides-pdf.scss
1631
1671
  - app/assets/stylesheets/lcms/engine/vendors/foundation_and_overrides.scss
1632
- - app/assets/stylesheets/lcms/engine/vendors/jquery.tagsinput.css
1633
- - app/assets/stylesheets/lcms/engine/vendors/mathjax.css
1672
+ - app/assets/stylesheets/lcms/engine/vendors/mathjax.scss
1673
+ - app/assets/stylesheets/lcms/engine/vendors/react-tagsinput.css
1634
1674
  - app/controllers/concerns/lcms/engine/google_credentials.rb
1635
1675
  - app/controllers/concerns/lcms/engine/location_storable.rb
1636
1676
  - app/controllers/concerns/lcms/engine/nested_reimportable.rb
@@ -1667,9 +1707,8 @@ files:
1667
1707
  - app/entities/lcms/engine/pagination.rb
1668
1708
  - app/entities/lcms/engine/roman_numerals.rb
1669
1709
  - app/entities/lcms/engine/slug.rb
1670
- - app/exceptions/components_api_error.rb
1671
- - app/exceptions/document_error.rb
1672
- - app/exceptions/material_error.rb
1710
+ - app/exceptions/lcms/engine/document_error.rb
1711
+ - app/exceptions/lcms/engine/material_error.rb
1673
1712
  - app/forms/lcms/engine/curriculum_form.rb
1674
1713
  - app/forms/lcms/engine/document_form.rb
1675
1714
  - app/forms/lcms/engine/material_form.rb
@@ -1683,6 +1722,7 @@ files:
1683
1722
  - app/helpers/lcms/engine/download_helper.rb
1684
1723
  - app/helpers/lcms/engine/media_helper.rb
1685
1724
  - app/helpers/lcms/engine/pages_helper.rb
1725
+ - app/helpers/lcms/engine/path_helper.rb
1686
1726
  - app/helpers/lcms/engine/resource_helper.rb
1687
1727
  - app/helpers/lcms/engine/tags_helper.rb
1688
1728
  - app/helpers/lcms/engine/view_helper.rb
@@ -1709,9 +1749,20 @@ files:
1709
1749
  - app/javascript/components/paginate/PageView.jsx
1710
1750
  - app/javascript/components/paginate/PaginationBoxView.jsx
1711
1751
  - app/javascript/components/paginate/PaginationListView.jsx
1712
- - app/javascript/packs/admin.js
1713
- - app/javascript/packs/application.js
1752
+ - app/javascript/packs/lcms_engine_admin.js
1753
+ - app/javascript/packs/lcms_engine_application.js
1714
1754
  - app/javascript/packs/server_rendering.js
1755
+ - app/javascript/vendor/jstree/jstree.min.js
1756
+ - app/javascript/vendor/jstree/themes/default-dark/32px.png
1757
+ - app/javascript/vendor/jstree/themes/default-dark/40px.png
1758
+ - app/javascript/vendor/jstree/themes/default-dark/style.css
1759
+ - app/javascript/vendor/jstree/themes/default-dark/style.min.css
1760
+ - app/javascript/vendor/jstree/themes/default-dark/throbber.gif
1761
+ - app/javascript/vendor/jstree/themes/default/32px.png
1762
+ - app/javascript/vendor/jstree/themes/default/40px.png
1763
+ - app/javascript/vendor/jstree/themes/default/style.css
1764
+ - app/javascript/vendor/jstree/themes/default/style.min.css
1765
+ - app/javascript/vendor/jstree/themes/default/throbber.gif
1715
1766
  - app/jobs/concerns/lcms/engine/nested_resque_job.rb
1716
1767
  - app/jobs/concerns/lcms/engine/retry_delayed.rb
1717
1768
  - app/jobs/concerns/lcms/engine/retry_simple.rb
@@ -1733,7 +1784,6 @@ files:
1733
1784
  - app/models/lcms/engine/access_code.rb
1734
1785
  - app/models/lcms/engine/application_record.rb
1735
1786
  - app/models/lcms/engine/author.rb
1736
- - app/models/lcms/engine/component.rb
1737
1787
  - app/models/lcms/engine/copyright_attribution.rb
1738
1788
  - app/models/lcms/engine/curriculum.rb
1739
1789
  - app/models/lcms/engine/document.rb
@@ -1771,7 +1821,6 @@ files:
1771
1821
  - app/presenters/lcms/engine/material_presenter.rb
1772
1822
  - app/presenters/lcms/engine/media_presenter.rb
1773
1823
  - app/presenters/lcms/engine/resource_presenter.rb
1774
- - app/presenters/lcms/engine/social_media_presenter.rb
1775
1824
  - app/queries/lcms/engine/admin_documents_query.rb
1776
1825
  - app/queries/lcms/engine/admin_materials_query.rb
1777
1826
  - app/queries/lcms/engine/base_query.rb
@@ -1906,6 +1955,7 @@ files:
1906
1955
  - app/views/lcms/engine/explore_curriculum/index.html.erb
1907
1956
  - app/views/lcms/engine/find_lessons/index.html.erb
1908
1957
  - app/views/lcms/engine/materials/show.html.erb
1958
+ - app/views/lcms/engine/pages/not_found.html.erb
1909
1959
  - app/views/lcms/engine/resources/_children_list.html.erb
1910
1960
  - app/views/lcms/engine/resources/_copyright_icons_generic.html.erb
1911
1961
  - app/views/lcms/engine/resources/_download.html.erb
@@ -1927,7 +1977,6 @@ files:
1927
1977
  - app/views/lcms/engine/shared/_footer.html.erb
1928
1978
  - app/views/lcms/engine/shared/_header.html.erb
1929
1979
  - app/views/lcms/engine/shared/_lesson_svg.html
1930
- - app/views/lcms/engine/shared/_social_sharing.html.erb
1931
1980
  - app/views/lcms/engine/surveys/show.html.erb
1932
1981
  - app/views/lcms/engine/welcome/index.html.erb
1933
1982
  - bin/overcommit
@@ -1938,6 +1987,7 @@ files:
1938
1987
  - config/initializers/airbrake.rb
1939
1988
  - config/initializers/bitly.rb
1940
1989
  - config/initializers/carrier_wave.rb
1990
+ - config/initializers/ckeditor.rb
1941
1991
  - config/initializers/devise.rb
1942
1992
  - config/initializers/elasticsearch.rb
1943
1993
  - config/initializers/form_tag.rb
@@ -1963,10 +2013,7 @@ files:
1963
2013
  - config/webpack/production.js
1964
2014
  - config/webpack/test.js
1965
2015
  - config/webpacker.yml
1966
- - db/migrate/20200217160930_change_document_parts_to_polymorphic.rb
1967
- - db/migrate/20200218144849_drop_material_parts_table.rb
1968
- - db/migrate/20200422130652_add_reimported_at_to_documents.rb
1969
- - db/migrate/20200429130353_drop_pages.rb
2016
+ - db/migrate/.keep
1970
2017
  - db/schema.rb
1971
2018
  - db/seeds.rb
1972
2019
  - db/seeds/authors.seeds.rb
@@ -1974,11 +2021,13 @@ files:
1974
2021
  - db/seeds/development/grades.seeds.rb
1975
2022
  - db/seeds/development/users.seeds.rb
1976
2023
  - db/seeds/download_categories.seeds.rb
1977
- - db/seeds/pages.seeds.rb
1978
2024
  - db/seeds/subjects.seeds.rb
2025
+ - docker-compose.ror4.yml
1979
2026
  - docker-compose.yml
1980
2027
  - docs/env-variables.md
1981
2028
  - docs/google-cloud-platform-setup.md
2029
+ - docs/how-to-build-and-publish.md
2030
+ - docs/pdf-generation.md
1982
2031
  - lcms-engine.gemspec
1983
2032
  - lib/asset_helper.rb
1984
2033
  - lib/doc_template.rb
@@ -2088,7 +2137,6 @@ files:
2088
2137
  - lib/doc_template/templates/vocabulary.html.erb
2089
2138
  - lib/doc_template/templates/white-placeholder.html.erb
2090
2139
  - lib/doc_template/xpath_functions.rb
2091
- - lib/document_exporter.rb
2092
2140
  - lib/document_exporter/base.rb
2093
2141
  - lib/document_exporter/docx.rb
2094
2142
  - lib/document_exporter/gdoc/base.rb
@@ -2112,7 +2160,6 @@ files:
2112
2160
  - lib/generators/lcms/engine/install/templates/config/tags.yml
2113
2161
  - lib/lcms/engine.rb
2114
2162
  - lib/lcms/engine/engine.rb
2115
- - lib/lcms/engine/migration.rb
2116
2163
  - lib/lcms/engine/test/resource_helpers.rb
2117
2164
  - lib/lcms/engine/version.rb
2118
2165
  - lib/lt/lcms/metadata/base_service.rb
@@ -2138,7 +2185,7 @@ files:
2138
2185
  - lib/tasks/standards.rake
2139
2186
  - lib/text_to_image.rb
2140
2187
  - package.json
2141
- - spec/controllers/admin/admin_controller_spec.rb
2188
+ - postcss.config.js
2142
2189
  - spec/controllers/admin/association_picker_controller_spec.rb
2143
2190
  - spec/controllers/admin/curriculums_controller_spec.rb
2144
2191
  - spec/controllers/admin/documents_controller_spec.rb
@@ -2152,6 +2199,7 @@ files:
2152
2199
  - spec/controllers/admin/welcome_controller_spec.rb
2153
2200
  - spec/controllers/documents_controller_spec.rb
2154
2201
  - spec/controllers/resources_controller_spec.rb
2202
+ - spec/controllers/welcome_controller_spec.rb
2155
2203
  - spec/dummy/.env
2156
2204
  - spec/dummy/.env.docker
2157
2205
  - spec/dummy/.ruby-gemset
@@ -2178,6 +2226,8 @@ files:
2178
2226
  - spec/dummy/bin/setup
2179
2227
  - spec/dummy/bin/spring
2180
2228
  - spec/dummy/bin/update
2229
+ - spec/dummy/bin/webpack
2230
+ - spec/dummy/bin/webpack-dev-server
2181
2231
  - spec/dummy/bin/yarn
2182
2232
  - spec/dummy/config.ru
2183
2233
  - spec/dummy/config/application.rb
@@ -2260,6 +2310,7 @@ files:
2260
2310
  - spec/fixtures/tables/document-metadata-2spans.html
2261
2311
  - spec/fixtures/tables/document-metadata.html
2262
2312
  - spec/forms/document_form_spec.rb
2313
+ - spec/helpers/path_helper_spec.rb
2263
2314
  - spec/lib/doc_template/objects/activity_metadata_spec.rb
2264
2315
  - spec/lib/doc_template/objects/agenda_metadata_spec.rb
2265
2316
  - spec/lib/doc_template/objects/base_metadata_spec.rb
@@ -2296,7 +2347,6 @@ files:
2296
2347
  - spec/lib/lt/lcms/metadata/context_spec.rb
2297
2348
  - spec/lib/lt/lcms/metadata/service_spec.rb
2298
2349
  - spec/lib/text_to_image_spec.rb
2299
- - spec/models/component_spec.rb
2300
2350
  - spec/models/document_bundle_spec.rb
2301
2351
  - spec/models/document_part_spec.rb
2302
2352
  - spec/models/document_spec.rb
@@ -2312,11 +2362,13 @@ files:
2312
2362
  - spec/models/standard_spec.rb
2313
2363
  - spec/models/tag_spec.rb
2314
2364
  - spec/models/tagging_spec.rb
2365
+ - spec/queries/lcms/engine/admin_materials_query_spec.rb
2315
2366
  - spec/rails_helper.rb
2316
2367
  - spec/requests/admin/curriculum_spec.rb
2317
2368
  - spec/services/document_build_service_spec.rb
2318
2369
  - spec/services/embed_equations_spec.rb
2319
2370
  - spec/services/html_sanitizer_spec.rb
2371
+ - spec/services/s3_service_spec.rb
2320
2372
  - spec/spec_helper.rb
2321
2373
  - spec/support/bullet.rb
2322
2374
  - spec/support/capybara.rb
@@ -2333,224 +2385,35 @@ files:
2333
2385
  - spec/support/shoulda_matchers.rb
2334
2386
  - templates/routes.rb
2335
2387
  - vendor/assets/javascripts/html.sortable.min.js
2336
- - vendor/assets/javascripts/jquery.tagsinput.js
2337
2388
  - vendor/assets/javascripts/selectize.min.js
2338
2389
  - vendor/assets/stylesheets/selectize.scss
2339
2390
  - yarn.lock
2340
2391
  homepage: https://github.com/learningtapestry/lcms-engine
2341
2392
  licenses:
2342
2393
  - Apache-2.0
2343
- metadata: {}
2344
- post_install_message:
2394
+ metadata:
2395
+ homepage_uri: https://github.com/learningtapestry/lcms-engine
2396
+ changelog_uri: https://github.com/learningtapestry/lcms-engine/blob/master/CHANGELOG.md
2397
+ rubygems_mfa_required: 'true'
2398
+ source_code_uri: https://github.com/learningtapestry/lcms-engine
2399
+ bug_tracker_uri: https://github.com/learningtapestry/lcms-engine/issues
2400
+ post_install_message:
2345
2401
  rdoc_options: []
2346
2402
  require_paths:
2347
2403
  - lib
2348
2404
  required_ruby_version: !ruby/object:Gem::Requirement
2349
2405
  requirements:
2350
- - - ">="
2406
+ - - "~>"
2351
2407
  - !ruby/object:Gem::Version
2352
- version: '2.6'
2408
+ version: '2.7'
2353
2409
  required_rubygems_version: !ruby/object:Gem::Requirement
2354
2410
  requirements:
2355
2411
  - - ">="
2356
2412
  - !ruby/object:Gem::Version
2357
2413
  version: '0'
2358
2414
  requirements: []
2359
- rubygems_version: 3.0.6
2360
- signing_key:
2415
+ rubygems_version: 3.1.6
2416
+ signing_key:
2361
2417
  specification_version: 4
2362
2418
  summary: Rails engine for LCMS applications
2363
- test_files:
2364
- - spec/controllers/admin/admin_controller_spec.rb
2365
- - spec/controllers/admin/association_picker_controller_spec.rb
2366
- - spec/controllers/admin/curriculums_controller_spec.rb
2367
- - spec/controllers/admin/documents_controller_spec.rb
2368
- - spec/controllers/admin/materials_controller_spec.rb
2369
- - spec/controllers/admin/resource_bulk_edit_controller_spec.rb
2370
- - spec/controllers/admin/resources_controller_spec.rb
2371
- - spec/controllers/admin/settings_controller_spec.rb
2372
- - spec/controllers/admin/sketch_compilers_controller_spec.rb
2373
- - spec/controllers/admin/standards_controller_spec.rb
2374
- - spec/controllers/admin/users_controller_spec.rb
2375
- - spec/controllers/admin/welcome_controller_spec.rb
2376
- - spec/controllers/documents_controller_spec.rb
2377
- - spec/controllers/resources_controller_spec.rb
2378
- - spec/dummy/.env
2379
- - spec/dummy/.env.docker
2380
- - spec/dummy/.ruby-gemset
2381
- - spec/dummy/.ruby-version
2382
- - spec/dummy/.traceroute.yaml
2383
- - spec/dummy/Rakefile
2384
- - spec/dummy/app/assets/config/manifest.js
2385
- - spec/dummy/app/assets/images/.keep
2386
- - spec/dummy/app/assets/javascripts/application.js
2387
- - spec/dummy/app/assets/stylesheets/application.css
2388
- - spec/dummy/app/controllers/application_controller.rb
2389
- - spec/dummy/app/controllers/concerns/.keep
2390
- - spec/dummy/app/helpers/application_helper.rb
2391
- - spec/dummy/app/jobs/application_job.rb
2392
- - spec/dummy/app/mailers/application_mailer.rb
2393
- - spec/dummy/app/models/concerns/.keep
2394
- - spec/dummy/app/views/layouts/application.html.erb
2395
- - spec/dummy/app/views/layouts/mailer.html.erb
2396
- - spec/dummy/app/views/layouts/mailer.text.erb
2397
- - spec/dummy/bin/bundle
2398
- - spec/dummy/bin/rails
2399
- - spec/dummy/bin/rake
2400
- - spec/dummy/bin/rspec
2401
- - spec/dummy/bin/setup
2402
- - spec/dummy/bin/spring
2403
- - spec/dummy/bin/update
2404
- - spec/dummy/bin/yarn
2405
- - spec/dummy/config.ru
2406
- - spec/dummy/config/application.rb
2407
- - spec/dummy/config/boot.rb
2408
- - spec/dummy/config/database.yml
2409
- - spec/dummy/config/environment.rb
2410
- - spec/dummy/config/environments/development.rb
2411
- - spec/dummy/config/environments/production.rb
2412
- - spec/dummy/config/environments/test.rb
2413
- - spec/dummy/config/initializers/application_controller_renderer.rb
2414
- - spec/dummy/config/initializers/assets.rb
2415
- - spec/dummy/config/initializers/backtrace_silencers.rb
2416
- - spec/dummy/config/initializers/content_security_policy.rb
2417
- - spec/dummy/config/initializers/cookies_serializer.rb
2418
- - spec/dummy/config/initializers/filter_parameter_logging.rb
2419
- - spec/dummy/config/initializers/inflections.rb
2420
- - spec/dummy/config/initializers/mime_types.rb
2421
- - spec/dummy/config/initializers/wrap_parameters.rb
2422
- - spec/dummy/config/lcms-admin.yml
2423
- - spec/dummy/config/lcms.yml
2424
- - spec/dummy/config/locales/en.yml
2425
- - spec/dummy/config/materials_rules.yml
2426
- - spec/dummy/config/pdf.yml
2427
- - spec/dummy/config/puma.rb
2428
- - spec/dummy/config/routes.rb
2429
- - spec/dummy/config/secrets.yml
2430
- - spec/dummy/config/spring.rb
2431
- - spec/dummy/config/tags.yml
2432
- - spec/dummy/config/webpack/development.js
2433
- - spec/dummy/config/webpack/environment.js
2434
- - spec/dummy/config/webpack/production.js
2435
- - spec/dummy/config/webpack/test.js
2436
- - spec/dummy/config/webpacker.yml
2437
- - spec/dummy/db/schema.rb
2438
- - spec/dummy/lib/assets/.keep
2439
- - spec/dummy/log/.keep
2440
- - spec/dummy/package.json
2441
- - spec/dummy/public/404.html
2442
- - spec/dummy/public/422.html
2443
- - spec/dummy/public/500.html
2444
- - spec/dummy/public/apple-touch-icon-precomposed.png
2445
- - spec/dummy/public/apple-touch-icon.png
2446
- - spec/dummy/public/favicon.ico
2447
- - spec/entities/breadcrumbs_spec.rb
2448
- - spec/entities/filterbar_spec.rb
2449
- - spec/entities/grades_spec.rb
2450
- - spec/entities/pagination_spec.rb
2451
- - spec/factories/access_code.rb
2452
- - spec/factories/authors.rb
2453
- - spec/factories/curriculums.rb
2454
- - spec/factories/document_bundles.rb
2455
- - spec/factories/document_parts.rb
2456
- - spec/factories/documents.rb
2457
- - spec/factories/downloads.rb
2458
- - spec/factories/leadership_posts.rb
2459
- - spec/factories/materials.rb
2460
- - spec/factories/resource_additional_resources.rb
2461
- - spec/factories/resources.rb
2462
- - spec/factories/settings.rb
2463
- - spec/factories/social_thumbnails.rb
2464
- - spec/factories/staff_members.rb
2465
- - spec/factories/standard_links.rb
2466
- - spec/factories/standards.rb
2467
- - spec/factories/taggings.rb
2468
- - spec/factories/tags.rb
2469
- - spec/factories/users.rb
2470
- - spec/features/admin/lessons/add_lesson_spec.rb
2471
- - spec/features/admin/lessons/sample-lessons/ela-g2.html
2472
- - spec/features/admin/lessons/sample-lessons/ela-g6.html
2473
- - spec/features/admin/lessons/sample-lessons/math-g4.html
2474
- - spec/features/admin/lessons/sample-lessons/math-g7.html
2475
- - spec/features/admin/materials/add_material_spec.rb
2476
- - spec/features/admin/materials/sample-materials/vocabulary-chart.html
2477
- - spec/features/admin/materials/sample-materials/vocabulary-chart.pdf
2478
- - spec/features/admin/users_spec.rb
2479
- - spec/features/users/login_logout_spec.rb
2480
- - spec/features/welcome_spec.rb
2481
- - spec/fixtures/tables/activity-metadata-3activities.html
2482
- - spec/fixtures/tables/document-metadata-2paragpraphs.html
2483
- - spec/fixtures/tables/document-metadata-2spans.html
2484
- - spec/fixtures/tables/document-metadata.html
2485
- - spec/forms/document_form_spec.rb
2486
- - spec/lib/doc_template/objects/activity_metadata_spec.rb
2487
- - spec/lib/doc_template/objects/agenda_metadata_spec.rb
2488
- - spec/lib/doc_template/objects/base_metadata_spec.rb
2489
- - spec/lib/doc_template/objects/toc_metadata_spec.rb
2490
- - spec/lib/doc_template/tables/activity_spec.rb
2491
- - spec/lib/doc_template/tables/base_spec.rb
2492
- - spec/lib/doc_template/tables/metadata_spec.rb
2493
- - spec/lib/doc_template/tables/shared_examples/remove_table.rb
2494
- - spec/lib/doc_template/tags/answer_space_tag_spec.rb
2495
- - spec/lib/doc_template/tags/base_tag_spec.rb
2496
- - spec/lib/doc_template/tags/columns_tag_spec.rb
2497
- - spec/lib/doc_template/tags/dialogue_tag_spec.rb
2498
- - spec/lib/doc_template/tags/gls_tag_spec.rb
2499
- - spec/lib/doc_template/tags/inset_tag_spec.rb
2500
- - spec/lib/doc_template/tags/language_arts_objectives_tag_spec.rb
2501
- - spec/lib/doc_template/tags/latex_tag_spec.rb
2502
- - spec/lib/doc_template/tags/materials_tag_spec.rb
2503
- - spec/lib/doc_template/tags/multiple_choice_tag_spec.rb
2504
- - spec/lib/doc_template/tags/opt_break_spec.rb
2505
- - spec/lib/doc_template/tags/page_break_tag_spec.rb
2506
- - spec/lib/doc_template/tags/pd_tag_spec.rb
2507
- - spec/lib/doc_template/tags/pv_tag_spec.rb
2508
- - spec/lib/doc_template/tags/smp_tag_spec.rb
2509
- - spec/lib/doc_template/tags/stadard_tag_spec.rb
2510
- - spec/lib/doc_template/tags/table_preserve_alignment_tag_spec.rb
2511
- - spec/lib/doc_template/tags/task_tag_spec.rb
2512
- - spec/lib/doc_template/tags/vocab_tag_spec.rb
2513
- - spec/lib/doc_template/tags/white_placeholder_tag_spec.rb
2514
- - spec/lib/doc_template/tags_spec.rb
2515
- - spec/lib/doc_template/template_spec.rb
2516
- - spec/lib/doc_template_spec.rb
2517
- - spec/lib/document_exporter/docx_spec.rb
2518
- - spec/lib/document_exporter/gdoc_spec.rb
2519
- - spec/lib/lt/lcms/metadata/context_spec.rb
2520
- - spec/lib/lt/lcms/metadata/service_spec.rb
2521
- - spec/lib/text_to_image_spec.rb
2522
- - spec/models/component_spec.rb
2523
- - spec/models/document_bundle_spec.rb
2524
- - spec/models/document_part_spec.rb
2525
- - spec/models/document_spec.rb
2526
- - spec/models/download_spec.rb
2527
- - spec/models/material_spec.rb
2528
- - spec/models/resource_additional_resource_spec.rb
2529
- - spec/models/resource_spec.rb
2530
- - spec/models/search/document_spec.rb
2531
- - spec/models/search/elastic_search_document_spec.rb
2532
- - spec/models/settings_spec.rb
2533
- - spec/models/social_thumbnail_spec.rb
2534
- - spec/models/standard_link_spec.rb
2535
- - spec/models/standard_spec.rb
2536
- - spec/models/tag_spec.rb
2537
- - spec/models/tagging_spec.rb
2538
- - spec/rails_helper.rb
2539
- - spec/requests/admin/curriculum_spec.rb
2540
- - spec/services/document_build_service_spec.rb
2541
- - spec/services/embed_equations_spec.rb
2542
- - spec/services/html_sanitizer_spec.rb
2543
- - spec/spec_helper.rb
2544
- - spec/support/bullet.rb
2545
- - spec/support/capybara.rb
2546
- - spec/support/concerns/navigable.rb
2547
- - spec/support/concerns/searchable.rb
2548
- - spec/support/database_cleaner.rb
2549
- - spec/support/devise.rb
2550
- - spec/support/factory_bot.rb
2551
- - spec/support/feature_helper.rb
2552
- - spec/support/fixture_helper.rb
2553
- - spec/support/resources.rb
2554
- - spec/support/routes.rb
2555
- - spec/support/shared_examples/content_tag.rb
2556
- - spec/support/shoulda_matchers.rb
2419
+ test_files: []