Technical Tips

Document created by resplin Employee on Jun 6, 2015
Version 1Show Document
  • View in full screen mode

Obsolete Pages{{Obsolete}}

The official documentation is at: http://docs.alfresco.com



FAQ


Externalising a Configuration


Version 1.2 of the repository allows configurations to be externalised to enable automatic migration and upgrading. You can now override configurations without modifying any of the configuration files that are deployed as part of the Alfresco application by creating a customised file in the following locations prior to server start-up.

JBoss – <JBOSS_HOME>/server/default/alfresco/
Tomcat – <TOMCAT_HOME>/shared/classes/alfresco/


Tomcat and JAVA_OPTS


Performance under Tomcat can be improved by setting the JAVA_OPTS environment variable to increase the amount of Java heap space. The Tomcat startup script uses the JAVA_OPTS environment variable to add command-line arguments when launching Java. The standard way to change the value of JAVA_OPTS is to add a file into Tomcat's bin directory on Windows, called setenv.bat, or an equivalent file on Unix variants, such as setenv.sh, to set the value of JAVA_OPTS. (On Fedora Linux, for example, the file is /etc/sysconfig/tomcat6 if running Tomcat 6.)

The Tomcat startup script will read this file to set environment variables. The file should contain settings similar to (for Sun's JRE):

   set JAVA_OPTS=%JAVA_OPTS% -Xms64m -Xmx525M -server -XX:MaxPermSize=128M

on Windows, or

   JAVA_OPTS='-server -Xms256M -Xmx540M -XX:MaxPermSize=128M'

on Unix variants.

You also can edit the Tomcat startup script directly, such as catalina.bat (Windows) or catalina.sh (Unix/Linux).

Sun's Developers Network site contains further information on how to tune Java for optimum performance under different operating systems.


Externalising a Configuration


The default location for the Alfresco repository (content and Lucene indexes) is defined in a file called repository.properties under the 'dir.root' entry. By default the dir.root contains a relative path to your physical install location. The path this actually points to when you start Alfresco will therefore depend on what directory Alfresco is launched from. To ensure that the correct location for your dir.root is used, irrespective of how Alfresco is launched, we recommend overriding the standard setting with one that defines the full path to your install. Here's how to set this up:

1. Create and/or edit the repository.properties file in your extensions directory, the extensions directory will depend on the application server you are using e.g.

For Tomcat: Tomcat/shared/classes/alfresco/extension
For JBoss: JBoss/server/default/conf/alfresco/extension

2. Add entries to the repository.properties file ensuring that the dir.root points to the full path to your repository as appropriate e.g.:

# Directory configuration
dir.root=c:/alf_disk/alf_data
#Update dir.root to point to the full path to your repository as appropriate
# The location of the content store
dir.contentstore=${dir.root}/contentstore
dir.contentstore.deleted=${dir.root}/contentstore.deleted
# The location for lucene index files
dir.indexes=${dir.root}/lucene-indexes
# The location for lucene index locks
dir.indexes.lock=${dir.indexes}/locks

3. Restart your application server.


Alfresco on a Laptop (and no Network)


A question that often is asked is how to set up Alfresco on a laptop when there is no network connection. This is very simple to do. Under Windows you may need to install a loopback adaptor – Microsoft's Knowledge Base has instructions on how to do this under Windows XP and Windows 2000.


Externalizing Menu and Dialog Configuration for Zero-Time Upgrades


Ease of customization was a major area of focus for the 1.3 release. Building on the configuration extension features added in 1.2, we have externalized menu and dialog configuration through XML file configuration where originally these were defined in JSP pages. Also, we have added a type-based dispatcher that allows pages, dialogs and wizards to be over-ridden on a specific content type. This framework ensures that wherever possible you don't have to modify Alfresco supplied files and provides a way of packaging and deploying extensions.

Web Client Customisation Guide


RSS Feeds


If you view the Alfresco JBoss Portal webcast you will have seen an RSS feed for recent documents. You can download the FreeMarker code to do this here.

Once you've downloaded the file and saved it to your computer, upload it into the Presentation Templates space within Alfresco's Data Dictionary and rename to rss.ftl. You should then be able to use the template to preview the contents of a space.


Team Portal from JBoss Portal Webinar


If you view the Alfresco JBoss Portal webcast you will have seen a team based portal. There have been a number of requests on how this was done.

You can now download the Freemarker code used to do this from our developer site:


Compliance Server - Service Oriented Auditing in 1.4


Alfresco 1.4 and newer, as well as Records Management Module, offers high levels of compliance through “Service Oriented Auditing”. This involves that ability to Audit every service invocation to a database table with dashboard access. E.g. Execute Action, Checkout, Rename, Enable Rule, Create Authentication, Set Permission.

You can download the Freemarker code used to do this from our developer site:


Apache Portable Runtime


A few of you have asked about the following in your alfresco.log:

INFO: The Apache Portable Runtime which allows optimal performance in production environments was not found on the java.library.path

If you have this message, firstly, don't worry, because it has no effect on Alfresco. If you would rather not see it, you can comment out the following in /conf/server.xml

<!--
<Listener className='org.apache.catalina.core.AprLifecycleListener'/>
-->

<!-- Define an AJP 1.3 Connector on port 8009
<Connector port='8009'
enableLookups='false' redirectPort='8443' protocol='AJP/1.3' />

Customizing the MyAlfresco Dashboard


A new feature in Alfresco 1.4 is the MyAlfresco dashboard. This allows you to personalize the default view of the Alfresco repository. Dashboard components can simply be selected. There is also dashboard component support where new “dashlets” can be added by developers via Freemarker, a JSP and a URL. These can then be made available to users to use in their personal dashboard.The available dashboard layouts are configured inside the dashboards/layouts web-client config XML section. The available dashlets are configured inside the dashboards/dashlets web-client config XML section.

More information is available here.


CIFS Desktop Actions


A new feature in Alfresco 1.4 is the ability to run actions from CIFS. Standard actions allow you to “ShowDetails” and “CheckInOut”. Files or folders may be dragged onto the client-side applications which are then passed as parameters to the server-side action. The desktop action applications are added to a folder using pseudo files. Full security is maintained as the desktop action is executed as the connected CIFS user.

More information is available at:

Desktop Actions


Configuring CIFS on Linux


Alfresco is unique among most ECM solutions as it includes a virtual fileserver (VFS) that provides direct access to the content repository via FTP, WebDAV, and SMB/CIFS (Microsoft’s Common Internet Filesystem). Linux users have come to know SMB and CIFS through the Samba project which provides an open source implementation of the SMB and CIFS protocol. As a cross-platform (Windows, Unix/Linux, Mac OS X) J2EE application that can be deployed to virtually any servlet engine such as Apache Tomcat, Alfresco employs a pure Java-based implementation of CIFS. This means that Samba is not required on the server that’s running Alfresco. More importantly, Alfresco’s built-in CIFS support lowers the ECM adoption barrier by permitting users to use the Windows Explorer (or the Finder on Macs) to easily connect to the repository and immediately benefit from the aforementioned advantages of a content repository.

Read the full walkthrough at:

CIFS linux


Alfresco WCM Website Framework (WSF)


The Alfresco Website Framework is (currently) an Alfresco Forge Project whose goal is to produce a basic website framework/skeleton that provides web developers a starting point for building new websites using Alfresco WCM.

Alfresco WSF Features:


  • Dynamic Navigation Channels
  • Content Lists
  • Single Content View
  • Sitemap
  • Site Preview
  • Site Configuration

Read the full details at:

WSF


Configuration of multiple Opensearch engines


Dr. Ian Howells showed a configuration file during the March 9th webinar that illustrates how to configure multiple Opensearch engines.

Log in to the Alfresco Content Community to download this configuration file. It is posted in the Technical Tips space.

You can read more about Alfresco and Opensearch here:

OpenSearch


Alfresco Module Package


Alfresco Module Packages (AMPs) were introduced with Alfresco 2.0. They allow developers to easily package up their customizations into an AMP file that can be deployed to Alfresco WAR files. AMPs enable customizations to be easily ported and deployed between Alfresco installations using the new Alfresco Module Management Tool.  AMPs should be used whenever your customizations change any files that would normally live in the main Alfresco installation, such as custom JSP and JAR files. AMPs can also include all the elements that make up a complete Alfresco application including model definitions, templates, scripts, content, configurations, JSPs, JARs and message files.

For more information on building and installing AMPs see:

Developing an Alfresco Module and Module Management Tool

We would also like to encourage you to share any AMPs you might have built with the rest of the Alfresco community on the Alfresco forge, http://forge.alfresco.com.


Installing an SSL certificate


The SSL layer is provided by the servlet container. Here are the instructions for Tomcat

Attachments

    Outcomes