Commit Graph
100 Commits
Author SHA1 Message Date
hallgren 9c8fbd74fe gfse: fix an issue with Webkit browers
For lin and lincats with empty RHSs, there was nothing to point to to make the
edit button (the "%" button) appear in browsers based on Webkit
(Safari, Chrome).
2011-08-17 15:41:57 +00:00
hallgren 4cad2daa29 minibar: adding pgf_offline.js
This file exports the same PGF runtime interface as pgf_online.js but calls
the hs2js translation of the PGF runtime library (which is not included
in darcs).
2011-08-16 16:29:51 +00:00
hallgren 065178a64d gf.cabal: bump version to 3.2.8-darcs
This is just to make it easier to tell who has the latest version at the 
summer school. There has been some bug fixes in gf itself and some significant
additions to the RGL since 3.2 was released.

Also explicitly require Alex 2.x. The recently released Alex 3.0 has backwards
incompatible changes and does not work. GF/Grammar/Lexer.x should probably
be modified to support both Alex 2.x and Alex 3.0...
2011-08-12 14:02:24 +00:00
hallgren b2512234dd minibar: documentation and API work 2011-08-11 16:28:49 +00:00
hallgren 19d84b6de0 minibar: some functions were in the wrong file 2011-08-11 14:56:34 +00:00
hallgren 91cc4de1a2 minibar: more documentation (in minibar-api.html) 2011-08-09 15:57:40 +00:00
hallgren d4638f54ba minibar: refactoring for improved modularity
Two smaller objects have been factored out from the Minibar object:
Input and Translations. These have been placed in two separate files:
minibar_input.js and minibar_translations.js. Some common auxiliary functions
have also been moved to a separate file: minibar_support.js
2011-08-08 17:28:24 +00:00
hallgren e50731c511 minibar: resolve conflict 2011-08-08 14:08:55 +00:00
hallgren ab8ec58e08 minibar: improve pgf_online.js
pgf_online.js has been simplified and generalized to support the full
GF Web Service API. The changes are backwards incompatible, unfortunately.
The documentation and minibar.js have been updated accordingly.
2011-08-03 15:21:38 +00:00
hallgren a0ec59ccda minibar: small code and documentation tweaks 2011-08-03 14:24:47 +00:00
hallgren 8cf7671e07 gfse: added links to download PGF files for user's grammars 2011-08-01 15:01:14 +00:00
hallgren a918bcaf68 gfse: add missing file share.html to darcs
Also fix bug in share.html by adding cloud.js to the list of loaded JavaScript
files.
2011-08-01 14:27:29 +00:00
hallgren b58fc79908 gfse: some correctness checks for concrete syntax
The editor now calls the GF server to check the syntax of expressions that
are part of concrete syntax (except for parameter types).
This is currently done by using the cc command of the GF shell, which puts
some unnecessary restricitons on operation definitions...
2011-07-29 15:44:19 +00:00
hallgren 7c6f6110eb gfse: refactoring
Factor out functions that interface to the old cloud service (upload.cgi) 
from editor.js into cloud.js. Merge changes from editor2.js into editor.js and
factor out functions that interface to gf -server into clouds2.js.
2011-07-29 13:45:37 +00:00
hallgren 9d547fbdca gfse: about: added a note that each grammar has a unique identity independent of its name 2011-07-26 15:03:33 +00:00
hallgren 0f7743992b gfse: various small improvements 2011-07-25 19:21:46 +00:00
hallgren 6c751da6e8 gfse: new section "Grammars in the cloud" in about.html 2011-07-07 16:59:37 +00:00
hallgren c4f1fbbc9a gfse: grammars in the cloud, still primitve, but good enough to be installed on the server, I think 2011-07-07 16:57:59 +00:00
hallgren c7fffd861b gfse: grammars in the cloud, work in progress
Cloud merging: when sharing grammars between two devices that previously each
had separate grammar directoies on the server, clean up one of the directories
and make it a symbolic link to the other.
2011-07-07 13:30:56 +00:00
hallgren db4753aa2d gfse: grammars in the cloud, work in progress 2011-07-06 16:55:42 +00:00
hallgren 25ae9b2dc4 gfse: initial support for grammars in the cloud
This lets the user access the same set of grammars from multiple devices.

Sharing grammars between multiple users is possible but discouraged at the
moment. There is no version handling, so concurrent editing of the same grammar
by different users might result in one user overwriting changes made by
another user. (The same goes for cuncurrent editing on multiple devices by
a single user, of course.)
2011-06-08 15:29:50 +00:00
hallgren 49c27436f5 minibar support.js: add function ajax_http_post for posting FormData 2011-06-21 16:10:44 +00:00
hallgren e1385da050 gf-server: make pgf-service work the Apache mod_fastcgi
pgf-service now appears to works with Apache mod_fastcgi (under Mac OS X) in
addition to lighttpd.

One difference appears to be that while lighttpd passes the name of the PGF
file in the SCRIPT_FILENAME variable, Apache passes it in PATH_TRANSLATED.
But perhaps this depends on exactly how the fastcgi service is configured.
The following is what I added to the Apache configuration file to test this:

	<Directory /Library/WebServer/Documents/fcgi-bin>
	  SetHandler fastcgi-script
	  Options +ExecCGI
	</Directory>
	Action pgf-service /fcgi-bin/pgf-service
	AddHandler pgf-service .pgf
2011-06-21 15:49:31 +00:00
hallgren 549cc324d7 gf-server: enable -rtsopts when compiling with ghc>=7.0 2011-06-21 15:45:13 +00:00
hallgren 739e4caef3 gf-server.cabal: a separate flag for the content service
* Use cabal install -ffastcgi to compile the fastcgi server.
  * Use cabal install -fcontent to compile the content service (off by default,
    currently broken)
  * Use both flag to compile both.
2011-06-21 15:38:57 +00:00
hallgren 55a20c6d05 gfse: fix a problem in browsers where "class" is a reserved keyword 2011-05-07 17:36:49 +00:00
hallgren c207175e98 gfse: you can now add concrete syntax for arbitrary languages
Before, you had to pick a language from a list of supported languages, but now
you can also pick Other and change the language code afterwards.
2011-05-06 15:24:45 +00:00
hallgren fd0fb48493 Ctrl-C shouldn't terminate the GF shell
This quick fix should make Ctrl-C in the GF shell behave more like it does in
other shells: even if no command is running, Ctrl-C now just gives you a new
prompt instead of terminating the shell.
2011-04-20 14:30:49 +00:00
hallgren a53558aac0 GFI.hs: some refactoring for readability
Also some minor changes in how Ctrl-C is handled and how CPU time is measured.
2011-04-15 15:05:44 +00:00
hallgren 99388d116d gfse: use "gf -server" mode instead of upload.cgi
Work in progress on making the online grammar editor use the new "gf -server"
mode instead of the old upload.cgi script. A first benefit is that the
editor now calls the server to check the syntax of lin & lincat definitions.
(But the links to minibar/gfshell/quiz are not available at the moment.)
2011-04-13 15:30:42 +00:00
hallgren 0a27aaf1e6 Added a preliminary "gf -server" mode.
The command "gf -server" now starts a simple HTTP server on port 41295,
providing a simple web API to the GF compiler. It currently support the
follwing operations:

  * creating new temporary directories for grammar uploads,
  * uploading grammars files for use in the GF shell,
  * executing GF shell commands, and
  * accessing static files.

This means that GF now depends on some additional networking related packages,
but they should be available and easy to install on all platforms. There is
also a new configuration flag "server" in gf.cabal, so GF will be compiled
without support for server mode if the extra packages are unavailable.

Note that running gf -server while connected to the internet can be a security
risk. To prevent unauthorized access to the rest of the system, it is
advisable to run the server in GF_RESTRICTED mode and as a user with suitably
restricted file permissions.
2011-04-13 14:58:01 +00:00
hallgren 8fed629a3e Show configuration options as part of build info
The GF shell welcome message will now include something like

	This is GF version 3.2.1-darcs. 
	Built on darwin/i386 with ghc-7.0, flags: interrupt

where a list of enabled configuration flags are included on the last line.

This is implemented in GF.Infra.BuildInfo by consulting the CPP macros
defined by the respective option in gf.cabal. For this to work,
GF.Infra.BuildInfo obviously has to be updated when new flags are added to
gf.cabal or if the CPP macros are renamed.

(Also, I suspect that if you reconfigure with different flags and rebuild GF
without cleaning first, the BuildInfo module will not be recompiled,
resulting in a misleading welcome message...)
2011-04-13 14:45:21 +00:00
hallgren d066619b8f GF.Infra.UseIO: add functions readBinaryFile & writeBinaryFile 2011-04-13 14:44:18 +00:00
hallgren 6b8fa745e2 minibar: fix typo 2011-04-11 13:03:46 +00:00
hallgren ca335793de minibar: small documentation updates and corrections 2011-04-11 13:00:52 +00:00
hallgren 4d4a58e54a GF shell restricted mode: found one more writeFile that should be restricted 2011-04-08 13:20:50 +00:00
hallgren 00a08fb4fb avoid warning from ghc-7.0
Warning: -fglasgow-exts is deprecated: Use individual extensions instead
2011-04-06 13:57:19 +00:00
hallgren b4e3e8c0fa avoid warning from ghc-7.0
Warning: -fglasgow-exts is deprecated: Use individual extensions instead
2011-04-06 13:43:29 +00:00
hallgren b1c2c27ae6 GFI.hs: refactoring to add a function for executing a single GF shell command.
The intention is to use the new function to implement a web service API to
the GF shell.
2011-04-04 20:06:55 +00:00
hallgren 1b08ca8a61 Add build info to the GF shell welcome message 2011-04-04 19:52:07 +00:00
hallgren d1b95cef99 gfse: somewhat simplified configuration/installation 2011-03-28 15:04:43 +00:00
hallgren 06a29cb573 gfse: added an alternate style sheet with the MOLTO color scheme 2011-03-28 14:46:15 +00:00
hallgren 17f3b456ce minibar: don't force focus to the typed input field after every word
On touch-based devices, the on-screen keyboard kept popping up after every word,
which was very annoying if you were entering a sentence by tapping on the
magnets.
2011-03-22 15:17:48 +00:00
hallgren 5c7ebcc511 minibar: add trailing slash in suggested grammar URLs 2011-03-22 15:12:54 +00:00
hallgren b9bfb3ccec gfse: documentation fixes, links to MOLTO meeting slides and compiler API document 2011-03-09 11:11:47 +00:00
hallgren 62c85f1bb6 gfse: create a new concrete syntax by copying an existing one
When adding a new concrete syntax to a grammar, the currently open concrete
syntax will be copied. If the abstract syntax is currently open, the new
concrete syntax will start out empty.
2011-03-07 17:52:15 +00:00
hallgren cfb5f6eb7e gfse: link back to the editor from the upload page 2011-03-07 16:05:55 +00:00
hallgren 629919667b gfse: minor layout/formatting variation 2011-03-06 10:19:17 +00:00
hallgren 914ee33396 minibar: add icon for word alignment button 2011-03-03 19:19:47 +00:00
hallgren 527e000a12 minibar: add a button to display word alignment 2011-03-03 19:18:09 +00:00
hallgren 2c1feccd17 GF shell restricted mode
By setting the environment variable GF_RESTRICTED before starting GF, the shell
will be run in restricted mode. This will prevent the GF shell from starting
arbitrary system commands (most uses of System.Cmd.system are blocked) and
writing arbitrary files (most commands that use writeFile et al are blocked).

Restricted mode is intended minimize the potential security risks involved
in allowing public access to the GF shell over the internet. It should be used
in conjuction with system level protection mechanisms (e.g. file permissions)
to make sure that a publicly acessible GF shell does not give access to parts
of the system that should not be publicly accessible.
2011-03-03 15:42:57 +00:00
hallgren b190d30fad gf.cabal: bump version number, add source repository info
I changed the version number to 3.2.1-darcs.
I think the version number of the current version from darcs should always
include the "-darcs" suffix (or "-current" perhaps?). The suffix should be
removed only momentarily when making an official release.
2011-03-03 15:24:43 +00:00
hallgren 45b59b0e7e minibar/support.js: recognize relative URLs as locations on the same server
This means that the relative grammar directory location in the default
configuration will result in AJAX requests rather than the less efficient
JSONP requests.
2011-03-01 14:47:20 +00:00
hallgren a01704fd3e minibar: make the feedback form work in the generic minibar
It is still disabled by default, since some manual configuraiton of
feedback.cgi is required.
2011-03-01 13:46:00 +00:00
hallgren 758e2a031d gfse: fix missing startcat flag bug + documentation updates 2011-02-28 16:47:25 +00:00
hallgren 790e086a54 gfse: fix persmission problem in upload.cgi 2011-02-28 15:46:42 +00:00
hallgren a4c82e51a0 gfse: include a -path flag to find rgl modules 2011-02-28 15:45:55 +00:00
hallgren 1cae23fce7 gfse: support for opening RGL modules 2011-02-28 14:18:20 +00:00
hallgren a9287e83af gfse: minor documentation and style improvements 2011-02-28 12:41:05 +00:00
hallgren 8b76047cda gfse: allow definitions to be reordered by drad-and-drop 2011-02-22 16:04:49 +00:00
hallgren 27f4ad15e3 gfse: fix typos 2011-02-18 14:51:06 +00:00
hallgren a74a0ae980 gfse: document that grammars can be uploaded and tested in the GF shell, the minibar and the translation quiz 2011-02-18 14:47:20 +00:00
hallgren e0030daaa7 gfse: updated screen shots 2011-02-18 14:46:18 +00:00
hallgren 173a5e3db2 gfse: support for linking to the translation quiz 2011-02-18 11:44:05 +00:00
hallgren 8dd2a1ddc0 gfse: some small fixes
+ 'make install' to copy all required files to the server
+ configuration options and error checks in upload.cgi
2011-02-17 17:35:22 +00:00
hallgren c1f0d57210 Adding the prototype GF editor for simple multilingual grammars 2011-02-17 14:43:41 +00:00
hallgren 41d37dd353 Adding the prototype GF editor for simple multilingual grammars 2011-02-17 14:42:16 +00:00
hallgren cc2f9d012c Adding the prototype GF editor for simple multilingual grammars 2011-02-17 14:38:46 +00:00
hallgren eb21e14991 minibar: a small change to make easy to select an alternate grammar directory 2011-01-27 22:23:15 +00:00
hallgren 76736a6662 Translation Quiz: fix for race condition on page load 2011-01-26 16:21:23 +00:00
hallgren 62d1ea5a34 Translation quiz: improvements from Elnaz 2011-01-25 11:58:49 +00:00
hallgren 5d2b203901 New item. GF is part of the CLT Toolkit 2011-01-22 14:26:15 +00:00
hallgren 991a433b17 Fix broken links in GF Quick Reference 2011-01-22 14:14:00 +00:00
hallgren 4fda9b5b63 News: Phrasedroid on the Android Market 2011-01-18 13:13:02 +00:00
hallgren e3d390d81d style.css: remove border from linked GF logotypes 2011-01-18 12:59:55 +00:00
hallgren f8eed920ff Release notes: added a link to documentation of the bracketed string data structure 2011-01-12 13:01:23 +00:00
hallgren 11d6326fae minibar: update my home page link (cs->cse) 2011-01-11 13:18:19 +00:00
hallgren 5d8d1999d8 The name of the fastcgi executable has changed back to pgf-service 2011-01-09 15:32:17 +00:00
hallgren a985ea56ef Download page: some more details on how to install the from darcs repository 2011-01-03 14:42:11 +00:00
hallgren aa290678d6 Download page: add .deb package for easy installation in Ubuntu 2011-01-03 14:41:27 +00:00
hallgren 3f34dee15b Fix to compile GF with GHC>=7.0 2010-12-28 13:54:18 +00:00
hallgren 55c2b7a083 Switch over start page and download page to version 3.2! 2010-12-23 20:35:36 +00:00
hallgren ac6a3eace9 Somewhat better release notes, but more things could be added and some thing could be explained better. 2010-12-23 19:57:41 +00:00
hallgren 345d737e63 download: add 64-bit Linux version + more details in the instructions for building from source 2010-12-23 17:03:40 +00:00
hallgren 730bfd6c11 gf-server.cabal: changes to stop cabal from demanding hsql even when content-server is not going to be built 2010-12-23 17:02:13 +00:00
hallgren bbc90b70f8 Got release not from Olga's notes. They need to be fleshed out, though. 2010-12-23 15:12:31 +00:00
hallgren 37dc9fac42 build-binary-dsit.sh: make paths relative to /usr/local in the final tar file. 2010-12-23 12:40:04 +00:00
hallgren 231ce72bb4 Use i386 rather than i486 in binary package names 2010-12-23 12:18:11 +00:00
hallgren bde22eadb5 Include Urd in the default set of languages to compile 2010-12-23 11:44:40 +00:00
hallgren 46ac2b60e7 Update version number to 3.2.
Code freeze for generation of binary distribution packages is imminent.
2010-12-23 11:26:33 +00:00
hallgren 9a8c660f5e Add release notes file download/release-3.2.t2t. Someone should fill it in. 2010-12-23 11:21:19 +00:00
hallgren 96c1a86e75 Apply stylesheet to GF quickstart 2010-12-23 10:32:39 +00:00
hallgren 0b4aad88f6 Setup.hs: build both alltenses and present by default
Now you can specify more than one mode when building and installing the RGL.
For example to build all modes, run

        runhaskell Setup.hs build alltenses present minimal

The default is to build alltenses and present, which means that a single
command,

        cabal install

is enough to obtain a normal installation of GF. Without this change, additional
build and install commands would be required before you can compile example
grammars, like Foods and Phrasebook.

The build-binary-dist.sh script has been simplified accordingly.
2010-12-22 21:18:47 +00:00
hallgren 40b84d25e3 Documentation fixes
+ Rename some txt2tags file from .txt to .t2t and remove abandoned .txt files.
+ Add program update_html that finds all .t2t documents and updates the
  corresponding .html file. It can be invoked with 'make html'.
+ Add style to some .html documents
2010-12-22 16:57:53 +00:00
hallgren 59b36e0e4a PGF web service: make the generated index.html for pgf-http a bit more informative 2010-12-22 15:06:02 +00:00
hallgren 6eb3d8ae9c gf-server.cabal: update description of fastcgi flag 2010-12-22 15:05:10 +00:00
hallgren ee018154c8 gf-server.cabal: make hsql-mysql optional like fastcgi
content-service depends on hsql-mysql, which depends on a C library, so like
fastcgi, only compile it if you ask for it explicitly with -ffastcgi.
2010-12-22 14:59:49 +00:00
hallgren 5b68ac537f gf-server.cabal: Change the default for the flag fastcgi to False
If you want the fastcgi server, use cabal install -ffastcgi.

This is to avoid problems when you only want to compile pgf-http and the
fastcgi library fails to install, which it usually does, since it depends on
a C library which is not installed automatically with cabal.
2010-12-22 14:49:17 +00:00
hallgren 505d99ec37 PGF web service: Use Content-Type text/javascript from JSON output
The Content-Type used to be text/json, but this caused warning messages in
some web browers.
2010-12-22 14:47:35 +00:00
hallgren 4bab82398c Add build-binary-dist.sh 2010-12-21 22:18:48 +00:00