Magnolia CMS Modules

by Devexperts

Child pages
  • dx-sync-module
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

dx-sync-module synchronizes changes in files with Magnolia repositories.
Also it provides a set of tasks and strategies for updating Magnolia resources. 

It allows to edit templates scripts, CSS, JavaScript and other files directly from IDE or editor of your choice. Changes are instantly propagated to Magnolia repositories of a running Magnolia instance.
So you can preview your changes on the website as soon as you save your files.

Content

Supported resource types

The following resource types are supported at the moment:

  • JavaScript files (js and processedJs resources)
  • CSS files (css and processedCss resources)
  • Freemarker template scripts (stored in templates workspace)
  • Files stored in DMS
  • Zip archives (extracted to DMS document trees)
  • Module files (from mgnl-files resource folder, including Freemarker and JSP templates)
  • Groovy scripts
  • Groovy classes
Initial setup

Download the latest module version.
Note: it is going to be available as a Maven artefact soon.

Download

dx-sync-module-1.1.1.jar
dx-sync-module-1.1.1-sources.jar 

Install 

First, you need to install jnotify http://jnotify.sourceforge.net/ library to your servlet container, including both java and native library parts.
This library is used to get notifications from the file system about file updates.
You can download it from here:

If you use Tomcat you can:

  • Put jnotify-0.93.jar to Tomcat's lib directory
  • For Windows, 32-bit JRE: put jnotify.dll to Tomcat's bin directory
  • For Windows, 64-bit JRE: put jnotify_64bit.dll to Tomcat's bin directory and rename the file to jnotify.dll
  • For Linux, 32-bit JRE: put jnotify.so to Tomcat's bin directory
  • For Linux, 64-bit JRE: put jnotify_64bit.so to Tomcat's bin directory and rename the file to libjnotify.so
  • For Mac OS X, refer to jnotify documentation how to obtain native library and put it to the place Tomcat can find it.

Steps are very similar for other servlet containers.

Configuration
Version Handler based configuration
File-based configuration

Synchronization is performed on a directory basis. Each directory that is needed synchronization should be listed in the configuration file.

Config example
# Source path, Magnolia path, resource type                                                               \
# Possible resource types are:
# - css
# - processedCss
# - js
# - processedJs
# - ftl
# - ftl_file
# - jsp
# - file

abc-website\src\main\resources\abc\templates, templates:/abc/templates, ftl
abc-website\src\main\resources\abc\templates\content, templates:/abc/templates/content, ftl
abc-website\src\main\resources\abc\templates\control, templates:/abc/templates/content, ftl
abc-website\src\main\resources\abc\templates\paragraphs, templates:/abc/templates/paragraphs, ftl
abc-website\src\main\resources\abc\css, resources:/abc/css, processedCss
abc-website\src\main\resources\abc\css\main, resources:/abc/css/main, processedCss
abc-website\src\main\resources\abc\css\main\colors, resources:/abc/css/main/colors, processedCss
abc-website\src\main\resources\abc\css\main\content, resources:/abc/css/main/content, processedCss
abc-website\src\main\resources\abc\js, resources:/abc/js, processedJs
abc-website\src\main\resources\abc\js\ckeditor, resources:/abc/js/ckeditor, js
abc-website\src\main\resources\abc\js\all, resources:/abc/js/all, js
abc-website\src\main\resources\abc\js\all\dx, resources:/abc/js/all/dx, js
abc-website\src\main\resources\abc\img, dms:/abc/img, file
abc-website\src\main\resources\abc\img\dark, dms:/abc/img/dark, file
abc-website\src\main\resources\abc\img\light, dms:/abc/img/light, file
abc-website\src\main\resources\abc\resources, dms:/abc/resources, file
abc-website\src\main\resources\abc\resources\dark, dms:/abc/resources/dark, file
abc-website\src\main\resources\abc\resources\light, dms:/abc/resources/light, file
abc-website\src\main\resources\abc\robots, dms:/abc/robots, file

2 parameters should be specified for this module.

  • dx.sync.sources - path to the root of source files. Directory paths in the configuration file are relative to this path.  
    By default, the directory which is parent to Tomcat location is used (for example, if Tomcat is located under C:\work\project\apache-tomcat-6.0.32, the directory C:\work\project will be used).
  • dx.sync.config - location of the configuration file.
    By default, sync.csv in directory which is parent to Tomcat location is used (for example, if Tomcat is located under C:\work\project\apache-tomcat-6.0.32, the file C:\work\project\sync.csv is used). 
License 

The module is released under GPL license. Contact us if you need this module under different license.

Questions

We really appreciate your feedback, feature requests, bug reports or any kind of comments. 
Contact us at avasiliev@devexperts.com 

 

  • No labels