forked from bootstrapworld/wescheme
-
Notifications
You must be signed in to change notification settings - Fork 0
gregory-marton/wescheme2012
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
WeScheme is an online programming environment based on DrRacket and Scheme. Like DrRacket, it provides an interactive evaluator and an interface for editing and running programs. In contrast to DrRacket, WeScheme evaluates on the browser with JavaScript. Its main audience is the Bootstrap curriculum, a middle-school curriculum for teaching algebra through programming. This repo contains the source code of the WeScheme server. The official live server can be found at : http://www.wescheme.org/ The user-level documentation for the project is maintained in: https://github.com/dyoo/wescheme-docs ---------------------------------------------------------------------- Build dependencies: In order to build the server, the following tools are needed: - Python 2.X - Git - Java Development Kit - Racket - Apache Ant. All these should be accessible from $PATH. The tools assume a Unix-like environment to run shell commands, including 'unzip'. See the section below, if you're building the project on a Windows machine. Note: Do not use python 3.X: the build tools are only working on python 2.X. You will also need to make sure that the DEFAULT_ENCODING environment variable on your system is set to "UTF-8". On some systems, the build will fail if the appengine.xml settings differ from those of the environment. ---------------------------------------------------------------------- Installing WeScheme for local development 1. First, check out the WeScheme repository from Github. $ git clone git://github.com/bootstrapworld/wescheme2012 Don't forget: we're using git submodules, so also make sure to: $ git submodule init $ git submodule update to grab the external dependendies as well. As of this writing, the external dependency is CodeMirror. 2. You might also need to change wescheme.properties if you are doing any development on the android packager or compilation server. You probably don't need to touch this unless you really know what you're doing. 3. Run 'build-console-and-editor.rkt'. THIS STEP IS IMPORTANT! The script "build-console-and-editor.rkt" must be executed after any changes are made to the javascript source files in war-src/js. The webapp itself uses files in war, which are built by build-console-and-editor. Also, the builder also re-compresses JavaScript files (such as CodeMirror 2) with the Closure Compiler, so you must run this every time you change the JavaScript files. ---------------------------------------------------------------------- Running WeScheme locally: After running build-console-and-editor.rkt, use Apache Ant with the 'runserver' target. $ ant runserver This will bring up a locally-running Webserver running off port 8081. ---------------------------------------------------------------------- Hacking WeScheme: The directory structure of WeScheme is a fairly typical Java web app. Treat war as an output distribution directory. Do not try to modify files in there directly. Rather, the majority of the JavaScript files can be found in: war-src/js which are packaged up via Closure into single JavaScript files, one per application page. console: war/console.jsp, war/js/console-calc.js Implements the directory listing of a user's programs. openEditor: war/openEditor/index.jsp, war/js/openEditor-calc.js Implements main editor window; implements the main WeScheme interface (REPL, text editor) view: war/view.jsp, war/js/view-calc.js run: war/run.jsp Implements the viewing and running of programs outside of the editing environment. ---------------------------------------------------------------------- Building on a Windows Machine The build tools of this project requires a unix-like environment. The bash shell that is part of the standard installation of "GIT for Windows" will do perfectly. Get it here, if you don't have it yet. http://git-for-windows.github.io/ To install WeScheme, follow the instructions of the section "Installing WeScheme for local development" above, but before you execute the script 'build-console-and-editor.rkt', make sure that a softlink to your java.exe is defined the current directory. You can create such a link with the command: ln -s "C:\Program Files (x86)\Java\jdk1.7.0_79\bin\java.exe" java Note that the link must be named "java" and not "java.exe". ---------------------------------------------------------------------- The Selenium Test Suite. We use Selenium (http://seleniumhq.org) To use the suite: 1. Install firefox 2. Install selenium IDE @ http://seleniumhq.org/download/ 3. Open up firefox 4. To open selenium, in firefox go to Tools -> Selenium IDE 5. Visit the openEditor page of the wescheme instance in Firefox. 6. in the IDE, go to File -> Open Test Suite 7. Open "full-suite" in testing/ 8. Run with the green arrows in the Selenium IDE Note that the tests as currently written have not yet been coded to respect some of the delays introduced by asynchronous JavaScript, so many of the tests will fail unless the speed of the testing framework is set to slightly slower than the "Fast" speed.
About
wescheme
Resources
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- JavaScript 57.6%
- HTML 29.8%
- Java 8.0%
- Racket 2.5%
- CSS 2.1%
- Shell 0.0%