Giter VIP home page Giter VIP logo

specialist-publisher's Introduction

Specialist Publisher

Publishing App for Specialist Documents.

This application does not store documents in a database of its own. Instead it uses Publishing API to store and retrieve documents. MongoDB is used for storing local user records.

Formats can be flagged as pre-production (only publishable on development and integration). Read Creating and editing specialist document typesfor details.

Some live examples

Nomenclature

  • Format: Category of a Document. Format names are listed in the Live Examples section above and include MAIB Reports and CMA Cases.
  • Finder: Sometimes Formats are referred to as Finders. They are called 'Finders' because each one of them creates a finder on GOV.UK, e.g. https://www.gov.uk/raib-reports. The formats are served by Finder Frontend.
  • Document: Specialist Documents are created by Government editors and can be published to GOV.UK. Documents differ depending on their format, largely determined by the format's schema.
  • Schema: JSON files defining attributes for each format, including base_path, document_noun and document_type. It also contains the facets and their possible values for each document_type which are displayed by _form.html.erb.

Technical documentation

This is a Ruby on Rails app, and should follow our Rails app conventions.

You can use the GOV.UK Docker environment to run the application and its tests with all the necessary dependencies. Follow the usage instructions to get started.

Use GOV.UK Docker to run any commands that follow.

Before running the app

You may find that you can't see any documents after replicating data. To fix this, you need to grant user permissions in this application:

bundle exec rake permissions:grant['Joanne Bloggs'] # Or whichever user you're logged in as.

Running the test suite

$ bundle exec rake

Further documentation

Licence

MIT License

specialist-publisher's People

Contributors

1pretz1 avatar baisa avatar barrucadu avatar beccapearce avatar benilovj avatar bestie avatar cbaines avatar chrisbashton avatar davidgisbey avatar dependabot-preview[bot] avatar dependabot-support avatar dependabot[bot] avatar elliotcm avatar evilstreak avatar govuk-ci avatar h-lame avatar heathd avatar kalleth avatar kevindew avatar lauraghiorghisor-tw avatar murilodalri avatar rosa-fox avatar ryanb-gds avatar sihugh avatar steventux avatar theseanything avatar thomasleese avatar tijmenb avatar tommyp avatar tuzz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

specialist-publisher's Issues

[CLOSED] Bump content models

Issue by heathd
Monday 24 February 2014 at 12:25 GMT
Originally opened as #14


This updates the content models gem to a version which stores SpecialistDocumentEditions in a separate collection. Given that content-api is already using this newer gem version, the publishing operation is not currently working (data is getting stored in one place and read from another).

This is the minimal set of changes to get publishing working for now.

Would be good if @elliotcm and @bestie could review and merge if it will not cause too many conflicts with the refactoring work in progress.


heathd included the following code: https://github.com/alphagov/specialist-publisher/pull/14/commits

[CLOSED] Dependency injection

Issue by heathd
Tuesday 18 February 2014 at 11:08 GMT
Originally opened as #7


Uncle Bob said "Depend on abstractions, not concretions". This is the D
in the SOLID principles of OO design[1]

A dependency injection container makes life a little easier when
following the dependency injection pattern. It holds dependency
configuration ("wiring"), and implements conventions for
fulfilling object dependencies, as follows:

  1. constructor injection

    the container will use the names of constructor arguments and find
    dependencies with the corresponding name

  2. struct member injection

    since we commonly use Structs as value objects, the container also
    supports struct members as dependency definitions

Different containers can be used in different contexts (for example in
production vs. test).

[1] http://en.wikipedia.org/wiki/SOLID_(object-oriented_design)


heathd included the following code: https://github.com/alphagov/specialist-publisher/pull/7/commits

[CLOSED] Attachments

Issue by bestie
Thursday 13 March 2014 at 12:41 GMT
Originally opened as #38


This massively bloated PR includes

Attachment functionality

  • Attach files to document
  • Generate markdown snippet for body
  • Convert snippets into standard markdown

Publisher rendering / exporting

  • Publisher is now entirely responsible for rendering it's own content into HTML
  • Rendered content is exported via writing rendered document data to the RenderedSpecialistDocument collection

bestie included the following code: https://github.com/alphagov/specialist-publisher/pull/38/commits

[CLOSED] Don't define our own user model class

Issue by heathd
Wednesday 05 March 2014 at 17:56 GMT
Originally opened as #32


Our own implementation was wrong because it specified the wrong user
collection (the default one called 'users'). I'm not sure what data
actually is in that collection, possibly it's historical data that's no
longer used by any app.

We need to store in a separate mongo collection defined by the
USER_COLLECTION_NAME constant.


heathd included the following code: https://github.com/alphagov/specialist-publisher/pull/32/commits

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.