workgroup collaboration software
for business, education and more
Home | About | Contact | Blog | CourseForum | ProjectForum

« November 2007 | Main | January 2008 »

December 2007

December 20, 2007

Q: How can I modify the HTML pages that are the foundation of the wiki?

Like many web-based systems, ProjectForum internally has a number of underlying HTML templates which data for the specific page is "poured into" to create the final page that you see if you do a "View Source" in your browser. These underlying templates however are strictly for internal use and cannot be modified (partly this is because some of the templates can be quite complex, reflecting a number of different scenarios and conditions they must accommodate).

People often want to access the underlying template to change what is displayed on the page or how it is displayed. The recommended way to do this is via a custom theme, which allows you to modify the stylesheet used to render the page. There are a number of posts in this blog which talk about specific things you might want to do, ranging from hiding elements or changing colors, to using Javascript to move entire sections of the HTML in the page from one part to another.

December 19, 2007

Holiday Slowdown.

As in the past, we'll be taking things somewhat slower around here for the holidays. Between December 24th and January 8th we'll be in "holiday slowdown". That means we will still be around processing orders, answering your emails, and so on. However, it may take us somewhat longer than usual to get back to you, so if you don't get a response as quickly as you're used to, don't worry.

December 18, 2007

Q: How can I add a DNS entry to point to my wiki on port 3455?

It's not possible to use DNS alone to do what you want, as it only allows you to specify a name to address mapping, but doing anything with the port number is beyond the scope.

One solution is to use "domain forwarding" which is a feature supported by most DNS providers; essentially you can say that anytime someone puts "www.foo.com" in their browser, it should automatically redirect them to "www.bar.com:3455". In this case, they can type in the nicer address, but then will see the one with the port in their browser once they get to the page.

Another solution is to run ProjectForum on port 80. This can be a problem of course if you already have a webserver there; if you do have multiple IP addresses on the machine, you can set things up so that your existing web server uses one, and ProjectForum another.

Finally, you can have an existing webserver "proxy" the connection, so that incoming connections to your webserver that match the address you'd like to use get proxied to a copy of ProjectForum running on port 3455; ProjectForum sends the response back to your webserver which automatically forwards it along to the user's browser. To the user it's completely transparent. We have more information available about using proxying with ProjectForum.

December 17, 2007

Third Beta of 6.0.

We've released a third beta of CourseForum and ProjectForum version 6.0, the upcoming version including the new WYSIWYG editor and new site-wide user accounts features. This includes a few incremental changes, improvements in loading time, and several bug fixes. You can find full details on our beta page.

Tip: Copying data from Excel

Here's a simple little trick, courtesy of Ian Yorston. If you've got a bunch of data in an Excel spreadsheet that you'd like to copy into ProjectForum, you can use Excel's 'concatenate' function to build up a ProjectForum table from your data.

So let's say you've got a three column table, starting at cell A1, and going down a whole bunch of rows. Somewhere else in the spreadsheet, enter this into a cell:


=concatenate("| ", A1, " | ", A2, " | ", A3, " |")

Next, use 'Fill Down' to create lines for each row of the table (B1/B2/B3, C1/C2/C3, etc.).

Copy the resulting cells (one column wide by the number of rows in your original table high) into ProjectForum, perhaps prefacing it with "[tablestyle:borders]" if you'd like to show a grid.

December 13, 2007

Q: Why does http://192.168.x.x:3455 work inside our LAN but not outside??

We get this question a fair bit... people who have put ProjectForum on their computer inside their network, and other people can access it via their web browsers, using the IP address of the computer, such as 192.168.1.25 (so in their browser, they'd use "http://192.168.1.25:3455" and everything would be fine). But outside their network, this doesn't work.

What is happening here is that the IP address is only meaningful inside your local network, and cannot be accessed from outside. This is by convention... addresses starting with "192.168" (and some others, like "10.0") are reserved for use by internal networks only... so there are a huge number of machines with an IP address like 192.168.1.25, though each inside its own network.

To make ProjectForum accessible from outside, you'll need to either put it on a machine that has a public, external IP address, or configure a router, gateway or proxy machine that has such an address to route all network traffic intended for ProjectForum to your own machine inside the network (e.g. port forwarding). This way, even though your own machine only has an internal address, it will still be able to handle connections from outside. Your network administrators will have to be the ones to handle this.

Conversely, if you only want ProjectForum to be accessed by machines inside your LAN, make sure it goes onto a machine with only an internal address, and make sure that nobody has set up some kind of forwarding rule to redirect any external traffic to that machine.

There may be other issues you'll run into, most particularly firewalls that are deliberately blocking traffic between your users and the machine running ProjectForum, but as a first step you'll need to make sure you've got the right address.

December 11, 2007

Q: What exactly should I put in /etc/inittab on Linux?

In most versions of Linux, one of the common mechanisms to have a program automatically started when you first boot up the machine is by placing an entry in /etc/inittab.

For background, this is what it's all about. A program called "init" is the first program that runs when a Unix system first starts, and its job is just to start and babysit a bunch of other programs. Those are listed (on most systems) in the "/etc/inittab" file. Besides the name of the program and options it needs to run, you can specify there when the program should be run (e.g. always, just when we're starting up or shutting down, etc.) and what to do if it stops running. In some ways this is similar to other tools like 'cron', but has its differences. So while 'cron' is something that wakes up every so often and runs a program by itself, 'init' is always running, and so can keep an eye on any program its responsible for, starting it or stopping it as needed.

Depending how you want to run ProjectForum, exactly what you put in /etc/inittab will also vary. But here is a fairly typical example:


ptmp:2345:respawn:su -c '/home/pfuser/projectforum -directory /home/pfuser -nologo' pfuser

Let's dissect this:


  • the "ptmp" is a unique identifier for every entry in /etc/inittab
  • the "2345" specifies the "runlevel" at which the process should be running (2345 represents normal system operation, rather than for example the time when the machine is shutting down)
  • the "respawn" says that if for some reason the process is terminated, it will be automatically restarted
  • everything after the last colon is the actual command to be run, which in this case has several pieces:

    • the "su -c '...' pfuser" means that the process should be run not as the fully privileged root user, but by a user account pfuser; you could also accomplish this using a 'setuid' binary
    • the "/home/pfuser/projectforum" is the process that will be run (i.e. the ProjectForum application)
    • the "-directory /home/pfuser" provides the location where ProjectForum will write it's "Group Data" directory
    • the "-nologo" instructs ProjectForum not to write out any status messages like "listening on ..."

Again, because each system is different, you'll want to check for specifics; try "man init" and "man inittab".

December 10, 2007

Tip: Getting a sense of forum activity.

If you've ever wondered how much people are using your forum, whether making contributions or just reading the material that is there, it's easy to get an overall feel for this.

In a ProjectForum group, go into the Group Administration pages, and click on "Activity" at the top. This page will let you see a summary of all the activity in the group over a period of time, broken down by number of page views, number of page edits, number of posted comments, and number of downloaded files. If you have the group set up so that people require passwords, you'll also see this breakdown for each user.

Because most people don't use this information, by default collecting activity information is turned off. Turn it on by changing the "Keep activity logs for:" setting and clicking "Save Changes". You probably only want to keep a limited amount of activity (say, the last month). This will both make the statistics more meaningful for recent activity on the forum, and also save collecting possibly large amounts of data which can sometimes slow the system down a bit.

December 06, 2007

Disk Limits on Hosting Plans Increased.

We've increased the amount of disk space that comes with each of our hosted CourseForum and hosted ProjectForum plans. We've also lowered the cost of adding additional disk space to your site.

Q: Can I give some users read-only permission?

To a certain degree, yes. In a forum's administration pages, you can specify that anyone not logged into the forum (whether via the shared password, or using individual accounts) can still get in, but only view the forum, but not make changes. Anyone who does get in via providing the appropriate password will have full read-write access to the forum. You can't say that certain accounts get read access, and certain others get read-write access.

If you would like this kind of fine-grained control, it is available in the Enterprise version of ProjectForum (or the corresponding Campus version of CourseForum). The way people login to the system is a bit different than in the standard version, but it does give you the flexibility to say exactly who gets what type of access (read, read-write or admin) to any forum on the site - group or project.

December 04, 2007

Second Beta of 6.0 - WYSIWYG and Site-wide User Accounts.

We've just released a second beta version of CourseForum and ProjectForum 6.0. While the first beta included the new WYSIWYG editor which is a major addition to version 6.0, in this second beta we're including the other major feature that is to be part of version 6.0 — the option to use central site-wide user accounts in the standard versions of the software.

As you'll see from the description on the beta page, this provides the option of having a single user signin that works for every group in the forum, rather than having per-forum accounts (though that is still an option). This is one of the benefits of our Enterprise/Campus licensing option, but we're now making it available to those with a standard license.

We think for a good number of users, this will be a nice addition which can simplify using the system. While we've got a few smaller refinements in mind still to make before we go final, any feedback that you can provide on either the site-wide accounts or the WYSIWYG editor will be greatly appreciated!

Q: Does ProjectForum work on Mac OS X Leopard?

Absolutely - in fact, currently ProjectForum will run on any Mac OS X system from 10.3.9 on up, both PowerPC and Intel.

For your users running Leopard, their web browsers will work just fine with ProjectForum. In fact, the version of Safari that ships with Leopard will allow you to use ProjectForum's new WYSIWYG editor (currently in beta). The editor is supported in Safari 3.x, which is also available in the very latest update to Tiger, but not in earlier versions. Recent versions of Firefox are also supported.

December 03, 2007

Tip: Archive old groups.

It's not unusual that after using ProjectForum for some particular piece of work, that you'd like to then move on to some other task. While you're not going to be working on the older stuff any longer, you'd like to keep it around for future reference.

It makes sense to start a new group for the newer work, rather than continue using the old group and mixing up the new and old material. Luckily, this doesn't mean that you need to purchase a larger ProjectForum license to accomplish this. You can instead archive old groups that you're no longer using.

Archiving takes a group and makes it read-only; you can no longer make any changes to it, but you can browse through the group to view all the material in it. You can have as many archived groups as you like, and they don't count against the number of groups permitted in your license. So every time you archive a group, you can create an additional group for current work.

To archive a group, you need to sign in as the Site Administrator. On the ProjectForum home page, click on the icon next to the group you'd like to archive, and then on the subsequent page, click the Archive button. If you find you'd like to later re-activate the group, and you have room left on your license, this can also be done from the same page.