@smartkomm/plexus-cli 0.1.1 → 0.1.2

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.
@@ -1 +1 @@
1
- c85cbb64210eee51b7fb7b63351875bd6bd41699707b60bf736268722b6ebec1
1
+ 7d33c7c7f6e3bd7b3ba26910eaed2d3df2af5d707d4c83250c0b9edfef8530d2
@@ -1,8 +1,8 @@
1
1
  # Personalised demo video links with viewing statistics
2
2
 
3
3
  **When to use:** send a named person a link to the public demo video page — to one
4
- video or to the whole page — and later see whether they opened it, when, how often
5
- and how long they watched each video. One sentence such as "Link für Erika
4
+ video or to the whole page — and later see whether they opened it, when, how often,
5
+ how long they watched each video and which demo pages they looked at for how long. One sentence such as "Link für Erika
6
6
  Mustermann zum Video Vorlagen" becomes one `demo link create`.
7
7
 
8
8
  ## Prerequisites
@@ -39,7 +39,10 @@ plexus-cli --env prod demo link create --allow-prod --to "Erika Mustermann" --js
39
39
  ```
40
40
 
41
41
  Send each recipient **their own** URL. The link's `?r=<code>` names the recipient;
42
- the rest of the URL is the page's usual jump to the video.
42
+ the rest of the URL is the page's usual jump to the video. The code travels along
43
+ when the recipient follows a link to another demo page (`/demo/ihre-schule`,
44
+ `/demo/ihr-traeger`), so those page views count for the same link; it is dropped
45
+ when they leave the demo pages (e.g. the apply button to the portal).
43
46
 
44
47
  The recipient CSV must be **UTF-8**: in Excel, *Save as → „CSV UTF-8 (durch
45
48
  Trennzeichen getrennt) (*.csv)"*. A file in the older „CSV (Trennzeichen-getrennt)"
@@ -58,7 +61,12 @@ plexus-cli --env prod demo link stats --campaign herbst # or: demo link stats
58
61
  - `gesehen` — seconds actually played, summed over all visits, / video length,
59
62
  - `%` — how much of the video the best single visit actually played. Skipping ahead
60
63
  to the end does not count: someone who drags the slider to the end and stops shows
61
- a few seconds and a low `%`.
64
+ a few seconds and a low `%`,
65
+ - `seiten` — the demo pages looked at: per page the time it was visible, summed over
66
+ all visits (mm:ss), and how many visits viewed it, e.g.
67
+ `Videos 3:10 (2×) · Ihre Schule 0:45 (1×)`. A page counts once it was visible 5 s
68
+ or the visitor interacted on it. Platform → „Demo-Links" shows the same in the
69
+ column „Seiten" (without the count).
62
70
 
63
71
  A recipient who never opened the link shows `0` and `—`.
64
72
 
@@ -83,13 +91,16 @@ plexus-cli --env prod demo link delete --allow-prod <code> --confirm # deletes,
83
91
  - **A forwarded link counts for the original recipient.** The link knows only whom it
84
92
  was created for; if they forward it, the colleague's viewing is counted under their
85
93
  name. Create a separate link per person.
86
- - **Every page load is a visit**, a reload too. Switching view or video on the page
87
- is not a new visit.
94
+ - **Every page load is a visit**, a reload too. Switching view or video on the page,
95
+ or following a link to another demo page, is not a new visit.
88
96
  - **Watching time is counted from playback**, every 10 seconds and when the viewer
89
97
  pauses or leaves: closing the tab abruptly can lose up to 10 seconds.
98
+ - **Page time is time visible**: a page in a background tab or a minimised window does
99
+ not count; reported every 10 seconds, so up to 10 seconds can get lost on leaving.
90
100
  - **No cookie, nothing stored in the browser, no session replay** for pages opened
91
- through such a link. Visits and playback are deleted after 12 months; the link
92
- itself (name, address) stays until `demo link delete`.
101
+ through such a link; the code travels only in the address. Visits, playback and
102
+ page views are deleted after 12 months; the link itself (name, address) stays until
103
+ `demo link delete`.
93
104
  - `create` is not idempotent: running it twice gives the same person two links.
94
105
  `revoke` is: revoking twice keeps the first time.
95
106
  - An unknown video id is refused, and the error lists every valid id. A CSV batch is
@@ -58220,6 +58220,35 @@
58220
58220
  },
58221
58221
  "optional": true
58222
58222
  },
58223
+ "pages": {
58224
+ "fieldType": {
58225
+ "type": "array",
58226
+ "value": {
58227
+ "type": "object",
58228
+ "value": {
58229
+ "activeSeconds": {
58230
+ "fieldType": {
58231
+ "type": "number"
58232
+ },
58233
+ "optional": false
58234
+ },
58235
+ "path": {
58236
+ "fieldType": {
58237
+ "type": "string"
58238
+ },
58239
+ "optional": false
58240
+ },
58241
+ "views": {
58242
+ "fieldType": {
58243
+ "type": "number"
58244
+ },
58245
+ "optional": false
58246
+ }
58247
+ }
58248
+ }
58249
+ },
58250
+ "optional": false
58251
+ },
58223
58252
  "recipientEmail": {
58224
58253
  "fieldType": {
58225
58254
  "type": "string"
@@ -58380,6 +58409,35 @@
58380
58409
  },
58381
58410
  "optional": true
58382
58411
  },
58412
+ "pages": {
58413
+ "fieldType": {
58414
+ "type": "array",
58415
+ "value": {
58416
+ "type": "object",
58417
+ "value": {
58418
+ "activeSeconds": {
58419
+ "fieldType": {
58420
+ "type": "number"
58421
+ },
58422
+ "optional": false
58423
+ },
58424
+ "path": {
58425
+ "fieldType": {
58426
+ "type": "string"
58427
+ },
58428
+ "optional": false
58429
+ },
58430
+ "views": {
58431
+ "fieldType": {
58432
+ "type": "number"
58433
+ },
58434
+ "optional": false
58435
+ }
58436
+ }
58437
+ }
58438
+ },
58439
+ "optional": false
58440
+ },
58383
58441
  "recipientEmail": {
58384
58442
  "fieldType": {
58385
58443
  "type": "string"
@@ -58454,6 +58512,20 @@
58454
58512
  }
58455
58513
  }
58456
58514
  },
58515
+ {
58516
+ "identifier": "demoLinks.js:listCampaigns",
58517
+ "functionType": "Query",
58518
+ "args": {
58519
+ "type": "object",
58520
+ "value": {}
58521
+ },
58522
+ "returns": {
58523
+ "type": "array",
58524
+ "value": {
58525
+ "type": "string"
58526
+ }
58527
+ }
58528
+ },
58457
58529
  {
58458
58530
  "identifier": "demoLinks.js:listLinks",
58459
58531
  "functionType": "Query",
@@ -58585,6 +58657,35 @@
58585
58657
  },
58586
58658
  "optional": true
58587
58659
  },
58660
+ "pages": {
58661
+ "fieldType": {
58662
+ "type": "array",
58663
+ "value": {
58664
+ "type": "object",
58665
+ "value": {
58666
+ "activeSeconds": {
58667
+ "fieldType": {
58668
+ "type": "number"
58669
+ },
58670
+ "optional": false
58671
+ },
58672
+ "path": {
58673
+ "fieldType": {
58674
+ "type": "string"
58675
+ },
58676
+ "optional": false
58677
+ },
58678
+ "views": {
58679
+ "fieldType": {
58680
+ "type": "number"
58681
+ },
58682
+ "optional": false
58683
+ }
58684
+ }
58685
+ }
58686
+ },
58687
+ "optional": false
58688
+ },
58588
58689
  "recipientEmail": {
58589
58690
  "fieldType": {
58590
58691
  "type": "string"
@@ -58850,6 +58951,30 @@
58850
58951
  "optional": false
58851
58952
  }
58852
58953
  }
58954
+ },
58955
+ {
58956
+ "type": "object",
58957
+ "value": {
58958
+ "activeSeconds": {
58959
+ "fieldType": {
58960
+ "type": "number"
58961
+ },
58962
+ "optional": false
58963
+ },
58964
+ "kind": {
58965
+ "fieldType": {
58966
+ "type": "literal",
58967
+ "value": "page"
58968
+ },
58969
+ "optional": false
58970
+ },
58971
+ "path": {
58972
+ "fieldType": {
58973
+ "type": "string"
58974
+ },
58975
+ "optional": false
58976
+ }
58977
+ }
58853
58978
  }
58854
58979
  ]
58855
58980
  },
@@ -58946,6 +59071,35 @@
58946
59071
  },
58947
59072
  "optional": true
58948
59073
  },
59074
+ "pages": {
59075
+ "fieldType": {
59076
+ "type": "array",
59077
+ "value": {
59078
+ "type": "object",
59079
+ "value": {
59080
+ "activeSeconds": {
59081
+ "fieldType": {
59082
+ "type": "number"
59083
+ },
59084
+ "optional": false
59085
+ },
59086
+ "path": {
59087
+ "fieldType": {
59088
+ "type": "string"
59089
+ },
59090
+ "optional": false
59091
+ },
59092
+ "views": {
59093
+ "fieldType": {
59094
+ "type": "number"
59095
+ },
59096
+ "optional": false
59097
+ }
59098
+ }
59099
+ }
59100
+ },
59101
+ "optional": false
59102
+ },
58949
59103
  "recipientEmail": {
58950
59104
  "fieldType": {
58951
59105
  "type": "string"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartkomm/plexus-cli",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Unified Plexus admin + admission-offer config CLI (Convex backend).",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",