scrivito_sdk 0.40.0 → 0.41.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/scrivito/objs_controller.rb +5 -1
- data/app/helpers/scrivito_helper.rb +22 -11
- data/app/models/scrivito/content_widget.rb +11 -0
- data/app/views/scrivito/content_widget/show.html.erb +7 -0
- data/config/ca-bundle.crt +1 -1
- data/config/cms_routes.rb +3 -1
- data/config/routes.rb +0 -1
- data/lib/assets/javascripts/scrivito_sdk.js +1 -1
- data/lib/assets/javascripts/scrivito_ui.js +415 -137
- data/lib/assets/stylesheets/scrivito_sdk.css +13 -0
- data/lib/assets/stylesheets/scrivito_ui.css +121 -0
- data/lib/generators/scrivito/install/install_generator.rb +6 -1
- data/lib/generators/scrivito/install/templates/app/views/download/embed.html.erb +1 -0
- data/lib/generators/scrivito/install/templates/app/views/image/embed.html.erb +1 -0
- data/lib/generators/scrivito/install/templates/scrivito/migrate/install_scrivito_migration.rb +4 -0
- data/lib/scrivito/basic_obj.rb +9 -1
- data/lib/scrivito/basic_widget.rb +5 -1
- data/lib/scrivito/cache/chainable.rb +52 -0
- data/lib/scrivito/cache/file_store.rb +26 -0
- data/lib/scrivito/cache/ram_store.rb +32 -0
- data/lib/scrivito/cache.rb +1 -40
- data/lib/scrivito/cache_garbage_collector.rb +1 -1
- data/lib/scrivito/cms_backend.rb +5 -5
- data/lib/scrivito/{cms_cache_storage.rb → cms_data_cache.rb} +22 -10
- data/lib/scrivito/cms_rest_api/widget_extractor.rb +1 -1
- data/lib/scrivito/configuration.rb +41 -6
- data/lib/scrivito/content_state.rb +6 -6
- data/lib/scrivito/controller_actions.rb +8 -2
- data/lib/scrivito/obj_params_parser.rb +4 -2
- data/lib/scrivito/workspace_data_from_service.rb +2 -2
- metadata +12 -5
@@ -17,6 +17,15 @@
|
|
17
17
|
min-height: 100px;
|
18
18
|
visibility: visible!important;
|
19
19
|
}
|
20
|
+
.scrivito_content_upload[data-scrivito-field-type=widget],
|
21
|
+
.scrivito_content_upload[data-scrivito-private-widget-id] {
|
22
|
+
background: rgba(152, 187, 225, 0.3) url('data:image/gif;base64,R0lGODlhSwAyALMKAIiIiOHh4ZSUlLi4uPPz86ampqurq+vr6/n0o8/Pz////wAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NDkxMSwgMjAxMy8xMC8yOS0xMTo0NzoxNiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3YzY1NzlkMy1jY2ZlLTQwZjEtYTRlYS0yOWI2YmYzNTM0YzYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODk1NkRERkVBM0U0MTFFNEE1NzZCRjVDOTAzQ0E2MzUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODk1NkRERkRBM0U0MTFFNEE1NzZCRjVDOTAzQ0E2MzUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NGQ4OWM2YzktNjk0Mi00NTE0LWJjYmQtOGQwMzYzN2VlNDdiIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjdjNjU3OWQzLWNjZmUtNDBmMS1hNGVhLTI5YjZiZjM1MzRjNiIvPiA8L3JkZjpE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') no-repeat center 5px;
|
23
|
+
min-height: 55px;
|
24
|
+
}
|
25
|
+
.scrivito_content_upload[data-scrivito-field-type=widget] *,
|
26
|
+
.scrivito_content_upload[data-scrivito-private-widget-id] * {
|
27
|
+
opacity: 0.2;
|
28
|
+
}
|
20
29
|
body.scrivito_editing_active .scrivito_empty_widget_field.scrivito_widget_drop_allowed {
|
21
30
|
max-height: 200px;
|
22
31
|
min-height: 100px;
|
@@ -641,6 +650,8 @@ html.scrivito_bottombar_on {
|
|
641
650
|
background: #34732d;
|
642
651
|
}
|
643
652
|
.scrivito_menu_box .scrivito_menu_item span .scrivito_icon,
|
653
|
+
.scrivito_menu_box .scrivito_menu_item span .scrivito_customer_icon,
|
654
|
+
.scrivito_menu_box .scrivito_menu_item a .scrivito_customer_icon,
|
644
655
|
.scrivito_menu_box .scrivito_menu_item a .scrivito_icon {
|
645
656
|
font-size: 16px;
|
646
657
|
padding: 0 7px 2px 0;
|
@@ -656,6 +667,8 @@ html.scrivito_bottombar_on {
|
|
656
667
|
.scrivito_menu_box .scrivito_menu_item.scrivito_disabled span,
|
657
668
|
.scrivito_menu_box .scrivito_menu_item.scrivito_disabled a,
|
658
669
|
.scrivito_menu_box .scrivito_menu_item.scrivito_disabled span .scrivito_icon,
|
670
|
+
.scrivito_menu_box .scrivito_menu_item.scrivito_disabled a .scrivito_customer_icon,
|
671
|
+
.scrivito_menu_box .scrivito_menu_item.scrivito_disabled span .scrivito_customer_icon,
|
659
672
|
.scrivito_menu_box .scrivito_menu_item.scrivito_disabled a .scrivito_icon {
|
660
673
|
color: #696969!important;
|
661
674
|
cursor: help;
|
@@ -1,3 +1,110 @@
|
|
1
|
+
|
2
|
+
/* Scrivito Customer Icons Font */
|
3
|
+
|
4
|
+
|
5
|
+
@font-face {
|
6
|
+
font-family: 'scrivito_customer_icons';
|
7
|
+
src: url(data:application/x-font-woff;charset=utf-8;base64,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) format('woff');
|
8
|
+
font-weight: normal;
|
9
|
+
font-style: normal;
|
10
|
+
}
|
11
|
+
.scrivito_customer_icon {font-family:"scrivito_customer_icons";
|
12
|
+
font-style:normal;font-weight:normal;
|
13
|
+
color:#444; font-size:26px; line-height:13px!important; vertical-align: middle;
|
14
|
+
text-decoration:none;
|
15
|
+
-webkit-font-smoothing: antialiased;
|
16
|
+
-moz-osx-font-smoothing: grayscale;
|
17
|
+
}
|
18
|
+
.scrivito_customer_icon:hover {cursor:pointer;}
|
19
|
+
|
20
|
+
.scrivito_customer_icon:after { content: "\F000"; }
|
21
|
+
|
22
|
+
.scrivito_customer_icon.sci_scrivito:after { content: "\F000"; }
|
23
|
+
.scrivito_customer_icon.sci_up:after { content: "\F001"; }
|
24
|
+
.scrivito_customer_icon.sci_right:after { content: "\F002"; }
|
25
|
+
.scrivito_customer_icon.sci_down:after { content: "\F003"; }
|
26
|
+
.scrivito_customer_icon.sci_left:after { content: "\F004"; }
|
27
|
+
.scrivito_customer_icon.sci_up_arrow:after { content: "\F005"; }
|
28
|
+
.scrivito_customer_icon.sci_down_arrow:after { content: "\F006"; }
|
29
|
+
.scrivito_customer_icon.sci_arrows:after { content: "\F007"; }
|
30
|
+
.scrivito_customer_icon.sci_user:after { content: "\F008"; }
|
31
|
+
.scrivito_customer_icon.sci_users:after { content: "\F009"; }
|
32
|
+
.scrivito_customer_icon.sci_timetable:after { content: "\F00a"; }
|
33
|
+
.scrivito_customer_icon.sci_cal:after { content: "\F00b"; }
|
34
|
+
.scrivito_customer_icon.sci_mail:after { content: "\F00c"; }
|
35
|
+
.scrivito_customer_icon.sci_phone:after { content: "\F00d"; }
|
36
|
+
.scrivito_customer_icon.sci_mobile:after { content: "\F00e"; }
|
37
|
+
.scrivito_customer_icon.sci_fax:after { content: "\F00f"; }
|
38
|
+
|
39
|
+
.scrivito_customer_icon.sci_map:after { content: "\F010"; }
|
40
|
+
.scrivito_customer_icon.sci_tag:after { content: "\F011"; }
|
41
|
+
.scrivito_customer_icon.sci_inbox:after { content: "\F012"; }
|
42
|
+
.scrivito_customer_icon.sci_suitcase:after { content: "\F013"; }
|
43
|
+
.scrivito_customer_icon.sci_lens:after { content: "\F014"; }
|
44
|
+
.scrivito_customer_icon.sci_new:after { content: "\F015"; }
|
45
|
+
.scrivito_customer_icon.sci_copy:after { content: "\F016"; }
|
46
|
+
.scrivito_customer_icon.sci_cut:after { content: "\F017"; }
|
47
|
+
.scrivito_customer_icon.sci_paste:after { content: "\F018"; }
|
48
|
+
.scrivito_customer_icon.sci_trashcan:after { content: "\F019"; }
|
49
|
+
.scrivito_customer_icon.sci_image:after { content: "\F01a"; }
|
50
|
+
.scrivito_customer_icon.sci_images:after { content: "\F01b"; }
|
51
|
+
.scrivito_customer_icon.sci_eye:after { content: "\F01c"; }
|
52
|
+
.scrivito_customer_icon.sci_globe:after { content: "\F01d"; }
|
53
|
+
.scrivito_customer_icon.sci_str_globe:after { content: "\F01e"; }
|
54
|
+
.scrivito_customer_icon.sci_filter:after { content: "\F01f"; }
|
55
|
+
|
56
|
+
.scrivito_customer_icon.sci_exit:after { content: "\F020"; }
|
57
|
+
.scrivito_customer_icon.sci_key:after { content: "\F021"; }
|
58
|
+
.scrivito_customer_icon.sci_lock:after { content: "\F022"; }
|
59
|
+
.scrivito_customer_icon.sci_gear:after { content: "\F023"; }
|
60
|
+
.scrivito_customer_icon.sci_gears:after { content: "\F024"; }
|
61
|
+
.scrivito_customer_icon.sci_tools:after { content: "\F025"; }
|
62
|
+
.scrivito_customer_icon.sci_undo:after { content: "\F026"; }
|
63
|
+
.scrivito_customer_icon.sci_puzzle:after { content: "\F027"; }
|
64
|
+
.scrivito_customer_icon.sci_text:after { content: "\F028"; }
|
65
|
+
.scrivito_customer_icon.sci_certificate:after { content: "\F029"; }
|
66
|
+
.scrivito_customer_icon.sci_database:after { content: "\F02a"; }
|
67
|
+
.scrivito_customer_icon.sci_chat:after { content: "\F02b"; }
|
68
|
+
.scrivito_customer_icon.sci_relation:after { content: "\F02c"; }
|
69
|
+
.scrivito_customer_icon.sci_link:after { content: "\F02d"; }
|
70
|
+
.scrivito_customer_icon.sci_code:after { content: "\F02e"; }
|
71
|
+
.scrivito_customer_icon.sci_pen:after { content: "\F02f"; }
|
72
|
+
|
73
|
+
.scrivito_customer_icon.sci_circ_pen:after { content: "\F030"; }
|
74
|
+
.scrivito_customer_icon.sci_plus:after { content: "\F031"; }
|
75
|
+
.scrivito_customer_icon.sci_minus:after { content: "\F032"; }
|
76
|
+
.scrivito_customer_icon.sci_check:after { content: "\F033"; }
|
77
|
+
.scrivito_customer_icon.sci_cross:after { content: "\F034"; }
|
78
|
+
.scrivito_customer_icon.sci_question:after { content: "\F035"; }
|
79
|
+
.scrivito_customer_icon.sci_exclamation:after { content: "\F036"; }
|
80
|
+
.scrivito_customer_icon.sci_info:after { content: "\F037"; }
|
81
|
+
.scrivito_customer_icon.sci_time:after { content: "\F038"; }
|
82
|
+
.scrivito_customer_icon.sci_inv_plus:after { content: "\F039"; }
|
83
|
+
.scrivito_customer_icon.sci_inv_minus:after { content: "\F03a"; }
|
84
|
+
.scrivito_customer_icon.sci_inv_check:after { content: "\F03b"; }
|
85
|
+
.scrivito_customer_icon.sci_inv_cross:after { content: "\F03c"; }
|
86
|
+
.scrivito_customer_icon.sci_warning:after { content: "\F03d"; }
|
87
|
+
.scrivito_customer_icon.sci_wand:after { content: "\F03e"; }
|
88
|
+
.scrivito_customer_icon.sci_folder:after { content: "\F03f"; }
|
89
|
+
|
90
|
+
.scrivito_customer_icon.sci_collection:after { content: "\F040"; }
|
91
|
+
.scrivito_customer_icon.sci_sheet:after { content: "\F041"; }
|
92
|
+
.scrivito_customer_icon.sci_pdf:after { content: "\F042"; }
|
93
|
+
.scrivito_customer_icon.sci_txt:after { content: "\F043"; }
|
94
|
+
.scrivito_customer_icon.sci_zip:after { content: "\F044"; }
|
95
|
+
.scrivito_customer_icon.sci_doc:after { content: "\F045"; }
|
96
|
+
.scrivito_customer_icon.sci_xls:after { content: "\F046"; }
|
97
|
+
.scrivito_customer_icon.sci_ppt:after { content: "\F047"; }
|
98
|
+
|
99
|
+
.scrivito_customer_icon.sci_video:after { content: "\F049"; }
|
100
|
+
.scrivito_customer_icon.sci_audio:after { content: "\F04a"; }
|
101
|
+
.scrivito_customer_icon.sci_list:after { content: "\F04b"; }
|
102
|
+
.scrivito_customer_icon.sci_thumbnails:after { content: "\F04c"; }
|
103
|
+
.scrivito_customer_icon.sci_rounded_square:after { content: "\F04d"; }
|
104
|
+
|
105
|
+
|
106
|
+
|
107
|
+
|
1
108
|
[data-scrivito-field-type="widget"] {
|
2
109
|
min-height: 25px;
|
3
110
|
}
|
@@ -17,6 +124,15 @@
|
|
17
124
|
min-height: 100px;
|
18
125
|
visibility: visible!important;
|
19
126
|
}
|
127
|
+
.scrivito_content_upload[data-scrivito-field-type=widget],
|
128
|
+
.scrivito_content_upload[data-scrivito-private-widget-id] {
|
129
|
+
background: rgba(152, 187, 225, 0.3) url('data:image/gif;base64,R0lGODlhSwAyALMKAIiIiOHh4ZSUlLi4uPPz86ampqurq+vr6/n0o8/Pz////wAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NDkxMSwgMjAxMy8xMC8yOS0xMTo0NzoxNiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo3YzY1NzlkMy1jY2ZlLTQwZjEtYTRlYS0yOWI2YmYzNTM0YzYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODk1NkRERkVBM0U0MTFFNEE1NzZCRjVDOTAzQ0E2MzUiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODk1NkRERkRBM0U0MTFFNEE1NzZCRjVDOTAzQ0E2MzUiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NGQ4OWM2YzktNjk0Mi00NTE0LWJjYmQtOGQwMzYzN2VlNDdiIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjdjNjU3OWQzLWNjZmUtNDBmMS1hNGVhLTI5YjZiZjM1MzRjNiIvPiA8L3JkZjpE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') no-repeat center 5px;
|
130
|
+
min-height: 55px;
|
131
|
+
}
|
132
|
+
.scrivito_content_upload[data-scrivito-field-type=widget] *,
|
133
|
+
.scrivito_content_upload[data-scrivito-private-widget-id] * {
|
134
|
+
opacity: 0.2;
|
135
|
+
}
|
20
136
|
body.scrivito_editing_active .scrivito_empty_widget_field.scrivito_widget_drop_allowed {
|
21
137
|
max-height: 200px;
|
22
138
|
min-height: 100px;
|
@@ -641,6 +757,8 @@ html.scrivito_bottombar_on {
|
|
641
757
|
background: #34732d;
|
642
758
|
}
|
643
759
|
.scrivito_menu_box .scrivito_menu_item span .scrivito_icon,
|
760
|
+
.scrivito_menu_box .scrivito_menu_item span .scrivito_customer_icon,
|
761
|
+
.scrivito_menu_box .scrivito_menu_item a .scrivito_customer_icon,
|
644
762
|
.scrivito_menu_box .scrivito_menu_item a .scrivito_icon {
|
645
763
|
font-size: 16px;
|
646
764
|
padding: 0 7px 2px 0;
|
@@ -656,6 +774,8 @@ html.scrivito_bottombar_on {
|
|
656
774
|
.scrivito_menu_box .scrivito_menu_item.scrivito_disabled span,
|
657
775
|
.scrivito_menu_box .scrivito_menu_item.scrivito_disabled a,
|
658
776
|
.scrivito_menu_box .scrivito_menu_item.scrivito_disabled span .scrivito_icon,
|
777
|
+
.scrivito_menu_box .scrivito_menu_item.scrivito_disabled a .scrivito_customer_icon,
|
778
|
+
.scrivito_menu_box .scrivito_menu_item.scrivito_disabled span .scrivito_customer_icon,
|
659
779
|
.scrivito_menu_box .scrivito_menu_item.scrivito_disabled a .scrivito_icon {
|
660
780
|
color: #696969!important;
|
661
781
|
cursor: help;
|
@@ -3141,6 +3261,7 @@ html[dir="rtl"] .select2-container-multi .select2-search-choice-close {
|
|
3141
3261
|
}
|
3142
3262
|
/*
|
3143
3263
|
|
3264
|
+
|
3144
3265
|
*/
|
3145
3266
|
|
3146
3267
|
|
@@ -39,9 +39,14 @@ module Scrivito
|
|
39
39
|
copy_file 'app/views/page/thumbnail.html.erb'
|
40
40
|
end
|
41
41
|
|
42
|
-
def
|
42
|
+
def copy_image_files
|
43
43
|
copy_file 'app/models/image.rb'
|
44
|
+
copy_file 'app/views/image/embed.html.erb'
|
45
|
+
end
|
46
|
+
|
47
|
+
def copy_download_files
|
44
48
|
copy_file 'app/models/download.rb'
|
49
|
+
copy_file 'app/views/download/embed.html.erb'
|
45
50
|
end
|
46
51
|
|
47
52
|
def copy_headline_widget_files
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= link_to obj.display_title, obj.binary_url %>
|
@@ -0,0 +1 @@
|
|
1
|
+
<%= scrivito_image_tag obj %>
|
data/lib/generators/scrivito/install/templates/scrivito/migrate/install_scrivito_migration.rb
CHANGED
@@ -26,6 +26,10 @@ class InstallScrivitoMigration < Scrivito::Migration
|
|
26
26
|
{name: 'blob', type: 'binary'},
|
27
27
|
])
|
28
28
|
|
29
|
+
Scrivito::ObjClass.create(name: 'Scrivito::ContentWidget', attributes: [
|
30
|
+
{name: 'content', type: 'reference'}
|
31
|
+
])
|
32
|
+
|
29
33
|
Page.create(_path: '/', title: 'Welcome to Scrivito!', body: [
|
30
34
|
HeadlineWidget.new(headline: 'A professional Cloud CMS built for Ruby on Rails.'),
|
31
35
|
TextWidget.new(text: %{
|
data/lib/scrivito/basic_obj.rb
CHANGED
@@ -712,7 +712,11 @@ module Scrivito
|
|
712
712
|
end
|
713
713
|
|
714
714
|
def details_view_path
|
715
|
-
|
715
|
+
view_path('details')
|
716
|
+
end
|
717
|
+
|
718
|
+
def embed_view_path
|
719
|
+
view_path('embed')
|
716
720
|
end
|
717
721
|
|
718
722
|
def widget_from_pool(widget_id)
|
@@ -932,6 +936,10 @@ module Scrivito
|
|
932
936
|
binary.filename if binary? && binary
|
933
937
|
end
|
934
938
|
|
939
|
+
def view_path(view_name)
|
940
|
+
"#{obj_class_name.underscore}/#{view_name}"
|
941
|
+
end
|
942
|
+
|
935
943
|
class << self
|
936
944
|
|
937
945
|
def assert_not_basic_obj(method_name)
|
@@ -13,6 +13,10 @@ class BasicWidget
|
|
13
13
|
@_type_computer = nil
|
14
14
|
end
|
15
15
|
|
16
|
+
def self.hide_from_widget_class_selection?
|
17
|
+
false
|
18
|
+
end
|
19
|
+
|
16
20
|
attr_accessor :container, :container_field_name
|
17
21
|
|
18
22
|
attr_writer :obj, :id
|
@@ -238,7 +242,7 @@ class BasicWidget
|
|
238
242
|
end
|
239
243
|
end
|
240
244
|
|
241
|
-
def
|
245
|
+
def forget_unsaved_attributes
|
242
246
|
@attributes_to_be_saved = nil
|
243
247
|
reload
|
244
248
|
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module Scrivito
|
2
|
+
module Cache
|
3
|
+
module Chainable
|
4
|
+
def read(key)
|
5
|
+
transformed_key = transform_key(key)
|
6
|
+
value = internal_read(transformed_key)
|
7
|
+
if !value && next_store
|
8
|
+
value = next_store.read(transformed_key)
|
9
|
+
internal_write(transformed_key, value)
|
10
|
+
end
|
11
|
+
value
|
12
|
+
end
|
13
|
+
|
14
|
+
def write(key, value, options = {})
|
15
|
+
transformed_key = transform_key(key)
|
16
|
+
next_store.write(transformed_key, value, options) if next_store
|
17
|
+
internal_write(transformed_key, value, options)
|
18
|
+
end
|
19
|
+
|
20
|
+
def fetch(key, &block)
|
21
|
+
read(key) || block.call.tap { |value| write(key, value) }
|
22
|
+
end
|
23
|
+
|
24
|
+
def clear
|
25
|
+
raise NotImplementedError
|
26
|
+
end
|
27
|
+
|
28
|
+
def clear_all
|
29
|
+
clear
|
30
|
+
next_store.clear if next_store
|
31
|
+
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def next_store
|
36
|
+
raise NotImplementedError
|
37
|
+
end
|
38
|
+
|
39
|
+
def internal_read(key)
|
40
|
+
raise NotImplementedError
|
41
|
+
end
|
42
|
+
|
43
|
+
def internal_write(key, value, options = {})
|
44
|
+
raise NotImplementedError
|
45
|
+
end
|
46
|
+
|
47
|
+
def transform_key(key)
|
48
|
+
key
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Scrivito
|
2
|
+
module Cache
|
3
|
+
class FileStore
|
4
|
+
include Chainable
|
5
|
+
|
6
|
+
attr_reader :internal_store, :next_store
|
7
|
+
|
8
|
+
def initialize(options = {})
|
9
|
+
@internal_store = ActiveSupport::Cache::FileStore.new(
|
10
|
+
options[:path] || Rails.root + 'tmp/scrivito_cache')
|
11
|
+
@next_store = options[:next_store]
|
12
|
+
end
|
13
|
+
|
14
|
+
delegate :clear, to: :internal_store
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
delegate :read, :write, to: :internal_store, prefix: :internal
|
19
|
+
|
20
|
+
def transform_key(key)
|
21
|
+
# Workaround for rails/rails#15616. Will be fixed in Rails 4.2.
|
22
|
+
Digest::SHA1.hexdigest(key)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Scrivito
|
2
|
+
|
3
|
+
module Cache
|
4
|
+
class RamStore
|
5
|
+
include Chainable
|
6
|
+
|
7
|
+
attr_reader :internal_store, :next_store, :cache_prefix
|
8
|
+
|
9
|
+
def initialize(options = {})
|
10
|
+
@internal_store = {}
|
11
|
+
@next_store, @cache_prefix = *options.values_at(:next_store, :cache_prefix)
|
12
|
+
end
|
13
|
+
|
14
|
+
delegate :clear, to: :internal_store
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def internal_read(key)
|
19
|
+
internal_store[key]
|
20
|
+
end
|
21
|
+
|
22
|
+
def internal_write(key, value, options = {})
|
23
|
+
internal_store[key] = value
|
24
|
+
end
|
25
|
+
|
26
|
+
def transform_key(key)
|
27
|
+
cache_prefix ? "#{cache_prefix}/#{key}" : key
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
data/lib/scrivito/cache.rb
CHANGED
@@ -1,43 +1,4 @@
|
|
1
1
|
module Scrivito
|
2
|
-
|
3
|
-
class Cache
|
4
|
-
attr_reader :cache_prefix, :fallback_backend
|
5
|
-
|
6
|
-
def initialize(options = {})
|
7
|
-
@fallback_backend, @cache_prefix = options[:fallback_backend], options[:cache_prefix]
|
8
|
-
@cache = {}
|
9
|
-
end
|
10
|
-
|
11
|
-
def read(key)
|
12
|
-
value = @cache[key]
|
13
|
-
if !value && @fallback_backend
|
14
|
-
value = @fallback_backend.read(cache_key_for_fallback_backend(key))
|
15
|
-
@cache[key] = value
|
16
|
-
end
|
17
|
-
value
|
18
|
-
end
|
19
|
-
|
20
|
-
def write(key, value, options={})
|
21
|
-
@fallback_backend.write(cache_key_for_fallback_backend(key), value, options) if @fallback_backend
|
22
|
-
@cache[key] = value
|
23
|
-
end
|
24
|
-
|
25
|
-
def fetch(key, &block)
|
26
|
-
read(key) || block.call.tap { |value| write(key, value) }
|
27
|
-
end
|
28
|
-
|
29
|
-
def clear
|
30
|
-
@cache = {}
|
31
|
-
end
|
32
|
-
|
33
|
-
private
|
34
|
-
|
35
|
-
def cache_key_for_fallback_backend(key)
|
36
|
-
# Workaround for rails/rails#15616. Will be fixed in Rails 4.2.
|
37
|
-
key = Digest::SHA1.hexdigest(key)
|
38
|
-
@cache_prefix ? "#{@cache_prefix}/#{key}" : key
|
2
|
+
module Cache
|
39
3
|
end
|
40
4
|
end
|
41
|
-
|
42
|
-
end # module Scrivito
|
43
|
-
|
data/lib/scrivito/cms_backend.rb
CHANGED
@@ -64,7 +64,7 @@ module Scrivito
|
|
64
64
|
end
|
65
65
|
|
66
66
|
def end_caching
|
67
|
-
|
67
|
+
CmsDataCache.cache.clear
|
68
68
|
@caching = false
|
69
69
|
end
|
70
70
|
|
@@ -192,7 +192,7 @@ module Scrivito
|
|
192
192
|
end
|
193
193
|
|
194
194
|
def fetch_blob_data_from_cache(id, access, verb)
|
195
|
-
|
195
|
+
CmsDataCache.cache.read(blob_data_cache_key(id, access, verb))
|
196
196
|
end
|
197
197
|
|
198
198
|
def request_blob_datas_from_backend(id)
|
@@ -204,7 +204,7 @@ module Scrivito
|
|
204
204
|
%w[public_access private_access].each do |access|
|
205
205
|
%w[get head].each do |verb|
|
206
206
|
blob_data = blob_datas[access][verb]
|
207
|
-
|
207
|
+
CmsDataCache.cache.write(blob_data_cache_key(id, access, verb),
|
208
208
|
blob_data, expires_in: blob_data['maxage'])
|
209
209
|
end
|
210
210
|
end
|
@@ -215,7 +215,7 @@ module Scrivito
|
|
215
215
|
end
|
216
216
|
|
217
217
|
def fetch_blob_metadata_from_cache(id)
|
218
|
-
|
218
|
+
CmsDataCache.cache.read(blob_metadata_cache_key(id))
|
219
219
|
end
|
220
220
|
|
221
221
|
def request_blob_metadata_from_s3(url)
|
@@ -242,7 +242,7 @@ module Scrivito
|
|
242
242
|
def store_blob_metadata_in_cache(id, blob_metadata)
|
243
243
|
max_age = blob_metadata.delete(:cache_control) =~ /max-age=(.*),/ && $1
|
244
244
|
max_age = max_age.to_i if max_age
|
245
|
-
|
245
|
+
CmsDataCache.cache.write(blob_metadata_cache_key(id), blob_metadata, expires_in: max_age)
|
246
246
|
end
|
247
247
|
|
248
248
|
def blob_metadata_cache_key(id)
|
@@ -1,25 +1,29 @@
|
|
1
1
|
module Scrivito
|
2
2
|
|
3
3
|
# This module manages storage of different kind of cache data.
|
4
|
-
module
|
4
|
+
module CmsDataCache
|
5
5
|
VERSION = 'v2'.freeze
|
6
6
|
|
7
7
|
class << self
|
8
|
-
|
8
|
+
attr_reader :second_level_cache
|
9
|
+
attr_writer :cache_path
|
9
10
|
|
10
11
|
def cache
|
11
|
-
@
|
12
|
-
Cache.new(fallback_backend: backend_cache, cache_prefix: VERSION)
|
13
|
-
end
|
12
|
+
@cache_chain ||= Cache::RamStore.new(next_store: first_level_cache, cache_prefix: VERSION)
|
14
13
|
end
|
15
14
|
|
16
|
-
def
|
17
|
-
|
18
|
-
@
|
15
|
+
def cache_path=(path)
|
16
|
+
clear_cache_chain
|
17
|
+
@cache_path = path
|
19
18
|
end
|
20
19
|
|
21
|
-
def
|
22
|
-
@
|
20
|
+
def first_level_cache
|
21
|
+
@first_level_cache ||= Cache::FileStore.new(path: @cache_path, next_store: second_level_cache)
|
22
|
+
end
|
23
|
+
|
24
|
+
def second_level_cache=(cache_store)
|
25
|
+
clear_cache_chain
|
26
|
+
@second_level_cache = cache_store
|
23
27
|
end
|
24
28
|
|
25
29
|
def read_workspace_data(workspace_id)
|
@@ -53,6 +57,14 @@ module CmsCacheStorage
|
|
53
57
|
def write_obj_classes_data(content_state_id, data)
|
54
58
|
cache.write("content/#{content_state_id}/obj_classes", data)
|
55
59
|
end
|
60
|
+
|
61
|
+
private
|
62
|
+
|
63
|
+
def clear_cache_chain
|
64
|
+
@cache_chain = nil
|
65
|
+
@first_level_cache = nil
|
66
|
+
@second_level_cache = nil
|
67
|
+
end
|
56
68
|
end
|
57
69
|
end
|
58
70
|
|