summaryrefslogtreecommitdiff
authorGiulio Cesare Solaroli <giulio.cesare@clipperz.com>2013-05-03 09:08:32 (UTC)
committer Giulio Cesare Solaroli <giulio.cesare@clipperz.com>2013-05-03 09:08:32 (UTC)
commited2375435d8a2bb5ae6185761619b49ea7f98778 (patch) (unidiff)
tree31baf4f56f0f254aad04e0730008b7d647ae8858
parent6336f032985eb14a21fd089d322002210095a0a7 (diff)
downloadclipperz-ed2375435d8a2bb5ae6185761619b49ea7f98778.zip
clipperz-ed2375435d8a2bb5ae6185761619b49ea7f98778.tar.gz
clipperz-ed2375435d8a2bb5ae6185761619b49ea7f98778.tar.bz2
Added instructions on how to do actual development, using the dev-proxy script
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--README.md26
1 files changed, 25 insertions, 1 deletions
diff --git a/README.md b/README.md
index aabb00e..b15887d 100644
--- a/README.md
+++ b/README.md
@@ -67,12 +67,36 @@ In order to build the deployable version, you need to invoke the following comma
67The output will be available in the `target` folder, with a separate folder for each backend (currently the available options are `php` and `python`). 67The output will be available in the `target` folder, with a separate folder for each backend (currently the available options are `php` and `python`).
68The script, invoked with these parameters, will build both the full version (`install` -> index.html) and the debug version (index_debug.html) of the specified frontends. 68The script, invoked with these parameters, will build both the full version (`install` -> index.html) and the debug version (index_debug.html) of the specified frontends.
69 69
70Besides PHP and Python, more backends are in the works, most notably a node.js version. 70Besides PHP and Python, more backends are in the works, most notably a node.js version.
71 71
72 72
73### Developing
74To support the development of the application, a few extra tools have been built, the most useful one being `dev-proxy`.
75This script, located in `scripts/dev-proxy`, is invoked without any parameters (to simplify daily usage) and all its configurations are hard coded into the actual code it executes: `scripts/proxy/main.py`.
76
77The aim of this proxy is to mask the actual location of frontend JS files from the actual backend handling requests.
78
79When executed, this script will start listening on localhost:8888.
80
81All 'backend' requests (whose path starts with either `/json` or `/dump`) will be forwarded to the actual backend, that is configured as a `ReverseProxyResource` (in the current code: `proxy.ReverseProxyResource('localhost', 8084, '/java-backend')`).
82All other requests (html files, Javascript code, CSS stylesheets and other resources) will be handled by reading the resource from the filesystem; the proxy is aware of the layout of the project, so it will be able to locate the right resource in the right place.
83
84The only file that needs to be `build`, and not read directly from the file system, is the `index.html` file.
85
86In order to build this file, the following command should be executed:
87
88 ./scripts/build --frontends beta gamma gamma.mobile --backends dev
89
90
91Once the index.html files have been built (one for each frontend) and a backend is running and has been correctly configured in the proxy script, it is possible to access the different versions of the application at the following URLs:
92 - `http://localhost:8888/beta/index.html`
93 - `http://localhost:8888/gamma/index.html`
94 - `http://localhost:8888/gamma/index.mobile.html`
95
96
73## Installing 97## Installing
74 98
75### PHP + MySQL backend 99### PHP + MySQL backend
76 100
77* **PHP** 101* **PHP**
78 Once the project has been successfully build, the application needs to be moved in a location where the web server can run it. Everything that is needed is located into `target/php`. 102 Once the project has been successfully build, the application needs to be moved in a location where the web server can run it. Everything that is needed is located into `target/php`.
@@ -84,10 +108,10 @@ Besides PHP and Python, more backends are in the works, most notably a node.js v
84 The POG interface will allow also a very basic access to the DB data that may be useful to check that the application is actually writing something on the DB (even if you will not be able to make much sense out of the data you will see, as they are all encrypted!) 108 The POG interface will allow also a very basic access to the DB data that may be useful to check that the application is actually writing something on the DB (even if you will not be able to make much sense out of the data you will see, as they are all encrypted!)
85 More information about building the PHP backend may be found in the `doc/install.php.txt` file. 109 More information about building the PHP backend may be found in the `doc/install.php.txt` file.
86 110
87 111
88## Disclaimer 112## Disclaimer
89 113
90The resulting application has not been fully tested, so there may be still problems due to the new build script or some other changes that were done due to the new repository structure. So, for the moment, **use it at your own risk!** 114This application has not been fully tested, so there may be still problems due to the new build script or to the new repository structure. So, for the moment, **use it at your own risk!**
91 115
92 116
93[pog]: http://www.phpobjectgenerator.com/ \ No newline at end of file 117[pog]: http://www.phpobjectgenerator.com/ \ No newline at end of file