Rename (or make a copy of) the "handin-client" collection directory. The new name should describe your class uniquely. For example, "uu-cs1410" is a good name for CS 1410 at the University of Utah.
- Edit the first three definitions of "info.rkt" in your renamed client collection:
For name, choose a name for the handin tool as it will appear in DrRacket’s interface (e.g., the XXX for the Manage XXX Handin Account... menu item). Again, make the name specific to the course, in case a student installs multiple handin tools. Do not use Handin as the last part of the name, since Handin is always added for button and menu names.
Uncomment the definitions of drracket-tools, drracket-tool-names, and drracket-tool-icons. (But leave the latter field’s definition as "icon.png".)
For server:port, uncomment the line, and use the hostname and port where the server will be running to accept handin submissions.
Optionally uncomment and edit the next two definitions, web-menu-name and web-address, to add an item to the Help menu that opens a (course-specific) web page.
Replace "icon.png" in your renamed directory with a new 32x32 icon. This icon is displayed on startup with DrRacket’s splash screen, and it is included at half size on the Handin button. A school logo is typically useful, as it provides a recognizably local visual cue. If students might use multiple installed handin tools, then make sure to vary the icon according to the course.
Replace "server-cert.pem" in your renamed directory with a server certificate, or delete "server-cert.pem" to rely on a certificate chain. The file "server-cert.pem" in "handin-client" collection is ok for testing, but the point of this certificate is to make handins secure, so you should either delete it or generate a new (self-certifying) certificate and keep its key private. (See Server Setup.)
To create an installable package, follow the process described in Creating Packages. Note that your copy of the "handin-client" directory is a collection directory, so it will go inside another directory that represents your package. Usually, both directory layers are called ‹name› for some ‹name› of your choice.
- To create an installable ".plt" file instead of a package, first arrange for your copy of the "handin-client" directory to be an installed collection. You can do that via raco link (see raco link: Library Collection Links), by by making sure that the copy is in the same place the original client directory was (see Where is the Collection?) or by specifying a value for the PLTCOLLECTS environment variable. For example, if your customized collection directory is located within "/home/joe", then you can prefix the command below withPLTCOLLECTS=/home/joe:(and don’t forget the colon at the end of the PLTCOLLECTS value; it is important!)With your copy of "handin-client" called ‹name› in place as a collection, runraco pack --collect --at-plt ++setup ‹name› ‹name›.plt ‹name›You can also add a --replace flag to make the installation of the resulting file replace existing files (useful for creating an update package).
Note that if you create an updated copy of the client package (that is, students already have an older version installed), then you should use the --replace to indicate that the package should replace existing files instead of throwing an error.
Distribute either your package ‹name› or the "‹name›.plt" archive to students for installation into their copies of DrRacket. The students need not have access to the DrRacket installation directory; the tool will be installed on the filesystem in the student’s personal space. If you want to install it once on a shared installation, use raco setup with the --all-users flag.