cloudcms-server 4.0.0-beta.2 → 4.0.0-beta.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/README.md +0 -5
  2. package/cloudcms-server.iml +1 -0
  3. package/index.js +58 -32
  4. package/middleware/authentication/authentication.js +40 -12
  5. package/middleware/authentication/providers/saml.js +8 -4
  6. package/middleware/awareness/awareness.js +8 -7
  7. package/middleware/awareness/plugins/api_event.js +105 -0
  8. package/middleware/awareness/plugins/editorial.js +54 -3
  9. package/middleware/awareness/plugins/resources.js +13 -5
  10. package/middleware/config/adapter.js +0 -44
  11. package/middleware/deployment/deployment.js +22 -24
  12. package/middleware/driver/driver.js +24 -1
  13. package/middleware/driver-config/driver-config.js +0 -6
  14. package/middleware/modules/modules.js +11 -5
  15. package/middleware/perf/perf.js +3 -2
  16. package/middleware/registration/registration.js +0 -5
  17. package/middleware/stores/engines/empty.js +0 -4
  18. package/middleware/stores/engines/fs-caching-adapter.js +0 -5
  19. package/middleware/stores/engines/fs.js +0 -9
  20. package/middleware/stores/engines/s3.js +0 -5
  21. package/middleware/stores/engines/s3fs.js +0 -5
  22. package/middleware/stores/multistore.js +0 -29
  23. package/middleware/stores/store.js +0 -10
  24. package/middleware/stores/stores.js +2 -2
  25. package/middleware/virtual-config/virtual-config.js +253 -206
  26. package/middleware/virtual-files/virtual-files.js +0 -3
  27. package/middleware/welcome/welcome.js +0 -3
  28. package/notifications/notifications.js +72 -10
  29. package/notifications/providers/kafka.js +182 -0
  30. package/notifications/providers/stomp.js +4 -0
  31. package/package.json +40 -56
  32. package/server/index.js +216 -123
  33. package/server/standalone.js +1 -6
  34. package/util/auth.js +10 -4
  35. package/util/cloudcms.js +77 -35
  36. package/util/loaders.js +113 -0
  37. package/util/proxy-factory.js +143 -168
  38. package/util/request.js +6 -2
  39. package/util/workqueue.js +111 -0
  40. package/.last_command +0 -7
  41. package/duster/helpers/core/cloudcms/associations.js +0 -34
  42. package/duster/helpers/core/cloudcms/beta/markdown.js +0 -46
  43. package/duster/helpers/core/cloudcms/beta/nodeAttachmentText.js +0 -46
  44. package/duster/helpers/core/cloudcms/beta/params.js +0 -33
  45. package/duster/helpers/core/cloudcms/beta/processTemplate.js +0 -82
  46. package/duster/helpers/core/cloudcms/content.js +0 -34
  47. package/duster/helpers/core/cloudcms/expand.js +0 -38
  48. package/duster/helpers/core/cloudcms/form.js +0 -34
  49. package/duster/helpers/core/cloudcms/query.js +0 -34
  50. package/duster/helpers/core/cloudcms/queryOne.js +0 -34
  51. package/duster/helpers/core/cloudcms/relatives.js +0 -34
  52. package/duster/helpers/core/cloudcms/search.js +0 -34
  53. package/duster/helpers/core/cloudcms/searchOne.js +0 -34
  54. package/duster/helpers/core/cloudcms/wcm/dependency.js +0 -83
  55. package/duster/helpers/core/cloudcms/wcm/fragment.js +0 -34
  56. package/duster/helpers/core/dev/debug.js +0 -42
  57. package/duster/helpers/core/dom/block.js +0 -49
  58. package/duster/helpers/core/dom/include.js +0 -38
  59. package/duster/helpers/core/dom/layout.js +0 -49
  60. package/duster/helpers/core/dom/link.js +0 -81
  61. package/duster/helpers/core/dom/resource.js +0 -77
  62. package/duster/helpers/core/engine.js +0 -1580
  63. package/duster/helpers/core/ice/value.js +0 -65
  64. package/duster/helpers/core/index.js +0 -49
  65. package/duster/helpers/core/operators/if.js +0 -64
  66. package/duster/helpers/core/operators/iter.js +0 -45
  67. package/duster/helpers/core/operators/iterate.js +0 -129
  68. package/duster/helpers/sample/nyt.js +0 -114
  69. package/duster/index.js +0 -319
  70. package/duster/support.js +0 -436
  71. package/duster/tracker.js +0 -262
  72. package/middleware/authentication/providers/cas.js +0 -73
  73. package/middleware/authentication/providers/facebook.js +0 -120
  74. package/middleware/authentication/providers/github.js +0 -88
  75. package/middleware/authentication/providers/linkedin.js +0 -112
  76. package/middleware/authentication/providers/twitter.js +0 -120
  77. package/middleware/server-tags/server-tags.js +0 -113
  78. package/middleware/wcm/wcm.js +0 -1437
@@ -1,65 +0,0 @@
1
- /**
2
- * @value
3
- *
4
- * @param app
5
- * @param dust
6
- * @param callback
7
- */
8
- module.exports = function(app, dust, callback)
9
- {
10
- var engine = require("../engine")(app, dust);
11
- var map = engine.map;
12
- var end = engine.end;
13
-
14
- /**
15
- * Displays a value and allows for optional in-context editing.
16
- *
17
- * Syntax:
18
- *
19
- * {@value node="_doc" property="propertyName"}
20
- * {propertyValue}
21
- * {/value}
22
- *
23
- * @param chunk
24
- * @param context
25
- * @param bodies
26
- * @param params
27
- */
28
- dust.helpers.value = function(chunk, context, bodies, params)
29
- {
30
- params = params || {};
31
-
32
- var nodeId = context.resolve(params.node);
33
- var propertyId = context.resolve(params.property);
34
-
35
- return map(chunk, function(chunk) {
36
-
37
- var req = context.get("req");
38
- req.branch(function(err, branch) {
39
-
40
- if (err) {
41
- return end(chunk, context);
42
- }
43
-
44
- var repositoryId = branch.getRepositoryId();
45
- var branchId = branch.getId();
46
-
47
- var wrapperStart = "<div class='cloudcms-value' data-repository-id='" + repositoryId + "' data-branch-id='" + branchId + "' data-node-id='" + nodeId + "'";
48
- if (propertyId) {
49
- wrapperStart += " data-property-id='" + propertyId + "'";
50
- }
51
- wrapperStart += ">";
52
- var wrapperEnd = "</div>";
53
-
54
- chunk.write(wrapperStart);
55
- chunk.render(bodies.block, context);
56
- chunk.write(wrapperEnd);
57
-
58
- end(chunk, context);
59
-
60
- });
61
- });
62
- };
63
-
64
- callback();
65
- };
@@ -1,49 +0,0 @@
1
- /**
2
- * Core dust tags.
3
- *
4
- * @type {Function}
5
- */
6
- module.exports = function(app, dust, callback)
7
- {
8
- var filepaths = [
9
-
10
- "./helpers/core/cloudcms/beta/nodeAttachmentText",
11
- "./helpers/core/cloudcms/beta/processTemplate",
12
- "./helpers/core/cloudcms/beta/markdown",
13
- "./helpers/core/cloudcms/beta/params",
14
-
15
- "./helpers/core/cloudcms/associations",
16
- "./helpers/core/cloudcms/content",
17
- "./helpers/core/cloudcms/form",
18
- "./helpers/core/cloudcms/query",
19
- "./helpers/core/cloudcms/queryOne",
20
- "./helpers/core/cloudcms/relatives",
21
- "./helpers/core/cloudcms/search",
22
- "./helpers/core/cloudcms/searchOne",
23
- "./helpers/core/cloudcms/expand",
24
-
25
- "./helpers/core/cloudcms/wcm/dependency",
26
- "./helpers/core/cloudcms/wcm/fragment",
27
-
28
- "./helpers/core/dev/debug",
29
-
30
- "./helpers/core/dom/block",
31
- "./helpers/core/dom/include",
32
- "./helpers/core/dom/layout",
33
- "./helpers/core/dom/link",
34
- "./helpers/core/dom/resource",
35
-
36
- "./helpers/core/ice/value",
37
-
38
- "./helpers/core/operators/if",
39
- "./helpers/core/operators/iter",
40
- "./helpers/core/operators/iterate"
41
-
42
- ];
43
-
44
- var support = require("../../support")(dust);
45
-
46
- support.addHelpers(app, dust, filepaths, function() {
47
- callback();
48
- });
49
- };
@@ -1,64 +0,0 @@
1
- /**
2
- * @if
3
- *
4
- * @param app
5
- * @param dust
6
- * @param callback
7
- */
8
- module.exports = function(app, dust, callback)
9
- {
10
- var engine = require("../engine")(app, dust);
11
- var map = engine.map;
12
- var end = engine.end;
13
-
14
- /**
15
- * It seems ridiculous to me that we should have to add this back in. But it was deprecated in newer versions of
16
- * dust.js. Logic is sound but frankly, I expect most of our users will want to use @if.
17
- *
18
- * @param chunk
19
- * @param context
20
- * @param bodies
21
- * @param params
22
- * @returns {*}
23
- */
24
- dust.helpers.if = function( chunk, context, bodies, params ){
25
-
26
- var body = bodies.block;
27
- var skip = bodies['else'];
28
-
29
- if( params && params.cond)
30
- {
31
- var cond = params.cond;
32
- cond = context.resolve(cond);
33
-
34
- // eval expressions with given dust references
35
- if (eval(cond))
36
- {
37
- if (body)
38
- {
39
- return chunk.render( bodies.block, context );
40
- }
41
- else
42
- {
43
- console.log( "Missing body block in the if helper!" );
44
- return chunk;
45
- }
46
- }
47
-
48
- if (skip)
49
- {
50
- return chunk.render( bodies['else'], context );
51
- }
52
- }
53
- // no condition
54
- else
55
- {
56
- console.log( "No condition given in the if helper!" );
57
- }
58
-
59
- return chunk;
60
- };
61
-
62
- callback();
63
-
64
- };
@@ -1,45 +0,0 @@
1
- /**
2
- * @iter
3
- *
4
- * @param app
5
- * @param dust
6
- * @param callback
7
- */
8
- module.exports = function(app, dust, callback)
9
- {
10
- var engine = require("../engine")(app, dust);
11
- var map = engine.map;
12
- var end = engine.end;
13
-
14
- /**
15
- * iterates over keys of an object. Something that Dust apparently is not capable of.
16
- *
17
- * Syntax:
18
- *
19
- * {@iter obj=jsonObject}
20
- * type: {$key}
21
- * value: {$value}
22
- * type: {$type}
23
- * {/iter}
24
- *
25
- * @param chunk
26
- * @param context
27
- * @param bodies
28
- * @param params
29
- */
30
- dust.helpers.iter = function(chunk, context, bodies, params) {
31
-
32
- // TODO: there is already an @iterate helper defined in this helper file
33
- // TODO: do we need another?
34
- // TODO: {@iterate over=obj}{$key}-{$value} of type {$type}{~n}{/iterate}
35
-
36
- var obj = context.resolve(params.obj);
37
-
38
- var params2 = {};
39
- params2.over = obj;
40
-
41
- return dust.helpers.iterate(chunk, context, bodies, params2);
42
- };
43
-
44
- callback();
45
- };
@@ -1,129 +0,0 @@
1
- /**
2
- * @iter
3
- *
4
- * @param app
5
- * @param dust
6
- * @param callback
7
- */
8
- module.exports = function(app, dust, callback)
9
- {
10
- var engine = require("../engine")(app, dust);
11
- var util = engine.util;
12
- var map = engine.map;
13
- var end = engine.end;
14
-
15
- /**
16
- * Iterate helper, looks over a given object.
17
- *
18
- * Example:
19
- * {@iterate over=obj}{$key}-{$value} of type {$type}{~n}{/iterate}
20
- *
21
- * @param key - object of the iteration - Mandatory parameter
22
- * @param sort - Optional. If omitted, no sort is done. Values allowed:
23
- * sort="1" - sort ascending (per JavaScript array sort rules)
24
- * sort="-1" - sort descending
25
- */
26
- dust.helpers.iterate = dust.helpers.it = function(chunk, context, bodies, params)
27
- {
28
- params = params || {};
29
-
30
- var over = context.resolve(params.over);
31
- if (!over) {
32
- console.log("Missing over");
33
- return chunk;
34
- }
35
-
36
- var sort = context.resolve(params.sort);
37
- if (typeof(sort) === "undefined") {
38
- sort = "asc";
39
- }
40
-
41
- var body = bodies.block;
42
- if (!body)
43
- {
44
- console.log('Missing body block in the iterate helper.');
45
- return chunk;
46
- }
47
-
48
- var asc = function(a, b) {
49
- return desc(a, b) * -1;
50
- };
51
-
52
- var desc = function(a, b) {
53
- if (a.sortable < b.sortable) {
54
- return 1;
55
- } else if (a.sortable > b.sortable) {
56
- return -1;
57
- }
58
- return 0;
59
- };
60
-
61
- var processBody = function(key, value) {
62
- return body(chunk, context.push({
63
- $key: key,
64
- $value: value,
65
- $type: typeof(value)
66
- }));
67
- };
68
-
69
- if (util.isObject(over) || util.isArray(over))
70
- {
71
- if (typeof(params.sort) !== "undefined")
72
- {
73
- // construct sort elements
74
- var elements = [];
75
- for (var k in over)
76
- {
77
- if (over.hasOwnProperty(k))
78
- {
79
- var element = {};
80
- element.key = k;
81
- element.value = over[k];
82
-
83
- if (util.isObject(over))
84
- {
85
- element.sortable = k;
86
- }
87
- else if (util.isArray(over))
88
- {
89
- element.sortable = over[k];
90
- }
91
-
92
- elements.push(element);
93
- }
94
- }
95
-
96
- // run the sort
97
- if (sort === "-1" || sort === "desc")
98
- {
99
- elements.sort(desc);
100
- }
101
- else if (sort === "1" || sort === "asc")
102
- {
103
- elements.sort(asc);
104
- }
105
-
106
- // process in order
107
- for (var i = 0; i < elements.length; i++)
108
- {
109
- chunk = processBody(elements[i].key, elements[i].value);
110
- }
111
- }
112
- else
113
- {
114
- // just do the natural order
115
- for (var k in over)
116
- {
117
- if (over.hasOwnProperty(k))
118
- {
119
- chunk = processBody(k, over[k]);
120
- }
121
- }
122
- }
123
- }
124
-
125
- return chunk;
126
- };
127
-
128
- callback();
129
- };
@@ -1,114 +0,0 @@
1
- var request = require("../../util/request");
2
-
3
- /**
4
- * Sample New York Times Events tag for Dust.
5
- *
6
- * @type {Function}
7
- */
8
- exports = module.exports = function(app, dust, callback)
9
- {
10
- var support = require("../support")(dust);
11
-
12
- // helper functions
13
- var isDefined = support.isDefined;
14
- //var resolveVariables = support.resolveVariables;
15
- var map = support.map;
16
- var end = support.end;
17
-
18
- dust.helpers.nytEvents = function(chunk, context, bodies, params)
19
- {
20
- params = params || {};
21
-
22
- var latitude = dust.helpers.tap(params.latitude, chunk, context);
23
- var longitude = dust.helpers.tap(params.longitude, chunk, context);
24
- var radius = dust.helpers.tap(params.radius, chunk, context);
25
- if (!radius)
26
- {
27
- radius = 1000;
28
- }
29
- var text = dust.helpers.tap(params.text, chunk, context);
30
- var limit = dust.helpers.tap(params.limit, chunk, context);
31
- if (isDefined(limit))
32
- {
33
- limit = parseInt(limit);
34
- }
35
- var filter = dust.helpers.tap(params.filter, chunk, context)
36
-
37
- var filters = null;
38
- if (filter)
39
- {
40
- filter = filter.toLowerCase();
41
- }
42
- if (filter === "broadway")
43
- {
44
- filters = 'category:"Broadway"';
45
- }
46
- if (filter === "pick")
47
- {
48
- filters = "times_pick:true";
49
- }
50
-
51
- return map(chunk, function(chunk) {
52
- setTimeout(function() {
53
-
54
- var API_KEY = "3d8d573ec0ae966ea57245357cfcf57f:1:70698955";
55
-
56
- var url = "http://api.nytimes.com/svc/events/v2/listings.json?api-key=" + API_KEY;
57
- if (latitude && longitude)
58
- {
59
- var latLong = latitude + "," + longitude;
60
- url += "&ll=" + latLong;
61
- url += "&radius=" + radius;
62
- }
63
-
64
- if (text)
65
- {
66
- url += "&query=" + text;
67
- }
68
-
69
- if (isDefined(limit))
70
- {
71
- url += "&limit=" + limit;
72
- }
73
-
74
- if (filters)
75
- {
76
- url += "&filters=" + filters;
77
- }
78
-
79
- //console.log("URL:" + url);
80
-
81
- request(url, function (error, response, json) {
82
-
83
- if (error || response.status !== 200)
84
- {
85
- if (error) {
86
- console.log("ERROR: " + error);
87
- }
88
-
89
- if (response.status !== 200) {
90
- console.log("STATUS CODE: " + response.status);
91
- }
92
-
93
- chunk.write("There was an error loading this section");
94
- end(chunk);
95
-
96
- return;
97
- }
98
-
99
- console.log("BODY: " + JSON.stringify(json, null, " "));
100
-
101
- var resultObject = {
102
- "rows": json.results
103
- };
104
- var newContext = context.push(resultObject);
105
-
106
- chunk.render(bodies.block, newContext);
107
- end(chunk, context);
108
- });
109
- });
110
- });
111
- };
112
-
113
- callback();
114
- };