Go to file
Fabien 'egg' O'Carroll 4604ba1587
Fixed backward compatibility for send_email_when_published (#12357)
no-issue

* Handled send_email_when_published in Posts API

This restores backwards compatibility of the Posts API allowing existing
clients to continue to use the `send_email_when_published` flag. This
change uses two edits, which is unfortunate. The reason being is that
this is an API compatibility issue, not a model issue, so we shouldn't
introduce code to the model layer to handle it. The visibility property
of the model is used to determine how to fall back, and because it can
be left out of the API request, and relies on a default in the settings,
we require that the model decide on the `visibility` before we run our
fallback logic (or we duplicate the `visibility` default at the cost of
maintenance in the future)

* Dropped send_email_when_published column from posts

Since this column is not used any more, we can drop it from the table.
We include an extra migration to repopulate the column in the event of
a rollback

* Updated importer to handle send_email_when_published

Because we currently export this value from Ghost, we should correctly
import it. This follows the same logic as the migrations for this value.

* Included send_email_when_published in API response

As our v3 API documentation includes `send_email_when_published` we must
retain backward compatibility by calculating the property.

* Fixed fields filter with send_email_when_published

* Added safety checks to frame properties

Some parts of the code pass a manually created "frame" which is missing
lots of properties, so we check for the existence of all of them before
using them.

* Fixed 3.1 migration to include columnDefinition

We require that migrations have all the information they need contained
within them as they run in an unknown state of the codebase, which could
be from the commit they are introduced, to any future commit. In this
case the column definition is removed from the schema in 3.38 and the
migration would fail when run in this version or later.
2020-11-11 13:03:41 +00:00
.github Revert "Bumped CI rollback version to 3.30" 2020-11-11 11:59:02 +00:00
content Updated Casper to v3.1.1 2020-10-20 09:38:09 +01:00
core Fixed backward compatibility for send_email_when_published (#12357) 2020-11-11 13:03:41 +00:00
test Fixed backward compatibility for send_email_when_published (#12357) 2020-11-11 13:03:41 +00:00
.editorconfig
.eslintignore
.eslintrc.json Enabled error for "no-shadow" eslint rule 2020-10-27 11:27:37 +13:00
.gitattributes
.gitignore
.gitmodules
.npmignore
config.development.json
Gruntfile.js Removed grunt-contrib-uglify dependency 2020-11-03 14:13:00 +00:00
index.js
LICENSE
MigratorConfig.js
package.json Update dependency nock to v13.0.5 2020-11-11 03:46:17 +00:00
PRIVACY.md Updated PRIVACY.md 2020-06-02 12:01:48 +01:00
README.md Updated link to upgrade documentation (#12251) 2020-10-05 11:44:54 +13:00
renovate.json
SECURITY.md
yarn.lock Update dependency nock to v13.0.5 2020-11-11 03:46:17 +00:00

Ghost

Ghost.org | Features | Showcase | Forum | Docs | Contributing | Twitter

Downloads Latest release Build status Contributors

Love open source? We're hiring Node.js Engineers to work on Ghost full-time

 

Fiercely independent, professional publishing. Ghost is the most popular open source, headless Node.js CMS which already works with all the tools you know and love.

Ghost(Pro)

The easiest way to get a production instance deployed is with our official Ghost(Pro) managed service. It takes about 2 minutes to launch a new site with worldwide CDN, backups, security and maintenance all done for you.

For most people this ends up being the best value option cause of how much time it saves — and 100% of revenue goes to the Ghost Foundation; funding the maintenance and further development of the project itself. So youll be supporting open source software and getting a great service!

If you prefer to run on your own infrastructure, we also offer official 1-off installs and managed support and maintenance plans via Ghost(Valet) - which can save a substantial amount of developer time and resources.

 

Quickstart Install

If you want to run your own instance of Ghost, in most cases the best way is to use our CLI tool

npm install ghost-cli -g

 

Then, if installing locally add the local flag to get up and running in under a minute - Local install docs

ghost install local

 

or on a server run the full install, including automatic SSL setup using LetsEncrypt - Production install docs

ghost install

 

Check out our official documentation for more information about our recommended hosting stack & properly upgrading Ghost, plus everything you need to develop your own Ghost themes or work with our API.

Contributors & Advanced Developers

For anyone wishing to contribute to Ghost or to hack/customise core files we recommend following our full development setup guides: Contributor Guide | Developer Setup | Admin Client Dev Guide

 

Ghost Sponsors

We'd like to extend big thanks to our sponsors and partners who make Ghost possible. If you're interested in sponsoring Ghost and supporting the project, please check out our profile on GitHub Sponsors ❤️

DigitalOcean | Cloudflare

 

Getting Help

You can find answers to a huge variety of questions, along with a large community of helpful developers over on the Ghost forum - replies are generally very quick. Ghost(Pro) customers also have access to 24/7 email support.

To stay up to date with all the latest news and product updates, make sure you subscribe to our blog — or you can always follow us on Twitter, if you prefer your updates bite-sized and facetious. 🎷🐢

 

Copyright & License

Copyright (c) 2013-2020 Ghost Foundation - Released under the MIT license. Ghost and the Ghost Logo are trademarks of Ghost Foundation Ltd. Please see our trademark policy for info on acceptable usage.