sinicum 0.5.0

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 (176) hide show
  1. checksums.yaml +7 -0
  2. data/.cane +19 -0
  3. data/.gitignore +14 -0
  4. data/.rubocop.yml +30 -0
  5. data/.travis.yml +14 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE +24 -0
  8. data/README.md +327 -0
  9. data/Rakefile +37 -0
  10. data/app/assets/javascripts/sinicum/magnolia_client.js.coffee +233 -0
  11. data/app/controllers/sinicum/controller_base.rb +173 -0
  12. data/app/controllers/sinicum/controllers/cache_aware.rb +16 -0
  13. data/app/controllers/sinicum/controllers/global_state_cache.rb +83 -0
  14. data/app/helpers/sinicum/helper_utils.rb +152 -0
  15. data/app/helpers/sinicum/mgnl_helper.rb +145 -0
  16. data/app/helpers/sinicum/mgnl_helper5.rb +7 -0
  17. data/app/helpers/sinicum/mgnl_image_helper.rb +26 -0
  18. data/app/helpers/sinicum/taglib_helper5.rb +166 -0
  19. data/gemfiles/Gemfile-3.2 +6 -0
  20. data/gemfiles/Gemfile-4.0 +6 -0
  21. data/lib/generators/sinicum/install_generator.rb +162 -0
  22. data/lib/generators/sinicum/templates/VersionHandler.java +18 -0
  23. data/lib/generators/sinicum/templates/config/default/log4j-development.xml +203 -0
  24. data/lib/generators/sinicum/templates/config/default/log4j.xml +200 -0
  25. data/lib/generators/sinicum/templates/config/default/magnolia-author.properties +63 -0
  26. data/lib/generators/sinicum/templates/config/default/magnolia-public01.properties +63 -0
  27. data/lib/generators/sinicum/templates/config/default/magnolia.properties +63 -0
  28. data/lib/generators/sinicum/templates/config/repo-conf/jackrabbit-bundle-postgres-search-author.xml +73 -0
  29. data/lib/generators/sinicum/templates/config/repo-conf/jackrabbit-bundle-postgres-search-public01.xml +73 -0
  30. data/lib/generators/sinicum/templates/config/repo-conf/jackrabbit-bundle-postgres-search.xml +70 -0
  31. data/lib/generators/sinicum/templates/magnolia/config.modules.myproject.dialogs.xml +1625 -0
  32. data/lib/generators/sinicum/templates/magnolia/config.modules.myproject.templates.xml +247 -0
  33. data/lib/generators/sinicum/templates/module-config.xml +13 -0
  34. data/lib/generators/sinicum/templates/module-pom.xml +67 -0
  35. data/lib/generators/sinicum/templates/project-pom.xml +104 -0
  36. data/lib/generators/sinicum/templates/rails/_article.html.haml +15 -0
  37. data/lib/generators/sinicum/templates/rails/_content.html.haml +2 -0
  38. data/lib/generators/sinicum/templates/rails/_meta.html.haml +9 -0
  39. data/lib/generators/sinicum/templates/rails/application.html.haml +11 -0
  40. data/lib/generators/sinicum/templates/rails/content_controller.rb +5 -0
  41. data/lib/generators/sinicum/templates/rails/imaging.yml +8 -0
  42. data/lib/generators/sinicum/templates/rails/sinicum_server.yml +15 -0
  43. data/lib/sinicum.rb +53 -0
  44. data/lib/sinicum/content/aggregator.rb +173 -0
  45. data/lib/sinicum/content/website_content_resolver.rb +10 -0
  46. data/lib/sinicum/engine.rb +23 -0
  47. data/lib/sinicum/imaging.rb +29 -0
  48. data/lib/sinicum/imaging/config.rb +133 -0
  49. data/lib/sinicum/imaging/converter.rb +81 -0
  50. data/lib/sinicum/imaging/default_converter.rb +20 -0
  51. data/lib/sinicum/imaging/image_size_converter.rb +52 -0
  52. data/lib/sinicum/imaging/imaging.rb +171 -0
  53. data/lib/sinicum/imaging/imaging_file.rb +115 -0
  54. data/lib/sinicum/imaging/imaging_middleware.rb +56 -0
  55. data/lib/sinicum/imaging/max_size_converter.rb +39 -0
  56. data/lib/sinicum/imaging/resize_crop_converter.rb +35 -0
  57. data/lib/sinicum/jcr/api_client.rb +50 -0
  58. data/lib/sinicum/jcr/api_queries.rb +37 -0
  59. data/lib/sinicum/jcr/cache/global_cache.rb +26 -0
  60. data/lib/sinicum/jcr/dam/document.rb +57 -0
  61. data/lib/sinicum/jcr/dam/image.rb +40 -0
  62. data/lib/sinicum/jcr/jcr_configuration.rb +67 -0
  63. data/lib/sinicum/jcr/mgnl4_compatibility.rb +11 -0
  64. data/lib/sinicum/jcr/node.rb +268 -0
  65. data/lib/sinicum/jcr/node_initializer.rb +16 -0
  66. data/lib/sinicum/jcr/node_queries.rb +101 -0
  67. data/lib/sinicum/jcr/query_sanitizer.rb +24 -0
  68. data/lib/sinicum/jcr/type_translator.rb +38 -0
  69. data/lib/sinicum/jcr/type_translators/component_translator.rb +28 -0
  70. data/lib/sinicum/jcr/type_translators/dam_translator.rb +33 -0
  71. data/lib/sinicum/jcr/type_translators/data_translator.rb +31 -0
  72. data/lib/sinicum/jcr/type_translators/default_translator.rb +13 -0
  73. data/lib/sinicum/jcr/type_translators/translator_base.rb +40 -0
  74. data/lib/sinicum/logger.rb +28 -0
  75. data/lib/sinicum/navigation/default_navigation_element.rb +30 -0
  76. data/lib/sinicum/navigation/navigation_element.rb +39 -0
  77. data/lib/sinicum/navigation/navigation_element_list.rb +33 -0
  78. data/lib/sinicum/navigation/navigation_handler.rb +95 -0
  79. data/lib/sinicum/navigation/navigation_status.rb +27 -0
  80. data/lib/sinicum/templating/area_handler.rb +33 -0
  81. data/lib/sinicum/templating/dialog_resolver.rb +26 -0
  82. data/lib/sinicum/templating/templating_utils.rb +24 -0
  83. data/lib/sinicum/util.rb +12 -0
  84. data/lib/sinicum/version.rb +3 -0
  85. data/script/cibuild +31 -0
  86. data/sinicum.gemspec +29 -0
  87. data/spec/controllers/sinicum/controller_base_spec.rb +53 -0
  88. data/spec/controllers/sinicum/controllers/global_state_cache_spec.rb +35 -0
  89. data/spec/dummy/REVISION +1 -0
  90. data/spec/dummy/Rakefile +7 -0
  91. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  92. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  93. data/spec/dummy/app/views/application/index.html.erb +1 -0
  94. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  95. data/spec/dummy/app/views/layouts/layout_name.html.erb +0 -0
  96. data/spec/dummy/app/views/layouts/my-module/test.html.erb +0 -0
  97. data/spec/dummy/app/views/layouts/my_module/test.html.erb +0 -0
  98. data/spec/dummy/config.ru +4 -0
  99. data/spec/dummy/config/application.rb +45 -0
  100. data/spec/dummy/config/boot.rb +10 -0
  101. data/spec/dummy/config/database.yml +22 -0
  102. data/spec/dummy/config/environment.rb +5 -0
  103. data/spec/dummy/config/environments/development.rb +24 -0
  104. data/spec/dummy/config/environments/production.rb +51 -0
  105. data/spec/dummy/config/environments/test.rb +34 -0
  106. data/spec/dummy/config/imaging.yml +7 -0
  107. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  108. data/spec/dummy/config/initializers/inflections.rb +10 -0
  109. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  110. data/spec/dummy/config/initializers/secret_token.rb +11 -0
  111. data/spec/dummy/config/initializers/session_store.rb +8 -0
  112. data/spec/dummy/config/locales/en.yml +5 -0
  113. data/spec/dummy/config/routes.rb +59 -0
  114. data/spec/dummy/config/sinicum_server.yml +13 -0
  115. data/spec/dummy/public/404.html +26 -0
  116. data/spec/dummy/public/422.html +26 -0
  117. data/spec/dummy/public/500.html +26 -0
  118. data/spec/dummy/public/favicon.ico +0 -0
  119. data/spec/dummy/public/javascripts/application.js +2 -0
  120. data/spec/dummy/public/javascripts/controls.js +965 -0
  121. data/spec/dummy/public/javascripts/dragdrop.js +974 -0
  122. data/spec/dummy/public/javascripts/effects.js +1123 -0
  123. data/spec/dummy/public/javascripts/prototype.js +6001 -0
  124. data/spec/dummy/public/javascripts/rails.js +191 -0
  125. data/spec/dummy/public/stylesheets/.gitkeep +0 -0
  126. data/spec/dummy/script/rails +6 -0
  127. data/spec/fixtures/api/cache_global.json +3 -0
  128. data/spec/fixtures/api/content_mgnl5.json +22 -0
  129. data/spec/fixtures/api/default_json.json.erb +47 -0
  130. data/spec/fixtures/api/default_json_mgnl5.json.erb +27 -0
  131. data/spec/fixtures/api/file.json +73 -0
  132. data/spec/fixtures/api/file_mgnl5.json +51 -0
  133. data/spec/fixtures/api/homepage.json +1497 -0
  134. data/spec/fixtures/api/homepage_parent.json +483 -0
  135. data/spec/fixtures/api/image.json +73 -0
  136. data/spec/fixtures/api/image_mgnl5.json +50 -0
  137. data/spec/fixtures/api/navigation_children.json +3107 -0
  138. data/spec/fixtures/api/navigation_parents.json +25 -0
  139. data/spec/fixtures/api/product.json +2084 -0
  140. data/spec/fixtures/api/query_result.json +61 -0
  141. data/spec/fixtures/mock_content.rb +6 -0
  142. data/spec/fixtures/mock_image.gif +0 -0
  143. data/spec/helpers/sinicum/helper_utils_spec.rb +55 -0
  144. data/spec/helpers/sinicum/mgnl_helper_spec.rb +315 -0
  145. data/spec/helpers/sinicum/mgnl_image_helper_spec.rb +103 -0
  146. data/spec/sinicum/content/aggregator_spec.rb +91 -0
  147. data/spec/sinicum/content/website_content_resolver_spec.rb +14 -0
  148. data/spec/sinicum/imaging/config_spec.rb +50 -0
  149. data/spec/sinicum/imaging/converter_spec.rb +41 -0
  150. data/spec/sinicum/imaging/image_size_converter_spec.rb +27 -0
  151. data/spec/sinicum/imaging/imaging.yml +15 -0
  152. data/spec/sinicum/imaging/imaging_file_spec.rb +125 -0
  153. data/spec/sinicum/imaging/imaging_middleware_spec.rb +79 -0
  154. data/spec/sinicum/imaging/max_size_converter_spec.rb +52 -0
  155. data/spec/sinicum/imaging/resize_crop_converter_spec.rb +18 -0
  156. data/spec/sinicum/imaging_spec.rb +13 -0
  157. data/spec/sinicum/jcr/api_client_spec.rb +69 -0
  158. data/spec/sinicum/jcr/cache/global_cache_spec.rb +29 -0
  159. data/spec/sinicum/jcr/dam/document_spec.rb +81 -0
  160. data/spec/sinicum/jcr/dam/image_spec.rb +46 -0
  161. data/spec/sinicum/jcr/jcr_configuration_spec.rb +57 -0
  162. data/spec/sinicum/jcr/mgnl4_compatibility_spec.rb +10 -0
  163. data/spec/sinicum/jcr/node_queries_spec.rb +113 -0
  164. data/spec/sinicum/jcr/node_spec.rb +261 -0
  165. data/spec/sinicum/jcr/query_sanitizer_spec.rb +26 -0
  166. data/spec/sinicum/jcr/type_translator_spec.rb +42 -0
  167. data/spec/sinicum/jcr/type_translators/component_translator_spec.rb +71 -0
  168. data/spec/sinicum/jcr/type_translators/data_translator_spec.rb +38 -0
  169. data/spec/sinicum/jcr/type_translators/default_translator_spec.rb +19 -0
  170. data/spec/sinicum/navigation/default_navigation_element_spec.rb +45 -0
  171. data/spec/sinicum/navigation/navigation_handler_spec.rb +71 -0
  172. data/spec/sinicum/templating/dialog_resolver_spec.rb +13 -0
  173. data/spec/sinicum/util_spec.rb +34 -0
  174. data/spec/spec_helper.rb +42 -0
  175. data/spec/support/default_node_reader.rb +40 -0
  176. metadata +434 -0
@@ -0,0 +1,6 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem 'rails', '~> 3.2'
4
+
5
+ # Specify your gem's dependencies in sinicum.gemspec
6
+ gemspec path: '../'
@@ -0,0 +1,6 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem 'rails', '~> 4.0.0'
4
+
5
+ # Specify your gem's dependencies in sinicum.gemspec
6
+ gemspec :path => '../'
@@ -0,0 +1,162 @@
1
+ module Sinicum
2
+ # Private: Generator to install all Sinicum-related files to a Rails
3
+ # project.
4
+ class InstallGenerator < Rails::Generators::Base
5
+ GROUP_ID = "com.company"
6
+ ARTIFACT_ID = "myProject"
7
+ PROJECT_NAME = "My Sinicum Project"
8
+ MODULE_NAME = "myproject"
9
+
10
+ DB_HOST = "localhost"
11
+
12
+ source_root File.expand_path("../templates", __FILE__)
13
+
14
+ attr_accessor :group_id, :artifact_id, :project_name, :module_name,
15
+ :db_host, :db_password
16
+
17
+ def start_install
18
+ user_questions
19
+ create_basic_files
20
+ create_mgnl_config
21
+ create_rails_files
22
+ update_gitignore
23
+ create_template_files if @templates == "yes"
24
+ end
25
+
26
+ private
27
+
28
+ def user_questions
29
+ @group_id = ask("Please enter Maven's groupId [#{GROUP_ID}]:").presence ||
30
+ GROUP_ID
31
+ @artifact_id = ask("Please enter Maven's artifactId [#{ARTIFACT_ID}]:").presence ||
32
+ ARTIFACT_ID
33
+ @project_name = ask("Please enter the project name [#{PROJECT_NAME}]:").presence ||
34
+ PROJECT_NAME
35
+ @module_name = ask("Please enter the name of the module [#{MODULE_NAME}]:").presence ||
36
+ MODULE_NAME
37
+ @db_host = ask("Please enter the hostname of the Magnolia Postgres database server" +
38
+ " [#{DB_HOST}]:").presence || DB_HOST
39
+ @db_name = ask("Please enter the name of the Magnolia development database [#{db_name}]:")
40
+ @db_user = ask("Please enter the database's user [#{db_user}]:")
41
+ @db_password = ask("Please enter the database's password []:")
42
+ @templates = ask("Would you like to install an example content template? [yes]").
43
+ presence || "yes"
44
+ end
45
+
46
+ def create_basic_files
47
+ template "project-pom.xml", "pom.xml"
48
+ template "module-pom.xml", "#{module_path}/pom.xml"
49
+ create_file "#{module_path}/src/test/java/.gitkeep"
50
+ create_file "#{module_path}/src/main/resources/mgnl-bootstrap/#{module_name}/.gitkeep"
51
+ template "module-config.xml",
52
+ "#{module_path}/src/main/resources/META-INF/magnolia/#{module_name}.xml"
53
+ template "VersionHandler.java", version_handler_path
54
+ end
55
+
56
+ def create_mgnl_config
57
+ template "config/default/magnolia.properties",
58
+ "#{config_dir}/default/magnolia.properties"
59
+ template "config/default/magnolia-author.properties",
60
+ "#{config_dir}/default/magnolia-author.properties"
61
+ template "config/default/magnolia-public01.properties",
62
+ "#{config_dir}/default/magnolia-public.properties"
63
+
64
+ template "config/default/log4j-development.xml",
65
+ "#{config_dir}/default/log4j-development.xml"
66
+ template "config/default/log4j.xml",
67
+ "#{config_dir}/default/log4j.xml"
68
+
69
+ template "config/repo-conf/jackrabbit-bundle-postgres-search.xml",
70
+ "#{config_dir}/repo-conf/jackrabbit-bundle-postgres-search.xml"
71
+ template "config/repo-conf/jackrabbit-bundle-postgres-search-author.xml",
72
+ "#{config_dir}/repo-conf/jackrabbit-bundle-postgres-search-author.xml"
73
+ template "config/repo-conf/jackrabbit-bundle-postgres-search-public01.xml",
74
+ "#{config_dir}/repo-conf/jackrabbit-bundle-postgres-search-public01.xml"
75
+ end
76
+
77
+ def create_rails_files
78
+ template "rails/content_controller.rb",
79
+ "app/controllers/content_controller.rb"
80
+ template "rails/sinicum_server.yml",
81
+ "config/sinicum_server.yml"
82
+ template "rails/imaging.yml",
83
+ "config/imaging.yml"
84
+ insert_into_file "config/routes.rb", before: /^end$/ do
85
+ <<EOF
86
+
87
+ scope ':site_prefix' do
88
+ get '*cmspath' => 'content#index'
89
+ root 'content#index'
90
+ end
91
+
92
+ get '*cmspath' => 'content#index'
93
+ EOF
94
+ end
95
+ insert_into_file "app/helpers/application_helper.rb", after: "ApplicationHelper" do
96
+ <<EOF
97
+
98
+ include Sinicum::MgnlHelper5
99
+ EOF
100
+ end
101
+ end
102
+
103
+ def create_template_files
104
+ template "rails/application.html.haml",
105
+ "app/views/layouts/#{@module_name}/application.html.haml"
106
+ template "rails/_meta.html.haml",
107
+ "app/views/shared/_meta.html.haml"
108
+ template "rails/_content.html.haml",
109
+ "app/views/mgnl/areas/_content.html.haml"
110
+ template "rails/_article.html.haml",
111
+ "app/views/mgnl/#{@module_name}/components/_article.html.haml"
112
+ template "magnolia/config.modules.myproject.dialogs.xml",
113
+ "#{bootstrap_dir}/config.modules.#{@module_name}.dialogs.xml"
114
+ template "magnolia/config.modules.myproject.templates.xml",
115
+ "#{bootstrap_dir}/config.modules.#{@module_name}.templates.xml"
116
+ remove_file "app/views/layouts/application.html.erb"
117
+ end
118
+
119
+ def update_gitignore
120
+ inject_into_file '.gitignore', after: "/tmp" do
121
+ <<EOF
122
+
123
+ #{module_path}/target/*
124
+ /db/magnolia/*
125
+ EOF
126
+ end
127
+ end
128
+
129
+ def module_path
130
+ "magnolia-#{module_name}"
131
+ end
132
+
133
+ def version_handler_fqn
134
+ [version_handler_package, "VersionHandler"].join(".")
135
+ end
136
+
137
+ def version_handler_package
138
+ [group_id, artifact_id].join(".")
139
+ end
140
+
141
+ def version_handler_path
142
+ ["#{module_path}/src/main/java", version_handler_fqn.gsub(".", "/")].
143
+ join("/") + ".java"
144
+ end
145
+
146
+ def config_dir
147
+ "#{module_path}/src/main/webapp/WEB-INF/config"
148
+ end
149
+
150
+ def bootstrap_dir
151
+ "#{module_path}/src/main/resources/mgnl-bootstrap/#{@module_name}"
152
+ end
153
+
154
+ def db_name
155
+ @db_name.presence || "#{module_name}_author"
156
+ end
157
+
158
+ def db_user
159
+ @db_user.presence || "#{module_name}author"
160
+ end
161
+ end
162
+ end
@@ -0,0 +1,18 @@
1
+ package <%= version_handler_package %>;
2
+
3
+ import java.util.List;
4
+
5
+ import info.magnolia.module.DefaultModuleVersionHandler;
6
+ import info.magnolia.module.delta.ModuleBootstrapTask;
7
+ import info.magnolia.module.delta.Task;
8
+ import info.magnolia.module.model.Version;
9
+
10
+ public class VersionHandler extends DefaultModuleVersionHandler {
11
+
12
+ @Override
13
+ protected List<Task> getDefaultUpdateTasks(Version forVersion) {
14
+ List<Task> tasks = super.getDefaultUpdateTasks(forVersion);
15
+ tasks.add(new ModuleBootstrapTask());
16
+ return tasks;
17
+ }
18
+ }
@@ -0,0 +1,203 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
3
+ <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
4
+ <!-- add debug="true" to the log4j:configuration element above for log4j initialization messages -->
5
+ <!-- debug appender, write to stdout -->
6
+ <appender name="console" class="org.apache.log4j.ConsoleAppender">
7
+ <layout class="org.apache.log4j.PatternLayout">
8
+ <param name="ConversionPattern" value="%d %-5p %-50.50c: %m%n"/>
9
+ <!-- this pattern can be used for debugging - has a performance impact.
10
+ <param name="ConversionPattern" value="%-5p %c %F(%M:%L) %t %d %m (uri:%X{requesturi} userid:%X{userid})%n" />
11
+ -->
12
+ </layout>
13
+ </appender>
14
+ <!-- mail appender. You may want to enable this on production to be immediately notified in case of errors -->
15
+ <!--
16
+ <appender name="mail" class="it.openutils.log4j.AlternateSMTPAppender">
17
+ <param name="Threshold" value="ERROR" />
18
+ <param name="To" value="myerrormailbox@mymailserver.com" />
19
+ <param name="From" value="my magnolia website &lt;magnolia@mymagnoliasite.com&gt;" />
20
+ <param name="SMTPHost" value="localhost" />
21
+ <param name="Subject" value="[magnolia error ${pom.version} ${server}] %m" />
22
+ <param name="Timeout" value="300" />
23
+ <layout class="it.openutils.log4j.FilteredPatternLayout">
24
+ <param name="ConversionPattern" value="[${server}] %-5p %d{dd.MM.yyyy HH:mm:ss} %c %F(%M:%L) - %m%n" />
25
+ <param name="Filter" value="org.apache.catalina" />
26
+ <param name="Filter" value="org.apache.coyote" />
27
+ <param name="Filter" value="org.apache.tomcat" />
28
+ <param name="Filter" value="org.apache.jasper" />
29
+ <param name="Filter" value="sun.reflect" />
30
+ <param name="Filter" value="javax.servlet.http" />
31
+ <param name="Header"
32
+ value="%n
33
+ ===================================%n
34
+ Magnolia%n
35
+ Version: ${pom.version}%n
36
+ Server: ${server}%n
37
+ Url: %X{requesturi}%n
38
+ Referer: %X{Referer}%n
39
+ User-Agent: %X{User-Agent}%n
40
+ Remote-Host: %X{Remote-Host}%n
41
+ Session Id: %X{SessionId}%n
42
+ Userid: %X{userid}%n
43
+ Number of occurrences: %o%n
44
+ ===================================%n
45
+ " />
46
+ <param name="Footer" value="%n===================================%n" />
47
+ </layout>
48
+ </appender>
49
+ -->
50
+ <appender name="sync-log-debug" class="org.apache.log4j.RollingFileAppender">
51
+ <param name="File" value="${magnolia.logs.dir}/magnolia-debug.log" />
52
+ <param name="MaxFileSize" value="1MB" />
53
+ <param name="Threshold" value="DEBUG" />
54
+ <param name="MaxBackupIndex" value="5" />
55
+ <param name="Append" value="true" />
56
+ <layout class="org.apache.log4j.PatternLayout">
57
+ <param name="ConversionPattern" value="%-5p %c %d{dd.MM.yyyy HH:mm:ss} -- %m%n" />
58
+ </layout>
59
+ </appender>
60
+ <appender name="log-debug" class="org.apache.log4j.AsyncAppender">
61
+ <appender-ref ref="sync-log-debug" />
62
+ </appender>
63
+ <appender name="sync-log-error" class="org.apache.log4j.RollingFileAppender">
64
+ <param name="File" value="${magnolia.logs.dir}/magnolia-error.log" />
65
+ <param name="MaxFileSize" value="1MB" />
66
+ <param name="Threshold" value="ERROR" />
67
+ <param name="MaxBackupIndex" value="5" />
68
+ <param name="Append" value="true" />
69
+ <layout class="org.apache.log4j.PatternLayout">
70
+ <param name="ConversionPattern" value="%-5p %c %d{dd.MM.yyyy HH:mm:ss} -- %m%n" />
71
+ </layout>
72
+ </appender>
73
+ <appender name="log-error" class="org.apache.log4j.AsyncAppender">
74
+ <appender-ref ref="sync-log-error" />
75
+ </appender>
76
+ <appender name="sync-log-activation" class="org.apache.log4j.RollingFileAppender">
77
+ <param name="File" value="${magnolia.logs.dir}/magnolia-activation.log" />
78
+ <param name="MaxFileSize" value="1MB" />
79
+ <param name="MaxBackupIndex" value="5" />
80
+ <param name="Append" value="true" />
81
+ <layout class="org.apache.log4j.PatternLayout">
82
+ <param name="ConversionPattern" value="%-5p %c %d{dd.MM.yyyy HH:mm:ss} -- %m%n" />
83
+ </layout>
84
+ </appender>
85
+ <appender name="log-activation" class="org.apache.log4j.AsyncAppender">
86
+ <appender-ref ref="sync-log-activation" />
87
+ </appender>
88
+ <appender name="log-bootstrap" class="org.apache.log4j.FileAppender">
89
+ <param name="File" value="${magnolia.logs.dir}/bootstrap.log" />
90
+ <layout class="org.apache.log4j.PatternLayout">
91
+ <param name="ConversionPattern" value="%-5p %d{dd.MM.yyyy HH:mm:ss} %m%n" />
92
+ </layout>
93
+ </appender>
94
+ <appender name="sync-log-access" class="org.apache.log4j.RollingFileAppender">
95
+ <param name="File" value="${magnolia.logs.dir}/magnolia-access.log" />
96
+ <param name="MaxFileSize" value="1MB" />
97
+ <param name="MaxBackupIndex" value="5" />
98
+ <param name="Append" value="true" />
99
+ <layout class="org.apache.log4j.PatternLayout">
100
+ <param name="ConversionPattern" value="%d{dd.MM.yyyy HH:mm:ss}%m%n" />
101
+ </layout>
102
+ </appender>
103
+ <appender name="log-access" class="org.apache.log4j.AsyncAppender">
104
+ <appender-ref ref="sync-log-access" />
105
+ </appender>
106
+ <appender name="sync-log-audit" class="org.apache.log4j.RollingFileAppender">
107
+ <param name="File" value="${magnolia.logs.dir}/magnolia-audit.log" />
108
+ <param name="MaxFileSize" value="1MB" />
109
+ <param name="MaxBackupIndex" value="5" />
110
+ <param name="Append" value="true" />
111
+ <layout class="org.apache.log4j.PatternLayout">
112
+ <param name="ConversionPattern" value="%d{dd.MM.yyyy HH:mm:ss}%m%n" />
113
+ </layout>
114
+ </appender>
115
+ <appender name="log-audit" class="org.apache.log4j.AsyncAppender">
116
+ <appender-ref ref="sync-log-audit" />
117
+ </appender>
118
+ <appender name="sync-log-form" class="org.apache.log4j.RollingFileAppender">
119
+ <param name="File" value="${magnolia.logs.dir}/magnolia-form.log" />
120
+ <param name="MaxFileSize" value="1MB" />
121
+ <param name="MaxBackupIndex" value="5" />
122
+ <param name="Append" value="true" />
123
+ <layout class="org.apache.log4j.PatternLayout">
124
+ <param name="ConversionPattern" value="%d{dd.MM.yyyy HH:mm:ss}%m%n" />
125
+ </layout>
126
+ </appender>
127
+ <appender name="log-form" class="org.apache.log4j.AsyncAppender">
128
+ <appender-ref ref="sync-log-form" />
129
+ </appender>
130
+
131
+ <!-- Magnolia categories -->
132
+ <category name="info.magnolia">
133
+ <priority value="INFO" />
134
+ </category>
135
+
136
+ <!-- Activation - additivity is true so logs also go to sub-categories' appenders -->
137
+ <category name="info.magnolia.cms.exchange" additivity="true">
138
+ <priority value="INFO" />
139
+ <appender-ref ref="log-activation" />
140
+ </category>
141
+ <category name="info.magnolia.module.exchangesimple" additivity="true">
142
+ <priority value="INFO" />
143
+ <appender-ref ref="log-activation" />
144
+ </category>
145
+
146
+ <!-- bootstrapping -->
147
+ <category name="info.magnolia.importexport.Bootstrapper" additivity="true">
148
+ <priority value="INFO" />
149
+ <appender-ref ref="log-bootstrap" />
150
+ </category>
151
+
152
+ <!-- Custom log categories - additivity is false so logs only go to the appenders configured here -->
153
+ <category name="log-access" additivity="false">
154
+ <appender-ref ref="log-access" />
155
+ </category>
156
+ <category name="log-audit" additivity="false">
157
+ <appender-ref ref="log-audit" />
158
+ </category>
159
+ <category name="log-form" additivity="false">
160
+ <appender-ref ref="log-form" />
161
+ </category>
162
+
163
+ <!-- External libraries -->
164
+ <category name="org">
165
+ <priority value="WARN" />
166
+ </category>
167
+ <category name="org.apache.jackrabbit">
168
+ <priority value="WARN" />
169
+ </category>
170
+ <category name="com">
171
+ <priority value="WARN" />
172
+ </category>
173
+ <category name="net">
174
+ <priority value="WARN" />
175
+ </category>
176
+ <category name="freemarker">
177
+ <priority value="WARN" />
178
+ </category>
179
+ <category name="httpclient">
180
+ <priority value="WARN" />
181
+ </category>
182
+ <category name="openwfe.org.log">
183
+ <priority value="WARN" />
184
+ </category>
185
+ <category name="openwfe">
186
+ <priority value="WARN" />
187
+ </category>
188
+ <category name="<%= group_id %>">
189
+ <priority value="DEBUG" />
190
+ </category>
191
+
192
+ <root>
193
+ <priority value="ALL" />
194
+ <appender-ref ref="log-error" />
195
+ <appender-ref ref="log-debug" />
196
+ <!-- debug -->
197
+ <appender-ref ref="console" />
198
+ <!-- enable this too to get mail notifications -->
199
+ <!--
200
+ <appender-ref ref="mail" />
201
+ -->
202
+ </root>
203
+ </log4j:configuration>
@@ -0,0 +1,200 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
3
+ <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
4
+ <!-- add debug="true" to the log4j:configuration element above for log4j initialization messages -->
5
+ <!-- debug appender, write to stdout -->
6
+ <appender name="console" class="org.apache.log4j.ConsoleAppender">
7
+ <layout class="org.apache.log4j.PatternLayout">
8
+ <param name="ConversionPattern" value="%d %-5p %-50.50c: %m%n"/>
9
+ <!-- this pattern can be used for debugging - has a performance impact.
10
+ <param name="ConversionPattern" value="%-5p %c %F(%M:%L) %t %d %m (uri:%X{requesturi} userid:%X{userid})%n" />
11
+ -->
12
+ </layout>
13
+ </appender>
14
+ <!-- mail appender. You may want to enable this on production to be immediately notified in case of errors -->
15
+ <!--
16
+ <appender name="mail" class="it.openutils.log4j.AlternateSMTPAppender">
17
+ <param name="Threshold" value="ERROR" />
18
+ <param name="To" value="myerrormailbox@mymailserver.com" />
19
+ <param name="From" value="my magnolia website &lt;magnolia@mymagnoliasite.com&gt;" />
20
+ <param name="SMTPHost" value="localhost" />
21
+ <param name="Subject" value="[magnolia error ${pom.version} ${server}] %m" />
22
+ <param name="Timeout" value="300" />
23
+ <layout class="it.openutils.log4j.FilteredPatternLayout">
24
+ <param name="ConversionPattern" value="[${server}] %-5p %d{dd.MM.yyyy HH:mm:ss} %c %F(%M:%L) - %m%n" />
25
+ <param name="Filter" value="org.apache.catalina" />
26
+ <param name="Filter" value="org.apache.coyote" />
27
+ <param name="Filter" value="org.apache.tomcat" />
28
+ <param name="Filter" value="org.apache.jasper" />
29
+ <param name="Filter" value="sun.reflect" />
30
+ <param name="Filter" value="javax.servlet.http" />
31
+ <param name="Header"
32
+ value="%n
33
+ ===================================%n
34
+ Magnolia%n
35
+ Version: ${pom.version}%n
36
+ Server: ${server}%n
37
+ Url: %X{requesturi}%n
38
+ Referer: %X{Referer}%n
39
+ User-Agent: %X{User-Agent}%n
40
+ Remote-Host: %X{Remote-Host}%n
41
+ Session Id: %X{SessionId}%n
42
+ Userid: %X{userid}%n
43
+ Number of occurrences: %o%n
44
+ ===================================%n
45
+ " />
46
+ <param name="Footer" value="%n===================================%n" />
47
+ </layout>
48
+ </appender>
49
+ -->
50
+ <appender name="sync-log-debug" class="org.apache.log4j.RollingFileAppender">
51
+ <param name="File" value="${magnolia.logs.dir}/magnolia-debug.log" />
52
+ <param name="MaxFileSize" value="1MB" />
53
+ <param name="Threshold" value="DEBUG" />
54
+ <param name="MaxBackupIndex" value="5" />
55
+ <param name="Append" value="true" />
56
+ <layout class="org.apache.log4j.PatternLayout">
57
+ <param name="ConversionPattern" value="%-5p %c %d{dd.MM.yyyy HH:mm:ss} -- %m%n" />
58
+ </layout>
59
+ </appender>
60
+ <appender name="log-debug" class="org.apache.log4j.AsyncAppender">
61
+ <appender-ref ref="sync-log-debug" />
62
+ </appender>
63
+ <appender name="sync-log-error" class="org.apache.log4j.RollingFileAppender">
64
+ <param name="File" value="${magnolia.logs.dir}/magnolia-error.log" />
65
+ <param name="MaxFileSize" value="1MB" />
66
+ <param name="Threshold" value="ERROR" />
67
+ <param name="MaxBackupIndex" value="5" />
68
+ <param name="Append" value="true" />
69
+ <layout class="org.apache.log4j.PatternLayout">
70
+ <param name="ConversionPattern" value="%-5p %c %d{dd.MM.yyyy HH:mm:ss} -- %m%n" />
71
+ </layout>
72
+ </appender>
73
+ <appender name="log-error" class="org.apache.log4j.AsyncAppender">
74
+ <appender-ref ref="sync-log-error" />
75
+ </appender>
76
+ <appender name="sync-log-activation" class="org.apache.log4j.RollingFileAppender">
77
+ <param name="File" value="${magnolia.logs.dir}/magnolia-activation.log" />
78
+ <param name="MaxFileSize" value="1MB" />
79
+ <param name="MaxBackupIndex" value="5" />
80
+ <param name="Append" value="true" />
81
+ <layout class="org.apache.log4j.PatternLayout">
82
+ <param name="ConversionPattern" value="%-5p %c %d{dd.MM.yyyy HH:mm:ss} -- %m%n" />
83
+ </layout>
84
+ </appender>
85
+ <appender name="log-activation" class="org.apache.log4j.AsyncAppender">
86
+ <appender-ref ref="sync-log-activation" />
87
+ </appender>
88
+ <appender name="log-bootstrap" class="org.apache.log4j.FileAppender">
89
+ <param name="File" value="${magnolia.logs.dir}/bootstrap.log" />
90
+ <layout class="org.apache.log4j.PatternLayout">
91
+ <param name="ConversionPattern" value="%-5p %d{dd.MM.yyyy HH:mm:ss} %m%n" />
92
+ </layout>
93
+ </appender>
94
+ <appender name="sync-log-access" class="org.apache.log4j.RollingFileAppender">
95
+ <param name="File" value="${magnolia.logs.dir}/magnolia-access.log" />
96
+ <param name="MaxFileSize" value="1MB" />
97
+ <param name="MaxBackupIndex" value="5" />
98
+ <param name="Append" value="true" />
99
+ <layout class="org.apache.log4j.PatternLayout">
100
+ <param name="ConversionPattern" value="%d{dd.MM.yyyy HH:mm:ss}%m%n" />
101
+ </layout>
102
+ </appender>
103
+ <appender name="log-access" class="org.apache.log4j.AsyncAppender">
104
+ <appender-ref ref="sync-log-access" />
105
+ </appender>
106
+ <appender name="sync-log-audit" class="org.apache.log4j.RollingFileAppender">
107
+ <param name="File" value="${magnolia.logs.dir}/magnolia-audit.log" />
108
+ <param name="MaxFileSize" value="1MB" />
109
+ <param name="MaxBackupIndex" value="5" />
110
+ <param name="Append" value="true" />
111
+ <layout class="org.apache.log4j.PatternLayout">
112
+ <param name="ConversionPattern" value="%d{dd.MM.yyyy HH:mm:ss}%m%n" />
113
+ </layout>
114
+ </appender>
115
+ <appender name="log-audit" class="org.apache.log4j.AsyncAppender">
116
+ <appender-ref ref="sync-log-audit" />
117
+ </appender>
118
+ <appender name="sync-log-form" class="org.apache.log4j.RollingFileAppender">
119
+ <param name="File" value="${magnolia.logs.dir}/magnolia-form.log" />
120
+ <param name="MaxFileSize" value="1MB" />
121
+ <param name="MaxBackupIndex" value="5" />
122
+ <param name="Append" value="true" />
123
+ <layout class="org.apache.log4j.PatternLayout">
124
+ <param name="ConversionPattern" value="%d{dd.MM.yyyy HH:mm:ss}%m%n" />
125
+ </layout>
126
+ </appender>
127
+ <appender name="log-form" class="org.apache.log4j.AsyncAppender">
128
+ <appender-ref ref="sync-log-form" />
129
+ </appender>
130
+
131
+ <!-- Magnolia categories -->
132
+ <category name="info.magnolia">
133
+ <priority value="INFO" />
134
+ </category>
135
+
136
+ <!-- Activation - additivity is true so logs also go to sub-categories' appenders -->
137
+ <category name="info.magnolia.cms.exchange" additivity="true">
138
+ <priority value="INFO" />
139
+ <appender-ref ref="log-activation" />
140
+ </category>
141
+ <category name="info.magnolia.module.exchangesimple" additivity="true">
142
+ <priority value="INFO" />
143
+ <appender-ref ref="log-activation" />
144
+ </category>
145
+
146
+ <!-- bootstrapping -->
147
+ <category name="info.magnolia.importexport.Bootstrapper" additivity="true">
148
+ <priority value="INFO" />
149
+ <appender-ref ref="log-bootstrap" />
150
+ </category>
151
+
152
+ <!-- Custom log categories - additivity is false so logs only go to the appenders configured here -->
153
+ <category name="log-access" additivity="false">
154
+ <appender-ref ref="log-access" />
155
+ </category>
156
+ <category name="log-audit" additivity="false">
157
+ <appender-ref ref="log-audit" />
158
+ </category>
159
+ <category name="log-form" additivity="false">
160
+ <appender-ref ref="log-form" />
161
+ </category>
162
+
163
+ <!-- External libraries -->
164
+ <category name="org">
165
+ <priority value="WARN" />
166
+ </category>
167
+ <category name="org.apache.jackrabbit">
168
+ <priority value="WARN" />
169
+ </category>
170
+ <category name="com">
171
+ <priority value="WARN" />
172
+ </category>
173
+ <category name="net">
174
+ <priority value="WARN" />
175
+ </category>
176
+ <category name="freemarker">
177
+ <priority value="WARN" />
178
+ </category>
179
+ <category name="httpclient">
180
+ <priority value="WARN" />
181
+ </category>
182
+ <category name="openwfe.org.log">
183
+ <priority value="WARN" />
184
+ </category>
185
+ <category name="openwfe">
186
+ <priority value="WARN" />
187
+ </category>
188
+
189
+ <root>
190
+ <priority value="ALL" />
191
+ <appender-ref ref="log-error" />
192
+ <appender-ref ref="log-debug" />
193
+ <!-- debug -->
194
+ <appender-ref ref="console" />
195
+ <!-- enable this too to get mail notifications -->
196
+ <!--
197
+ <appender-ref ref="mail" />
198
+ -->
199
+ </root>
200
+ </log4j:configuration>