Getting to know etherpad.local.properties

alwaysHttps = false // Always use HTTPs connections
ajstdlibHome = ../infrastructure/framework-src/modules // Where does ajstdlib live?
appjetHome = ./data/appjet // Where does the appjet engine live?
devMode = false // Is the server production or not? Enables/disables caching & obfustication & allows for new accounts & pro bits
etherpad.adminPass = password // Password for /ep/admin (enable/disable plugins etc.)
etherpad.fakeProduction = false // Same as below but fakeified.
etherpad.isProduction = true // Is the server production or not? Enables/disables caching & obfustication & allows for new accounts & pro bits
etherpad.proAccounts = true // Enable or Disable Pro accounts
etherpad.SQL_JDBC_DRIVER = com.mysql.jdbc.Driver // MySQL driver
etherpad.SQL_JDBC_URL = jdbc:mysql://localhost:3306/etherpad // MySQL connectivity type, host, port and database
etherpad.SQL_PASSWORD = password // MySQL password
etherpad.SQL_USERNAME = root // MySQL username
hidePorts = true // wether we should hide ports to end user, IE is the etherpad service behind a reverse proxy
listen = 9090 // tcp port to listen on
logDir = ./data/logs // where to store log files
modulePath = ./src // location of your modules
motdPage = /ep/pad/view/ro.3PfHCD0ApLc/latest? //location of motd (used when using a custom home page see http://doc.etherpad.org) fullScreen=1&slider=0&sidebar=0 // what attributes are required to be passed fullSCreen view
topdomains = www.yourdomain.com,yourdomain.com,localhost,localbox.info // What domains should etherpad listen on?
transportPrefix = /comet // How should we prefix the comet messages?
transportUseWildcardSubdomains = true // Can the comet requests use wildcard subdomains?
useHttpsUrls = false // Should we ever push out any https urls?
useVirtualFileRoot = ./src // Where is the virtual file root?
theme = primarypad // What theme should be on by default? (user can overwrite with ?_theme=whatever)
etherpad.soffice = /usr/bin/soffice // Where is the soffice executable?
customBrandingName = PrimaryPad // Top branding name on pads
customEmailAddress = contact@primarypad.com // Email address that will be used when sending out pad invites etc.
showLinkandLicense = false // Always show Etherpad license

Troubleshooting the Etherpad theme framework

I managed to get the theme framework working sort of..  To fix it I had to remove caching of CSS…

I replaced the function cssIncludes with this:

function cssIncludes() {
  if (!isProduction()) {
    var key = faststatic.getCompressedFilesKey('css', '/static/css', _hd().cssIncludes.asArray());
    return '<link href="/static/compressed/'+key+'" rel="stylesheet" type="text/css" />';
  } else {

  if (request.params._theme == undefined)
        {
    var ts = +(new Date);
    var r = [];
    _hd().cssIncludes.asArray().forEach(function(relpath) {
      r.push('<link href="/static/css/'+relpath+'?'+ts+'" rel="stylesheet" type="text/css" />');
    });
    return r.join('\n');
        }
else
        {
        var ts = +(new Date);
    var r = [];
    _hd().cssIncludes.asArray().forEach(function(relpath) {
    r.push('<link href="/static/css/nano/pad2_ejs.css" rel="stylesheet" type="text/css" />');
    });
    return r.join('\n');
        }
  }
}

This isn’t a perfect fix as it a) breaks css caching and b) breaks the nano theme.. But for now it works..

Etherpad build fails fsc Exception in thread “main” java.lang.NoClassDefFoundError: scala/tools/nsc/CompileClient

Etherpad build fails with output: fsc Exception in thread “main” java.lang.NoClassDefFoundError: scala/tools/nsc/CompileClient

Cause: Bad path or symbolic link issue

Solution: Firstly replicate error by typing

fsc
which fsc

if it isn’t the actual literal fsc path then remove any symbolic links to the fsc file in /usr/bin

add the scala/bin path to $path – ie

export path="$PATH:/usr/local/scala-2.7.7/bin"

type fsc again, the error should be gone.