diff --git a/TERMINOLOGY.md b/TERMINOLOGY.md new file mode 100644 index 000000000..5c1e9aaa8 --- /dev/null +++ b/TERMINOLOGY.md @@ -0,0 +1,66 @@ +# Product's Terminology + +This is a guide to have a common language to talk about "Talk". + +## Definitions + +* Site - a top level site, aka nytimes.com +* Section - the section of a site, aka, Politics. +* Subsection - the section of a site, aka, Politics. +* Asset - An article/video/etc identified by URL. + +* Embed - Things we put on a asset: comment box, ToS, Stream, etc… +* Stream - All the activity on a certain asset. Container for Comments, actions, user +* Thread - defined by a parent and everything below. All replies to a comment and their replies, etc… +* Comment - a kind of user-generated content submitted by a comment author + * A parent comment has replies to it + * A child comments is a reply to another comment + * A comment can be both a parent comment and a child of another comment + * A top-level comment is a comment that is not a reply to any other comment + * A nth-level comment refers to the number of replies away from the top-level comment + +* User - an item to represent a person using Talk. It could be a moderator, reader, etc. +* User Roles: + * Active: some who takes action (logged in or not) + * Passive: some who just reads, no actions performed + * Comment Author: The user who wrote the comment + * Staff Member: someone who works for an organization (tagged for leverage in trust) + * Moderator: someone with the ability to access the moderation queue and perform moderation actions + * Administrator: has the ability to change the setup of their coral space +* Public Profile: information about users shown in public +* Private Profile: information about users shown only to user about themselves +* Protected Profile: information about users that only moderators and admins can see + +* Queue - Group of items based on a query, aka - moderation queue +* Target - The item/s on which an action is performed.. + +## Actions + +Actions are performed by users on items. Actions themselves are items. This requires two relationships: action on item, and user performs action. + +### Flag +* A Flagger(user) performs a Flag +* A Flag is performed on a Comment or a username or profile content + + +## Moderation Actions and Status + +Comments contain a field `status`. As moderation actions are peformed, the status changes. + +* Initial status is empty. +* When a moderator Approves, the status is set to 'approved'. +* When a moderator Rejects, the status is set to 'reject'. + +### Pre and post moderation + +Comments can be set to be premoderated or postmoderated. + +Premoderation means that moderation has to occur _before_ a comment is shown on the site: + +* New comments are shown in the moderator queues immediately. +* The are not shown to users until (aka in streams) until they are approved by a moderator. + +Postmoderation means that comments appear on the site _before_ any moderation action is taken. + +* New comments appear in comment streams immediately. +* New comments do not appear in moderation queues unless they are flagged by other users. diff --git a/app.js b/app.js index 76dba1c1a..d4041c93a 100644 --- a/app.js +++ b/app.js @@ -17,7 +17,7 @@ app.use('/api/v1', require('./routes/api')); // Static Routes. app.use('/client/', express.static(path.join(__dirname, 'dist'))); -app.get('/admin/*', (req, res) => { +app.get('/admin*', (req, res) => { res.render('admin', {basePath: '/client/coral-admin'}); }); diff --git a/client/coral-admin/config.sample.json b/client/coral-admin/config.sample.json deleted file mode 100644 index 55d39db05..000000000 --- a/client/coral-admin/config.sample.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "basePath": "client/coral-admin" -} diff --git a/client/coral-admin/src/containers/Configure.js b/client/coral-admin/src/containers/Configure.js index 4a36e56e7..f90e8c747 100644 --- a/client/coral-admin/src/containers/Configure.js +++ b/client/coral-admin/src/containers/Configure.js @@ -12,6 +12,8 @@ import { } from 'react-mdl' import Page from 'components/Page' import styles from './Configure.css' +import I18n from 'coral-framework/i18n/i18n' +import translations from '../translations' class Configure extends React.Component { constructor (props) { @@ -40,12 +42,28 @@ class Configure extends React.Component { } + copyToClipBoard (event) { + const copyTextarea = document.querySelector('.' + styles.embedInput) + copyTextarea.select() + + try { + document.execCommand('copy') + } catch (err) { + console.error('Unable to copy') + } + } + getEmbed () { + const embedText = + `
` + returnCopy and paste code below into your CMS to embed your comment box in your articles
- - + +