scrivito_sdk 0.50.1 → 0.60.0.rc1

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 (82) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/scrivito/objs_controller.rb +25 -21
  3. data/app/controllers/scrivito/ui_controller.rb +1 -1
  4. data/app/controllers/scrivito/webservice_controller.rb +1 -1
  5. data/app/models/scrivito/content_widget.rb +1 -3
  6. data/app/views/cms/index.html.erb +3 -0
  7. data/app/views/scrivito/objs/destroy.json.jbuilder +1 -0
  8. data/app/views/scrivito/objs/show.json.jbuilder +2 -0
  9. data/app/views/scrivito/objs/update.json.jbuilder +1 -1
  10. data/app/views/scrivito/objs/{widget_modification.json.jbuilder → widget.json.jbuilder} +0 -0
  11. data/config/ca-bundle.crt +24 -219
  12. data/config/precedence_routes.rb +60 -0
  13. data/config/routes.rb +13 -46
  14. data/lib/assets/javascripts/scrivito_ui.js +360 -202
  15. data/lib/assets/stylesheets/scrivito_sdk.css +1 -1
  16. data/lib/assets/stylesheets/scrivito_ui.css +1 -1
  17. data/lib/generators/scrivito/install/templates/app/models/download.rb +1 -3
  18. data/lib/generators/scrivito/install/templates/app/models/headline_widget.rb +1 -5
  19. data/lib/generators/scrivito/install/templates/app/models/image.rb +1 -3
  20. data/lib/generators/scrivito/install/templates/app/models/image_widget.rb +1 -5
  21. data/lib/generators/scrivito/install/templates/app/models/page.rb +3 -6
  22. data/lib/generators/scrivito/install/templates/app/models/text_widget.rb +1 -5
  23. data/lib/generators/scrivito/install/templates/scrivito/migrate/install_scrivito_migration.rb +1 -25
  24. data/lib/generators/scrivito/migration/templates/migration.erb +2 -26
  25. data/lib/generators/scrivito/page/page_generator.rb +0 -11
  26. data/lib/generators/scrivito/page/templates/model.erb +3 -7
  27. data/lib/generators/scrivito/widget/widget_generator.rb +0 -11
  28. data/lib/scrivito/attribute.rb +10 -16
  29. data/lib/scrivito/attribute_collection.rb +4 -0
  30. data/lib/scrivito/attribute_content.rb +239 -161
  31. data/lib/scrivito/attribute_definition.rb +16 -10
  32. data/lib/scrivito/attribute_definition_collection.rb +7 -4
  33. data/lib/scrivito/attribute_definition_migrator.rb +1 -3
  34. data/lib/scrivito/attribute_deserializer.rb +111 -0
  35. data/lib/scrivito/attribute_serializer.rb +189 -0
  36. data/lib/scrivito/basic_obj.rb +113 -78
  37. data/lib/scrivito/basic_widget.rb +103 -37
  38. data/lib/scrivito/binary.rb +3 -3
  39. data/lib/scrivito/cache/chainable.rb +10 -4
  40. data/lib/scrivito/cache/file_store.rb +7 -4
  41. data/lib/scrivito/cache/ram_store.rb +1 -1
  42. data/lib/scrivito/class_collection.rb +2 -2
  43. data/lib/scrivito/client_config.rb +7 -6
  44. data/lib/scrivito/cms_backend.rb +2 -2
  45. data/lib/scrivito/cms_field_tag.rb +33 -25
  46. data/lib/scrivito/cms_rest_api/{attribute_serializer.rb → legacy_attribute_serializer.rb} +1 -1
  47. data/lib/scrivito/cms_routing.rb +20 -14
  48. data/lib/scrivito/configuration.rb +1 -1
  49. data/lib/scrivito/controller_actions.rb +12 -4
  50. data/lib/scrivito/date_attribute.rb +8 -0
  51. data/lib/scrivito/diff.rb +1 -1
  52. data/lib/scrivito/editing_context.rb +1 -1
  53. data/lib/scrivito/editing_context_middleware.rb +1 -1
  54. data/lib/scrivito/errors.rb +4 -0
  55. data/lib/scrivito/link_parser.rb +6 -1
  56. data/lib/scrivito/migrations/cms_backend.rb +17 -60
  57. data/lib/scrivito/migrations/migration_store.rb +0 -1
  58. data/lib/scrivito/model_library.rb +6 -6
  59. data/lib/scrivito/obj_class.rb +34 -48
  60. data/lib/scrivito/obj_class_collection.rb +21 -3
  61. data/lib/scrivito/obj_create_params_parser.rb +2 -1
  62. data/lib/scrivito/obj_data.rb +9 -103
  63. data/lib/scrivito/obj_data_from_hash.rb +19 -21
  64. data/lib/scrivito/obj_data_from_service.rb +28 -48
  65. data/lib/scrivito/obj_params_parser.rb +14 -14
  66. data/lib/scrivito/obj_search_enumerator.rb +1 -1
  67. data/lib/scrivito/obj_update_params_parser.rb +2 -2
  68. data/lib/scrivito/restriction_set.rb +1 -1
  69. data/lib/scrivito/sdk_engine.rb +2 -2
  70. data/lib/scrivito/test_request.rb +10 -0
  71. data/lib/scrivito/type_computer.rb +5 -1
  72. data/lib/scrivito/widget_collection.rb +15 -0
  73. data/lib/scrivito/widget_garbage_collection.rb +1 -1
  74. data/lib/scrivito/widget_tag.rb +2 -0
  75. data/lib/scrivito/workspace.rb +2 -1
  76. data/lib/scrivito/workspace_data_from_service.rb +1 -0
  77. data/lib/scrivito_sdk.rb +17 -1
  78. metadata +36 -34
  79. data/app/views/scrivito/objs/modification.json.jbuilder +0 -1
  80. data/config/cms_routes.rb +0 -22
  81. data/lib/generators/scrivito/page/templates/migration.erb +0 -9
  82. data/lib/generators/scrivito/widget/templates/migration.erb +0 -7
@@ -18,8 +18,8 @@ module ::Scrivito
18
18
  config.action_dispatch.rescue_responses.merge!("Scrivito::ResourceNotFound" => :not_found)
19
19
 
20
20
  initializer "scrivito.add_cms_routing_paths", :after => :add_routing_paths do |app|
21
- cms_route = File.expand_path("cms_routes.rb", paths['config'].to_a.first)
22
- app.routes_reloader.paths.push(cms_route)
21
+ precedence_route = File.expand_path("precedence_routes.rb", paths['config'].to_a.first)
22
+ app.routes_reloader.paths.unshift(precedence_route)
23
23
  end
24
24
 
25
25
  # Expose Scrivito SDK runtime to controller for logging.
@@ -45,5 +45,15 @@ module Scrivito
45
45
  def for_cms_object(*args)
46
46
  raise "The method `for_cms_object' was removed. Please use `for_scrivito_obj' instead"
47
47
  end
48
+
49
+ #
50
+ # Make a test request to act as it's by a specific Scrivito user
51
+ #
52
+ # @api public
53
+ # @param [Scrivito::User] test_user requested +User+
54
+ #
55
+ def for_scrivito_user(test_user)
56
+ env[EditingContextMiddleware::ENVKEY] = EditingContext.new(editor: -> { test_user })
57
+ end
48
58
  end
49
59
  end
@@ -6,7 +6,11 @@ class TypeComputer
6
6
  end
7
7
 
8
8
  def compute_type(obj_class_name)
9
- load_class(obj_class_name) || @fallback_class
9
+ compute_type_without_fallback(obj_class_name) || @fallback_class
10
+ end
11
+
12
+ def compute_type_without_fallback(obj_class_name)
13
+ load_class(obj_class_name)
10
14
  end
11
15
 
12
16
  def special_class?(klass)
@@ -3,6 +3,8 @@ module Scrivito
3
3
  # The +WidgetCollection+ represents all {Scrivito::BasicWidget Widgets} referenced by an
4
4
  # {Scrivito::BasicObj Obj} or its subwidgets.
5
5
  class WidgetCollection
6
+ include Enumerable
7
+
6
8
  def initialize(obj)
7
9
  @obj = obj
8
10
  end
@@ -15,6 +17,19 @@ module Scrivito
15
17
  obj.widget_from_pool(widget_id)
16
18
  end
17
19
 
20
+ # @api public
21
+ #
22
+ # Enables you to iterate the {Scrivito::BasicWidget Widgets} of an {Scrivito::BasicObj Obj}.
23
+ # Includes the {http://ruby-doc.org/core-2.1.0/Enumerable.html Enumerable} mixin
24
+ # and thereby provides methods like +map+ or +select+.
25
+ # @yield [Scrivito::BasicWidget] the {Scrivito::BasicWidget Widgets} of an {Scrivito::BasicObj Obj}
26
+ #
27
+ # @example Array of all widget ids
28
+ # obj.widgets.map { |widget| widget.id }
29
+ def each(&block)
30
+ obj.all_widgets_from_pool.each(&block)
31
+ end
32
+
18
33
  private
19
34
 
20
35
  attr_reader :obj
@@ -79,7 +79,7 @@ class WidgetGarbageCollection
79
79
  end
80
80
  else
81
81
  params.each do |key, value|
82
- if content.type_of_attribute(key) == "widget"
82
+ if content.type_of_attribute(key) == 'widgetlist'
83
83
  current = content[key]
84
84
  new = value
85
85
 
@@ -9,6 +9,8 @@ class WidgetTag < Struct.new(:view, :widget, :placement_modification)
9
9
 
10
10
  def content
11
11
  view.render(template: template, locals: {widget: widget})
12
+ rescue ActionView::MissingTemplate
13
+ %{Missing Ruby model class for "#{widget.obj_class_name}"} if view.scrivito_user
12
14
  end
13
15
 
14
16
  def options
@@ -79,7 +79,7 @@ class Workspace
79
79
  all.detect { |workspace| workspace.title == title }
80
80
  end
81
81
 
82
- delegate :content_state, :base_revision_id, :base_content_state, to: :data
82
+ delegate :content_state, :base_revision_id, :base_content_state, :uses_obj_classes, to: :data
83
83
 
84
84
  # Create a new workspace
85
85
  # @api public
@@ -244,6 +244,7 @@ class Workspace
244
244
  # Returns all obj classes of this working copy.
245
245
  #
246
246
  # @api public
247
+ # @deprecated
247
248
  #
248
249
  # @example Find the obj class named "Homepage" in the "rtc" {Workspace}.
249
250
  # Workspace.find('rtc').obj_classes['Homepage']
@@ -16,6 +16,7 @@ class WorkspaceDataFromService < WorkspaceData
16
16
  data_attr_reader :base_revision_id
17
17
  data_attr_reader :base_content_state_id
18
18
  data_attr_reader :diff
19
+ data_attr_reader :uses_obj_classes
19
20
 
20
21
  def content_state
21
22
  @content_state ||= ContentState.find_or_create(content_state_id) if content_state_id
data/lib/scrivito_sdk.rb CHANGED
@@ -21,7 +21,7 @@ module Scrivito
21
21
  #
22
22
  # Configures which models Scrivito assumes as pages and widgets.
23
23
  #
24
- # @api private
24
+ # @api public
25
25
  #
26
26
  # In order to display a page class selection dialog and a widget class selection dialog, Scrivito
27
27
  # needs to know which page models and widget models are available. That models can be defined in
@@ -123,6 +123,22 @@ module Scrivito
123
123
  end
124
124
  end
125
125
 
126
+ def self.obj_class_deprecated_message
127
+ %{
128
+ The SDK now allows defining classes and attributes directly in your application source code.
129
+ Please run the migration tool to have your model migrated automatically in order to use this version of the SDK.
130
+ See https://scrivito.com/obj-class-migration for details.
131
+ }
132
+ end
133
+
134
+ def self.raise_obj_class_deprecated_error
135
+ raise ScrivitoError, obj_class_deprecated_message
136
+ end
137
+
138
+ def self.print_obj_class_deprecated_warning
139
+ Deprecation.warn(obj_class_deprecated_message)
140
+ end
141
+
126
142
  autoload_all_sources
127
143
  end
128
144
 
metadata CHANGED
@@ -1,162 +1,162 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scrivito_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.50.1
4
+ version: 0.60.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Infopark AG
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-27 00:00:00.000000000 Z
11
+ date: 2015-04-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: 2.3.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 2.3.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: diff-lcs
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: 1.2.5
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 1.2.5
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: hyp_diff
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: 0.0.4
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.0.4
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: jbuilder
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: 2.2.2
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ~>
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: 2.2.2
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: jquery-rails
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - ~>
73
+ - - "~>"
74
74
  - !ruby/object:Gem::Version
75
75
  version: 3.1.1
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - ~>
80
+ - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: 3.1.1
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: json
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
89
  version: 1.7.7
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - '>='
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: 1.7.7
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: multipart-post
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ~>
101
+ - - "~>"
102
102
  - !ruby/object:Gem::Version
103
103
  version: 2.0.0
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - ~>
108
+ - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: 2.0.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: nokogiri
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ~>
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
117
  version: 1.6.5
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ~>
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: 1.6.5
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: rails
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ~>
129
+ - - "~>"
130
130
  - !ruby/object:Gem::Version
131
131
  version: 4.2.0
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ~>
136
+ - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: 4.2.0
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: rake
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - '>='
143
+ - - ">="
144
144
  - !ruby/object:Gem::Version
145
145
  version: 0.9.2.2
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - '>='
150
+ - - ">="
151
151
  - !ruby/object:Gem::Version
152
152
  version: 0.9.2.2
153
- description: ' Scrivito: A professional Cloud CMS built for Ruby on Rails. '
153
+ description: " Scrivito: A professional Cloud CMS built for Ruby on Rails. "
154
154
  email: info@scrivito.com
155
155
  executables: []
156
156
  extensions: []
157
157
  extra_rdoc_files: []
158
158
  files:
159
- - .yardopts
159
+ - ".yardopts"
160
160
  - README.md
161
161
  - app/controllers/scrivito/blobs_controller.rb
162
162
  - app/controllers/scrivito/default_cms_controller.rb
@@ -168,21 +168,23 @@ files:
168
168
  - app/controllers/scrivito/workspaces_controller.rb
169
169
  - app/helpers/scrivito_helper.rb
170
170
  - app/models/scrivito/content_widget.rb
171
+ - app/views/cms/index.html.erb
171
172
  - app/views/google_maps_widget/show.html.erb
172
173
  - app/views/scrivito/_editing_auth_warning.html.erb
173
174
  - app/views/scrivito/blobs/upload_permission.json.jbuilder
174
175
  - app/views/scrivito/content_widget/show.html.erb
175
176
  - app/views/scrivito/objs/copy_widget.html.erb
176
177
  - app/views/scrivito/objs/create_widget.html.erb
178
+ - app/views/scrivito/objs/destroy.json.jbuilder
177
179
  - app/views/scrivito/objs/format_missing_error.json.jbuilder
178
- - app/views/scrivito/objs/modification.json.jbuilder
179
180
  - app/views/scrivito/objs/obj.json.jbuilder
180
181
  - app/views/scrivito/objs/page_class_selection.json.jbuilder
181
182
  - app/views/scrivito/objs/search.json.jbuilder
182
183
  - app/views/scrivito/objs/search_only_size.json.jbuilder
184
+ - app/views/scrivito/objs/show.json.jbuilder
183
185
  - app/views/scrivito/objs/update.json.jbuilder
186
+ - app/views/scrivito/objs/widget.json.jbuilder
184
187
  - app/views/scrivito/objs/widget_class_selection.json.jbuilder
185
- - app/views/scrivito/objs/widget_modification.json.jbuilder
186
188
  - app/views/scrivito/tasks/show.json.jbuilder
187
189
  - app/views/scrivito/ui/index.html.erb
188
190
  - app/views/scrivito/users/suggest.json.jbuilder
@@ -196,13 +198,13 @@ files:
196
198
  - app/views/scrivito/workspaces/show.json.jbuilder
197
199
  - app/views/scrivito/workspaces/task.json.jbuilder
198
200
  - config/ca-bundle.crt
199
- - config/cms_routes.rb
200
201
  - config/locales/de.scrivito.errors.yml
201
202
  - config/locales/de.scrivito.lib.yml
202
203
  - config/locales/de.scrivito.models.yml
203
204
  - config/locales/en.scrivito.errors.yml
204
205
  - config/locales/en.scrivito.lib.yml
205
206
  - config/locales/en.scrivito.models.yml
207
+ - config/precedence_routes.rb
206
208
  - config/routes.rb
207
209
  - lib/assets/images/180x120.gif
208
210
  - lib/assets/images/scrivito/image_placeholder.png
@@ -242,11 +244,9 @@ files:
242
244
  - lib/generators/scrivito/page/templates/controller.erb
243
245
  - lib/generators/scrivito/page/templates/details.html.erb
244
246
  - lib/generators/scrivito/page/templates/index.html.erb
245
- - lib/generators/scrivito/page/templates/migration.erb
246
247
  - lib/generators/scrivito/page/templates/model.erb
247
248
  - lib/generators/scrivito/page/templates/thumbnail.html.erb
248
249
  - lib/generators/scrivito/widget/templates/details.html.erb
249
- - lib/generators/scrivito/widget/templates/migration.erb
250
250
  - lib/generators/scrivito/widget/templates/model.erb
251
251
  - lib/generators/scrivito/widget/templates/show.html.erb
252
252
  - lib/generators/scrivito/widget/templates/thumbnail.html.erb
@@ -259,6 +259,8 @@ files:
259
259
  - lib/scrivito/attribute_definition.rb
260
260
  - lib/scrivito/attribute_definition_collection.rb
261
261
  - lib/scrivito/attribute_definition_migrator.rb
262
+ - lib/scrivito/attribute_deserializer.rb
263
+ - lib/scrivito/attribute_serializer.rb
262
264
  - lib/scrivito/backend_error.rb
263
265
  - lib/scrivito/basic_obj.rb
264
266
  - lib/scrivito/basic_widget.rb
@@ -279,7 +281,7 @@ files:
279
281
  - lib/scrivito/cms_env.rb
280
282
  - lib/scrivito/cms_field_tag.rb
281
283
  - lib/scrivito/cms_rest_api.rb
282
- - lib/scrivito/cms_rest_api/attribute_serializer.rb
284
+ - lib/scrivito/cms_rest_api/legacy_attribute_serializer.rb
283
285
  - lib/scrivito/cms_rest_api/widget_extractor.rb
284
286
  - lib/scrivito/cms_routing.rb
285
287
  - lib/scrivito/communication_error.rb
@@ -372,14 +374,14 @@ require_paths:
372
374
  - lib
373
375
  required_ruby_version: !ruby/object:Gem::Requirement
374
376
  requirements:
375
- - - '>='
377
+ - - ">="
376
378
  - !ruby/object:Gem::Version
377
- version: 2.0.0
379
+ version: 2.1.0
378
380
  required_rubygems_version: !ruby/object:Gem::Requirement
379
381
  requirements:
380
- - - '>='
382
+ - - ">"
381
383
  - !ruby/object:Gem::Version
382
- version: '0'
384
+ version: 1.3.1
383
385
  requirements: []
384
386
  rubyforge_project:
385
387
  rubygems_version: 2.4.5
@@ -1 +0,0 @@
1
- json.extract! current_obj, :modification
data/config/cms_routes.rb DELETED
@@ -1,22 +0,0 @@
1
- Rails.application.routes.draw do
2
- get '/' => 'scrivito/cms_dispatch#index', as: :scrivito_root
3
-
4
- get '__scrivito/render_widget/:id/show_widget/:widget_id' => 'scrivito/cms_dispatch#show_widget'
5
- get '__scrivito/render_widget/:id/widget_details/:widget_id' => 'scrivito/cms_dispatch#widget_details'
6
-
7
- get '__scrivito/page_details/:id' => 'scrivito/cms_dispatch#page_details'
8
-
9
- get '/__scrivito/resource_details/:resource_id' => 'scrivito/cms_dispatch#resource_details'
10
-
11
- match ':id(/*slug)',
12
- to: 'scrivito/cms_dispatch#index',
13
- constraints: { id: /\d+|[0-9a-f]{16}/ },
14
- as: 'cms_id',
15
- via: :all
16
-
17
- match '/*permalink',
18
- to: 'scrivito/cms_dispatch#index',
19
- as: :scrivito_permalink,
20
- format: false,
21
- via: :all
22
- end