Tips & Suggestions

Introduction

Back to the manual

This file contains tips and suggestions that might prove useful.

Table Of Contents

XHTML Support back to top

If you see tags like <br /> in the source code of your webpage, it's because the output of Nucleus (except the things defined by templates and skins, of course) is compliant to the XHTML 1.0 standard from the W3C, which is the successor of HTML 4. This way, Nucleus is ready for the future of the web. As far as I know, this XHTML support does not cause any trouble with older browsers and is correctly interpreted.

What this means, is that you can perfectly create an XHTML-compliant site by using correct skins and templates. The default Nucleus skin is XHTML-compliant, but uses the "HTML 4 Loose" doctype. This way, users not knowing XHTML can not create documents with a false XHTML doctype.

Getting your archives into search engines like Google back to top

Note: The solution described here might not work on your system.

Nucleus creates archives dynamically on users requests. The URL is then of the form index.php?archive=2001-09&blogid=1. Unfortunately, Google and other search engines don't like to index pages with a question mark in it, or with too much arguments. This is because their spiders might get trapped going too deep.

The solution presented here will only work on servers running Apache, and when you have the right to do so. What we will do is 'disguise' the archives as regular HTML pages

Create a file called .htaccess (leading dot!) with the following contents:

RewriteEngine On
RewriteRule ^archive-([0-9]+)-([0-9]+)-([0-9]+).html+ index.php?archive=$2-$3&blogid=$1
RewriteRule ^item-([0-9]+).html+ index.php?itemid=$1
RewriteRule ^archivelist-([a-z]+).html+ index.php?archivelist=$1

Now upload this file to the directory that contains index.php and config.php. Open your browser and try to open archive-1-2001-09.html. If it works, continue to read. If you get a 500 error (internal server error), it does not work on your server, so delete the .htaccess file.

Now all you have to do is to update the link to your blog archives into archivelist-shortblogname.html and make the following changes to your archivelist item template:

<a href="archive-<%blogid%>-<%year%>-<%month%>.html">...</a>

And now, wait until Google comes spidering again...

How to set file/dir permissions back to top

To enable some features of Nucleus, changing file permissions is required. A small guide on how to do this using an FTP client is given below.

First of all, you'll need an FTP client that supports file permission changing. In this example, we'll use CuteFTP. You can download a free trial version if you don't have it.

To change the permissions of a file or directory, create an FTP connection to your website and search for that file or directory in the hierarchy. Select the file by clicking on it.

Open the menu Commands > File Actions > CHMOD... for a file, or Commands > Directory > CHMOD... for a directory.

menu

A window will pop up:

The window that pops up

On the bottom, you can enter the code that's given in the documentation (e.g. 755 or 644). Click the OK button and the changes will be applied. You're finished now.

How to restore backups back to top

Nucleus has a backup/restore option that super-admins can use to create a backup of the database. It's strongly encouraged to take a backup regularly (weekly or so). The backup-files that are returned are files containing standard SQL-queries, that reconstruct the state of the database as it was when the backup was created.

While backing up is easy, and restoring should also be easy, problems might pop up when your database is fucked up beyond repair. In that case, the repair function might become unaccessible. Below are some ways you can restore your database in that case:

If you're backup was gzipped, unzip if first (it contains an sql file)

Possibility 1: Web-based

If you have a web-based interface through which you can manage your database (e.g. PHPMyAdmin), there's most likely an option where you can import a file into the database. Use this function to restore your database.

Possibility 2: Shell-access

If you have a shell account, restoring a backup can be done by running the mysql program with the following arguments:

mysql -u username -p -h hostname databasename < backupfile.sql

How to create a new weblog back to top

1. Creating the weblog

As a superadmin, you can create new weblogs from the 'Nucleus Management' screen. They will then show up on the admin area.

2. Accessing your new weblog

There are several ways in which you can make your new weblog accessible.

  1. Using a blogid attribute in the URL:
    http://yourhost.com/index.php?blogid=2
    (You can find the blogid in the admin area, when hovering over the blog name in the blog list)
  2. By creating a copy of the index.php file (in this example, our file is named copy.php), and editing the contents of the file to look like this:
    $CONF['Self'] = 'copy.php';
    include('config.php');
    selectBlog('shortblogname');
    selector();
    
    ?>
    (You can find the short blog name in the admin area, when hovering over the blog name in the blog list)

Extra methods to use in copy.php

The selectBlog is only one of the methods which you can use in copies of index.php files. Here's a list of the available calls:

Method Description
selectBlog('shortblogname'); Makes sure a certain blog gets selected
selectSkin('skinname'); Makes sure a certain skin gets selected
selectCategory('categoryname'); Makes sure a certain category gets selected

Make sure that these methods are called after the include('config.php') statement, and before the selector(); statement!

Creating a blog in a subdirectory

The process for creating a blog in a subdirectory (http://yourhost.com/sub/ where the main weblog is in http://yourhost.com/) is similar, with the only change that you'll need to replace include('config.php'); by include('../config.php');

You'll also need to alter the <%commentform%> in the skins used for that blog:

<%commentform(../action.php,http://yourhost.com/sub/)%>