|
diff --git a/README.md b/README.md index b15887d..e44df48 100644 --- a/ README.md+++ b/ README.md |
|
@@ -60,58 +60,59 @@ Please [download][CA] and review the Contributor Agreement for a complete unders |
60 | ## Building |
60 | ## Building |
61 | In order to build the deployable version, you need to invoke the following command: |
61 | In order to build the deployable version, you need to invoke the following command: |
62 | |
62 | |
63 | git clone git@github.com:clipperz/password-manager.git |
63 | git clone git@github.com:clipperz/password-manager.git |
64 | cd password-manager |
64 | cd password-manager |
65 | ./scripts/build install --backends php python --frontends beta gamma |
65 | ./scripts/build install --backends php python --frontends beta gamma |
66 | |
66 | |
67 | The output will be available in the `target` folder, with a separate folder for each backend (currently the available options are `php` and `python`). |
67 | The output will be available in the `target` folder, with a separate folder for each backend (currently the available options are `php` and `python`). |
68 | The 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. |
68 | The 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 | |
70 | Besides PHP and Python, more backends are in the works, most notably a node.js version. |
70 | Besides PHP and Python, more backends are in the works, most notably a node.js version. |
71 | |
71 | |
72 | |
72 | |
73 | ### Developing |
73 | ### Developing |
74 | To support the development of the application, a few extra tools have been built, the most useful one being `dev-proxy`. |
74 | To support the development of the application, a few extra tools have been built, the most useful one being `dev-proxy`. |
75 | This 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`. |
75 | This 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 | |
76 | |
77 | The aim of this proxy is to mask the actual location of frontend JS files from the actual backend handling requests. |
77 | The aim of this proxy is to mask the actual location of frontend JS files from the actual backend handling requests. |
78 | |
78 | |
79 | When executed, this script will start listening on localhost:8888. |
79 | When executed, this script will start listening on localhost:8888. |
80 | |
80 | |
81 | All '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')`). |
81 | All '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')`). |
82 | All 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. |
82 | All 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 | |
83 | |
84 | The only file that needs to be `build`, and not read directly from the file system, is the `index.html` file. |
84 | The only file that needs to be `build`, and not read directly from the file system, is the `index.html` file. |
85 | |
85 | |
86 | In order to build this file, the following command should be executed: |
86 | In order to build this file, the following command should be executed: |
87 | |
87 | |
88 | ./scripts/build --frontends beta gamma gamma.mobile --backends dev |
88 | ./scripts/build --frontends beta gamma gamma.mobile --backends dev |
89 | |
89 | |
90 | |
90 | |
91 | Once 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: |
91 | Once 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` |
92 | |
93 | - `http://localhost:8888/gamma/index.html` |
93 | - `http://localhost:8888/beta/index.html` |
94 | - `http://localhost:8888/gamma/index.mobile.html` |
94 | - `http://localhost:8888/gamma/index.html` |
| |
95 | - `http://localhost:8888/gamma/index.mobile.html` |
95 | |
96 | |
96 | |
97 | |
97 | ## Installing |
98 | ## Installing |
98 | |
99 | |
99 | ### PHP + MySQL backend |
100 | ### PHP + MySQL backend |
100 | |
101 | |
101 | * **PHP** |
102 | * **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`. |
103 | 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`. |
103 | |
104 | |
104 | * **MySQL** |
105 | * **MySQL** |
105 | The application needs a simple MySQL database; to configure all the credentials to access the previously allocated DB, edit the file found in `php/configuration.php`. You need to edit the file actually used by the web server; this will usually be the one moved into the right place in the previous step. |
106 | The application needs a simple MySQL database; to configure all the credentials to access the previously allocated DB, edit the file found in `php/configuration.php`. You need to edit the file actually used by the web server; this will usually be the one moved into the right place in the previous step. |
106 | Once the application is in place, and the DB credentials have been configured, you should initialize the DB itself; in order to do so, just point your browser at the following url: `http://<host>/<path>/php/setup/index.php`. |
107 | Once the application is in place, and the DB credentials have been configured, you should initialize the DB itself; in order to do so, just point your browser at the following url: `http://<host>/<path>/php/setup/index.php`. |
107 | Here you will find the standard [POG][pog] setup page: it should be enough to click the "POG me up!" button at the bottom of the page, and then the "Process" button on the next page. |
108 | Here you will find the standard [POG][pog] setup page: it should be enough to click the "POG me up!" button at the bottom of the page, and then the "Process" button on the next page. |
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!) |
109 | 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!) |
109 | More information about building the PHP backend may be found in the `doc/install.php.txt` file. |
110 | More information about building the PHP backend may be found in the `doc/install.php.txt` file. |
110 | |
111 | |
111 | |
112 | |
112 | ## Disclaimer |
113 | ## Disclaimer |
113 | |
114 | |
114 | This 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!** |
115 | This 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!** |
115 | |
116 | |
116 | |
117 | |
117 | [pog]: http://www.phpobjectgenerator.com/
\ No newline at end of file |
118 | [pog]: http://www.phpobjectgenerator.com/
\ No newline at end of file |
|