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.templating.module.setup;
35
36 import info.magnolia.module.DefaultModuleVersionHandler;
37 import info.magnolia.module.InstallContext;
38 import info.magnolia.module.delta.BootstrapSingleResource;
39 import info.magnolia.module.delta.CheckAndModifyPropertyValueTask;
40 import info.magnolia.module.delta.DeltaBuilder;
41 import info.magnolia.module.delta.OrderNodeBeforeTask;
42 import info.magnolia.module.delta.RemoveNodeTask;
43 import info.magnolia.module.delta.RenamePropertyAllModulesNodeTask;
44 import info.magnolia.module.delta.Task;
45 import info.magnolia.repository.RepositoryConstants;
46 import info.magnolia.templating.freemarker.RenderableDefinitionModel;
47
48 import java.util.ArrayList;
49 import java.util.List;
50
51
52
53
54
55
56
57 public class TemplatingModuleVersionHandler extends DefaultModuleVersionHandler {
58
59 public TemplatingModuleVersionHandler() {
60
61 register(DeltaBuilder.update("4.5", "")
62 .addTask(new RemoveNodeTask("Remove backwards compatibility filter", "", RepositoryConstants.CONFIG, "/server/filters/cms/backwardCompatibility"))
63 .addTask(new RemoveNodeTask("Remove template-renderers", "", RepositoryConstants.CONFIG, "/modules/templating/template-renderers"))
64 .addTask(new RemoveNodeTask("Remove paragraph-renderers", "", RepositoryConstants.CONFIG, "/modules/templating/paragraph-renderers"))
65 .addTask(new RenamePropertyAllModulesNodeTask("Templates configuration", "templatePath is now templateScript.", "templates", "templatePath", "templateScript"))
66 .addTask(new RenamePropertyAllModulesNodeTask("Paragraphs configuration", "templatePath is now templateScript.", "paragraphs", "templatePath", "templateScript"))
67 .addTask(new RenamePropertyAllModulesNodeTask("Templates configuration", "type is now renderType.", "templates", "type", "renderType"))
68 .addTask(new RenamePropertyAllModulesNodeTask("Paragraphs configuration", "type is now renderType.", "paragraphs", "type", "renderType"))
69 .addTask(new BootstrapSingleResource(
70 "Register Context ",
71 "Add plaintext renderer Attribute",
72 "/mgnl-bootstrap/templating/config.modules.templating.renderers.plaintext.xml"))
73 .addTask(new CheckAndModifyPropertyValueTask(
74 "Update implementation for accessing template definition parameters",
75 "Change class for RenderableDefinitionModel",
76 RepositoryConstants.CONFIG,
77 "/server/rendering/freemarker/modelFactories/renderable",
78 "class",
79 "info.magnolia.module.templating.freemarker.RenderableDefinitionModel$Factory",
80 RenderableDefinitionModel.Factory.class.getName()))
81 );
82 }
83
84 @Override
85 protected List<Task> getExtraInstallTasks(InstallContext installContext) {
86 final ArrayList<Task> tasks = new ArrayList<Task>();
87 tasks.add(new OrderNodeBeforeTask("Order model execution filter", "", RepositoryConstants.CONFIG, "/server/filters/cms/modelExecution", "rendering"));
88 return tasks;
89 }
90 }