1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.module.blossom.setup;
35
36 import java.util.ArrayList;
37 import java.util.List;
38
39 import info.magnolia.module.AbstractModuleVersionHandler;
40 import info.magnolia.module.InstallContext;
41 import info.magnolia.module.admininterface.dialogs.ParagraphEditDialog;
42 import info.magnolia.module.admininterface.dialogs.ParagraphSelectDialog;
43 import info.magnolia.module.blossom.preexecution.BlossomFilter;
44 import info.magnolia.module.delta.BootstrapSingleResource;
45 import info.magnolia.module.delta.CheckAndModifyPropertyValueTask;
46 import info.magnolia.module.delta.DeltaBuilder;
47 import info.magnolia.module.delta.MoveNodeTask;
48 import info.magnolia.module.delta.OrderNodeBeforeTask;
49 import info.magnolia.module.delta.RemoveNodeTask;
50 import info.magnolia.module.delta.Task;
51 import info.magnolia.module.delta.WarnTask;
52 import info.magnolia.repository.RepositoryConstants;
53
54
55
56
57
58
59
60
61 public class BlossomVersionHandler extends AbstractModuleVersionHandler {
62
63 public BlossomVersionHandler() {
64
65
66 register(DeltaBuilder.update("2.0.1", "")
67 .addTask(new WarnTask("Blossom templates", "Naming convention for Blossom templates changed between versions 1.x and 2.0. It is not possible to automatically convert between them using a migration script. You can write an update task to change the old names to the new ones. Have a look at http://wiki.magnolia-cms.com/display/WIKI/Migrating+content+when+upgrading+to+Blossom+2"))
68 );
69
70
71 register(DeltaBuilder.update("2.0", "")
72 .addTask(new BootstrapSingleResource(
73 "New renderer",
74 "Bootstraps the Blossom renderer.",
75 "/mgnl-bootstrap/blossom/config.modules.blossom.renderers.blossom.xml"))
76 .addTask(new OrderNodeBeforeTask(
77 "Order Blossom filter",
78 "",
79 RepositoryConstants.CONFIG,
80 "/server/filters/cms/blossom",
81 "rendering"))
82 .addTask(new RemoveNodeTask(
83 "Remove obsolete template renderer",
84 "",
85 RepositoryConstants.CONFIG,
86 "/modules/blossom/template-renderers"))
87 .addTask(new RemoveNodeTask(
88 "Remove obsolete paragraph renderer",
89 "",
90 RepositoryConstants.CONFIG,
91 "/modules/blossom/paragraph-renderers"))
92 .addTask(new RemoveNodeTask(
93 "Remove paragraphs folder",
94 "",
95 RepositoryConstants.CONFIG,
96 "/modules/blossom/paragraphs"))
97 .addTask(new RemoveNodeTask(
98 "Remove dialogs folder",
99 "",
100 RepositoryConstants.CONFIG,
101 "/modules/blossom/dialogs"))
102
103
104
105 .addTask(new MultiCheckAndModifyPropertyValueTask(
106 "Uninstall custom dialog for editing paragraphs",
107 "Changes to the default Magnolia dialog",
108 "/modules/adminInterface/dialogs/editParagraph",
109 "class",
110 new String[]{
111 "se.issi.magnolia.module.blossom.gui.BlossomParagraphEditDialog",
112 "info.magnolia.module.blossom.gui.BlossomParagraphEditDialog",
113 "info.magnolia.module.blossom.paragraph.BlossomParagraphEditDialog"},
114 ParagraphEditDialog.class.getName()
115 ))
116 );
117
118
119 register(DeltaBuilder.update("1.2", "")
120 .addTask(new MoveNodeTask(
121 "Move the Blossom filter in chain",
122 "",
123 RepositoryConstants.CONFIG,
124 "/server/filters/blossom",
125 "/server/filters/cms/blossom",
126 false))
127 );
128
129
130 register(DeltaBuilder.update("1.1.1", "")
131 .addTask(new BootstrapSingleResource(
132 "VirtualURIMapping",
133 "Bootstraps the Blossom VirtualURIMapping.",
134 "/mgnl-bootstrap/blossom/config.modules.blossom.virtualURIMapping.xml"))
135 );
136
137
138 register(DeltaBuilder.update("1.1", "")
139 .addTask(new CheckAndModifyPropertyValueTask(
140 "Uninstall custom dialog for selecting paragraphs",
141 "Changes to the default Magnolia select dialog",
142 RepositoryConstants.CONFIG,
143 "/modules/adminInterface/dialogs/selectParagraph",
144 "class",
145 "se.issi.magnolia.module.blossom.gui.BlossomParagraphSelectDialog",
146 ParagraphSelectDialog.class.getName()))
147 .addTask(new CheckAndModifyPropertyValueTask(
148 "Update class name for BlossomFilter",
149 "Changes the class name of the BlossomFilter",
150 RepositoryConstants.CONFIG,
151 "/server/filters/blossom",
152 "class",
153 "se.issi.magnolia.module.blossom.preexecution.BlossomFilter",
154 BlossomFilter.class.getName()))
155 );
156 }
157
158 @Override
159 protected List<Task> getBasicInstallTasks(InstallContext installContext) {
160 List<Task> tasks = new ArrayList<Task>();
161
162 tasks.add(new BootstrapSingleResource(
163 "New filter",
164 "Bootstraps the Blossom pre-execution filter.",
165 "/mgnl-bootstrap/blossom/config.server.filters.cms.blossom.xml"));
166 tasks.add(new OrderNodeBeforeTask(
167 "Order Blossom filter",
168 "",
169 RepositoryConstants.CONFIG,
170 "/server/filters/cms/blossom",
171 "rendering"));
172 tasks.add(new BootstrapSingleResource(
173 "New renderer",
174 "Bootstraps the Blossom renderer.",
175 "/mgnl-bootstrap/blossom/config.modules.blossom.renderers.blossom.xml"));
176 tasks.add(new BootstrapSingleResource(
177 "VirtualURIMapping",
178 "Bootstraps the Blossom VirtualURIMapping.",
179 "/mgnl-bootstrap/blossom/config.modules.blossom.virtualURIMapping.xml"));
180
181 return tasks;
182 }
183
184 }