In this story
Writing and publishing
| Code | You see | Why and what to do |
|---|---|---|
| PUBLISH_BLOCKED | "Fix these before publishing." | The publishing checklist found problems. Open the list and fix each one. See Publishing checklist. |
| VERSION_CONFLICT | "{name} saved changes {time}. Reload to see them, then try again." | Someone saved first. Reload, check their change, then save yours. |
| ARTICLE_LOCKED | "Someone else is editing this story right now. Wait, or ask an editor to take over." | Another person has it open. Wait or ask an editor. |
| INVALID_TRANSITION | "A published article can only be unpublished." and similar | The story's status doesn't allow that action. See My story isn't showing. |
| SLUG_TAKEN | "This web address is already used. Choose another slug." | Change the end of the story's web address. |
| ARTICLE_READ_ONLY | "This story can’t be changed: it is retracted or in the trash." | Bring it back from the trash or ask an editor. |
| LEGAL_HOLD | "This story is on legal hold. It can’t be deleted until the hold is lifted." | Lift the hold first. |
| ARTICLE_NOT_DRAFT | "Only drafts can be deleted. Unpublish this article instead." | Unpublish it first. |
| ARTICLE_NEVER_PUBLISHED | "Corrections are for published stories. Edit this draft directly." | Edit the draft. |
| ARTICLE_NOT_LIVE | "Only live stories get scheduled edits. Edit this one directly." | Edit it directly. |
| SCHEDULED_EDIT_DONE | "This edit has already run or was cancelled." | Nothing to do. |
| EMBARGO_LIVE_STORY | "This story is already live. Unpublish it first to put it under embargo." | Unpublish, then set the embargo. |
| EMBARGO_PREVIEW_FORBIDDEN | "This story is under embargo. Your role can’t preview it." | Ask an editor. |
| STAGE_NOT_ALLOWED | "Your role can’t move stories to this stage." | Ask someone with the right role. |
| SECTION_NOT_ALLOWED | "This story is in a section you don’t work on." | Ask an editor or the owner. |
| PERMISSION_DENIED | "You do not have permission to do this." | Ask the owner to change your role. |
| TRANSLATION_EXISTS | "This story already has a {language} version." | Open the existing translation. |
| GONE | "This story is no longer available." | The story was unpublished. |
| PREVIEW_TOKEN_INVALID | "This preview link is not valid or has expired. Open a new one from the admin." | Open a new preview link. |
| NOT_FOUND | "We couldn’t find that." | The item was removed. |
| VALIDATION_FAILED | "Some fields need attention." | The notice names the first fields. Fix them. |
Sections, tags, authors and pages
| Code | You see | Why and what to do |
|---|---|---|
| CATEGORY_IN_USE | "Move its 3 articles to another category first." | Move the stories, or sub-sections, or remove it from the menus and home page. |
| AUTHOR_IN_USE | "This author is in the byline of 2 articles. Remove them from those bylines first." | Change the bylines. |
| TAG_MERGE_INVALID | "These tags can’t be merged. Pick another tag of the same site language." | Merge tags in the same language. |
| TAG_CONTROLLED | "This topic is in your newsroom’s fixed list. Use “{name}” instead." | Use the name shown. |
| TAG_ALIAS_CONFLICT | "“{name}” is already a name or alias of another topic in this language. Merge the topics or pick another alias." | Pick another alias. |
| PAGE_REQUIRED | "Trust pages can be unpublished but not deleted." | Unpublish it instead. |
| PAGE_IN_USE | "1 menu item links to this page. Remove them from the menu first." | Remove the menu item. |
| SERIES_ENDED | "This column or series has ended. Reopen it first." | Reopen the series. |
| SERIES_IN_USE | "Stories belong to this column or series. End it instead, or move the stories first." | End it, or move the stories. |
| SHARED_BLOCK_IN_USE | "Stories use this block. Archive it instead, or remove it from those stories first." | Archive it. |
| PALETTE_CONTRAST_FAILED | "2 colour pairs are hard to read. Pick a darker or lighter colour." | Choose other colours. |
| EMBED_PROVIDER_NOT_ALLOWED | "Only YouTube, X, Instagram and Facebook links can be embedded." | Use one of those links. |
Photos and files
| Code | You see | Why and what to do |
|---|---|---|
| MEDIA_TOO_LARGE | "The file is too large. Images can be up to {n} MB." | Make the photo smaller. |
| MEDIA_TYPE_NOT_ALLOWED | "This file type can’t be uploaded. Use a JPEG, PNG, WebP, AVIF, GIF, HEIC, TIFF or BMP image." | Save it in one of these types. |
| MEDIA_TYPE_MISMATCH | "The uploaded file is not a {type} image." | Save it again as the right type. |
| MEDIA_QUOTA_EXCEEDED | "Your photo storage is full ({used} of {limit} MB). Delete unused images or ask for more space." | Delete images you don't use. |
| MEDIA_NOT_READY | "The image is still processing. Try again in a moment." | Wait a moment. |
| MEDIA_TOO_LARGE_PIXELS | "This image is too big to process. Use an image of at most {n} megapixels and {n} pixels per side." | Resize it. |
| MEDIA_FORMAT_UNSUPPORTED | "This server can’t read {type} images. Save the photo as JPEG and upload it again." | Save it as JPEG. |
| MEDIA_NO_VARIANTS | "SVG images have no crops or variants." | Use a photo if you need crops. |
| MEDIA_NOT_REPLACEABLE | "Only photos can be replaced. Upload other files as new items." | Upload it as a new file. |
| MEDIA_SLUG_TAKEN | "Another image already uses this file name. Try “{suggestion}”." | Use the suggested name. |
| MEDIA_URL_REFUSED | "This address can’t be used. Use a public https:// address of an image." | Use a public https address. |
| MEDIA_FETCH_FAILED | "The image could not be downloaded." | Check the address and try again. |
| MEDIA_IN_USE | "This file is used in 2 places." | Remove it from those places first. |
| MEDIA_RESTRICTED | "Only media managers and the person who uploaded this file can change it." | Ask a media manager. |
| MEDIA_NO_ORIGINAL | "This image has no kept original to edit. Replace it with the original file first." | Upload the original. |
| MEDIA_VERSION_GONE | "The files of this version are no longer available." | Choose another version. |
| MEDIA_WATERMARK_NO_LOGO | "Add a site logo in Branding and publish it, or choose an image for the watermark first." | Add a logo in Branding. |
| UPLOAD_BLOCKED | "This file was not saved: it is not the type it claims to be, hides other content, or contains malware." | Do not use this file. |
| UPLOAD_SCAN_UNAVAILABLE | "The malware scanner is not answering. Try the upload again in a minute." | Try again later. |
| UPLOAD_NOT_FOUND | "The upload was not found or has expired. Upload the file again." | Upload again. |
Media folders
| Code | You see | Why and what to do |
|---|---|---|
| MEDIA_FOLDER_NOT_FOUND | "This folder no longer exists. Refresh the folder list." | Refresh. |
| MEDIA_FOLDER_NAME_TAKEN | "A folder called “{name}” is already here. Choose another name." | Choose another name. |
| MEDIA_FOLDER_TOO_DEEP | "Folders can be at most {n} levels deep. Pick a folder higher up." | Choose a higher folder. |
| MEDIA_FOLDER_LIMIT | "The library already has {n} folders. Delete or merge some first." | Merge folders. |
| MEDIA_FOLDER_CYCLE | "A folder can’t be moved into itself or one of its sub-folders." | Pick another place. |
| MEDIA_FOLDER_NOT_EMPTY | "This folder isn’t empty (2 files, 1 sub-folder). Move its contents to the parent folder or empty it first." | Move the contents. |
Questions
Frequently asked questions
Why do some messages differ from what I see in the story editor?
The story editor shows short versions for a few codes, for example "Someone else changed it just now." for VERSION_CONFLICT. The cause is the same.