November 09 2014

Using the HTML5 version of the Interactive Applet in Crossword-Compiler



The old Java-based interactive Applet is generally considered unsafe and results in many security warnings from the major browsers and it requires quite advanced IT skills from the user to circumvent these security warnings.

It is recommended to use the HTML5 / JavaScript version instead which has no known security issues.

How to Use the HTML5 Applet

As it stands, the HTML5 version of the interactive applet which is part of the Crossword-Compiler 9 package does not work correctly when you wish to install a puzzle on your own Web-Page.

In particular, it does not correctly remember your previous work on a puzzle if you leave the page and it does not provide a means of submitting the user's answers to the author.

I have modified the code and procedures to fix these short-comings.

Once you have created a puzzle, with say the name of, say, "My Crossword 1" and you wish to host it on your Web-Page, proceed as follows.


For the purposes of this description, the folder containing all crosswords is /crosswords.


Setting up Crossword-Compiler

Create a new Template file by making a copy of current default.html templatefile in

c:\users\username\AppData\Roaming\Crossword-Compiler 9\Templates\Java

with a suitable new name (eg. MyDefault.html) in the same folder.

This is where the list of available templates are kept.


Setting up the Crossword for Web Publication

Specify solution submission options in the "Puzzle Information" section as follows

File / Information/Puzzle info

Enter appropriate information under Title, Author etc.

File / Information/Metadata

Use the Custom fields and create fields called email and prizedate which you will use to control what happens when a user completes the solution and submits his solution.

To allow the user to send an email with his solution to the author, simply put the author's email address into the email field.

If you do not include your email address then comments and email submission will be disabled but the solver will still receive an automatic marking of his solution.

If it is a prize puzzle and you do not wish the user to get the automatic marking until after the closing date, just enter the closing date (format yyyy-mm-dd) into the prizedate field.

Export Interactive Puzzle

File / Web Export / Export to Files..

Select "MyDefault" from the list under "HTML Template".

Ensure "HTML5" and "Save" Button are checked and "Submit" Button is NOT checked.

Any other buttons you use normally should be OK.

I just use "Interactive Clues" and "PDF".

Do NOT check "Also export .xml file"


Applet Options

Click the "Applet Options" button.

Display Tab

Select "Right of Grid", "Sans Serif", "Button Below" and "Numbers visible in grid".

URLs Tab

Under Save URL, enter "save.php?prog=%PROGRESS%";

Check "Use human-readable submit format"

Buttons Tab

Change the "Save" button label to "Save or Submit".

Actions Tab

Select "Show Completion message..." with the text "Done" - This replaces the default long and verbose message with a more appropriate short one. Any other options as you prefer.

Title and Copyright Tab

Title = %TITLE%

Copyright as you wish.


Click [OK], [ Save Options as Default] and [ Save Options in Template].


Click [Export web page..] and save in /crosswords folder.


Return to the main Crossword-Compiler window (successive [Close]).

Create the XML version of the puzzle (File / Export / "XML puzzle"/ Export File..) and save the file in the folder "crosswords/xmls". Do NOT use the alternative production of the XML along with the "Export web page procedure", the file name will not be the same.

Note that folder names are lower-case.



Internet Installation

Copy the following puzzle-related files into /crosswords on your website





My Crossword 1.xml into /crosswords/xmls


Copy the following additional files into /crosswords on your website










Explanation of the above files


This script file is initiated with a link such as

<a href=myshowpuz.php?param=puzzlefilenamebase
>Puzzle Title/a>

where puzzlefilenamebase is the base name (excluding file extension) of the files that Crossword-Compiler creates with extensions such as ".html", ".pdf" and ".js". It also replaces spaces in the puzzle title with underscore characters.


This script displays the puzzle selected, including any partial or complete solution that has been entered previously for this puzzle on this computer. It does this by maintaining COOKIES for all puzzles recently attempted using this computer.


If you wish to use a list of all puzzles in the crosswords folder, the file "index.html" generates such a list automatically in this form. See



This is a short script which, depending on whether a full solution has been supplied,


calls the script "partial.php" to show an informative message giving the solver the option of continuing to solve the puzzle or to return to the list of puzzles available;


calls the script "submit.php" which provides an additional option to submit the (complete) solution for marking and, if appropriate, emailing the solution submitted to the author.



This script handles the solver's inputting of his name, email address and comments.

It checks the validity of the input data and initiates the processes of automatic "marking" of the solver's solution and sending his solution to the author by email via the script "solsubmit.php"



This script sends an email to the author containing the solver's submission and comments, an "acceptance" email from the author to the solver, and produces a web-page with full details of an automatic assessment of the submitted solution, including explanations for all clues the solver got correct. Incorrectly answered clues are not explained.


This script produces a simple list of crosswords that are available in the crosswords/ folder which can be used as the central "dashboard" of the system. It identifies all html files in the folder which are Crossword-Compiler puzzles, extracts each Puzzle Title from the html files and presents them as a list of links to be clicked.

You will wish to edit this file (use any text editor such as Notepad) to personalise the display



See the above explanation under save.php.