cloudcms-server 4.0.0-beta.11 → 4.0.0-beta.14

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 (60) hide show
  1. package/README.md +0 -5
  2. package/index.js +58 -32
  3. package/middleware/authentication/authentication.js +40 -12
  4. package/middleware/authentication/providers/saml.js +7 -3
  5. package/middleware/config/adapter.js +0 -44
  6. package/middleware/deployment/deployment.js +22 -24
  7. package/middleware/driver/driver.js +24 -1
  8. package/middleware/registration/registration.js +0 -5
  9. package/middleware/stores/engines/empty.js +0 -4
  10. package/middleware/stores/engines/fs-caching-adapter.js +0 -5
  11. package/middleware/stores/engines/fs.js +0 -9
  12. package/middleware/stores/engines/s3.js +0 -5
  13. package/middleware/stores/engines/s3fs.js +0 -5
  14. package/middleware/stores/multistore.js +0 -29
  15. package/middleware/stores/store.js +0 -9
  16. package/middleware/virtual-config/virtual-config.js +253 -203
  17. package/package.json +33 -48
  18. package/server/index.js +166 -111
  19. package/server/standalone.js +1 -6
  20. package/util/cloudcms.js +34 -7
  21. package/util/loaders.js +113 -0
  22. package/util/workqueue.js +100 -0
  23. package/duster/helpers/core/cloudcms/associations.js +0 -34
  24. package/duster/helpers/core/cloudcms/beta/markdown.js +0 -46
  25. package/duster/helpers/core/cloudcms/beta/nodeAttachmentText.js +0 -46
  26. package/duster/helpers/core/cloudcms/beta/params.js +0 -33
  27. package/duster/helpers/core/cloudcms/beta/processTemplate.js +0 -82
  28. package/duster/helpers/core/cloudcms/content.js +0 -34
  29. package/duster/helpers/core/cloudcms/expand.js +0 -38
  30. package/duster/helpers/core/cloudcms/form.js +0 -34
  31. package/duster/helpers/core/cloudcms/query.js +0 -34
  32. package/duster/helpers/core/cloudcms/queryOne.js +0 -34
  33. package/duster/helpers/core/cloudcms/relatives.js +0 -34
  34. package/duster/helpers/core/cloudcms/search.js +0 -34
  35. package/duster/helpers/core/cloudcms/searchOne.js +0 -34
  36. package/duster/helpers/core/cloudcms/wcm/dependency.js +0 -83
  37. package/duster/helpers/core/cloudcms/wcm/fragment.js +0 -34
  38. package/duster/helpers/core/dev/debug.js +0 -42
  39. package/duster/helpers/core/dom/block.js +0 -49
  40. package/duster/helpers/core/dom/include.js +0 -38
  41. package/duster/helpers/core/dom/layout.js +0 -49
  42. package/duster/helpers/core/dom/link.js +0 -81
  43. package/duster/helpers/core/dom/resource.js +0 -77
  44. package/duster/helpers/core/engine.js +0 -1580
  45. package/duster/helpers/core/ice/value.js +0 -65
  46. package/duster/helpers/core/index.js +0 -49
  47. package/duster/helpers/core/operators/if.js +0 -64
  48. package/duster/helpers/core/operators/iter.js +0 -45
  49. package/duster/helpers/core/operators/iterate.js +0 -129
  50. package/duster/helpers/sample/nyt.js +0 -114
  51. package/duster/index.js +0 -319
  52. package/duster/support.js +0 -436
  53. package/duster/tracker.js +0 -262
  54. package/middleware/authentication/providers/cas.js +0 -73
  55. package/middleware/authentication/providers/facebook.js +0 -120
  56. package/middleware/authentication/providers/github.js +0 -88
  57. package/middleware/authentication/providers/linkedin.js +0 -112
  58. package/middleware/authentication/providers/twitter.js +0 -120
  59. package/middleware/server-tags/server-tags.js +0 -113
  60. package/middleware/wcm/wcm.js +0 -1437
@@ -1,34 +0,0 @@
1
- /**
2
- * @queryOne
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
-
12
- /**
13
- * QUERY AND KEEP ONE
14
- *
15
- * Queries for content from the content repository and renders.
16
- *
17
- * Syntax:
18
- *
19
- * {@queryOne sort="title" scope="page" type="custom:type" limit="" skip="" as=""}
20
- * {+templateIdentifier/}
21
- * {/queryOne}
22
- *
23
- * @param chunk
24
- * @param context
25
- * @param bodies
26
- * @param params
27
- */
28
- dust.helpers.queryOne = function(chunk, context, bodies, params)
29
- {
30
- return engine.handleQuery(chunk, context, bodies, params, true);
31
- };
32
-
33
- callback();
34
- };
@@ -1,34 +0,0 @@
1
- /**
2
- * @relatives
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
-
12
- /**
13
- * RELATIVES
14
- *
15
- * Finds relatives around a node.
16
- *
17
- * Syntax:
18
- *
19
- * {@relatives node="<nodeId>" associationType="<association_type>" limit="" skip="" as=""}
20
- * {+templateIdentifier/}
21
- * {/relatives}
22
- *
23
- * @param chunk
24
- * @param context
25
- * @param bodies
26
- * @param params
27
- */
28
- dust.helpers.relatives = function(chunk, context, bodies, params)
29
- {
30
- return engine.handleRelatives(chunk, context, bodies, params);
31
- };
32
-
33
- callback();
34
- };
@@ -1,34 +0,0 @@
1
- /**
2
- * @search
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
-
12
- /**
13
- * SEARCH
14
- *
15
- * Runs a search and passes the rows to a rendering template.
16
- *
17
- * Syntax:
18
- *
19
- * {@search sort="title" scope="page" text="something" limit="" skip="" as=""}
20
- * {+templateIdentifier/}
21
- * {/search}
22
- *
23
- * @param chunk
24
- * @param context
25
- * @param bodies
26
- * @param params
27
- */
28
- dust.helpers.search = function(chunk, context, bodies, params)
29
- {
30
- return engine.handleSearch(chunk, context, bodies, params, false);
31
- };
32
-
33
- callback();
34
- };
@@ -1,34 +0,0 @@
1
- /**
2
- * @searchOne
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
-
12
- /**
13
- * SEARCH
14
- *
15
- * Runs a search and keeps one of the result items. Passes the result to the rendering template.
16
- *
17
- * Syntax:
18
- *
19
- * {@searchOne sort="title" scope="page" text="something" limit="" skip="" as=""}
20
- * {+templateIdentifier/}
21
- * {/searchOne}
22
- *
23
- * @param chunk
24
- * @param context
25
- * @param bodies
26
- * @param params
27
- */
28
- dust.helpers.searchOne = function(chunk, context, bodies, params)
29
- {
30
- return engine.handleSearch(chunk, context, bodies, params, true);
31
- };
32
-
33
- callback();
34
- };
@@ -1,83 +0,0 @@
1
- var tracker = require("../../../../tracker");
2
-
3
- /**
4
- * @dependency
5
- *
6
- * @param app
7
- * @param dust
8
- * @param callback
9
- */
10
- module.exports = function(app, dust, callback)
11
- {
12
- var support = require("../../../../support")(dust);
13
- var map = support.map;
14
- var end = support.end;
15
-
16
- /**
17
- * Flags a dependency for a page.
18
- *
19
- * There are two types of dependencies - "produces" and "requires".
20
- *
21
- * "Produces" means that the HTML output of the page contains data from one or more dependencies. These dependencies
22
- * are identified by IDs and are usually Node IDs. If the page shows an attachment from a Node, it should be flagged
23
- * as having a "produces" dependency with that Node's ID. If it shows article text in any way, the article's Node
24
- * ID should be marked as a "produces" dependency.
25
- *
26
- * "Requires" means that the cached HTML can only be served if the requirement is met. The "requires" dependencies
27
- * may only consist of request-time state that is known *before* the Dust processor begins to run. That way, the
28
- * Dust processor can elect to use the cache state instead of executing the page. The "requires" dependencies
29
- * are usually request information (url, parameters, locale) or user information (user's name, id) but may also
30
- * consist of information that is acquired by Express middleware that runs ahead of WCM (which usually runs toward
31
- * the end).
32
- *
33
- * If "type" is not specified, it is assumed to be "produces".
34
- *
35
- * Syntax:
36
- *
37
- * {@dependency type="produces" key="{key}" value="{value}"}
38
- * {+templateIdentifier/}
39
- * {/dependency}
40
- *
41
- * {@dependency type="requires" key="{key}" value="{value}"}
42
- * {+templateIdentifier/}
43
- * {/dependency}
44
- *
45
- * @param chunk
46
- * @param context
47
- * @param bodies
48
- * @param params
49
- */
50
- dust.helpers.dependency = function(chunk, context, bodies, params)
51
- {
52
- var type = context.resolve(params.type);
53
- var key = context.resolve(params.key);
54
- var value = context.resolve(params.value);
55
-
56
- return map(chunk, function(chunk2) {
57
-
58
- // TRACKER: START
59
- tracker.start(context);
60
-
61
- if (!type || type === "produces" || type === "produce" || type === "p") {
62
-
63
- // TRACKER - PRODUCES "key" = "value"
64
- tracker.produces(context, key, value);
65
-
66
- }
67
- else if (type === "requires" || type === "require" || type === "r") {
68
-
69
- // TRACKER - REQUIRES "key" = "value"
70
- tracker.requires(context, key, value);
71
-
72
- }
73
- else {
74
- console.log("Unknown type for @dependency tag: " + type);
75
- }
76
-
77
- // render whatever is inside the tag and keep going
78
- return chunk2.render( bodies.block, context );
79
- });
80
- };
81
-
82
- callback();
83
- };
@@ -1,34 +0,0 @@
1
- /**
2
- * @fragment
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
-
12
- /**
13
- * FRAGMENT
14
- *
15
- * Declares a cacheable fragment.
16
- *
17
- * Syntax:
18
- *
19
- * {@fragment}
20
- * ...inner body
21
- * {/fragment}
22
- *
23
- * @param chunk
24
- * @param context
25
- * @param bodies
26
- * @param params
27
- */
28
- dust.helpers.fragment = function(chunk, context, bodies, params)
29
- {
30
- return engine.handleFragment(chunk, context, bodies, params);
31
- };
32
-
33
- callback();
34
- };
@@ -1,42 +0,0 @@
1
- /**
2
- * @debug
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
- * Shows debug information about the current context
16
- *
17
- * Syntax:
18
- *
19
- * {@debug/}
20
- *
21
- * @param chunk
22
- * @param context
23
- * @param bodies
24
- * @param params
25
- */
26
- dust.helpers.debug = function(chunk, context, bodies, params)
27
- {
28
- //params = params || {};
29
-
30
- return map(chunk, function(chunk) {
31
-
32
- var json = JSON.stringify(context.stack.head, null, " ");
33
- var html = "<textarea>" + json + "</textarea>";
34
- chunk.write(html);
35
-
36
- end(chunk, context);
37
- });
38
- };
39
-
40
-
41
- callback();
42
- };
@@ -1,49 +0,0 @@
1
- var path = require("path");
2
-
3
- /**
4
- * @layout
5
- *
6
- * @param app
7
- * @param dust
8
- * @param callback
9
- */
10
- module.exports = function(app, dust, callback)
11
- {
12
- var engine = require("../engine")(app, dust);
13
- var map = engine.map;
14
- var end = engine.end;
15
-
16
- /**
17
- * INCLUDE BLOCK
18
- *
19
- * Includes a block dust template into this one and passes any context forward.
20
- *
21
- * Syntax:
22
- *
23
- * {@block path="path" ...args/}
24
- *
25
- * @param chunk
26
- * @param context
27
- * @param bodies
28
- * @param params
29
- */
30
- dust.helpers.block = function(chunk, context, bodies, params)
31
- {
32
- params = params || {};
33
-
34
- var targetPath = context.resolve(params.path);
35
-
36
- if (targetPath.indexOf("/blocks") === 0)
37
- {
38
- // we're ok
39
- }
40
- else
41
- {
42
- targetPath = path.join("/blocks", targetPath);
43
- }
44
-
45
- return engine.handleInclude(chunk, context, bodies, params, targetPath);
46
- };
47
-
48
- callback();
49
- };
@@ -1,38 +0,0 @@
1
- /**
2
- * @include
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
- * INCLUDE
16
- *
17
- * Includes another dust template into this one and passes any context forward.
18
- *
19
- * Syntax:
20
- *
21
- * {@include path="../template.html" ...args/}
22
- *
23
- * @param chunk
24
- * @param context
25
- * @param bodies
26
- * @param params
27
- */
28
- dust.helpers.include = function(chunk, context, bodies, params)
29
- {
30
- params = params || {};
31
-
32
- var targetPath = context.resolve(params.path);
33
-
34
- return engine.handleInclude(chunk, context, bodies, params, targetPath);
35
- };
36
-
37
- callback();
38
- };
@@ -1,49 +0,0 @@
1
- var path = require("path");
2
-
3
- /**
4
- * @layout
5
- *
6
- * @param app
7
- * @param dust
8
- * @param callback
9
- */
10
- module.exports = function(app, dust, callback)
11
- {
12
- var engine = require("../engine")(app, dust);
13
- var map = engine.map;
14
- var end = engine.end;
15
-
16
- /**
17
- * INCLUDE LAYOUT
18
- *
19
- * Includes a layout dust template into this one and passes any context forward.
20
- *
21
- * Syntax:
22
- *
23
- * {@layout path="path" ...args/}
24
- *
25
- * @param chunk
26
- * @param context
27
- * @param bodies
28
- * @param params
29
- */
30
- dust.helpers.layout = function(chunk, context, bodies, params)
31
- {
32
- params = params || {};
33
-
34
- var targetPath = context.resolve(params.path);
35
-
36
- if (targetPath.indexOf("/layouts") === 0)
37
- {
38
- // we're ok
39
- }
40
- else
41
- {
42
- targetPath = path.join("/layouts", targetPath);
43
- }
44
-
45
- return engine.handleInclude(chunk, context, bodies, params, targetPath);
46
- };
47
-
48
- callback();
49
- };
@@ -1,81 +0,0 @@
1
- /**
2
- * @link
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
- var resolveVariables = engine.resolveVariables;
14
-
15
- /**
16
- * Produces an anchor link.
17
- *
18
- * Syntax:
19
- *
20
- * {@link [uri="uri"] [other token values]}
21
- * Click me to go to the next page!
22
- * {/link}
23
- *
24
- * @param chunk
25
- * @param context
26
- * @param bodies
27
- * @param params
28
- */
29
- dust.helpers.link = function(chunk, context, bodies, params)
30
- {
31
- var classParam = context.resolve(params.class);
32
-
33
- // push tokens into context
34
- var tokens = context.get("request").tokens;
35
- context = context.push(tokens);
36
-
37
- // push params into context
38
- var paramsObject = {};
39
- for (var name in params)
40
- {
41
- if (name !== "uri")
42
- {
43
- paramsObject[name] = context.resolve(params[name]);
44
- }
45
- }
46
- context = context.push(paramsObject);
47
-
48
- // use uri from params or fallback to request uri
49
- var uri = context.resolve(params.uri);
50
- if (!uri)
51
- {
52
- uri = context.get("request").matchingPath;
53
- }
54
-
55
- return map(chunk, function(chunk) {
56
-
57
- // ensure uri is resolved
58
- resolveVariables([uri], context, function(err, results) {
59
-
60
- var uri = results[0];
61
-
62
- chunk.write("<a href='" + uri + "'");
63
-
64
- if (classParam)
65
- {
66
- chunk.write(" class='" + classParam + "'");
67
- }
68
-
69
- chunk.write(">");
70
- chunk.render(bodies.block, context);
71
- chunk.write("</a>");
72
-
73
- end(chunk, context);
74
-
75
- });
76
-
77
- });
78
- };
79
-
80
- callback();
81
- };
@@ -1,77 +0,0 @@
1
- /**
2
- * @resource
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
- * Constructs a resource uri that is cache aware.
16
- *
17
- * Syntax:
18
- *
19
- * {@resource uri="/images/logo.svg"/}
20
- * {@res uri="/images/logo.svg"/}
21
- * {@r uri="/images/logo.svg"/}
22
- *
23
- * Example:
24
- *
25
- * <img src="{@resource uri="/images/logo.svg"/}">
26
- *
27
- * @param chunk
28
- * @param context
29
- * @param bodies
30
- * @param params
31
- */
32
- dust.helpers.r = dust.helpers.res = dust.helpers.resource = function(chunk, context, bodies, params)
33
- {
34
- params = params || {};
35
-
36
- var uri = context.resolve(params.uri);
37
-
38
- return map(chunk, function(chunk) {
39
-
40
- if (process.env.CLOUDCMS_APPSERVER_MODE === "production")
41
- {
42
- var req = context.get("req");
43
- if (req)
44
- {
45
- var newUri = uri;
46
-
47
- var cacheBuster = req.runtime.cb;
48
-
49
- var i = uri.lastIndexOf(".");
50
- if (i == -1)
51
- {
52
- newUri = uri + "." + cacheBuster;
53
- }
54
- else
55
- {
56
- newUri = uri.substring(0, i) + "-" + cacheBuster + uri.substring(i);
57
- }
58
-
59
- chunk.write(newUri);
60
- end(chunk, context);
61
- }
62
- else
63
- {
64
- chunk.write(uri);
65
- end(chunk, context);
66
- }
67
- }
68
- else
69
- {
70
- chunk.write(uri);
71
- end(chunk, context);
72
- }
73
- });
74
- };
75
-
76
- callback();
77
- };