Git Product home page Git Product logo

tagmanager's Introduction

Tag Manager

Tags are great, they are literally the best way we have of indicating what a piece of content is, what it’s about and where it came from. We use tags to generate navigation on theguardian.com and provide pages and pages of links to interesting content. Tags can be mapped which allows them to magically show rich contextual information from external systems on relevant pages. Everyone loves tags.

The tag manager allows the tags to be ... er ... managed

Useful Links

Running

Before you run for the first time you will need to run ./scripts/setup.sh this will install and compile all the frontend dependencies needed for the app (you may need to install npm before you can run this successfully). If any frontend dependencies are changed you should re run the setup script.

N.B. If you encounter errors during setup when installing npm packages (particularly node-sass), use nvm to install and use node v6.14.3

The Nginx setup uses the dev-nginx tool. After running this the tag manager will be available on https://tagmanager.local.dev-gutools.co.uk

To read the database and interact with the AWS infrastructure you will need AWS credentials that allow you access to the Composer account available to the default credentials provider chain. The easiest way to configure this is to obtain the credentials via janus and export the credentials to your shell using the handy script provided by janus.

Tag Manager also makes requests to CAPI preview. This means you will also need CAPI credentials from janus (with 'API Gateway invocation' permission).

If you are working on the commercial tag functionality and need to be able to upload logos you will also need AWS credentials for the frontend aws account available as an AWS profile named "frontend". This can also be obtained via janus.

The tag manager is a standard play app, fire up sbt and run.

By default if you change any frontend code, you will need to recompile the assets using ./scripts/setup.sh but there are alternatives:

Client Side Development

We use webpack to compile the assets for this project. You have the option to run ./scripts/setup.sh after each change as mentioned above, or alternatively you can choose to use one of the alternative startup scripts provided

  1. ./scripts/start.sh This starts a webpack watcher in addition to running the application - The watcher will compile unminified code when it detects a change to the javascript. Refresh the webpage to see the new code.
  2. ./scripts/client-dev.sh This scripts starts a webpack-dev-server alongside the application which provides Hot Reloading. Changes you make to code should be immediately visible in the browser

Developing

The backend code used the standard scala play layout.

The frontend components live in the public directory in root. Css is compiled from sass file in the style directory.

tagmanager's People

Contributors

steppenwells avatar itsibitzi avatar hmgibson23 avatar rhystmills avatar twrichards avatar jharewinton avatar thekarel avatar tomrf1 avatar reettaphant avatar jonathonherbert avatar akash1810 avatar sihil avatar ajwl avatar chrisfinch avatar tjsilver avatar mbarton avatar vlbee avatar shession avatar philmcmahon avatar paperboyo avatar gtrufitt avatar aware avatar 7091laps avatar jukecraft avatar jennygrahamjones avatar aug24 avatar lps88 avatar susiecoleman avatar kant avatar mkuzdowicz avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.