WAMP is a web-based annotation tool that tackles the issue of generating annotated corpora by allowing annotators to annotate essays with ease and export the resulting annotated essays for use in GEC research.
WAMP.mp4
- Apache (2.2)
- PHP (5.2)
- MySQL (5.1)
- Ubuntu (9.10)
- Install Docker on your host environment.
- Run
docker run --name wamp_docker -it -v $HOST_PATH:$DOCKER_PATH -p $HOST_PORT_NUMBER:$DOCKER_PORT_NUMBER icomputer7/ancient-ubuntu-docker:karmic /bin/bashto run the Docker base image of Ubuntu 9.10 "Karmic Koala" and to mount the local directory to the Docker container.- $HOST_PATH is the path to the downloaded "wamp" folder in the host environment.
- $DOCKER_PATH is the desired path for the "wamp" folder in the Docker container.
- $HOST_PORT_NUMBER is the port number of your host environment that is used to communicate with the Docker container.
- $DOCKER_PORT_NUMBER is the port number of your Docker container that is used to communicate with the host environment.
- Inside the Docker container, run
apt-get update && apt-get install php5 libapache2-mod-php5 php5-clito install PHP 5.2. - Inside the Docker container, run
apt-get install mysql-server && apt-get install php5-mysqlto install MySQL 5.1.- When prompted, set the $PASSWORD for the "root" user.
- Inside the Docker container, install Miniconda2 under
/condadirectory. - After activating the
baseMiniconda2 environment, runpip install nltk==3.4.5to install NLTK and runimport nltk; nltk.download('punkt')in Python shell to download the necessary NLTK data under/condadirectory.
- Inside the Docker container, configure the Apache2 web server.
- Once the configuration is complete, run
a2enmod rewriteto enable the rewrite module in Apache2. - Run
a2ensite defaultto enable the site.- If using HTTPS configuration, run
a2enmod sslto enable the ssl module and runa2ensite default-sslto enable the site.
- If using HTTPS configuration, run
- Check that memory_limit inside
/etc/php5/apache2/php.iniis at least 32M to have sufficient memory limit for PHP. - Run
/etc/init.d/apache2 restartto restart the Apache2 server and apply the new changes.
- Run
service mysql startto start the MySQL server. - Run
mysqladmin -u root -p create wampto create a new database.- When prompted, use the $PASSWORD set in step 4 of Docker installation.
- Run
mysql -u root -pto connect to the MySQL server.- When prompted, use the $PASSWORD set in step 4 of Docker installation.
- Run the following MySQL command to give necessary privileges to the database.
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER
ON wamp.*
TO 'root'@'localhost' IDENTIFIED BY '$PASSWORD';
- Inside the Docker container, configure the $db_url from "$DOCKER_PATH/wamp/drupal/sites/default/settings.php" accordingly.
- $DOCKER_PATH is the path set in step 2 of Docker installation.
- $PASSWORD is the password set in step 4 of Docker installation.
- Run the following command to make the specified directories world readable, writable and executable.
chmod -R a=rwx $DOCKER_PATH/wamp/drupal/files \
&& chmod a=rwx $DOCKER_PATH/wamp/drupal/tmp \
&& chmod a=rwx $DOCKER_PATH/wamp/drupal/sites/default/files
- Using a web browser of your choice, naviagate to the "install.php" path of your site URL to install Drupal (e.g.
http://localhost:8088/wamp/install.php). - Enable Clean URLs
- Navigate to Administer > Site configuration > Clean URLs
- Click on "Enabled" and save configuration.
- If prompted, click on "run the clean url test"
- Configure Drupal modules
- Navigate to Administer > Site building > Modules
- Enable the required Drupal modules
- Core - optional
- Profile
- Other
- Conditional Stylesheets
- Hovertip
- User interface
- jQuery Update
- WAMP
- WAMP
- WAMP Administration
- WAMP Essay
- Core - optional
- Configure upload directory
- Navigate to Administer > Site configuration > File system
- Change File system path to 'files'
- Configure Profile module
- Navigate to Administer > User Management > Profiles
- Add a single-line textfield
- Choose an appropriate category, e.g., 'Personal Information'
- Enter 'Name' as the Title.
- Enter 'profile_pers_name' as the Form name
- It is of paramount importance that the form name is entered, as is, without quotes.
- Configure user roles
- Navigate to Administer > User management > Roles
- Add a role: 'annotator'
- Configure user permissions
- Navigate to Administer > User management > Permissions
- Assign 'annotate any essay' permission in 'wamp_essay' module to the role 'annotator'
- Assign 'access wamp' permission in 'wamp' module to the role 'annotator'
- Configure WAMP
- Navigate to Administer > Site Configuration > WAMP
- Choose your operating mode as "Production"
- Testing mode activates firebug-lite and uses uncompressed javascript for annotator.
- Production mode disables firebug-lite and uses minified javascript.
In order to upload essays into the system, essays need to be in XML format (e.g. "sample.xml").
- Login as an administrator, navigate to Administer > WAMP > Administration, go to "Import" tab.
- Upload the XML file and click "Upload"
- For testing purpose, use the "sample.xml" inside the "wamp" folder.
- Go to "Administration" tab and under "Operations", click "Process"
- Under "Process Imported XML", untick "Test Run Only" and click "Process"
- The page returns a white page with "SimpleXMLElement Object ()", which is expected.
- Go back to the previous page, and if there is no warning, the essays have been successfully uploaded. Otherwise, the essays may not be uploaded.
- Login as an administrator, navigate to Administer > User management > Users, go to "Add user" tab.
- Enter the details, assign "annotator" role, and click "Create new account"
- Go to Administer > User management > Users, click "edit" on the newly created annotator account.
- Go to "Personal Information" tab, and enter the annotator's name.
- Login as an annotator, go to "View Essays" and click on "Annotate" to annotate the essay.
- Annotate the essay by highlighting the grammatical errors, assigning the appropriate error type, and proposing suitable corrections.
The code in this repository are licensed under the GNU General Public License Version 3 (see License). For commercial use of the source code of WAMP, separate commercial licensing is also available. Please contact Hwee Tou Ng (nght@comp.nus.edu.sg)