Skip to content

Commit 9b88255

Browse files
Merge branch 'next' into docs/jobs
2 parents 8380736 + 6f4f35b commit 9b88255

File tree

6 files changed

+228
-1
lines changed

6 files changed

+228
-1
lines changed

plugins/alerts/README.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Alerts plugin
2+
3+
The Alerts plugin is designed to monitor various metrics and events within the Countly analytics platform. It provides a structured way to set up alerts for different types of data, ensuring that users are notified when specific conditions are met. Below is a detailed breakdown of the plugin's file structure and its components:
4+
5+
## File structure
6+
File structure follows usual Countly plugin structure
7+
```
8+
alerts/
9+
├── api/
10+
├── alertModules/
11+
│ ├── cohorts.js # cohort alert checker
12+
│ ├── crashes.js # crash alert checker
13+
│ ├── dataPoints.js # data points alert checker
14+
│ ├── events.js # events alert checker
15+
│ ├── nps.js # NPS alert checker
16+
│ ├── rating.js # rating alert checker
17+
│ ├── revenue.js # revenue alert checker
18+
│ ├── sessions.js # sessions alert checker
19+
│ ├── survey.js # survey alert checker
20+
│ ├── users.js # users alert checker
21+
│ └── views.js # views alert checker
22+
├── jobs/monitor.js # alert monitoring job
23+
├── parts/
24+
│ ├── common-lib.js
25+
│ └── utils.js
26+
└── api.js # alert management API and all API endpoints
27+
├── frontend/
28+
│ ├── public/
29+
│ │ ├── javascripts
30+
│ │ │ ├── countly.models.js # model code. Facilitates requests to backend (CRUD)
31+
│ │ │ └── countly.views.js # views code. Alerts view, Dashboard home widget
32+
│ │ ├── localization # All localization files
33+
│ │ ├── stylesheets
34+
│ │ └── templates
35+
│ │ ├── email.html # template for email
36+
│ │ └── vue-main.html # template for Alerts view (including home and drawer)
37+
│ └── app.js
38+
├── install.js
39+
├── package.json
40+
├── README.md
41+
└── tests.js # plugin tests
42+
```
43+
44+
## Generate alerts job
45+
46+
Job name: alerts:monitor
47+
48+
Job is set to run each hour, each day or each month according to the configuration set in the creation of alerts. It checks all the alert conditions defined by the users periodically and triggers email notifications if any conditions are met.

plugins/compliance-hub/README.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Compliance Hub plugin
2+
3+
The Compliance Hub plugin for Countly is designed to manage user consent and related metrics, ensuring compliance with various data protection regulations. It provides a comprehensive API for handling user consent, integrating seamlessly with the Countly analytics platform. The plugin includes robust functionality for managing and displaying consent data, featuring templates for consent history, export history, and user consent data tables. Additionally, it offers a dashboard for visualizing consent metrics, helping organizations maintain transparency and compliance.
4+
5+
## File structure
6+
File structure follows usual Countly plugin structure
7+
```
8+
compliance-hub/
9+
├── api/
10+
│ └── api.js # compliance hub API for managing user consent and related metrics
11+
├── frontend/
12+
│ ├── public
13+
│ │ ├── javascripts
14+
│ │ │ ├── countly.models.js # model code for consent management
15+
│ │ │ └── countly.views.js # views code.
16+
│ │ ├── localization # all localization files
17+
│ │ ├── stylesheets
18+
│ │ └── templates
19+
│ │ ├── consentHistory.html # template for consent history table
20+
│ │ ├── exportHistory.html # template for export history
21+
│ │ ├── main.html # compliance hub header
22+
│ │ ├── metrics.html # consent metrics dashboard
23+
│ │ ├── user.html # user consent data table
24+
│ │ └── userConsentHistory.html # user consent history table
25+
│ └── app.js
26+
├── install.js
27+
├── package.json
28+
├── README.md
29+
└── tests.js # plugin tests
30+
```

plugins/hooks/README.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Countly Hooks Plugin
2+
3+
The Hooks plugin provides powerful automation for integrating Countly data with external systems. This plugin can trigger external HTTP endpoints based on internal events and incoming data, and send automated email notifications for events like user profile updates or users entering a cohort. Hooks offers a new way to feed external systems with Countly data, enabling real-time interactions and automating workflows.
4+
5+
## File Structure
6+
7+
```javascript
8+
hooks/ # Main hooks plugin directory
9+
├── api/ # Backend API logic
10+
│ ├── jobs/ # Job scheduling logic
11+
│ │ └── schedule.js # Handles scheduling tasks
12+
│ └── parts/ # Logic for effects and triggers
13+
│ ├── effects/ # Different types of effects used in hooks
14+
│ │ ├── custom_code.js # Handles custom code execution
15+
│ │ ├── email.js # Manages email-related hooks
16+
│ │ ├── http.js # HTTP requests for hooks
17+
│ │ └── index.js # Effect index for organization
18+
│ └── triggers/ # Triggers for executing hooks
19+
│ ├── api_endpoint.js # API endpoint trigger
20+
│ ├── incoming_data.js # Triggers for incoming data
21+
│ ├── internal_event.js # Internal event trigger
22+
│ ├── scheduled.js # Trigger for scheduled tasks
23+
│ └── index.js # Trigger index file
24+
├── api.js # Main API logic for backend requests
25+
├── testData.js # Sample test data for hooks
26+
├── utils.js # Utility functions for hooks
27+
├── frontend/ # Frontend resources
28+
│ ├── public/ # Publicly accessible files
29+
│ │ ├── javascripts/ # JavaScript for frontend logic
30+
│ │ │ ├── countly.hooks.effects.js # Effect logic for frontend hooks
31+
│ │ │ ├── countly.models.js # Model definitions for hooks
32+
│ │ │ └── countly.views.js # View logic for rendering hooks
33+
│ │ ├── localization/ # Localization files for translations
34+
│ │ ├── stylesheets/ # CSS and SCSS for styling hooks UI
35+
│ │ │ ├── vue-main.css # Compiled CSS for UI
36+
│ │ │ └── vue-main.scss # Source SCSS file for styling
37+
│ │ └── templates/ # HTML templates for UI components
38+
│ │ ├── vue-drawer.html # Drawer UI for hooks
39+
│ │ ├── vue-effects.html # Effects UI template
40+
│ │ ├── vue-hooks-detail-error-table.html # Template for error table
41+
│ │ ├── vue-hooks-detail.html # Detail view of individual hooks
42+
│ │ ├── vue-main.html # Main template for hooks
43+
│ │ └── vue-table.html # Table template for hooks display
44+
│ └── app.js # Main frontend application logic
45+
├── install.js # Installation script for the plugin
46+
├── package-lock.json # Lock file for Node.js dependencies
47+
├── package.json # Package configuration for Node.js
48+
├── tests.js # Test scripts for validating hooks functionality
49+
└── uninstall.js # Uninstallation script for removing the plugin
50+
```
51+
52+
## Installation
53+
54+
1. Navigate to the directory where the Hooks plugin is located. This could be a relative or absolute path depending on your environment setup:
55+
56+
```bash
57+
cd /path/to/your/project/hooks
58+
```
59+
60+
2. Install dependencies:
61+
62+
```bash
63+
npm install
64+
```

plugins/recaptcha/README.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Recaptcha plugin
2+
3+
The reCAPTCHA plugin for Countly is designed to integrate Google's reCAPTCHA service into your Countly analytics platform. This plugin helps protect your application from spam and abuse while ensuring a smooth user experience. It provides an easy-to-use API for managing reCAPTCHA verification and includes robust functionality for displaying reCAPTCHA challenges.
4+
5+
## File Structure
6+
7+
File structure follows usual Countly plugin structure
8+
```
9+
recaptcha/
10+
├── api/
11+
│ └── api.js
12+
├── frontend/
13+
│ ├── public
14+
│ │ ├── javascripts
15+
│ │ │ ├── countly.models.js
16+
│ │ │ └── countly.views.js
17+
│ │ ├── localization # all localization files
18+
│ │ └── stylesheets
19+
│ └── app.js # reCAPTCHA integration for Countly login
20+
├── install.js
21+
├── package.json
22+
├── README.md
23+
└── tests.js # plugin tests
24+
```
25+
26+
## Configuration
27+
28+
The reCAPTCHA plugin for Countly requires a site key and a secret key from the Google reCAPTCHA admin console. Both keys are essential for the plugin to function correctly and ensure secure verification. In the recaptcha settings in Countly, there is a link to the Google reCAPTCHA admin page.

plugins/systemlogs/frontend/public/localization/systemlogs.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,5 @@ systemlogs.action.cb-content_asset-uploaded = Content Builder Asset Uploaded
7676
systemlogs.action.cb-content_asset-deleted = Content Builder Asset Deleted
7777
systemlogs.action.cb-content_block-edit = Content Builder Block Edited
7878
systemlogs.action.cb-content_block-create = Content Builder Block Created
79-
systemlogs.action.cb-content_block-delete = Content Builder Block Deleted
79+
systemlogs.action.cb-content_block-delete = Content Builder Block Deleted
80+
systemlogs.action.journey-engine-event-created = Journey Engine Event Created

plugins/times-of-day/README.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Countly times-of-day plugin
2+
3+
The Times of Day plugin provides a visual representation of user activity based on local time, offering a scatter plot chart that shows when sessions and events occur across different days of the week.
4+
5+
## File Structure
6+
7+
```javascript
8+
times-of-day/
9+
├── api/ # Backend API logic
10+
│ └── api.js # Main API file handling backend requests and responses
11+
├── frontend/ # Frontend resources
12+
│ ├── public/ # Publicly accessible resources
13+
│ │ ├── images/ # Images used in the plugin
14+
│ │ │ └── times-of-day/ # Folder for times-of-day related images
15+
│ │ │ └── times-of-day.svg # SVG image for times-of-day widget
16+
│ │ ├── javascripts/ # JavaScript files for frontend logic
17+
│ │ │ ├── countly.models.js # Model definitions for data handling
18+
│ │ │ ├── countly.views.component.common.js # Common view component logic
19+
│ │ │ └── countly.views.js # View definitions for rendering
20+
│ ├── localization/ # Localization files for multi-language support
21+
│ ├── stylesheets/ # Stylesheets for styling the plugin
22+
│ │ ├── main.css # Compiled CSS for styling
23+
│ │ ├── main.css.map # Source map for the CSS file
24+
│ │ └── main.scss # Main SCSS stylesheet
25+
│ ├── templates/ # HTML templates for UI components
26+
│ │ ├── times-of-day-widget-drawer.html # Drawer template for the times-of-day widget
27+
│ │ ├── times-of-day-widget.html # Main template for the times-of-day widget
28+
│ │ └── times-of-day.html # Template for times-of-day display
29+
├── app.js # Main application logic for the frontend
30+
├── install.js # Installation script for the plugin
31+
├── package-lock.json # Lock file for Node.js dependencies
32+
├── package.json # Package configuration file for Node.js
33+
├── tests.js # Test scripts for validating functionality
34+
└── uninstall.js # Uninstallation script for removing the plugin
35+
```
36+
37+
## Key Features
38+
39+
- **Visual User Activity Mapping**: TDisplays a scatter plot chart showing when user sessions and events occur throughout the day, providing a clear visual representation of user activity patterns.
40+
- **Data Type Filters**: Allows filtering the data by Sessions, Events, Consent, and Push Actioned, giving flexibility in analyzing different types of user interactions
41+
- **Custom Time Ranges**: Enables selection of different time periods (e.g., All Time, Last 30 Days) to adjust the data view to fit your specific analysis needs.
42+
- **Localized Time Representation**: Displays user activity based on their local time zone, making it easier to track engagement across different regions
43+
44+
## Installation
45+
46+
1. Navigate to the directory where the times-of-day plugin is located. This could be a relative or absolute path depending on your environment setup:
47+
48+
```bash
49+
cd /path/to/your/project/times-of-day
50+
```
51+
52+
2. Install dependencies:
53+
54+
```bash
55+
npm install
56+
```

0 commit comments

Comments
 (0)