From 411e6e48f3471ceb0a5b7c1b01184a45ec3240f7 Mon Sep 17 00:00:00 2001 From: David Jay Date: Tue, 8 Nov 2016 12:28:09 -0500 Subject: [PATCH 1/9] Removing unused copy from build process. --- client/coral-admin/webpack.config.js | 4 ---- 1 file changed, 4 deletions(-) diff --git a/client/coral-admin/webpack.config.js b/client/coral-admin/webpack.config.js index 2c81bf4fc..8c224bcdb 100644 --- a/client/coral-admin/webpack.config.js +++ b/client/coral-admin/webpack.config.js @@ -23,10 +23,6 @@ module.exports = Object.assign({}, devConfig, { ] }, plugins: [ - new Copy([{ - from: path.join(__dirname, '..', 'coral-embed-stream', 'dist'), - to: './embed/comment-stream' - }]), autoprefixer, precss ] }) From 80754ee57b471092a840ccb2722f6a992b0b013f Mon Sep 17 00:00:00 2001 From: David Jay Date: Tue, 8 Nov 2016 12:55:32 -0500 Subject: [PATCH 2/9] Updating build scripts for coral-admin --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0c7aab592..2ee7de0ab 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "pretest": "npm install", "test": "mocha tests --recursive", "test-watch": "mocha tests --recursive -w", - "embed-start": "./node_modules/webpack/bin/webpack.js --config ./client/coral-embed-stream/webpack.config.dev.js && ./bin/www" + "embed-start": "npm run build && ./bin/www" }, "config": { "pre-git": { From ee33b8445b08b0dcb946761fbc95b2e63d15a82b Mon Sep 17 00:00:00 2001 From: David Jay Date: Tue, 8 Nov 2016 12:56:22 -0500 Subject: [PATCH 3/9] Adding embed script to appropriate screen in settings. --- .../coral-admin/src/containers/Configure.js | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) 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 = + `
` + return

Copy and paste code below into your CMS to embed your comment box in your articles

- - + +
} @@ -94,3 +112,5 @@ class Configure extends React.Component { } export default connect(x => x)(Configure) + +const lang = new I18n(translations) From 7e720464812cc4268cabc0679bd8cfd0ac281d21 Mon Sep 17 00:00:00 2001 From: David Jay Date: Tue, 8 Nov 2016 12:57:16 -0500 Subject: [PATCH 4/9] Adding npm install to build process for coral-admin so build works. --- client/coral-admin/config.sample.json | 3 --- client/coral-admin/package.json | 2 +- 2 files changed, 1 insertion(+), 4 deletions(-) delete mode 100644 client/coral-admin/config.sample.json 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/package.json b/client/coral-admin/package.json index 048359526..f7217952e 100644 --- a/client/coral-admin/package.json +++ b/client/coral-admin/package.json @@ -4,7 +4,7 @@ "description": "", "main": "index.js", "scripts": { - "build": "./node_modules/.bin/webpack --config webpack.config.js", + "build": "npm install && ./node_modules/.bin/webpack --config webpack.config.js", "start": "./node_modules/.bin/webpack-dev-server --config webpack.config.dev.js --inline --hot --content-base public --port 3142" }, "keywords": [], From c609e5b3bb5541dd5b0f9a7fa8a587372c4e5a61 Mon Sep 17 00:00:00 2001 From: Riley Davis Date: Tue, 8 Nov 2016 12:35:37 -0700 Subject: [PATCH 5/9] enable css modules --- client/coral-admin/webpack.config.dev.js | 2 +- client/coral-admin/webpack.config.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client/coral-admin/webpack.config.dev.js b/client/coral-admin/webpack.config.dev.js index 1eba29d66..e4d771e72 100644 --- a/client/coral-admin/webpack.config.dev.js +++ b/client/coral-admin/webpack.config.dev.js @@ -14,7 +14,7 @@ module.exports = { loaders: [ { test: /.js$/, loader: 'babel', include: path.join(__dirname, 'src'), exclude: /node_modules/ }, { test: /\.json$/, loaders: 'json', include: __dirname, exclude: /node_modules/ }, - { test: /.css$/, loaders: ['style-loader', 'css-loader?importLoaders=1', 'postcss-loader'] } + { test: /.css$/, loaders: ['style-loader', 'css-loader?modules&localIdentName=[name]__[local]___[hash:base64:5]', 'postcss-loader'] } ] }, plugins: [ autoprefixer, precss ], diff --git a/client/coral-admin/webpack.config.js b/client/coral-admin/webpack.config.js index 10768b6e5..1b6fc0962 100644 --- a/client/coral-admin/webpack.config.js +++ b/client/coral-admin/webpack.config.js @@ -10,7 +10,7 @@ module.exports = Object.assign({}, devConfig, { loaders: [ { test: /.js$/, loader: 'babel', include: [path.join(__dirname, 'src'), path.join(__dirname, '../', 'coral-framework')], exclude: /node_modules/ }, { test: /.json$/, loader: 'json', include: __dirname, exclude: /node_modules/ }, - { test: /.css$/, loaders: ['style-loader', 'css-loader?importLoaders=1', 'postcss-loader'] } + { test: /.css$/, loaders: ['style-loader', 'css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]', 'postcss-loader'] } ] }, plugins: [ From 6c9e31c52d6fa7ca9a0f92bbc45dfdb2e7a8639e Mon Sep 17 00:00:00 2001 From: David Erwin Date: Tue, 8 Nov 2016 14:36:40 -0500 Subject: [PATCH 6/9] Drop trailing slash requirement on admin route --- app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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'}); }); From 1874206dd76514534795961939a68a9c5f698e4a Mon Sep 17 00:00:00 2001 From: Riley Davis Date: Tue, 8 Nov 2016 12:38:16 -0700 Subject: [PATCH 7/9] update root package.json --- package.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/package.json b/package.json index bb62d4ca3..df096877d 100644 --- a/package.json +++ b/package.json @@ -52,6 +52,7 @@ "uuid": "^2.0.3" }, "devDependencies": { + "autoprefixer": "6.5.0", "babel-core": "6.14.0", "babel-jest": "^15.0.0", "babel-loader": "6.2.5", @@ -66,6 +67,7 @@ "chai": "^3.5.0", "chai-http": "^3.0.0", "copy-webpack-plugin": "^3.0.1", + "css-loader": "0.25.0", "eslint": "^3.9.1", "exports-loader": "^0.6.3", "immutable": "^3.8.1", @@ -73,6 +75,9 @@ "json-loader": "^0.5.4", "mocha": "^3.1.2", "mocha-junit-reporter": "^1.12.1", + "postcss-loader": "0.13.0", + "postcss-modules": "0.5.2", + "precss": "1.4.0", "pre-git": "^3.10.0", "pym.js": "^1.1.1", "react": "15.3.2", @@ -81,6 +86,7 @@ "redux": "^3.6.0", "redux-thunk": "^2.1.0", "regenerator": "^0.8.46", + "style-loader": "0.13.1", "supertest": "^2.0.1", "timeago.js": "^2.0.3", "webpack": "^1.13.2", From 661b402351c6a7eff9e7549762af39bc6f28e84b Mon Sep 17 00:00:00 2001 From: David Erwin Date: Tue, 8 Nov 2016 14:53:28 -0500 Subject: [PATCH 8/9] Remove npm install from coral-admin build --- client/coral-admin/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/coral-admin/package.json b/client/coral-admin/package.json index f7217952e..048359526 100644 --- a/client/coral-admin/package.json +++ b/client/coral-admin/package.json @@ -4,7 +4,7 @@ "description": "", "main": "index.js", "scripts": { - "build": "npm install && ./node_modules/.bin/webpack --config webpack.config.js", + "build": "./node_modules/.bin/webpack --config webpack.config.js", "start": "./node_modules/.bin/webpack-dev-server --config webpack.config.dev.js --inline --hot --content-base public --port 3142" }, "keywords": [], From 551ba2ebb34862e4572410c3bfb0beb16d98f309 Mon Sep 17 00:00:00 2001 From: David Erwin Date: Tue, 8 Nov 2016 15:46:00 -0500 Subject: [PATCH 9/9] Add TERMINOLOGY.md --- TERMINOLOGY.md | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 TERMINOLOGY.md 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.