Giter VIP home page Giter VIP logo

short-url-manager's Introduction

Short URL manager

Publishing tool to request, approve and create Short URLs on GOV.UK.

##Technical documentation

Short URLs are a short and easy to type URL that redirects to a piece of content at a much longer URL.

They are often used on posters, in leaflets or over the phone, so they are easy to use. For example:

/dwp/cps5

to

/government/publications/your-state-pension-estimate-explained-cps5

Currently this tool allows departmental users to request redirects within the scope of their department, eg, under dwp above. Future versions may add workflow for requesting/managing top level Short URLs, eg, /ebola to /government/topical-events/ebola-government-response.

Dependencies

  • MongoDB - main data store
  • Redis - for distributed locking using mlanett/redis-lock
  • alphagov/gds-sso: Provides authentication OmniAuth adapter to allow apps to sign in via GOV.UK auth
  • alphagov/publishing-api: the central store of published content on GOV.UK. Once a redirect has been accepted, redirects are registered to this API.

Running the application

$ ./startup.sh

If you are using the GDS development virtual machine then the application will be available on the host at http://short-url-manager.dev.gov.uk/

Running the test suite

$ bundle exec rake

Content Schema Validations

You will need a copy of govuk-content-schemas on your file system. By default these should be in a sibling directory to your project. Alternatively, you can specify their location with the GOVUK_CONTENT_SCHEMAS_PATH environment variable.

Permissions

Users must be given sign on permissions to access and use the features of this tool. There are two kinds of permission:

  • request_short_urls: Can complete a form to request a new Short URL, which must be approved before being made
  • manage_short_urls: Can approve requests for Short URLs, and create the redirects on GOV.UK

Licence

MIT License

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.