All Projects → alphagov → publishing-api

alphagov / publishing-api

Licence: MIT license
API to publish content on GOV.UK

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to publishing-api

publisher
Publishes mainstream content on GOV.UK
Stars: ✭ 42 (+44.83%)
Mutual labels:  container, govuk
collections
Serves GOV.UK navigation pages, browse, topic, step-by-steps & services and information pages.
Stars: ✭ 32 (+10.34%)
Mutual labels:  container, govuk
search-api
Search API for GOV.UK
Stars: ✭ 21 (-27.59%)
Mutual labels:  container, govuk
content-data-api
Data warehouse that stores content and content metrics to help content owners measure and improve content on GOV.UK
Stars: ✭ 13 (-55.17%)
Mutual labels:  container, govuk
finder-frontend
Serves finder and search pages for GOV.UK
Stars: ✭ 15 (-48.28%)
Mutual labels:  container, govuk
government-frontend
Serves government pages on GOV.UK
Stars: ✭ 42 (+44.83%)
Mutual labels:  container, govuk
smokey
Smoke tests for GOV.UK
Stars: ✭ 42 (+44.83%)
Mutual labels:  container, govuk
microcore
.NET Core framework for inter-service communication
Stars: ✭ 24 (-17.24%)
Mutual labels:  container
laravel-auto-binder
Bind interfaces to concrete classes automatically
Stars: ✭ 67 (+131.03%)
Mutual labels:  container
Container
🚀 PHP Service Container with fast and cachable dependency injection.
Stars: ✭ 28 (-3.45%)
Mutual labels:  container
undock
Extract contents of a container image in a local folder
Stars: ✭ 119 (+310.34%)
Mutual labels:  container
docker
Craft CMS Docker images.
Stars: ✭ 79 (+172.41%)
Mutual labels:  container
hyper.sh-connector-k8s
Hyper.sh Container Connector for Kubernetes
Stars: ✭ 22 (-24.14%)
Mutual labels:  container
plasma-docker
Plasmoid for KDE Plasma to control docker containers
Stars: ✭ 38 (+31.03%)
Mutual labels:  container
govuk-terraform-provisioning
**DEPRECATED** Terraform configuration and utilities to provision parts of the GOV.UK AWS Infrastructure
Stars: ✭ 17 (-41.38%)
Mutual labels:  govuk
shorty
URL shortener available as library, microservice (even containerized), aws lambda, and azure function
Stars: ✭ 31 (+6.9%)
Mutual labels:  container
ddd-practitioners-ref
EventStorming workshop, this is a hands-on workshop. Contains such topics: DDD, Event storming, Specification by example. Including the AWS product : Serverless Lambda , DynamoDB, Fargate, CloudWatch.
Stars: ✭ 276 (+851.72%)
Mutual labels:  container
DrawContainerDemo
作业盒子批注控件反编译
Stars: ✭ 17 (-41.38%)
Mutual labels:  container
docker-routeros
Mikrotik RouterOS inside Docker container
Stars: ✭ 225 (+675.86%)
Mutual labels:  container
podman-macos
📦 Podman frontend for macOS
Stars: ✭ 576 (+1886.21%)
Mutual labels:  container

Publishing API

The Publishing API aims to provide workflow as a service so that common publishing features can be written once and used by all publishing applications across Government. Content can be stored and retrieved using the API and workflow actions can be performed, such as creating a new draft or publishing an existing piece of content.

Publishing API sends content downstream to the draft and live Content Stores, as well as on a Rabbit message queue, which enables things like sending emails to users subscribed to that content. Read "Downstream Sidekiq background processing triggered by publishing".

Nomenclature

  • Document: A document is a piece of content in a particular locale. It is associated with editions that represent the versions of the document.
  • Edition: The content of a document is represented by an edition, it represents a distinct version of a Document.
  • Content Item: A representation of content that can be sent to a content store.
  • Links: Used to capture relationships between pieces of content (e.g. parent/child). Can be of type link set link or edition link.
  • Unpublishing: An object indicating a previously published edition which has been removed from the live site.
  • User: A user of the system, which is used to track who initiated requests and to restrict access to draft content.
  • Path Reservation: An object that attributes a path on GOV.UK to a piece of content. It is used when paths need to be reserved before that content enters the system.
  • Event Log: A log of all requests to the Publishing API that have the potential to mutate its internal state.
  • Action: A record of activity on a particular edition, used to assist custom workflows of publishing applications.
  • Link Expansion: A process that converts the stored and automatic links for an edition into a JSON representation.
  • Dependency Resolution: A process that determines other editions that require updating downstream as a result of a change to an edition.

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.

Running the test suite

You can run the tests locally with: bundle exec rake.

The Publishing API also has contract tests with GDS API Adapters (where it acts as the "provider") and with Content Store ( where it acts as the contract "consumer"). Read the guidance for how to run the tests locally.

Further documentation

Licence

MIT License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].