This repository was archived by the owner on Jun 17, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathconfiguration.example.json5
117 lines (95 loc) · 4.36 KB
/
configuration.example.json5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
{
"authentication": {
// Salt which will be used when creating an authentication token for a particular volunteer.
"authTokenSalt": "NMrvP28XCLyvVWmZDc72LjQJ",
// Salt which will be used when creating a unique identifier for a particular volunteer.
"userTokenSalt": "CPQJ8b3qRChmQL53CSufXeM5",
// Number of minutes a session on the Volunteer Portal is allowed to last for.
"sessionTimeoutMinutes": 43560,
},
// Logging configuration for the portal, used for both API requests and the backend service
// infrastructure. E-mails will be sent when alerting has been enabled.
"logging": {
// Whether e-mail alerts should be send when an error occurs.
"alerts": true,
// Whether request data context ($_POST) should be included in the message.
"includePost": false,
// Who should receive the exception messages? Array of >=1 entries.
"recipients": [ "info@example.com" ],
// Who should be identified as the sender of exception messages?
"sender": "services@example.com",
},
// Object containing all the environments available for the volunteer portal. The key for each
// entry is the hostname through which the content will be served.
"environments": {
"hostname.com": {
// https://github.com/AnimeNL/volunteer-portal/blob/main/API.md#response-ienvironmentresponse
"title": "Volunteer Portal",
"themeColor": "#558b2f",
"themeTitle": "Volunteer Team",
"shortName": "Volunteers",
"events": {
"event-identifier": {
"enableRegistration": false,
// This has to be a link to a Google Spreadsheet containing Mapping and Schedule
// tables. Send an e-mail for an example database.
"scheduleDatabase": {
"spreadsheet": "googlesheetId",
"mappingSheet": "Mapping",
"scheduleSheet": "Schedule",
"scheduleSheetStartDate": "2022-06-10T11:00:00",
},
},
},
"contactName": "Admin",
"contactTarget": "mailto:info@example.com",
// E-mail address to which applications should be e-mailed.
"applicationAddress": "info@example.com",
// Usernames and passwords that will be accepted for privileged tools, using HTTP Auth.
"privilegedAccess": {
"admin": "PasswordGoesHere",
},
// Each environment has a unique registration database, which is a spreadsheet following
// the format defined in the RegistrationDatabase class.
"registrationDatabase": {
"spreadsheet": "GOOGLE_SPREADSHEET_ID",
"sheet": "Registrations",
},
},
},
// Object containing all the events that should be serviced by the portal. Each event will have
// to be individually added to each of the environments, where they are applicable.
"events": {
"event-identifier": {
// https://github.com/AnimeNL/volunteer-portal/blob/main/API.md#response-ienvironmentresponseevent
"name": "PortalCon 2020",
"enableContent": true,
"enableRegistration": true,
"enableSchedule": false,
"program": "json-file-in-the-cache-folder.json",
"dates": [ "2020-06-01 14:00:00", "2020-06-03 20:00:00" ],
"timezone": "Europe/London",
}
},
// Array of the services that should be running as part of the portal. These are actions that
// will be executed at a particular cadence, even when no visitors visit the portal.
"services": [
{
"class": "ExampleService",
"frequency": 30, // in minutes
"identifier": "example-service",
"options": {
// Any additional options that should be made available go here.
}
}
],
// Object of display configuration objects, each identified by a unique string, to a configured
// event to which volunteers can be scheduled.
"displays": {
"my-display": {
"event": "event-identifier",
"eventId": "123abc",
"title": "My Display!",
}
},
}