| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
The Guardian website frontend.
This applies to all requests on www.theguardian.com and api.nextgen.guardianapps.co.uk (our Ajax URL)
Frontend is a set of Play Framework 2 Scala applications.
You need 2 files on your machine.
The first file is called /etc/gu/install_vars and has the following contents...
STAGE=DEV
The second file is called [YOUR_HOME_DIR]/.gu/frontend.properties and you can get its contents from a shared document. Ask your team mates to share it with you. If it has already been shared with you just search for "frontend.properties" in your documents.
You can run the project with the supplied Vagrantfile - make sure you understand what vagrant is http://www.vagrantup.com/
Sometimes when you install npm it ends up owned by root (but in your home directory).
Check that you own your own .npm directory ls -ld ~/.npm
If it is owned by root then take ownership of it sudo chown -R username:username ~/.npm
On Linux machines you may run into a "too many files open" error during compilation or reloading. You can find out how many file handles you are allowed per process by running ulimit -n. This can be quite low, e.g. 1024
To increase the limit do the following (instructions from Ubuntu 12.10)...
In the file /etc/security/limits.conf add the following two lines
* soft nofile 20000 * hard nofile 65000
And in the file /etc/pam.d/common-session add the following line.
session required pam_limits.so
Restart the machine.
For more info see http://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/
Assuming you have checked out this project, open a console and change directory into the root of the project.
Frontend is built in two parts, using Grunt for the client side asset build and SBT for the Play Framework backend. Neither of these tools are much use for building the other half of the project and coupling them together with an integration is one of those bad ideas that is even worse than it sounds.
Start the Grunt build and watch for development changes:
./grunt watch
In another console, start Simple Build Tool (sbt) by running ./sbt. It may take a while to start the first time. Once SBT is running, switch project by typing project dev-build. Then compile and run the project locally by typing run. This also can take a while first time.
Now test you are up and running by hitting the following URLs:
Play Framework will recompile code changes on refresh.
To create project files for use in IntelliJ, run the idea task from the root SBT project. see https://github.com/mpeltonen/sbt-idea
Further information on using the Play console is available here.
The available endpoints are listed in conf/routes of each application and typically include:
Deployment uses the Magenta library.
You can debug your local Frontend application, by attaching a debugger.
Any IDE debugger should be compatible. In IntelliJ, add a new Debug Configuration, based on the Remote default. Ensure the Transport is Socket, the Debugger mode is Attach, and the port is set to 1044. Start a new Debug session, and your breakpoints should be active.
Further documentation notes and useful items can be found in docs.
| Back | FazBrowse Home | New Git URL |