Exploring online research methods - Incorporating TRI-ORM

Server-side processing

[i] Click on the headings to open them. They will open on this page. Open the following link for further information about these headings if required.

Your browser does not support these headings. To ensure that the contents remain accessible, they have been automatically opened so that all the information on the page is displayed.

However, to take advantage of the headings and to ensure that the layout and design of this site are displayed correctly, you are recommended to upgrade to a current version of one of the following standards compliant browsers:

Glossary links are included within this page. If a word appears as a link, clicking on this link will show the definition of the word in a 'pop-up window'. Select the following link for information about these glossary links if required.

  1. Select the links see the definitions in a pop-up window.
  2. NB. If you use pop-up window blocking software, you will need to deactivate it for pop-ups on this site to use the glossary links. Alternatively, all glossary definitions can be seen on the 'Glossary' page in the 'Resources' section.
  3. Use of the glossary links is JavaScript dependent. If JavaScript is disabled, it will be necessary to open the 'Glossary' page to view the definitions. Opening this page in a new window may allow you to refer more easily to the definitions while you navigate the site.

Open/close headingIntroduction

Once a questionnaire has been designed and created, it is necessary to make it available online and add a means of collecting and processing the results. Doing this successfully requires the addition of server-side processes.

This page is designed to provide you with an overview of server-side processing technologies. It will explain what server-side processing is and how it can be used to collect data from questionnaires. It will cover the following areas:

  • The nature of server-side processing and how it differs from client-side processing;
  • How server-side and client side processing interact when a questionnaire is requested and submitted;
  • An overview of the options for hosting the questionnaire on a server, which will be needed to make the questionnaire available online;
  • An introduction to some of the key technologies required and the options available:
    • Server software: Apache and Microsoft;
    • Server-side processing software: CGI, ASP.NET, PHP, ColdFusion and JSP;
    • Database software: MySQL and SQL Server;
  • How to set up a test-server on a personal computer to use when developing using these technologies;
  • An overview of how WYSIWYG web editors and other software can be used to help with the development;
  • An outline of common server-side processing tasks that are carried out to process a questionnaire;
  • Links to key resources on each of the server-side processing technologies.

 

Close heading CLOSE

Open/close headingServer-side v client-side processing

To understand how server-side processing works and how it differs from client-side processing, it is useful to firstly consider what happens when a user successfully calls a web page. The main steps can be seen as follows:

  1. The user types the URL of the webpage into the browser's location bar or clicks on a link. This URL acts as a reference to the computer on which the webpage is held (the server) and the location of the file (its name and position inside the file tree).
  2. The browser sends a message over the internet to the server computer requesting the webpage.
  3. Server software (e.g. Apache) on the server computer receives the message.
  4. The URL is correct and up-to-date, and there are no problems with the server computer, so the software is able to locate the file in the computer's hard drive.
  5. The software sends a copy of the file back to the browser on the requesting computer (the client).
  6. The browser displays the page according to the HTML and CSS instructions it contains.
  7. Alternatively, if there is a problem with the server or the URL is incorrect, an error message is displayed by the browser on the client machine.

This can be shown diagrammatically as follows:

Image showing a client computer requesting a page over the internet and being delivered the page from the server

The interaction between the client and the server when a user requests a web page

The files held on the server are 'static' which means that all users who request the webpage will be delivered exactly the same content from the hard drive. It cannot be altered unless the developer makes a change to the files and saves them again.

The way that client-side and server-side processing works inside the interaction between client and server can be seen below. This is followed by an overview of the advantages and disadvantages of each.

 

Open/close headingClient-side processing

Where client-side processing is used, effects can be added which may change the look or content of the webpage. For example, JavaScript can be added to check for the presence of a cookie indicating that a user has visited the site before. If a cookie is found, an alternative message can be displayed. Alternatively, users can display or hide content such as help windows or menu bars by clicking on buttons or links. However, the content delivered by the server is always the same. Like the CSS and/or HTML it is included with, the JavaScript is 'static' and is delivered within a static page. The processing that takes place occurs through instructions to the browser on the client machine. This can be seen in the following diagram:

Image showing a client computer receiving a page from a server, then carrying out client-side processing in the browser.

The interaction between the client and the server when a user requests a web page containing client-side processing

 

Close heading CLOSE

Open/close headingServer-side processing

Unlike the case of static websites, a typical use for server-side processing is to deliver 'dynamic' content to users according to choices they make before requesting the page. Thus, two visits to the same page may result in completely different content being delivered. For example, users of a bookstore site may search for particular types of books and be delivered only the results that are relevant to the search. Alternatively, server-side processing can be used to detect information about users' computers such as screen size, type of browser or whether JavaScript is enabled, and then to send out a different page accordingly. The client computer receives the webpage from the server in exactly the same way as described above, but processing takes places to create the content of a particular page before it is sent back to the client. This may include interaction with a database to 'collect' content for display. This can be seen in the following diagram:

Image showing a client computer receiving a page from a server which has carried out server-side processing and interaction with a database.

The interaction between the client and the server when a user requests a web page containing server-side processing

 

Close heading CLOSE

Open/close headingAdvantages and disadvantages

Open/close headingAdvantages of server-side processing

The main advantage of server-side processing is that it is not dependent on the client computer. It will take place regardless of the type of browser used as it occurs on the server before the page is delivered. This means that the use of server-side processing is not likely to reduce the accessibility of a webpage as the functionalities it provides should work on all platforms and with any browser. On the other hand, client-side processing depends on the availability of technologies on the client computer such as a browser which is able to process JavaScript and which is up-to-date enough to deal with the JavaScript version used. Most browsers also provide users with an option to deactivate JavaScript. Where the functionality provided by the processing is essential, server-side processing is thus the only viable option.

Server-side processing also has related security advantages in that it occurs before the page is delivered and is thus not 'visible' to the end-user, who is only given the results of the processing. Providing security measures are followed to prevent hacking of the server, these processes cannot be accessed. However, client-side processes must be delivered to the user along with the CSS and/or HTML , images and other files that make up the web page. They can thus be accessed by the user (and potentially misused or manipulated) simply by viewing the source code. Where password control is required, for example, server-side processing is the only viable option as the list of acceptable passwords and the process of checking that a valid password has been entered occurs on the server. If the process was carried out client-side, viewing the source code would immediately reveal this to the user.

 

Close heading CLOSE

Open/close headingDisadvantages of server-side processing

The main disadvantage of server-side processing is that it has the potential to reduce the speed and efficiency of a webpage. Every time a process needs to be carried out based on user input or actions, a call must be made to the server and the results delivered back to the client. In cases where the functionalities provided by processing are not essential and where there are no security implications, client-side processing can provide a faster and more seamless experience for the user. Thus, for example, the drop-down headings used by this site are activated client-side which adds an 'extra' functionality to the site but which is not essential to accessing the information the headings contain. Using server-side processing for such features would be impractical and slow, and if the user does not have a browser with client-side functionalities this will not affect accessibility.

Server-side processing also obviously requires access to a server which can deal with the processing technology chosen, along with adequate permissions to add scripts and/or databases to this server. Where this is not available, it may be necessary to use client-side processing, or to rethink whether the functionality should be added.

 

Close heading CLOSE

 

Close heading CLOSE

 

Close heading CLOSE

Open/close headingServer and Client-side processing within a questionnaire

In delivering, receiving and processing a questionnaire, the main steps in the interaction between server and client are typically as follows (a text-only version is available below):


The main steps in delivering, receiving and processing a questionnaire

Open/close headingText-only version

  1. The browser on the client computer requests the webpage containing the questionnaire from the server, receives the questionnaire and displays it on the page (see details in stages 1-6 above).
  2. Extra information such as the date and time, and details about the participant's computer are collected and placed in hidden form fields using client-side and/or server-side processes (see 'collecting participant information'.
  3. The participant completes and submits the questionnaire and if JavaScript is available in the participant's computer, client-side validation occurs to check the responses (see 'Form validation').
  4. If JavaScript is available and there are problems with the form, submission is prevented and a message is displayed to highlight what the problems were (return to step 3).
  5. If JavaScript is deactivated in the participant's computer or the answers have been entered correctly, submission goes ahead and the contents of the form fields in the questionnaire are sent to the server (along with any extra information in the hidden form fields).
  6. Server-side validation routines are carried out to check for problems with the form.
  7. If the answers have been entered correctly, a thank-you message is displayed and server-side processes are carried out to add the answers to a database or text-file, and/or include them in an email to be sent to the researcher.
  8. If the server-side validation reveals a problem with the form, it is returned to the participant with the answers preserved and messages to highlight what the problems were. The participant corrects the problems (if so inclined) and resubmits (return to step 3).

 

Close heading CLOSE

Both server and client-side processing are used to process the questionnaire. Client-side processing is used for validation as it will provide improved usability and speed to those who have JavaScript available on their computers, but will not reduce accessibility for those who do not. Server-side processing is used to deal with the results and also to provide 'back-up' validation where JavaScript is unavailable or where users may have deactivated it to avoid validation.

The following learning activities will allow you to examine this process of delivering, receiving and processing a questionnaire in more detail:

Open/close headingLearning activity 1: Examining the interaction between client and server

[?]Examine the interaction between client and server when a questionnaire is requested and submitted, by completing the following activity.

The following diagram shows the interaction between the client and the server after the server has received the request for the questionnaire from the client computer. Client-side validation is not possible because the questionnaire is completed by a participant using a browser that does not support JavaScript or has JavaScript deactivated.

Consider what happens at each of the 11 steps represented by the numbers in the diagram. You can view a description of each step by clicking on these numbers. Clicking on the numbers a second time hides the descriptions.

An alternative text-only version is provided below.

The interaction between the client and the server when a questionnaire is completed by a participant on a computer with JavaScript deactivated

 

Open/close headingText-only alternative

[?] Examine the interaction between the client and the server when client-side validation is not possible because the questionnaire is completed by a participant using a browser that does not support JavaScript or has JavaScript deactivated.

The following list shows the 11 stages in the process from when the server receives the request and locates the file for delivery. However, only the first and last of the stages are in the correct order. Reorder the other 9 stages by writing the correct number from 2 to 9 in the textboxes next to each.

When you have finished, select the 'Answers' link to check.

The webpage with the questionnaire is delivered from the server computer to the client.

The participant corrects the problem and resubmits.

Server-side validation reveals no problems this time, so the results are inserted into a database.

The completed questionnaire is sent to the server.

A completion page is delivered to the participant.

The questionnaire is returned to the participant with a message to highlight the problem.

The participant completes the questionnaire and submits it.

The completed questionnaire is sent back to the server.

Client-side validation is unsuccessful (JavaScript is deactivated). Submission goes ahead despite errors.

Server-side validation reveals a problem with the responses.

 

The browser displays the page which informs the participant that the submission has been successful and displays a thank-you message.

 

Open/close headingAnswers

The correct order is as follows:

  1. The webpage with the questionnaire is delivered from the server computer to the client.
  2. The participant completes the questionnaire and submits it.
  3. Client-side validation is unsuccessful (JavaScript is deactivated). Submission goes ahead despite errors.
  4. The completed questionnaire is sent to the server.
  5. Server-side validation reveals a problem with the responses.
  6. The questionnaire is returned to the participant with a message to highlight the problem.
  7. The participant corrects the problem and resubmits.
  8. The completed questionnaire is sent back to the server.
  9. Server-side validation reveals no problems this time, so the results are inserted into a database.
  10. A completion page is delivered to the participant.
  11. The browser displays the page which informs the participant that the submission has been successful and displays a thank-you message.

 

Close heading CLOSE

 

Close heading CLOSE

 

Close heading CLOSE

Open/close headingLearning activity 2: Checking understanding of the interaction between client and server

[?] Now check your understanding of client-side and server-side processing and the interaction between client and server, by completing the following activity.

The following diagram shows the stages in the interaction between client and server after the server has received the request for the questionnaire from the client computer. The participant is using a computer with JavaScript enabled (client-side validation occurs). Add the missing labels for 4 of the stages by completing the textboxes. When you have finished, select the 'check' button to compare your labels with suggested answers.

The interaction between the client and the server when a questionnaire is completed by a participant on a JavaScript-enabled computer

 

Open/close headingText-only alternative

[?] Now check your understanding of client-side and server-side processing and the interaction between client and server, by completing the following activity.

The following list shows the stages in the interaction between client and server after the server has received the request for the questionnaire from the client computer. The participant is using a computer with JavaScript enabled (client-side validation occurs). Four of the stages are missing. Complete the list by adding the information in the textareas.

When you have finished, select the 'Suggested answers' link to check.

  1. The webpage containing the questionnaire is delivered.
  2. The completed and validated questionnaire is sent to the server.
  3. A completion page is delivered to the participant.

 

Open/close headingSuggested answers
  1. The webpage containing the questionnaire is delivered.
  2. The participant completes the questionnaire and submits it.
  3. Client-side validation is successful (JavaScript is active). If the answers are valid, the form is submitted. If not, submission is prevented and a message is displayed (Return to step 2).
  4. The completed and validated questionnaire is sent to the server.
  5. Server-side validation reveals no problems with the responses (they have already been validated client-side), so the results are inserted into a database.
  6. A completion page is delivered to the participant.
  7. The browser displays the page which informs the participant that the submission has been successful and displays a thank-you message.

 

Close heading CLOSE

 

Close heading CLOSE

 

Close heading CLOSE

 

Close heading CLOSE

Open/close headingHosting options

A number of technologies are available to add server-side processing functionalities to web pages, but whichever technology is chosen, the questionnaire will need to be uploaded to a server along with the required databases and/or scripts. The choice of which technology to use is likely to depend primarily on the type of server and software available and the level of access the researcher has to this server.

The following three hosting options are likely to be available to researchers who wish to create and upload their own questionnaires:

Open/close headingAccess to server space on an institution's server

For researchers working within an institution such as a university, a government department, an NHS trust, or a charitable organisation, it may be possible to upload the questionnaire to the institution's server. In this case it will be necessary to find out what type of processing and database software can be used, and whether there are any limitations or conditions on how they can be used. It may be that certain types of scripts are not allowed or that time is needed for computer services to check any scripts before they are uploaded. In some cases, access to the server may only be possible if standard procedures for implementing web forms are followed. For a questionnaire with 'standard' requirements, this should not be a problem but it may be necessary to check issues such as whether the results can be accessed in the required format or whether they can be emailed, automatically added to a database, or both.

 

Close heading CLOSE

Open/close headingUse of a commercial internet hosting service

If a researcher does not have access to a server or if the level of control over what can be done and how is not adequate, it may be necessary to use a commercial hosting service. There is a huge range of options available at a range of prices. There are many free services available, but access to server-side processing capabilities and a database is likely to only be available through services which charge. If a free service is found that seems to offer the required functionalities it is also important to check whether advertisements are included and, if so, whether this is acceptable.

Services that charge can range from relatively inexpensive options which run a number of websites on a single server, to more expensive options with servers dedicated to a particular customer and frequently targeted at the business world. When choosing a provider, it is important to be clear on what the requirements are in terms of file space and available features to make comparison easier and to find a good value provider. It is also important to be aware that there may be limits of the capabilities that are offered and that, for example, some services may only allow standard scripts to be used, rather than allowing users to upload their own scripts. Depending on what is required, this may not be a problem, but it important to check when deciding which service to use. Asking for recommendations from friends and colleagues who use a hosting service, or checking review sites on the internet may help in finding a suitable service.

 

Close heading CLOSE

Open/close headingUse of a personal web server

If the researcher has a broadband-connected computer which has a permanent IP address and which is permanently connected to the internet, it may be possible to use the computer as a server on which to host the questionnaire. This will allow complete freedom over the technologies used and the server-side processing added and may prove to be a suitable solution for researchers with high-level system administration and scripting skills who wish to create a questionnaire with advanced functionalities. However, for most questionnaires, this is unlikely to be needed. Running a pubic website from a personal server is also a difficult task and is not recommended for those without the knowledge and experience to ensure that the server is set-up properly, has adequate disc-space to deal with the traffic received, and is secure. For a questionnaire hosted in this way, it will also be necessary to ensure that the data collected is archived regularly and held securely. If hackers find a way to access the server, not only will the questionnaire data be potentially compromised, but the server could then also be used to attack other servers over the internet.

 

Close heading CLOSE

When choosing a hosting option, it is important to consider the URL the questionnaire will have when it is made publicly available. It may be necessary to choose and acquire a specific domain name for the questionnaire. Information about domain names is provided below.

Open/close headingDomain names

If an institution's server is used, the URL of the questionnaire is likely to be within the file tree of the institution and/or department's website. Thus, it will have a URL which automatically includes a reference to the institution, such as the following:

htttp://www.university.ac.uk/research/questionnairename.html

This is likely to enhance participants' view of the legitimacy of the research.

If a commercial internet hosting service is used, many hosting services offer the possibility of having a site name as a sub site within the host's own domain name. In this case, the URL would be something like:

htttp://www.myhostingcompany.com/questionnairename/intro.html

In either case, if the researcher wishes to have a specific URL for the questionnaire, it will be necessary to pay for a domain name under which the questionnaire can be made available. It will also be necessary to acquire a domain name if a personal server is used so that the questionnaire can be made available online through its own URL.

Typically domain names are registered for 1-2 years for a registration fee which gives the holder sole rights to use the name. This is done through registry services, such as Nominet ([External Link - opens in a new window]http://www.nominet.org.uk/), which is the registry for UK domain names. The site includes a facility to search for 'unclaimed' domain names which can then be registered. Most hosting company sites also include this facility and offer to register domain names on their clients' behalf either as part of a hosting package or as a stand-alone service.

Once the domain name has been acquired, it is possible for the hosting server to be set to deliver the questionnaire in response to requests to this domain over the internet. This will make it possible for the questionnaire to have a bespoke URL, e.g:

htttp://www.researchproject.net

Where the researcher is affiliated to an institution but the questionnaire is not hosted on the institution's server, however, adding a link to the researcher's page on the institution's website and including a graphic of the institution logo is likely to be necessary for research legitimacy.

An informative, though perhaps not entirely impartial, introduction to hosting is available on the W3Schools website at the following address:

[External Link - opens in a new window] http://www.w3schools.com/website/web_host_intro.asp

 

Close heading CLOSE

 

Close heading CLOSE

Open/close headingServer software

The server software handles requests for webpages from the server and also handles the interaction with server-side processing technologies and databases. In many cases, the choice of which server-side technology can be used depends on the server software that is installed. This, in turn, often depends on which operating system is in use on the computer (e.g. windows or linux). The most popular server software in use on the internet is Apache which is a free open-source option which can be used on both operating systems. Microsoft server software is also a commonly-used example, available for use on the Windows operating system and other server software is also available. Most hosts are likely to use one of these two options, though other server software is available. It is likely to be important to find out which operating system and server software are used, so that the researcher can set up a similar development environment on a personal computer to create and test the questionnaire before uploading it. Where a researcher wishes to use a particular type of software this will also be a key consideration when choosing a hosting service.

 

Close heading CLOSE

Open/close headingServer-side technologies

A number of technologies are available to allow server-side processing to be added to web pages. Some of the technologies are open-source and freely available for both development on a local computer and for use with servers to host public websites. The proprietary technologies are frequently also available free of charge as 'development' versions which can only be run on local machines. However, they can be expensive to buy where they are to be used with servers to host open websites. Where a researcher wishes to use this software, it will be necessary to check that it is available on the hosting server.

It is necessary to find out which operating system and server software is used by the host, and to find out which server-side processing technologies are supported. This will allow the decision on which technology to use to develop the questionnaire to be made. Where a researcher wishes to use a particular technology, it will also allow a hosting service offering this technology to be chosen. Commonly-used examples of server-side processing technologies are introduced below, and links to the official websites for each are also given.

Open/close headingCGI

CGI (Common Gateway Interface) is a set of rules for interaction between a server and a server-side program rather than a scripting language. Typically PERL is the language used to develop scripts for use with CGI. CGI is the oldest server-side processing technology available on the internet, and though it has largely been superceded by more efficient alternatives, it remains a popular choice. One of the key advantages of CGI is that ready-made scripts are often available online which may provide all the functionalities required to process a questionnaire without the need to develop programming skills.

[External Link - opens in a new window] http://www.w3.org/CGI/

 

Close heading CLOSE

Open/close headingPHP

A freely-available open-source server-side scripting language which can be downloaded and installed to allow the addition of server-side processing capabilities to web pages. Rather than existing separately from an HTML document, PHP scripts are embedded into web pages and are thus more efficient. PHP is designed to work simply and easily with database technologies, and it is frequently used in combination with the open-source database software MySQL. It is generally installed as an Apache module so that the Apache server software is effectively extended to include PHP functionality for the optimum performance. It can also be used with Microsoft servers.

[External Link - opens in a new window] http://www.php.net/

 

Close heading CLOSE

Open/close headingMicrosoft ASP/ASP.NET

ASP is a framework developed by Microsoft for providing server-side processing capabilities and database functionalities which has largely superceded by a more recent version, ASP.NET (though ASP remains widely used at the time of writing and a wide range of resources are still available on the internet to help developers who use ASP). ASP.NET makes use of ready-made web controls to allow functionalities such as straightforward database integration or standard form validation routines to be added to web pages. The use of ASP.NET typically requires the use of a Microsoft server and operating system. Free downloads of suitable server software to allow pages to be developed and tested on a local machine are usually available, along with free development tools such as a basic version of the Visual Web Developer or the free WYSIWYG Web Matrix software.

[External Link - opens in a new window] http://www.asp.net/

 

Close heading CLOSE

Open/close headingMacromedia ColdFusion

ColdFusion allows server-side processes to be added to webpages through the inclusion of ColdFusion Markup Language, a scripting language consisting of a range of tags. These tags effectively allow common server-side tasks such as sending emails or working with databases to be created through the addition of single tags, and it is often considered to be a relatively straightforward technology to learn for those with some understanding of HTML. ColdFusion can be used on a wide range of servers, but the software is less commonly used than some of the other server-side technologies. It is proprietary to Macromedia and is only available free of charge as a development version which can only be used on a local machine or for a limited trial period in the case of the full software.

[External Link - opens in a new window] http://www.macromedia.com/software/coldfusion/

 

Close heading CLOSE

Open/close headingJavaServer Pages (JSP)

Like PHP, ASP.NET and ColdFusion, JavaServer Pages consist of code added to the HTML document. In this case, Java code is embedded in the document which is activated when the page is requested. The use of JSP depends on downloading the appropriate software, namely the Java Development Kit and a JSP/Servlet engine such as Tomcat.

[External Link - opens in a new window] http://java.sun.com/products/jsp/

 

Close heading CLOSE

The 'Resources' section below contains references and links to introductory information and tutorials on the use of these technologies, and to resources on the use of these technologies to perform common questionnaire processing tasks.

 

Close heading CLOSE

Open/close headingDatabase software

Where the intention is to use server-side processing technology in combination with databases it will be necessary to choose an appropriate example of database software. As with the server-side technology, a major influence on this choice is likely to be the type of database available on the hosting server, though where a researcher wishes to use a particular type of software, this will be one of the key issues in selecting a service provider.

A wide range of database software is available that can be integrated with server-side processing. The high-end databases such as Oracle, Informix or Sybase may be a suitable solution for complex research projects with adequate funds available for the purchase. However, in most cases, the two most common options are likely to be Microsoft's SQL server for use with ASP.NET, or MySQL for use with the other server-side technologies and with PHP in particular.

 

Close heading CLOSE

Open/close headingSetting up a development environment

Once it has been established what technologies are to be used, it is possible to download, install and configure the software needed to develop and test the questionnaire. This process will be different depending on the technologies chosen, but will typically involve the following stages:

  1. Download/purchase and install the server software, following the installation instructions provided.
  2. Test that the server is working correctly on the local machine. Some server software (e.g. Apache) will include a test page with the download. This will be saved in the root of the directory used by the server to hold the webpages which it will deliver. In the case of Apache, this will typically be the htdocs directory in the Apache program files on the hard drive (e.g. C:\Program Files\Apache Group\Apache2\htdocs). If no test page is available with a particular server, or if the researcher wishes to carry out a further test, an alternative test page (e.g. an HTML page with a name such as 'testing.html') can also be created and saved in this directory. The URL can then be typed into a web browser to view the page. This is typically 'http://localhost/'when the server is running on a local machine (e.g. 'http://localhost/testing.html'). If the installation has been successful, the test page will be displayed.
  3. Download/purchase the server-side processing and database technologies to a suitable directory (e.g. if installing PHP, this should be downloaded to a file called php on the root of the hard drive).
  4. Configure the server software, the server-side processing technology and the database software to allow them to work together. This can be quite a complex process requiring settings and/or configuration files to be altered, and it is important to refer to up-to-date guidance (see below).
  5. Create a test database and a test page including a connection to this database. Save this in the root directory used by the server and access it through the browser to check that the page is displayed successfully, indicating that the software is interacting correctly (see point 2).

When carrying out this process, it is important to refer to detailed and up-to-date guidance specific to the particular technologies used. Most training books on particular software will include a step-by-step guide to installation and configuration on different platforms (see the 'Resources' section below). When choosing a book, it is important to check that this information is provided for the software versions and platform you wish to use. Guides are also available on the internet.

 

Close heading CLOSE

Open/close headingUsing software tools

A number of tools are available to assist in the development web pages with server-side processing capabilities. The use of WYSIWYG web editors can simplify and automate many of the common tasks involved in producing a questionnaire processed server-side, such as validation routines or connecting to databases, and other tools are available to help with the creation of scripts or the administration of databases.

Macromedia Dreamweaver is a commonly-used WYSIWYG editor which offers support to users who are developing server-processed webpages. Through Dreamweaver, it is possible to set up an environment for developing pages using all of the most common server-side technologies including those mentioned above. Once this is done, tools are available within the package to allow functionalities to be automatically added such as database connections, validation or password access. If the user has a knowledge of the chosen technology and wishes to create different functionalities, tools such as tag choosers can also provide assistance with coding in the chosen language.

Microsoft FrontPage is another WYSIWYG editor which allows the development of features such as validation of form data client and server-side, sending form results to an MS Access database or connecting to an alternative external database. This can be done with little or no knowledge of server-side processing using dialogue boxes within the editor. However, taking advantage of this requires that the server the questionnaire will be hosted on allows the use of FrontPage extensions, a proprietary Microsoft technology. If you have a knowledge of the editor and a server which allows this, however, it can dramatically simplify the process and reduce the need to spend time learning about new technologies or developing programming skills.

Where ASP.NET is the chosen technology for implementing the questionnaire, development tools such as the Microsoft Visual Web Developer are available to provide a drag-and-drop interface for page creation and to simplify the creation of code and integration with databases. The free WYSIWYG Web Matrix software is also available from Microsoft for the development of these pages.

Finally, a number of tools are available to make the production of PHP code and the creation and administration of MySQL databases easier and more intuitive. Like PHP and MySQL, these tools tend to be available open source and can be found by searching open-source repositories (See the 'Resources' section for example of these repositories).

 

Close heading CLOSE

Open/close headingAdding the server-side processing functionalities

Once the software and technologies used have been established, and the development environment has been set up accordingly, the pages and scripts can be developed to add server-side processing facilities to the questionnaire. In some cases, if a questionnaire has already been developed, it may be necessary to adapt the HTML to suit the server technology used. Thus, for example, if ASP.NET is used, the HTML form elements may need to be replaced with the ready-made web controls available with this technology.

Common server-side processing tasks are as follows:

  • Validation, which should be added as a back-up to client-side validation. Facilities also need to be added to send a thank-you message on submission where no problems are found, or for the questionnaire to be redisplayed when errors are found (this should be done so that error messages highlight the problem, while the answers a participant has already entered are preserved);
  • Emailing results, which may be the preferred method of processing the results as it is straightforward and easy to implement. The emails can also be encrypted to increase the security of sensitive data. Where a database is used, the researcher may also wish for the results to be emailed at the same time as they are added to the database.
  • Automatically adding submitted data to a database, so that responses are added to the database on submission of the form;
  • Adding a system of password access, so that only invited participants with access to a password can access the questionnaire and so that multiple submission using the same password is prevented;
  • Working with multi-page forms, to pass the information gathered from page to page, or to submit each page when it is completed and then prevent participants going back and resubmitting these pages.

A wide range of books are available on the use of server-side processing technologies, along with websites offering tutorials and scripts. A number of suggestions for each of the main technologies is provided in the 'Resources' section below. This includes links to useful sources of information, tutorials and examples on how the common questionnaire processing tasks outlined above can be developed using these technologies.

 

Close heading CLOSE

Open/close headingResources

Open/close headingGeneral

Open/close headingBooks

A good source of information is through the websites of key publishers in the field of web development. These include the following publishers:

O'Reilly
[External Link - opens in a new window] http://www.oreilly.com/

Peachpit Press
[External Link - opens in a new window] http://www.peachpit.com/index.asp

SAMS
[External Link - opens in a new window] http://www.samspublishing.com/index.asp

These sites offer facilities to search for titles related to particular technologies and also offer sample chapters and articles. They also offer access to Safari Bookshelf, which is one of the most convenient access points for books on these technologies online. It offers searchable access to the titles of these and other key publishers in the field for viewing onscreen or for downloading.

Other publishers which are not included in Safari Bookshop offer similar searchable websites and online access to their catalogues, e.g:

WROX
[External Link - opens in a new window] http://www.wrox.com/WileyCDA/

Apress
[External Link - opens in a new window] http://www.apress.com/

 

Close heading CLOSE

Open/close headingWebsites

W3Schools
[External Link - opens in a new window] http://www.w3schools.com/
Provides information and tutorials on a range of server-side technologies including ASP, PHP, SQL, and ASP.NET.

Webmonkey
[External Link - opens in a new window] http://www.webmonkey.com/
General web-design resource. The programming section of the 'How-to library' includes tutorials on ASP, PHP, ColdFusion, and Perl/CGI.

 

Close heading CLOSE

 

Close heading CLOSE

Open/close headingPHP/MySQL

Open/close headingBooks

Coggeshall, J. (2005) PHP Unleashed. Indianapolis. SAMS.

Kent, A., and Powers, D. (2004) PHP Web development with Macromedia Dreamweaver MX 2004. Berkeley, CA. Apress.

Naramore, E., Gerner, J., Le Scouarnec, Y., Stolz, J. and Glass, M. K. (2005) Beginning PHP5, Apache, and MySQL Web Development. Indianapolis. WROX.

Sklar, D. (2004) Learning PHP. Sebastapol, CA. O'Reilly.

Sklar, D. and Trachtenberg, A. (2003) PHP Cookbook. Sebastapol, CA. O'Reilly.

Ullman, L. (2005) PHP and MySQL for Dynamic Web Sites. Berkeley, CA. Peachpit Press.

Welling, L. and Thomson, L. (2004) PHP and MySQL Web Development. Indianapolis. SAMS.

Zandstra , M. (2005) Teach Yourself PHP in 24 Hours, 2nd Edition. Indianapolis. SAMS.

 

Close heading CLOSE

Open/close headingWebsites

Codewalkers
[External Link - opens in a new window] http://codewalkers.com/
Offers a wide range of reources on PHP and MySQL including tutorials

PHP
[External Link - opens in a new window] http://uk.php.net/manual/en/introduction.php
An introduction to PHP from the official website which includes a very useful introductory tutorial.

MySQL Tutorials
[External Link - opens in a new window] http://www.php-mysql-tutorial.com/
A series of tutorials on how to use PHP and MySQL to create and administer databases.

 

Close heading CLOSE

 

Close heading CLOSE

Open/close headingASP.NET / ASP

The resources below refer to ASP.NET which has been designed to supercede ASP. However, at the time of writing ASP remains a commonly-used server-side technology and a wide range of resources are available offering information and tutorials in its use.

Open/close headingBooks

Duthie, G. A. and MacDonald, M. (2003) ASP.NET in a Nutshell. Sebastapol, CA. O'Reilly.

Hart, C., Kauffman, J., Sussman, D. and Ullman, C. (2005) Beginning ASP.NET 2.0. Indianapolis. WROX.

Kittel, M. A. and LeBlond, G. T. (2004) ASP.NET Cookbook. Sebastapol, CA. O'Reilly.

Martinez, J. and Parnell, R. (2003) ASP.NET Development with Dreamweaver MX. Berkeley, CA. Peachpit Press.

Mitchell, S. (2003) Teach yourself ASP.NET. Indianapolis. SAMS.

Walther, S. (2003) ASP.NET. Unleashed. Indianapolis. SAMS.

 

Close heading CLOSE

Open/close headingWebsites

ASP.NET Quickstart Tutorial
[External Link - opens in a new window] http://www.asp.net/ QuickStart/aspnet/ Default.aspx
Detailed tutorials on using ASP.NET including information on how ASP.NET controls are used with code examples.

4 Guys from Rolla
[External Link - opens in a new window] http://www.4guysfromrolla.com/
Searchable resource with articles and tutorials on specific aspects of ASP.NET.

 

Close heading CLOSE

 

Close heading CLOSE

Open/close headingCGI/PERL

Open/close headingBooks

Colburn, R. (2003) Teach yourself CGI. Indianapolis. SAMS.

Guelich, S., Gundavaram, S. and Birznieks, G. (2000) CGI Programming with Perl. Sebastapol, CA. O'Reilly.

 

Close heading CLOSE

Open/close headingWebsites

CGI Programming 101
[External Link - opens in a new window] http://www.cgi101.com/
Tutorials aimed at beginners with information on how to set up a development environment using CGI/PERL and how to process forms and write data to files.

CGI Made Really Easy - or, Writing CGI scripts to process Web forms
[External Link - opens in a new window] http://www.jmarshall.com/easy/cgi/
Basic introduction to collecting and formatting information from forms.

Elated
[External Link - opens in a new window] http://www.elated.com/tutorials/ programming/perl_cgi/
Tutorials covering a basic introduction to CGI programming with PERL along with issues such as validation and emailing.

 

Close heading CLOSE

 

Close heading CLOSE

Open/close headingColdFusion

Open/close headingBooks

Brooks-Bilson, R. (2003) Programming ColdFusion MX. Sebastapol, CA. O'Reilly.

Camden, R., Chalnick, L., Buraglia, A. C. and Forta, B. (2005) Macromedia ColdFusion MX 7 Web Application Construction Kit. Berkeley, CA. Macromedia Press.

DeHaan, J. (2004) ColdFusion Web Development with Macromedia Dreamweaver MX 2004. Berkeley, CA. Apress.

Mohnike, C. (2003) Teach Yourself Macromedia ColdFusion in 21 Days. Indianapolis. SAMS.

 

Close heading CLOSE

Open/close headingWebsites

Macromedia's Support Centre for ColdFusion - Tutorials
[External Link - opens in a new window] http://www.macromedia.com/ support/coldfusion/ tutorial_index.html
A wide range of tutorials. Part of the ColdFusion Support Center which includes resources, technical notes and a forum.

EasyCFM Tutorials
[External Link - opens in a new window] http://www.easycfm.com/tutorials/ index.cfm?dirView=True
A comprehensive range of ColdFusion tutorials.

 

Close heading CLOSE

 

Close heading CLOSE

Open/close headingJSP

Open/close headingBooks

Bergsten, H. (2003) JavaServer Pages, Third Edition. Sebastapol, CA. O'Reilly.

Brunner, R. (2003) JSP: A Practical Guide for Programmers. San Fransisco, CA. Morgan Kaufmann Publishers.

Holzner, S. (2002) Teach Yourself JavaServer Pages in 21 Days. Indianapolis. SAMS.

Perry, B. W. (2004) Java Servlet & JSP Cookbook. Sebastapol, CA. O'Reilly.

 

Close heading CLOSE

Open/close headingWebsites

Caucho JSP Tutorials
[External Link - opens in a new window] http://www.caucho.com/resin-3.0/ jsp/tutorial/index.xtp
Covers topics including form processing and emailing form contents.

JSP Tutorial
[External Link - opens in a new window] http://www.jsptut.com/
Series of tutorials covering the basics of JSP and dealing with forms processing, databases and emailing. States that users should have a knowledge of HTML and Java.

 

Close heading CLOSE

 

Close heading CLOSE

 

Close heading CLOSE

  © 2004-2010  All rights reserved    |    Maintained by ReStore    |    About this website    |    Disclaimer    |    Copyright    |    Citation policy    |    Contact us