Upcoming Events

Cloud Connect
Santa Clara
Feb 13-16, 2012

Cloud Connect brings together the entire cloud eco-system to better understand the transformation we're experiencing and promises to be the defining event of the cloud computing industry. Learn about the latest cloud technologies and platforms from thought leaders in Cloud Connect’s comprehensive conference.

Register Now!

More Events »

Subscribe to Newsletter

  • Keep up with all of the latest news and analysis on the fast-moving IT industry with Network Computing newsletters.
Sign Up
Business Applications
W O R K S H O P  
Discussion Servers Bring Collaboration to the Web

  January 7, 2002
  By Ahmad Abualsamid



Printer Print Full Article
Printer Print This Page
Printer Download the PDF
E-Mail E-Mail This URL
The software is the most important piece of the puzzle. You can use an existing package or develop your own in-house. When selecting a package, look for the following items:

>> A configurable user interface. Your Web site is your identity, and the discussion server is an extension of your Web site. You don't want something that looks radically different. You do want something that can be changed as you alter the look and feel of your Web site. Preferably, find something that uses CSS (Cascading Style Sheets) so you can configure the system centrally and have the changes reflected across the board.

>> A secure system. If you are running the system exclusively on your intranet, authentication is important, but not a top priority. If the system will be accessible from the Internet, however, you need to ensure that only appropriate personnel have access. Beyond authentication, you probably want to set up different authorization levels. Anonymous access is usually not a good idea, as it lacks accountability. Same goes for access in which people type in their names and e-mail addresses, and the discussion server uses whatever they typed: People can impersonate each other. Assign user names and passwords, and sleep better at night. With some creativity, you can leverage your existing user database.

If you let users send e-mail to each other instead of merely posting to the server, make sure your e-mail system is secure. You do not want abusers using your insecure SMTP server for bulk e-mail and spam.

If you allow uploading of documents by users, make sure you have some sort of virus-scanner software. Also, make sure that malicious users do not use your system as a storage system for their own files or, worse yet, use it to distribute improper material. Finally, ensure that you can run SSL. This usually involves installing a certificate and pointing the browser to the secure address (https://) instead of the regular URL.

>> Support for multiple databases. Although not likely, you may have to switch your back-end databases. A discussion server that supports different database engines will make life easier. If the discussion server does not support multiple databases, at least get one that comes with source code. Ideally, the code for database access will be localized in one or two modules. Worst-case scenario: Your programmers will spend some time porting these modules to work with the new databases.

>> Moderation options. Sometimes you will want to moderate the discussions before they are posted. A discussion server that does not allow moderation is not worth your time. This may be less of an issue when doing internal workgroup discussions, but it could become a serious issue if you open up your server to customers. If you opt not to moderate discussions, choose a server that lets the administrator easily delete a posting or a thread of postings.

>> Threaded discussions. In a threaded discussion, you can follow the progress of a discussion without having to weed through other posts. This is a must for any discussion server. Make sure that this option can be turned on and off by the user reading the discussion, not at the system level.

>> Less complexity. The code for the discussion server can be written in a server-side scripting language, such as ASP (Active Server Page), PERL or PHP (PHP Hypertext Processor). You need only to install the appropriate scripting engine on your application server. ASP is native to IIS, and commercial implementations of ASP for Unix are available.

Although ASP is a framework and not a specific language, almost all ASP code is developed in VBScript, which is a subset of Visual Basic. PERL is available on numerous platforms and is free. Huge archives of PERL code are on the Web for any application that you can imagine. PHP is growing in popularity and is a personal favorite. It is also available for many platforms. There are other scripting languages, such as Python, but the basic concepts are all the same.

A more complex setup would include server-side components in addition to the scripts. These components can be written in variety of languages. The most popular languages are Sun Microsystems' Java and Microsoft's Visual Basic. Java is used to write Java servlets and Enterprise JavaBeans. Visual Basic is used to develop ActiveX controls. Other options include C++ and Cold Fusion. All are viable and have their place in a Web application; with a discussion server, however, you do not need all this complexity.

>> Multiple language support. The Web is global. As such, chances are good that users of your discussion server may opt to communicate in a language other than English. Your discussion server should allow postings in multiple languages. However, instructions and help files will probably be only in English. If multiple language support is an issue, look for a discussion server that supports this. Better yet, find one where you can configure the informative text and the help files. This way you can localize your server based on the target audience.

>> Spellcheck. This is a little harder to implement with Web-based systems. Not many discussion servers offer it, but it is nice to have.

The front end will typically run in a browser. Ideally, you should keep your front end as simple as possible to make sure it works with the various browsers out there. Luckily, a discussion server does not need lots of bells and whistles; thus, some elegant HTML should be enough.

Most discussion servers are developed in academic settings, where there are very few restrictions on IP communication. The first time this type of software is used in a corporate setting, it usually breaks because of the restrictions on proxy and firewall settings or on browser settings. Some IS departments refuse Java applets through firewalls, others do not allow ActiveX controls, and various sites place restrictions on scripting Java applets and ActiveX controls. If firewalls and proxies aren't enough, consider that many IS departments lock down browser configuration to conform to some corporate standard. Whatever the situation is, make sure that your setup works with the corporate standard.

Various Web-based discussion servers are available. Few are commercial, and most are public domain. A good starting point would be the PHP-based Phorum. A couple of great sites to search for everything PHP are www.php.net and www.zend.com. If you are an ASP junkie, you can find an ASP-based discussion server called aspSmart Forum.

Finally, for PERL lovers, you can use the freely available WWWBoard. It is available at Matt's Script Archive.

Even if you are not looking for a discussion server, these sites have many scripts and tools that can add lots of functionality to your site and save you hours of development time. Do not limit your options, but these are the most popular in their respective languages, so there is a good chance you will like them too.

On the commercial side, eRoom Technology and Lyris offer a lot more functionality than that offered by discussion servers (click here for a review of eRoom).

Ahmad Abualsamid is the founder of Apical Consulting, a Chicago-based software consulting and contract programming firm. Send your comments on this article to him at ahmad@apicalconsulting.com.


   Page: 1 | 2 | First Page

Research and Reports

Hypervisor Derby
August 2011

Network Computing: August 2011

TechWeb Careers