Answers to frequently asked questions about installing and running a Sycamore Wiki.
If you have visit the Help page or ask on the Mailing List.
ACL and Groups
Q. What's the format of ACL group pages, such as AdminGroup?
A. See the Help on Groups for more information on using ACL and Groups.
Help with the MySQL and Python MySQLdb module
I'm currently hosted on a shared hosting plan and the Python MySQLdb module is not installed. Is there a way to install Project Sycamore without the MySQLdb?
Sycamore currently requires either MySQL 5 or PostgreSQL and the associated Python interface to database. You should be able to install the Python MySQLdb module yourself by downloading and compiling from source. If MySQL is not installed, you will need to discuss installing it with your web hosting service provider.
Q. I'm receive this operational error" when running buildDB.py: _mysql_exceptions.OperationalError: (1071, 'Specified key was too long; max key length is 1000 bytes')
A. Make sure you are running MySQL with the InnoDB engine (the default for MySQL 5).
Can I modify the location of index.cgi?
Q. I have to use CPanel's "simple CGI wrapper." This requires .cgi files have to be placed in /public_html/scgi-bin/. When I place the Sycamore CGI here, the server returns Internal Server Error 500's. Do I need to modify Sycamore to get this configuration to work?
A. Sycamore assumes the relative location of all application files. A work around for moving the index.cgi is to modify the system path in specified in index.cgi.
This line sys.path.extend([os.path.abspath(os.path.join(__directory__, '..', '..'))]), would be changed to sys.path.extend(['/your/location/to/sycamore_base/',/your/location/to/sycamore_base/share'])
Alternatively, you could create a symbolic link or alias to the web directory in /public_html/scgi-bin/
See Installing on Dreamhost for helpful hints that may apply to your shared hosting provider.
buildDB.py returns NameError: Name file is not defined
Q. When running buildDB.py I receive a NameError: name '__file__' is not defined error.
A. Update Python to 2.4.
TypeError: 'charset' is an invalid keyword argument for this function
Q. When running buildDB.py I receive a TypeError: 'charset' is an invalid keyword argument for this function error.
A. Upgrade MySQLdb python module to be a version greater than or equal to 1.2.1_p2. Take careful note of the "p2." For instance, the "gamma" version is older and if you have it then you'll need to update.
How Do I Remove index.cgi From the URL
Q. How do I remove index.cgi from the URL?
A. Set relative_dir variable in sycamore_config.py to an empty string: relative_dir = '' then add the following lines to the .htaccess file in your web root:
RewriteEngine On RewriteRule ^wiki/(.*)$ /your/location/to/your/web/root/wiki/$1 [L] RewriteCond %{REQUEST_URI} !(index.cgi) RewriteRule ^(.*)$ /index.cgi/$1 [L]