Building Struts 2 on Mac OS X with Maven using mvn install


When trying to build Struts 2 on Mac OS X (I'm using 10.4.8) you might get an error like:
 class="codeContent" class="codeContent"[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Failed to resolve artifact.

----------
1) com.sun:tools:jar:1.5.0

  Try downloading the file manually from the project website.

  Then, install it using the command: 
      mvn install:install-file -DgroupId=com.sun -DartifactId=tools \
          -Dversion=1.5.0 -Dpackaging=jar -Dfile=/path/to/file

  Path to dependency: 
        1) org.apache.struts:struts2-core:jar:2.0.3-SNAPSHOT
        2) org.apache.struts:struts-annotations:jar:1.0-SNAPSHOT
        3) com.sun:tools:jar:1.5.0

----------
1 required artifact is missing.

for artifact: 
  org.apache.struts:struts2-core:jar:2.0.3-SNAPSHOT

from the specified remote repositories:
  Maven Snapshots (http://snapshots.maven.codehaus.org/maven2/),
  central (http://repo1.maven.org/maven2),
  opensymphony (http://maven.opensymphony.com),
  apache.snapshots (http://people.apache.org/repo/m2-snapshot-repository),
  snapshots-maven-codehaus (http://snapshots.maven.codehaus.org/maven2)
The problem is that there is no tools.jar on Mac OS X. The analog for tools.jar on Mac OS X is classes.jar. A quick fix to allow the build to continue is to change the sun.jdk dependency in a pom.xml. For this, I edited the
 class="commentblock"pom.xml
located in
 class="commentblock"~/.m2/repository/org/apache/struts/struts-annotations/1.0-SNAPSHOT/
 class="codeContent"    <dependency>
      <groupId>com.sun</groupId>
      <artifactId>tools</artifactId>
      <version>1.5.0</version>
      <scope>system</scope>
      <!-- This line doesn't work on a Mac: <systemPath>${java.home}/../lib/tools.jar</systemPath> -->
      <systemPath>${java.home}/../Classes/classes.jar</systemPath>

    </dependency>

Troubleshooting and other Tips

OutOfMemoryError

If you are getting OutOfMemoryError exceptions when attempting a full build of Mule you may try increasing the max heap and the PermGen space sizes. Either export a MAVEN_OPTS variable in your shell or add it to the original mvn script.

 class="codeContent"MAVEN_OPTS=-Xmx512m -XX:MaxPermSize=256m

or edit your bash shell

export MAVEN_OPTS="-Xmx512m -XX:MaxPermSize=256m"
 
 
 
 

How to force do...






























<


How to force download of an attachment/application using JSP.

Many of you guys out there would have experienced the problems associated with the browser interpreting whether to
download an application/attachment or open up in the same browser instance. Whenever microsoft's IE encounters a href tag
pointing to an excel/doc/ppt or any other tool whose plugins have been installed on the client, it opens the attachment
in the same instance of the browser. Hence if a user has to save the file then he has to be smart enuff to click on file
--> save as from the menu and then save to his hard disk.

But most web-applications are designed for ease and not keeping the user's technical skill or knowledge in view. Hence
when a user clicks on a href(which might say click to download pdf version) pointing to say mydownloadable.pdf, what
happens is the pdf downloads the file to his temporary internet files and shows it in the browser.

The code snippet below shows how one can force download a file/app/attachment to the user irrespective of whether the
user has a necessary plugin or not. Even the name of the downloaded file can be specified dynamically.

<!--contents of download.jsp-->
<%@ page import="java.util.*,java.io.*"%>
<!--Assumes that file name is in the request objects query Parameter -->

<%
//read the file name.

File f = new File ("c:/fop/mypdf/" + request.getParameter("file") );
//set the content type(can be excel/word/powerpoint etc..)
response.setContentType ("application/pdf");
//set the header and also the Name by which user will be prompted to save
response.setHeader ("Content-Disposition", "attachment;
filename=\"LicenseAgreement.pdf\"");

//get the file name
String name = f.getName().substring(f.getName().lastIndexOf("/") + 1,f.getName().length());
//OPen an input stream to the file and post the file contents thru the
//servlet output stream to the client m/c

InputStream in = new FileInputStream(f);
ServletOutputStream outs = response.getOutputStream();
int bit = 256; int i = 0;
try {
while ((bit) >= 0) {
bit = in.read();
outs.write(bit);
}
//System.out.println("" +bit);

} catch (IOException ioe) {
ioe.printStackTrace(System.out);
}
// System.out.println( "\n" + i + " byt
// es sent.");
// System.out.println( "\n" + f.length(
// ) + " bytes sent.");
outs.flush();
outs.close();
in.close();
%>




Hope you find this useful...

Happy Programming!!!

 
 
 
 

Backing up a server with Rsync


Tips on using the rsync command. rsync performs incremental filesystem transfers, allowing filesystem duplication or snap shotting. Alternatives to rsync on Unix systems include cp -r, pipes between tar commands, or unison.

rsync behaves differently if the source directory has a trailing slash. Study and learn the difference between the following two commands before moving on. Use the -n option to rsync when testing to preview what would happen.

$ rsync -n -av /tmp .
$ rsync -n -av /tmp/ .

Permissions & Ownership

Normally, the -a option can be used to perfectly mirror the files. However, if the target filesystem does not support permissions, a different set of options should be used to avoid warnings from rsync. To synchronize data to a USB drive with a FAT filesystem, I use the -rlt options.

#!/bin/sh
RSYNC="rsync --size-only --delete --delete-excluded --exclude-from=~/.rsync/exclude -rlt"

TARGET=$1
$RSYNC ~/Talks $TARGET

mkdir -p $TARGET/backup/repository
$RSYNC ~/share/repository/ $TARGET/backup/repository

A ~/.rsync/exclude can be used to list common file patterns to ignore, for example .DS_Store files on Mac OS X.

$ cat ~/.rsync/exclude
.DS_Store
.FBCLockFolder

Secure Network Transfers

Set the -e option of rsync to use ssh instead of rsh when copying to a remote system. While ssh is slower than rsh, the data being transfered will be encrypted.

$ rsync -e 'ssh -ax' -avz example.org:/tmp .

If speed is a concern, use a weaker encryption option to ssh.

$ rsync -e 'ssh -c blowfish -ax' -avz example.org:/tmp .

The -ax options to ssh disable Secure Shell (SSH) agent and X11 forwarding, which are not needed by rsync. Also consider setting -o ClearAllForwardings to ssh, to prevent possible automatic port forwardings. For more information on options to OpenSSH, see ssh(1) and ssh_config(5).

Timeout

To avoid stalls, set the --timeout option, though not low enough that rsync times out before it can build the filesystem differences in memory. In rare cases I have seen rsync not exit, so for unattended runs like filesystem snapshots I set the --timeout option to ensure the command will eventually quit.

Backups with rsync and SSH

Notes on how to configure periodic rsync runs over SSH. Filesystem duplication or snap shotting scripts may set the following up in different ways; the method outlined here mirrors the home directory of the user running the script from a client system to a backup server.

  1. Setup a SSH key pair without password.
  2. A public key without a password allows unattended periodic backups. The public key should be locked down to only allow backups on the system the rsync is done to. These notes are for OpenSSH as of version 3.8.

    On the system the rsync backup script is run on (client in these notes), create a SSH keypair.

    client$ ssh-keygen -N '' -C backup1 -t rsa -f ~/.ssh/backup

  3. Configure public key on backup server.
  4. On the system the rsync backup script connects to (server in these notes), configure the public key. These notes cover OpenSSH; consult the manual if a different SSH implementation is being used. Details on common problems with OpenSSH public key authentication.

    client$ scp ~/.ssh/backup.pub server:.ssh

    server$ cd ~/.ssh
    server$ cat backup.pub >> authorized_keys
    server$ rm backup.pub

    For security, the authorized_keys file should be edited to only allow specific commands among other limitations. For more information, see sshd(8) and sshd_config(5). The command limitation to use can be determined by running the rsync with the -e 'ssh -v -v -v' option to see the exact command run on the server.

    The following example shows how to restrict a public key in the authorized_keys file to only run the specified command, along with other restrictions on the connection. The limitations must be listed on one line, prior to the lengthy public key data.

    command="rsync --server -v --timeout=999 --delete-excluded . backup/client",21B5;
    no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAAB3Nza2026;

  5. Create the target backup directory on the server.
  6. rsync will not create the target directory ($HOME/backup/client) on the server; the target directory must be manually created.

    server$ mkdir -p ~/backup/client

  7. Create backup script dobackup.
  8. Use the example script linked to, and localize it as needed.

    To test the script, try prefixing the rsync call with echo to see what would be run, or add the -n option to rsync to see what it would copy.

  9. Configure a ~/.rsync/exclude file to list files not to backup.
  10. Cache files and other transitory data should be skipped. For information on how to exclude files, see EXCLUDE PATTERNS in rsync(1).

    $ cat ~/.rsync/exclude
    .DS_Store
    .mozilla/**/Cache
    *.o

  11. Run backup script via a crontab(5) entry.
  12. In addition to automatic runs, the script can be run manually from the command line.

    client$ crontab -l
    @daily $HOME/bin/dobackup

    client$ ~/bin/dobackup
    2026;

    Need to figure out simple locking to prevent an automated run from conflicting with a manual run.

Mac OS X & the Hierarchical File System (HFS)

Mac OS X 10.4 (Tiger) supports the -E option to rsync, which copies extended filesystem attributes.

On previous versions of OS X, compile rsync with the rsync+hfsmode patch. Note that rsync may have trouble with symbolic links (ownerships and permissions) and sockets (perhaps -gHlopqrtx instead of -a).

 
 
 
 

Linux/Mac OS X: Allow ssh access to server without requiring password.


1) Generate a new key (the -f command -f ~/.ssh/access gives it an optional name, -C allows for a comment):


xtian@desktop$ ssh-keygen -C commont_or_purpose -d

Generating public/private dsa key pair.
Enter file in which to save the key (/home/xtian/.ssh/id_dsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/xtian/.ssh/id_dsa.
Your public key has been saved in /home/xtian/.ssh/id_dsa.pub.
The key fingerprint is:
33:3c:5c:41:98:1b:fc:f5:9e:69:56:2e:0b:f1:24:7f xtian@desktop

* The -d option specifies DSA keys (instead of RSA keys). The ssh v2 protocol uses DSA keys, and is widely regarded as more secure than v1.

* After entering the command, hit enter three times (to take the default filename, and to enter no passphrase.)

* Congratulations. Your public and private keys are now saved to ~/.ssh/id_dsa.pub and ~/.ssh/id_dsa, respectively.

2) Copy the key to your Web server:


xtian@desktop$ scp ~/.ssh/id_dsa.pub www.stonescape.net:.ssh/authorized_keys2

* At this point, if you've never used ssh from your OS X box before, you'll be prompted to verify the fingerprint of the server's key. Answering "yes" will save the server's fingerprint in a local cache. Should the fingerprint ever change, ssh (and scp) will sound an alarm, as this could be an indication of a man-in-the-middle attack in progress.

* You will be prompted for your password on the Web server. Enter it, and the key file will be copied.

3) Modify the key to your Web server:

xtian@desktop$ ssh stonescape.net
xtian@server$ cd .ssh
xtian@server$ cat id_dsa.pub >> authorized_keys2
xtian@server$ rm backup.pub
xtian@server$ exit

* You will be prompted for your password on the Web server.

4) Test the ssh key:


xtian@stonescape$ ssh www.stonescape.net
login: Mon Oct 29 10:58:32 2001 from desktop.stonescape.com xtian@server$

* It should log you in without a password. If not, check your work. Also check that your Web server allows public key exchange (it's on by default, and is rarely disabled. Check with your friendly local sysadmin if you're not sure.)

 
 
 
 

Restricting access to a .ssh key for a specific command


The following example shows how to restrict a public key in the authorized_keys (.ssh directory) file to only run the specified command, along with other restrictions on the connection. The limitations must be listed on one line, prior to the lengthy public key data.

command="rsync --server -v --timeout=999 --delete-excluded . backup/client",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAAB3Nza…

 
 
 
 

Configuring Mail.app to use SSL without the annoying "The root certificate for this server could not be verified" warning.


Mail asks if you want to accept an SSL certificate for each IMAP account. This happens each time Mail opens, even if you click Remember My Decision.

Solution

1. Click "Show certificate" when Mail asks if you want to accept the certificate.
2. Press the Option key while dragging the certificate to the desktop. The certificate's icon appears on the desktop.
3. Add the certificate to your keychain by dragging its icon on top of Keychain Access. Tip: Keychain Access is located in the Utilities folder (/Applications/Utilities).
4. When Keychain Access opens, you may be prompted to select which keychain to import to. If this happens, choose a keychain and also select X509 Anchors.

Additional information

Mail will continue to ask if you want to accept an SSL certificate each time it opens if the certificate is an expired server certificate or is signed by an unknown certificate authority.

 
 
 
 

Implementing favicon.ico with tomcat


If you wish to use  the favicon.ico file, be sure to add the following to the web.xml file in the conf directory:
    <mime-mapping>
        <extension>ico</extension>
        <mime-type>image/x-icon</mime-type>
    </mime-mapping>

Then just put your favicon.ico file in the root directory of your web application.  Voila!

 
 
 
 

Bosch 4000-09 10" Worksite Table Saw


I just ordered my new tablesaw!&nbsp; It is a Bosch 4000-09 10" Worksite Table Saw with Gravity-Rise Wheeled Stand. I hope that this one will surpass my old one in the quality and accuracy because I'd love to build some nicer pieces of furniture! After I put it to use, I'll let you know how well it works!

 
 
 
 

Crabgrass in the yard... grrr


Crabgrass image - grrr
Wow!  So it seems that last year somehow crabgrass got a foothold in my yard, and this year it has permeated just about everywhere in my garden and on the side of my house.  Noelle and I are establishing a garden this spring, and it wasn't until now that I realized how bad it had become.  So what is to be done?  For herbicedes, Drive and Acclaim Extra have shown good-to-excellent efficacy for postemergent crabgrass control.  However, I really don't want to use toxins in my lawn.  The only other option is to remove all the grass and start over, so for now I am reluctantly using Drive in hopes that the crabgrass will die off.
 
 
 
 
 

Handling moles in the yard...


I'm starting to have trouble with moles in the yard. And I spent a lot of time searching the Web for information about getting rid of them. The consensus is that nothing works well, but traps are better than poisons or smoke bombs. However, I also learned that Glenn R. Dudderar, Extension Wildlife Specialist at Michigan State University found that applying a diluted solution of castor oil "effectively eliminated the visible surface tunneling of eastern moles" at 26 of 27 test sites. I've tried it and it seemed to work well for me.

While there are directions on the packages of 'Scoot Mole' and 'Mole Med' to follow, I also found a recipe in a newspaper. This formula uses substantially less castor oil than called for on the package, but as I said, it seemed to work for me. I'm going to do it again this spring.

The formula and instructions are - [quote]

Ingredients:

  • 8 oz. of castor oil
  • 3 oz of Ivory dish soap
  • 7 oz of water

From this concentrated solution, add water at a ratio of two ounces of concentrate to one gallon of water. This means that your 18 ounces of concentrate will make nine gallons of mole deterrent, which will cover 5,000 square feet.

Instructions:

You are urged to spray the perimeter of your property rather than the whole yard. A 4 to 6 foot band around your lawn will keep new families of moles away for six years. [note: I think this was supposed to say six MONTHS.]

You must "water in" the castor oil to get it into the soil. Don't apply this solution when there is a threat of heavy rains, as the oil may wash away with the excess water runoff. Don't be alarmed if the moles cross the barrier after you apply the solution. It takes time and water to get the oil to penetrate the soil to a depth where the moles tunnel.

[/quote]

 
 
 
 

Installing drivers for a Highpoint RocketRaid card in Fedora.


Installing a Highpoint RocketRaid 1820A and Fedora Core 3 kernel 681 on i386 Single Processor System.

I have successfully built drivers for the Highpoint RocketRaid 1820A for Fedora Core 3 on i386 Single Processor System.  However, while finding doumentation online was the key to building the driver, I thought I'd share the process with you in as much detail as I can in hopes that this will be useful to other people.

If you would like my copy of the driver, just email me!

If you want to follow these directions, first install the card on your system and configure your disk array on bootup.  Boot into linux and (as root):

Step 1:  DOWNLOAD THE KERNEL SOURCE FOR YOUR KERNEL VERSION.
a.  Download kernel source RPM from http://download.fedora.redhat.com/pub/fedora/linux/core/updates/3/SRPMS/.  For the latest kernel that I have, the source file was kernel-2.6.9-1.681_FC3.src.rpm.

b.  Install your new kernel:
# rpm -i kernel-2.6.9-1.681_FC3.src.rpm -vv

c.  Prepare the kernel source code with Red Hat modifications
# cd /usr/src/redhat/SPECS
# rpmbuild -bp --target=i686 kernel-2.6.spec

d. cd to kernel tree located in /usr/src/redhat/BUILD/.  Verify you are in there by looking at your directory and noting a configs directory. In resulting tree, the configurations for the specific kernels shipped in Fedora Core 3 are in the /configs/ directory. For example, the i686 SMP configuration file is named /configs/kernel-<version>-i686.config. The multi-processor machine source has SMP appended to the filename. Issue the following command to place the desired configuration file in the proper place for building:
# cp <desired-file> ./.config

e. Now build the source objects.  Yes, this is necessary...
# make oldconfig
# make

Congratulations!  You are one step closer to hard drive Nirvana!

Step 2: DOWNLOAD AND BUILD THE HIGHPOINT DRIVER
a. Download the openbuild driver from http://www.highpoint-tech.com.  The appropriate driver I downloaded: rr182x-openbuild-v1.11.tgz.  While you are there, download the HighPoint Raid Management Software.  Expand the files with
# tar -zxvf rr182x-openbuild-v1.11.tgz

b. You now need to build the driver against the source directory you just worked on.  Issue the command from within the directory of your driver source.  On Fedora Core 3, this is:
# make KERNELDIR=/usr/src/redhat/BUILD/kernel-2.6.9/linux-2.6.9
 
Step 3:  INSTALL AND TEST YOUR DRIVER
a.  Not quite done!  In order to install it, you need to upgrade your module-init-tools (you can get them from http://www.kernel.org/pub/linux/kernel/people/rusty/modules/). Download the module-init-tools-3.0.tar.gz.  NOTE: 3.1 module-init-tools will not work. Follow the included instructions after exploding the archive using the command:
# tar -zxvf module-init-tools-3.0.tar.gz

b. Now that you've installed the module-init-tools, you need to update your local databases:
# depmod

b. This driver relies on other modules that you have to make certain are loaded first.  So (this is from the README from the highpoint source) first load module "scsi_mod" and "sd_mod" if they are not built into kernel:
 # modprobe sd_mod

c. Load your new driver. For kernel 2.6 (Fedora core 2 and 3), the driver module is "hptmv.ko".
# insmod ./hptmv.ko

d.  If you haven't, download the HighPoint Raid Management software. Run server, run client, log in and test!  If your system plays nicely, you should see your happy new card and drivers.
   
Step 4:  LOADING AND MOUNTING YOUR RAID DISKS
a. Your system is likely different then mine, but I have simply one large array on the card, and linux is NOT installed on my raid array at boot.  Please modify your instructions accordingly, and look elsewhere if you want to install linux on your raid array.  These install instructions will not help you. 

With that in mind, you need to first partition the disk.  I chose 1 partition.  With only one mounted array, you can simply partition it with:
# fdisk /dev/sda

b. Now you can format your partition(s).  They will be mounted (if your drive was sda) as sda1 for the first, sda2 for the second.  You can choose any format you like, I chose the new journaling linux format.
# mkfs -t ext3 /dev/sda1

c. Finally, you need to mount the disk on your system.  There are two steps, the first is creating a mountpoint, which is just a folder that will map to the drive.  It can be most anywhere, the most common places are either at the root level of your system such as /raid or as in the /mnt directory such as /mnt/raid.  The folder name doesn't matter, as long as it doesn't conflict with other resources already installed on your system.  The second task is telling your linux box to mount the new disk at that point.
# mkdir /mnt/raid
# mount -t ext3 /dev/sda1 /mnt/raid

Step 5: CONFIGURING TO LOAD DRIVERS AND MOUNT UPON BOOT
Now go ahead and try to access the new disk at that directory!  You should have no problems.  You are also almost done.  The problem is that your mounting of the disk, as well as the installation of the drivers themselves was only temporary.  The only thing that will remain is the directory you created as a mountpoint.  If you want them to load at the same mountpoint on boot, continue with the following directions.

a.  Configure system to load and mount the new drive.  You need to first copy the driver to a common place where it will look at boot. Make certain you adjust the path for your kernel build version.  cd to your compiled driver directory and do that:
# cp hptmv.ko /lib/modules/2.6.9-1.681_FC3/kernel/drivers/scsi

b.  Now you need to instruct the system to load the driver on boot.  Edit /etc/rc.sysinit and install the following lines of code right after the SCSI module loads.  I will display a few lines from rc.sysinit as well as my code, with the additions in bold.
# SCSI
for module in `/sbin/modprobe -c | awk '/^alias[[:space:]]+scsi_hostadapter[[:space:]]/ { print $3 }'` $scsi; do
        load_module $module
done
load_module floppy

# Add in Highpoint Raid Card
/sbin/insmod /lib/modules/2.6.9-1.681_FC3/kernel/drivers/scsi/hptmv.ko

c. Save your changes and reboot.  You can cross your fingers, sacrifice a chicken, or anything that will bring you luck, but you shouldn't need it!  You are done!

I hope this was helpful!  If so, drop me a note of thanks.  If there are errors here, point them out to me and I will adjust the instructions.


 
 
 
 

Adium X


After a long while of working with very many (too many) instant messenger clients to chat with coworkers, friends, and antifriends, I found myself tired of all my communicators. Even iChat had it's drawbacks... huge (did I say huge) fonts, and still only AIM. What is one to do?

Enter Adium X. An all in one open source chat client that looks amazing on OS X, and is even nicer to use. Fully customizable, and at least for now, my best recommendation for a chat client on OS X.

 
 
 
 

You Software


A recent application I have recently adopted to my mac is the beta of you control:desktops. This application offers all the power of workspace switching that I find on *ix systems, with all the chrome and feel of a new mac.  I love how the tool is integrated into the menu bar, and although I am still getting adjusted to it, I find myself already relying on it for my day to day uses.

I will play with it a bit more and give a better accounting of the product.  Stay tuned!

Check out the software at: http://www.yousoftware.com/desktops/
 
 
 
 

Doctor Who


Yes they are in fact producing new episodes of Doctor Who!  The first episode is called Rose and may not make it to the US, but I hope someone picks it up!
 
 
 
 

Integrating FCKEditor into Roller


For those of you who have worked with FCKeditor, you may wonder how to include this growing product in JRoller.  Well, it is actually pretty easy.  I'll maintain this site from release to release, if these instructions do not work for you, please email me, and I will gladly update them.

Downloading FCKEditor:

  1. Download the tar archive from http://xtian.stonescape.net/downloads/Fck4Roller.tar
  2. Unpack the tar archive, which includes the FCKEditor 2.0 RC2 source (FCKeditor), a README, and the JSP file for use.

Installing:

  1. Copy FCKeditor directory to {roller dir}/editor.
  2. Copy editor-fckeditor.jsp file to {roller dir}/weblog
  3. Go to the admin panel within JRoller, and add the new editor to your list.

Configuring:

  • In editor-fckeditor.jsp, you can easily change the default height of the editor by changing the following line from the default height of 400px: 
    • oFCKeditor.Height=400;
  • In addition, you can alter the components of the editor by changing the toolbar set.  The default set is set to "Roller" in the file editor-fckeditor.jsp.  Make the following modifications:
    1. If you like, alter the name of the toolbar you want to use in file editor-fckeditor.jsp:  oFCKeditor.ToolbarSet="Roller";
    2. Alter the definition of "Roller in the fckconfig.js file located in the  FCKeditor folder.  I have defined the following:
 FCKConfig.ToolbarSets["Roller"] = [
    ['Source','-','Cut','Copy','Paste','PasteText','PasteWord'],
    ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
    ['Link','Unlink'],
    ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],
    ['Table','Rule','SpecialChar','Smiley'],
    ['OrderedList','UnorderedList','-','Outdent','Indent'],
    ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],
    ['FontFormat','FontName','FontSize','TextColor']
] ;
I have removed the Preview, NewPage, Print, Image, Style, BGColor command as they didn't have a lot of meaning for Roller.  The one command that is questionable is the Image command, because I do not know what the policies for upoading and linking  on a site are.

Other possible items:  the smilies are defaulted in the fckconfig.js file to use the ones with FCKeditor.  You can change the path to load another set of smilies.  The other features, "image browsing", "link upload", etc. are pretty neat, but depend a lot on the specific site.

If you have any questions, please look at the FCKeditor message boards, or email me.
 
 
 
 
 
 

« July 2008
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
  
       
Today
Theme by Christian Stone.