Technical Faq Jahia 4
Jahia 4 configuration FAQ
- How to install Jahia 4.2 with MySQL 4.x ?
- How to migrate from MySQL 4.0 to MySQL 4.1 when using UTF-8 encoding in database ?
- How to configure a LDAP connexion ?
- How to change the Jahia context ?
- How to run Jahia as a Windows service ?
- How to improve database performance ?
- How to change the debugging log level ?
- How to install 2 instances of Jahia on the same computer ?
- How to proceed if you want to modify the engines files ?
- What JDK version is supported by Jahia ?
- What kind of browsers are (un)supported by Jahia ?
- How to translate Jahia in a foreign language ?
- How to chose which HTML editor should come first ?
- How can I backup my data ?
- How can I activate mail notification within the workflow process ?
- How do I install Jahia into a new Tomcat installation ?
- How do I change the HTTP port that Jahia listens on ?
- I have some problems connecting through WebDAV?
- I have an error in the category folder on my linux environment, what should I do?
- What if I found a bug ?
Jahia 4 configuration FAQ
-
How to install Jahia 4.2 with MySQL 4.x ?
If you are installing Jahia 4.2 with MySQL 4.0.x (all platforms), you will have to force creation of new tables in InnoDB format instead of MyISAM, which is the default table type under MySQL 4.0.x. The best way to ensure this is to change the settings of MySQL in the configuration file (my.cnf/my.ini) to set the default type for new tables to InnoDB before installing Jahia 4.2.
Edit the my.cnf(Unix/Linux) or my.ini(windows) and add the following line in the [mysqld] part of the file :
default-table-type=InnoDB
If your MySQL database server runs under Unix/Linux, you will also need to change a default setting to allow case-insensitive SQL requests. Under Windows and MacOSX, case-insensitive SQL requests are activated by default, but not under Unix/Linux, so you need to edit the my.cnf configuration file of MySQL and add the following statement in the [mysqld] part of the file :
lower_case_table_names=1
Then restart your MySQL instance. You can now install Jahia 4.2
-
How to migrate from MySQL 4.0 to MySQL 4.1 when using UTF-8 encoding in database ?
In order to use MySQL 4.1 with Jahia, you will have to do the following changes to your schema.
If you are migrating existing data you will have to do the modifications on the tables using ALTER TABLE table_name MODIFY column_name column_type; The best ways to use the following alter statements is to execute them on your existing database (please make a backup before modifying it), dumping the modified database and then importing the database into MySQL 4.1
Here are the alter statements :ALTER TABLE jahia_grp_prop MODIFY name_jahia_grp_prop varchar(150);
ALTER TABLE jahia_link MODIFY left_oid varchar(100);ALTER TABLE jahia_link MODIFY right_oid varchar(100);ALTER TABLE jahia_pages_def_prop MODIFY value_pages_def_prop varchar(200);ALTER TABLE jahia_link MODIFY type varchar(100);ALTER TABLE jahia_pages_prop MODIFY prop_name varchar(150);ALTER TABLE jahia_pages_prop MODIFY language_code varchar(20);ALTER TABLE jahia_slide_branches MODIFY uri varchar(200);ALTER TABLE jahia_slide_branches MODIFY slidens varchar(50);ALTER TABLE jahia_slide_children MODIFY uri varchar(200);ALTER TABLE jahia_slide_children MODIFY slidens varchar(50);ALTER TABLE jahia_slide_label MODIFY uri varchar(200);ALTER TABLE jahia_slide_label MODIFY slidens varchar(50);ALTER TABLE jahia_slide_links MODIFY linkto varchar(200);ALTER TABLE jahia_slide_links MODIFY slidens varchar(50);ALTER TABLE jahia_slide_latestrev MODIFY uri varchar(200);ALTER TABLE jahia_slide_latestrev MODIFY slidens varchar(50);ALTER TABLE jahia_slide_locks MODIFY object varchar(200);ALTER TABLE jahia_slide_locks MODIFY slidens varchar(50);ALTER TABLE jahia_slide_objects MODIFY uri varchar(200);ALTER TABLE jahia_slide_objects MODIFY slidens varchar(50);ALTER TABLE jahia_slide_permissions MODIFY object varchar(200);ALTER TABLE jahia_slide_permissions MODIFY slidens varchar(50);ALTER TABLE jahia_slide_property MODIFY uri varchar(200);ALTER TABLE jahia_slide_property MODIFY slidens varchar(50);ALTER TABLE jahia_slide_revision MODIFY uri varchar(200);ALTER TABLE jahia_slide_revision MODIFY slidens varchar(50);ALTER TABLE jahia_slide_revisions MODIFY uri varchar(200);ALTER TABLE jahia_slide_revisions MODIFY slidens varchar(50);ALTER TABLE jahia_slide_workingrev MODIFY uri varchar(200);ALTER TABLE jahia_slide_workingrev MODIFY slidens varchar(50);ALTER TABLE jahia_user_prop MODIFY name_jahia_user_prop varchar(150);
-
How to configure a LDAP connexion ?
To connect to a LDAP server, you need to modify 4 xml files, 2 for users and 2 for groups.
The 2 files where you configure the connexion to the LDAP server for the users and the groups are users.ldap.properties and groups.ldap.properties. They are both located in the following directory :
TOMCAT_HOME/webapps/jahia/WEB-INF/etc/ldap/
The following parameters of the users.ldap.properties should be set :
users.ldap.url
users.ldap.authentification.mode
users.ldap.public.bind.dn
If your LDAP server requires that you authentify before you can browse the repository, uncomment and set the folowing property :
users.ldap.public.bind.password
You also need to map the jahia users properties (username, e-mail, etc...) to the corresponding LDAP attributes by modifying the following parameters :
users.ldap.username.attribute.map
users.ldap.firstname.attribute.map
users.ldap.lastname.attribute.map
users.ldap.email.attribute.map
users.ldap.organization.attribute.map
You need to modify similar parameters in the groups.ldap.properties if you want to use LDAP groups inside Jahia.
Once this is done, you need to activate the LDAP connexion in Jahia by uncommenting some parts in the file router-config.xml for users, respectively group-router-config.xml for groups. Both files are located in the following directory :
TOMCAT_HOME/webapps/jahia/WEB-INF/etc/services/usermanager/
You will need to uncomment the ... part corresponding to the ldap key, as well as the ... part. If you don't want to use LDAP groups, do not modify the group-router-config.xml file.
Restart Jahia, login as site administrator (or root) and go in the "manage user" menu in the Administration panel of Jahia. Select "ldap" in the providers list and click on "Search". You should see the list of users from your LDAP repository.
-
How to change the Jahia context ?
1) Changing the Jahia context ( http://myserver/jahia/Jahia )
If you would like to change Jahia context (to have an url like "http://myserver/test/Jahia" instead of "http://myserver/jahia/Jahia"), you need to edit the web.xml file located in the following directory :
TOMCAT_HOME/webapps/jahia/WEB-INF/
Modify the following lines :
<display-name>jahia</display-name>
<!--(not needed if you run Jahia 4.0.3 or greater)-->
and
<param-name>defaultContextPath</param-name>
<param-value>/jahia</param-value>
If the Jahia Configuration Wizard has already been run, you will also need to modify the following lines in the jahia.properties (first /jahia only - not the second one) :
jahiaTemplatesHttpPath = /jahia/jsp/jahia/templates/
jahiaEnginesHttpPath = /jahia/jsp/jahia/engines/
jahiaJavaScriptHttpPath = /jahia/jsp/jahia/javascript/jahia.js
Finally, change the physical name of the "jahia" directory in your "TOMCAT_HOME/webapps" to reflect what you used in your web.xml file.
If you want to run two Jahia as separate web applications inside the same Tomcat instance, you can follow the same procedure. You will then for example have a "jahia_prod" directory and another directory named "jahia_test", with the changes made accordingly in each web.xml and jahia.properties files.
If you wish to set Jahia in the ROOT context of Tomcat (to have an url like "http://myserver/Jahia"), the "defaultContextPath" value in the web.xml whould be set like this :
<param-name>defaultContextPath</param-name>
<param-value></param-value>
In this case you will also need to move the sub-directories of TOMCAT_HOME/webapps/jahia/ within the /ROOT directory in TOMCAT_HOME/webapps/ (you can then delete the empty /webapps/jahia directory). You will also need to rename the default Tomcat /webapps/webdav servlet (e.g. to "webapps/webdav1").
2) Changing the servlet name ( http://myserver/jahia/Jahia )
If you want also to get rid of the "Jahia" (with a capital J) servlet name in all urls, you need to edit the same web.xml file. Search exactly the following pattern (case sensitivity is important) :
/Jahia
and replace for example by:
/cms/
You should have to replace 5 instances of "/Jahia".
-
How to run Jahia as a Windows service ?
To install Jahia as a Windows service, you first need to install a separate tomcat instance from the jakarta-tomcat-4.1.xx.exe package available on the Jakarta website. When installing Tomcat from this package, select the "NT Service" option.
Once Tomcat is installed, you can copy the "jahia" webapps directory from the Jahia distribution inside the "webapps" directory of the Tomcat instance you installed. You will also need to copy the server.xml and web.xml files located in the "TOMCAT_HOME/conf/" directory of the Jahia distribution over the files provided with the standard Tomcat package. Also copy the files in "TOMCAT_HOME/shared/lib" and "TOMCAT_HOME/shared/classes". And finally, copy whatever web applications you are using from your Tomcat webapps directory to the new Tomcat service installation.
You can now launch the Apache Tomcat service from the service manager of Windows and access the Jahia Configuration Wizard through http://myserver:8080/jahia/Jahia.
If you want to change the values of the Java heap size (XMS and XMX values used to specify the minimal and maximal size allocated to the Java process), you need to modify the Windows registry.
Open the registry Editor and go to :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ApacheTomcat\Parameters
You should have some "JVM Option Number x" values already set.
If for example the last JVM Option Number is 2, add a new string value with a value name "JVM Option Number 3" and set the value data to "-Xms128m". This sets the initial Java heap size to 128MB. Add a second string value "JVM Option Number 3" and set the value data to "-Xmx512m". This sets the maximum Java heap size to 512MB.
Finally, modify the "JVM Option Count" parameter and set it to the actual number of "JVM Option Number" listed. In our example, we added 2 JVM Option to the 3 already existing, so we would need to change the JVM Option Count from 3 to 5.
-
How to improve database performance ?
With the use of database indexes, you can gain a significative amount of performance, especially in the case of large Jahia site with many pages and containers. The following sql scripts will create indexes on the key tables and fields. It should work as is with the main databases (mySQL, Potsgres, Oracle, SQL Server). If you are using another database, please check the database documentation for the correct syntax to create indexes.
You can also make use of the SQL Profiler to create your own set of indexes. This tool will allow you analyze all queries that are sent from Jahia to the database and will create an index file that you can import in your database. This way you create indexes which best suit the data you have in your database.
CREATE INDEX jahia_acl_index ON jahia_acl ( id_jahia_acl );
CREATE INDEX jahia_acl_index2 ON jahia_acl ( parent_id_jahia_acl,id_jahia_acl );
CREATE INDEX jahia_ctn_def_index ON jahia_ctn_def ( id_jahia_ctn_def );
CREATE INDEX jahia_ctn_def_properties_index ON jahia_ctn_def_properties ( ctndefid_jahia_ctn_def_prop );
CREATE INDEX jahia_ctn_entries_index ON jahia_ctn_entries ( rights_jahia_ctn_entries );
CREATE INDEX jahia_ctn_entries_index2 ON jahia_ctn_entries ( id_jahia_ctn_entries,workflow_state );
CREATE INDEX jahia_ctn_entries_index3 ON jahia_ctn_entries ( pageid_jahia_ctn_entries,workflow_state );
CREATE INDEX jahia_ctn_entries_index4 ON jahia_ctn_entries ( listid_jahia_ctn_entries,workflow_state,rank_jahia_ctn_entries,id_jahia_ctn_entries );
CREATE INDEX jahia_ctn_entries_index5 ON jahia_ctn_entries ( id_jahia_ctn_entries,rights_jahia_ctn_entries );
CREATE INDEX jahia_ctn_lists_index ON jahia_ctn_lists ( id_jahia_ctn_lists,workflow_state );
CREATE INDEX jahia_ctn_lists_index2 ON jahia_ctn_lists ( parententryid_jahia_ctn_lists,pageid_jahia_ctn_lists );
CREATE INDEX jahia_ctn_lists_index3 ON jahia_ctn_lists ( id_jahia_ctn_lists, parententryid_jahia_ctn_lists );
CREATE index jahia_ctn_lists_index4 ON jahia_ctn_lists ( pageid_jahia_ctn_lists, ctndefid_jahia_ctn_lists );
CREATE INDEX jahia_ctn_lists_index5 ON jahia_ctn_lists ( parententryid_jahia_ctn_lists,id_jahia_ctn_lists );
CREATE INDEX jahia_ctnlists_prop_index ON jahia_ctnlists_prop ( ctnlistid_ctnlists_prop );
CREATE INDEX jahia_ctn_struct_index ON jahia_ctn_struct ( rank_jahia_ctn_struct,ctnsubdefid_jahia_ctn_struct );
CREATE index jahia_ctn_struct_index2 ON jahia_ctn_struct( objdefid_jahia_ctn_struct );
CREATE INDEX jahia_ctn_struct_index3 ON jahia_ctn_struct ( objtype_jahia_ctn_struct,objdefid_jahia_ctn_struct,ctnsubdefid_jahia_ctn_struct );
CREATE INDEX jahia_ctn_struct_index4 ON jahia_ctn_struct ( ctnsubdefid_jahia_ctn_struct,rank_jahia_ctn_struct );
CREATE INDEX jahia_fields_data_index ON jahia_fields_data ( pageid_jahia_fields_data,workflow_state,ctnid_jahia_fields_data);
CREATE INDEX jahia_fields_data_index2 ON jahia_fields_data ( id_jahia_fields_data,workflow_state,ctnid_jahia_fields_data );
CREATE INDEX jahia_fields_data_index3 ON jahia_fields_data ( id_jahia_fields_data,workflow_state,pageid_jahia_fields_data );
CREATE INDEX jahia_fields_data_index4 ON jahia_fields_data ( id_jahia_fields_data,pageid_jahia_fields_data,ctnid_jahia_fields_data );
CREATE INDEX jahia_fields_data_index5 ON jahia_fields_data ( rights_jahia_fields_data );
CREATE INDEX jahia_fields_data_index6 ON jahia_fields_data ( ctnid_jahia_fields_data, rank_jahia_fields_data,id_jahia_fields_data);
CREATE INDEX jahia_fields_data_index7 ON jahia_fields_data ( value_jahia_fields_data,type_jahia_fields_data,workflow_state,version_id );
CREATE INDEX jahia_fields_data_index8 ON jahia_fields_data ( pageid_jahia_fields_data,ctnid_jahia_fields_data,rank_jahia_fields_data,id_jahia_fields_data );
CREATE INDEX jahia_fields_data_index9 ON jahia_fields_data ( pageid_jahia_fields_data,workflow_state,id_jahia_fields_data );
CREATE INDEX jahia_fields_data_index10 ON jahia_fields_data ( pageid_jahia_fields_data,fielddefid_jahia_fields_data );
CREATE INDEX jahia_fields_def_index ON jahia_fields_def ( id_jahia_fields_def );
CREATE index jahia_fields_def_index2 ON jahia_fields_def ( jahiaid_jahia_fields_def );
CREATE index jahia_fields_def_index3 ON jahia_fields_def ( jahiaid_jahia_fields_def,name_jahia_fields_def );
CREATE INDEX jahia_fields_def_prop_index ON jahia_fields_def_prop ( flddefid_jahia_fields_def_prop );
CREATE INDEX jahia_fields_def_prop_index2 ON jahia_fields_def_prop ( type_jahia_fields_def_prop,default_jahia_fields_def_prop );
CREATE INDEX jahia_fields_def_extprop_index ON jahia_fields_def_extprop ( id_jahia_fields_def );
CREATE INDEX jahia_link_index ON jahia_link ( right_oid );
#CREATE INDEX jahia_link_index2 ON jahia_link ( type, left_oid );
CREATE INDEX jahia_pages_data_index ON jahia_pages_data ( id_jahia_pages_data,workflow_state, version_id);
CREATE INDEX jahia_pages_data_index2 ON jahia_pages_data ( workflow_state,parentid_jahia_pages_data,version_id,id_jahia_pages_data );
CREATE INDEX jahia_pages_data_index3 ON jahia_pages_data ( rights_jahia_pages_data );
CREATE INDEX jahia_pages_data_index4 ON jahia_pages_data ( parentid_jahia_pages_data ) ;
CREATE INDEX jahia_pages_data_index5 ON jahia_pages_data ( workflow_state,parentid_jahia_pages_data,id_jahia_pages_data,version_id );
CREATE INDEX jahia_pages_data_index6 ON jahia_pages_data ( parentid_jahia_pages_data,workflow_state,id_jahia_pages_data,version_id );
CREATE INDEX jahia_pages_data_index7 ON jahia_pages_data ( parentid_jahia_pages_data,id_jahia_pages_data,version_id );
CREATE INDEX jahia_pages_def_index ON jahia_pages_def ( id_jahia_pages_def );
CREATE INDEX jahia_pages_def_prop_index ON jahia_pages_def_prop ( id_jahia_pages_def_prop );
CREATE INDEX jahia_pages_def_prop_index2 ON jahia_pages_def_prop ( name_pages_def_prop,value_pages_def_prop );
CREATE INDEX jahia_pages_prop_valueindex (prop_value);
CREATE INDEX jahia_locks_index ON jahia_locks ( name_locks,targetid_locks,action_locks );
CREATE INDEX jahia_user_prop_index ON jahia_user_prop ( id_jahia_users,provider_jahia_user_prop,userkey_jahia_user_prop );
CREATE INDEX jahia_users_index ON jahia_users ( name_jahia_users,siteid_jahia_users );
CREATE INDEX jahia_users_index2 ON jahia_users ( siteid_jahia_users );
CREATE INDEX jahia_users_index3 ON jahia_users ( key_jahia_users );
You can also download the sql file containing all these indexes.
-
How to change the debugging log level ?
Jahia make use of the Log4J library for all debugging infos. Log4J defines some logging levels as follows (from the more to the less verbose) :
ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF
By default, point releases of Jahia (as opposed to CVS builds) have the log levels of most parts set to INFO. If you want to increase the log level to trace a problem, you will need to modify the log4j.xml file located in the following directory :
TOMCAT_HOME/webapps/jahia/WEB-INF/etc/config/
At the bottom of the file, you have the <root>... </root> part. Change the <priority value="info"/> to <priority value="debug"/> for example to have more debugging information in the console. You can also change this parameter for some specific part of Jahia like Slide or pdfbox. You can even add your own logger on a specific set of classes, for example :
<category name="org.apache.axis"> <priority value="info"/> </category>
Don't forget to change back the values to INFO, as DEBUG log level has a pretty important impact on performance.
-
How to install 2 instances of Jahia on the same computer ?
If you need to run 2 (or more) instances of Tomcat/Jahia on your system, you will need to change a few parameters to allow this.
First you need to change the port Tomcat runs on. This parameter is set in the server.xml file located in the following directory:
TOMCAT_HOME/conf/
Modify the "port" parameter of the "Connector" tag located just after the comment saying "Define a non-SSL Coyote HTTP/1.1 Connector on port 8080". Set it to 7070 or whatever TCP port which is not already used by another service on your system.
In the same file you should also modify the shutdown port of Tomcat. This parameter is set at the beginning of the server.xml file:
server debug="0" port="8005" shutdown="SHUTDOWN"
Replace the default 8005 by any other value, for example 8006.
Finally, you should also deactivate or change the port of the JMX server, which is set up in the jahia.properties file. Search the "JMX Settings" part and either set the following three lines to "false":
org.jahia.jmx.httpAdaptorActivated = false
org.jahia.jmx.xslProcessorActivated = false
org.jahia.jmx.rmiAdaptorActivated = false
or change the port of the JMX server (default is 8082) by modifying the following line:
org.jahia.jmx.httpPort = 8082
-
How to proceed if you want to modify the engines files ?
The JSPs files containing the code for all engines (for example the login or the update windows) are located in the following directory:
TOMCAT_HOME/webapps/jahia/jsp/jahia/engines/
For example, the JSP file corresponding to the login window, login.jsp, is located in:
TOMCAT_HOME/webapps/jahia/jsp/jahia/engines/login/
However, since Jahia 4.0.2 and for performance purpose, Jahia is distributed with precompiled JSP files which are included in the jahia.jar file, so modifying the previously mentioned login file will have no visible effect.
To indicate to Jahia that you want to use a jsp file in the "engines" directory instead of the precompiled JSP, you will need to edit the web.xml file located in the following directory :
TOMCAT_HOME/webapps/jahia/WEB-INF/
In our example, we want to use and modify the login.jsp file, so we
need to remove or comment out the following part in the web.xml file :
<servlet-mapping>
<servlet-name>jsp.jahia.administration.login_jsp</servlet-name>
<url-pattern>/jsp/jahia/administration/login.jsp</url-pattern>
</servlet-mapping>If you don't want to use the precompiled JSPs at all for any engines, just comment out the whole part located between :
<!--
Automatically created by Tomcat JspC.
Place this fragement in the web.xml before all icon, display-name,
description, distributable, and context-param elements.
-->
and
<!--
All session-config, mime-mapping, welcome-file-list, error-page, taglib,
resource-ref, security-constraint, login-config,
security-role, env-entry, and ejb-ref elements should follow this fragment.
-->
-
What JDK version is supported by Jahia ?
Jahia is compiled and tested with 1.4.x JDK.
JDK 1.4 was tested from various vendors (SUN, IBM and Bea JRockit).
JDK 1.5 is working and being used by some of our customers. It shows better performance mainly due to improvements in the default garbage collection.
JDK 1.6 is working since Jahia 4.2, but was still not deeply tested in production due to the recent release.
-
What kind of browsers are (un)supported by Jahia ?
The following browsers are recommended to manage content on Jahia :
Windows- Internet Explorer 5.0 or better
- Netscape 6.0 or better
- Mozilla 1.0 or better
- Firefox (previously firebird)
- Opera 6.0 or better
Mac- Mozilla 1.0 or better
(The last offcial Mozilla for MacOS9 is release 1.2)
- Firefox (previously firebird)
- Opera 6.0 or better
- Safari
Please not that the use of Java applets for editing content requires that the browser support LiveConnect, which only Safari 1.2 seems to do correctly.
Please note also that Internet Explorer 5.2 for Mac can be used to browse a Jahia site but is clearly not recommended to manage content.
Linux- Netscape 6.0 or better
- Mozilla 1.0 or better
- Firefox (previously firebird)
- Opera 6.0 or better
- Konqueror
-
How to translate Jahia in a foreign language ?
All texts in the Jahia interfaces are taken from a basic text file called a ResourceBundle. The ResourceBundle files contain a matching between the key used in the code (for example the key for the "Select page to link" text display when you add a link is "org.jahia.engines.shared.Page_Field.selectPageToLink.label".
If you want to translate Jahia in another language, first make a copy of the following 3 ResourceBundle files:
- JahiaAdministrationResources.properties
- JahiaEnginesResources.properties
- JahiaMessageResources.properties
They are located in the following directory:
TOMCAT_HOME/webapps/jahia/WEB-INF/classes/
Then rename them by adding an underscore at the end of the name followed by the language code of the language in which you want to translate Jahia. Fox example, if you want to make a German translation of Jahia, you will rename
- JahiaAdministrationResources.properties
in
- JahiaAdministrationResources_de.properties
Then, edit each one of the 3 files and translate the text mapped to each key. For example, in the JahiaEnginesResources_de.properties, file, the line
org.jahia.engines.shared.Page_Field.selectPageToLink.label = Select page to link
may be changed to
org.jahia.engines.shared.Page_Field.selectPageToLink.label = Wählen Sie die Seite vor, um zu verbinden
Please check the following page: Internationalization to know if there are already some partially or fully translated files for your language. Else if you translate Jahia in another new language, please do not hesitate to send to us the new ressource bundle files. This may perhaps help other users.
-
How to chose which HTML editor should come first ?
Jahia propose different text editors to enter content, and other can also be added. To choose which editor should come by default when you edit a bigtext area adn to choose the order in which the various editors should appear in the drop-down list, edit the file htmleditors_config.xml located in the following directory :
TOMCAT_HOME/webapps/jahia/WEB-INF/etc/htmleditors/
For each editor there is a "rank" parameter which define its order in the drop down list, with rank 1 being the default editor.
You can also hide some editors from the drop-down list if you don't want to make it available to users. Just comment the paragraph
<editor>...</editor> corresponding to the editor you whish to hide. Please note however that the Simple Text editor should never be removed or commented out, as it is the fallback for all the other editors.
-
How can I backup my data ?
To backup the full content of your Jahia server (but without the Tomcat and the Jahia program files), you need to backup the database as well as some directory.
To backup the database, either use the backup tool provided with you Database server or make a SQL dump of the data (this can easily be made with at lease MySQL, PostgreSQL and Oracle).
A backup of the following directory, which contains the text files and all uploaded files, also needs to be performed:
TOMCAT_HOME/webapps/jahia/WEB-INF/var/content/
Finally, you will also need to backup the directory of each web application used in your Jahia site. All applications are located in "TOMCAT_HOME/webapps/" and the name of the directory of the web application normally also contains the name of the virtual site in which they are used (for example the directory "InfoNews_myjahiasite" contains the webapps "Infonews" used in the "myjahiasite" virtual site. If these applications store data in a distant database (as opposed to the embedded database which they are configured to run with by default), don't forget to also backup the corresponding databases.
It may be also a good habit to backup also the configuration files that have been modified (like the htmleditors configuration files, the jahia.properties or the ldap configuration files). They are mostly located in the "WEB-INF/etc/" directory of Jahia.
-
How can I activate mail notification within the workflow process ?
Jahia includes a simple workflow process. When an editor has finished entering content, he can notify the manager of the page(s) that he is done. This process is automatic when you use the workflow engine.
However, you need to have previously configured the server settings of Jahia, either during the installation of Jahia or afterwards by going in the "Server settings" option of the Administration panel of Jahia. If don't set a mail server and a valid sender's e-mail address there, mail notifications won't be sent.
The mail notification process makes use of the e-mail address entered when you create a new user in Jahia. Make sure you have set a valid e-mail address for each user, or at least for each user responsible for validating a page or a section of the site.
Currently, you can not decide which person should recieve the notification e-mail. This e-mail will be sent to each person acting as administrator for the given page(s).
-
How do I install Jahia into a new Tomcat installation ?
Important : Please note this procedure is not supported, and that it is only documented for Tomcat 4.x. On Tomcat 5.x you might have to move around some JARs, or it might work, but no guarantees are given.
In this procedure we will assume the following :
- You have installed a packaged Jahia in JAHIA_HOME
- You have a new Tomcat installation that you want to copy Jahia into in NEWTOMCAT_HOME
Here are the steps to copy into the new Tomcat installation :
1. Copy the contents of JAHIA_HOME/tomcat/webapps/jahia into NEWTOMCAT_HOME/webapps/jahia
2. If you want to copy over the deployed applications, repeat this step for each web app : copy JAHIA_HOME/tomcat/webapps/WEBAPP_NAME to NEWTOMCAT_HOME/webapps/WEBAPP_NAME
3. Copy the contents of JAHIA_HOME/tomcat/shared/lib to NEWTOMCAT_HOME/shared/lib
4. Copy the contents of JAHIA_HOME/tomcat/common/endorsed to NEWTOMCAT_HOME/common/endorsed
5. Modify the NEWTOMCAT_HOME/conf/server.xml file to include the following tag just before the "examples" <Context> tag :
<DefaultContext crossContext="true"/>
6. Uncomment the invoker servlet declaration and mapping in the NEWTOMCAT_HOME/conf/web.xml file. Look for the following lines to uncomment :
<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
and
<servlet-mapping>
<servlet-name>invoker</servlet-name>
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
-
How do I change the HTTP port that Jahia listens on ?
By default, Jahia comes with Tomcat configured to run on server port 8080, as some machine may already have a web server running on standard HTTP port 80.
To change the HTTP port of tomcat, open the following file :
tomcat/conf/server.xml
Around line 55 in the section identified by "Define a non-SSL HTTP/1.1 Connector", you will find the following definition:
<connector classname="org.apache.catalina.connector.http.HttpConnector"
port="8080" minProcessors="5" maxProcessors="75" enableLookups="true"
redirectPort="8443" acceptCount="10" debug="0" connectionTimeout="60000"/>
Replace the port parameter with wichever port you want to run Jahia on.
If you don't want Tomcat to proceed to reverse lookups (in case you
are behind a firewall which filter these requests), set the
enableLookups parameter to "false".
Modify also in the URL's section of the jahia.properties file (in tomcat/webapps/jahia/WEB-INF/etc/config/ ) around line 45 the following parameter:
jahiaWebAppsDeployerBaseURL = http\://localhost\:8080
and replace 8080 by the choosen port.
Please note that when restarting Jahia, launch script will still try to access Jahia on port 8080, so open a browser and enter the url to access Jahia. For example, if you set Tomcat to run on port 80, the correct URL would be:
http://localhost/jahia/Jahia
You can also modify the bin/jahia.bat or bin/jahia.sh script to change the port that is used during startup. You will also have to change the following HTML files :
tomcat/webapps/jahia/html/startup/launch_jahia.html
tomcat/webapps/jahia/html/startup/launch_admin.html
Check the following page regarding dynamic URL rewriting:
Apache httpd
-
I have some problems connecting through WebDAV?
Are you trying to access to the Jahia files through the MS Windows File Manager (Web Folders)? Then yes you may encounter some issues according to your MS Windows and Office configuration. Microsoft WebDAV drivers are known to be quite unstable. Please check here which version of the WebDAV DLL you have and if it is bugfree: http://www.greenbytes.de/tech/webdav/webfolder-client-list.html
From the Jahia side, we can not directly modify the DLL used by your Windows system. We then strongly suggest the use of some more stable WebDAV clients for any professional usage such as for example Webdrive (www.webdrive.com).
-
I have an error in the category folder on my linux environment, what should I do?
The category interface uses some SWING component. They are not installed by default on Linux with the JDK. So you need to install the X Window rpm (not to launch it, just to install it on the disk).
-
What if I found a bug ?
First check the mailing list archives to see if the problem hasn't already been mentionned and solved in a newer version of Jahia. Check also the changelog (Change Log Jahia 4.0 link available here ). Finally , try to search the bugzilla database to see if the bug has not already been submitted.
If you think you discovered a new bug, we encourage you to submit it in the bugzilla database with as much details as possible, and more important in which conditions and how the problem can be reproduced. We know this is not always easy to figure out, but it saves us a lot of time and helps us fix the bug quicker.
