You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We welcome contributions and feedback! All contributors must sign our [Contributor License Agreement (CLA)](https://docs.google.com/a/optimizely.com/forms/d/e/1FAIpQLSf9cbouWptIpMgukAKZZOIAhafvjFCV8hS00XJLWQnWDFtwtA/viewform) to be eligible to contribute. Please read the [README](README.md) to set up your development environment, then read the guidelines below for information on submitting your code.
4
+
5
+
## Development process
6
+
7
+
1. Fork the repository and create your branch from master.
8
+
2. Please follow the [commit message guidelines](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#-commit-message-guidelines) for each commit message.
9
+
3. Update relevant `CHANGELOG.md` if users should know about this change.
10
+
4.`git push` your changes to GitHub.
11
+
5. Open a PR from your fork into the master branch of the original repo
12
+
6. Make sure that there are no merge conflicts between your branch and `master`.
13
+
7. Open a pull request from `YOUR_NAME/branch_name` to `master`.
14
+
8. A repository maintainer will review your pull request and, if all goes well, squash and merge it!
15
+
16
+
Note: Please don't change the `package.json` or `VERSION`. We'll take care of bumping the version when we next release.
17
+
18
+
## License
19
+
20
+
All contributions are under the CLA mentioned above. For this project, Optimizely uses the Apache 2.0 license, and so asks that by contributing your code, you agree to license your contribution under the terms of the [Apache License v2.0](https://www.apache.org/licenses/LICENSE-2.0). Your contributions should also include the following header:
The YEAR above should be the year of the contribution. If work on the file has been done over multiple years, list each year in the section above. Example: Optimizely writes the file and releases it in 2014. No changes are made in 2015. Change made in 2016. YEAR should be “2014, 2016”.
# Optimizely Full Stack Feature Flags and Experimentation
2
2
3
-
[Optimizely Full Stack](https://docs.developers.optimizely.com/full-stack/docs) is a feature flagging and experimentation platform for websites, mobile apps, chatbots, APIs, smart devices, and anything else with a network connection.
3
+
[Optimizely Full Stack](https://docs.developers.optimizely.com/experimentation/v4.0.0-full-stack/docs) is a feature flagging and experimentation platform for websites, mobile apps, chatbots, APIs, smart devices, and anything else with a network connection.
4
4
5
-
You can deploy code behind feature flags, experiment with A/B tests, and roll out or roll back features immediately. All of this functionality is available with minimal performance impact via easy-to-use, open source SDKs.
5
+
You can deploy code behind feature flags, experiment with A/B tests, and roll out or roll back features immediately. All of this functionality is available with minimal performance impact through easy-to-use, open source SDKs.
6
6
7
-
# Optimizely Starter Kit
8
-
The Optimizely starter kit for Akamai's Edge Workers embeds and extends our [Javascript SDK](https://docs.developers.optimizely.com/full-stack/v4.0/docs/javascript-node) to provide a starting point for you to implement experimentation and feature flagging for your experiences at the edge. For a guide to getting started with our platform more generally, this can be combined with the steps outlined in our [Javascript Quickstart here](https://docs.developers.optimizely.com/full-stack/v4.0/docs/javascript-node).
7
+
---
8
+
9
+
## Optimizely + Akamai EdgeWorkers Starter Kit
10
+
11
+
> Starter Kit for running Optimizely Full Stack feature flags and experiments on the [Akamai EdgeWorkers](https://developer.akamai.com/akamai-edgeworkers-overview) service.
12
+
13
+
The Optimizely starter kit for Akamai's EdgeWorkers embeds and extends our [Javascript Node SDK](https://docs.developers.optimizely.com/experimentation/v4.0.0-full-stack/docs/javascript-node-sdk) to provide a starting point for you to implement experimentation and feature flagging for your experiences at the edge. For a guide to getting started with our platform more generally, this can be combined with the steps outlined in our [Javascript Quickstart](https://docs.developers.optimizely.com/experimentation/v4.0.0-full-stack/docs/javascript-node-quickstart).
9
14
10
15
### Identity Management
11
-
Out of the box, Optimizely's Full Stack SDKs require a user-provided identifier to be passed in at runtime to drive experiment and feature flag decisions. This example generates a unique id, stores it in a cookie and reuses it to make the decisions sticky. Another common approach would be to use an existing unique identifier available within your application.
16
+
Out of the box, Optimizely's Full Stack SDKs require a user-provided identifier to be passed in at runtime to drive experiment and feature flag decisions. This example generates a unique ID, stores it in a cookie and reuses it to make the decisions sticky. Alternatively, you can use an existing unique identifier available within your application and pass it in as the value for the `OPTIMIZELY_USER_ID` cookie.
12
17
13
18
### Bucketing
14
-
For more information on how Optimizely Full Stack SDKs bucket visitors, see [here](https://docs.developers.optimizely.com/full-stack/v4.0/docs/how-bucketing-works).
19
+
For more information on how Optimizely Full Stack SDKs assign users to feature flags and experiments, see [the documentation on how bucketing works](https://docs.developers.optimizely.com/experimentation/v4.0.0-full-stack/docs/how-bucketing-works).
20
+
21
+
22
+
## How to use
15
23
16
-
# How to use
24
+
### Prerequisites
25
+
You will need have Optimizely account before following this starter kit. If you do not have an account, you can [register for a free account](https://www.optimizely.com/products/intelligence/full-stack-experimentation/).
17
26
27
+
### Get started
18
28
1. Create an [EdgeWorker ID](https://techdocs.akamai.com/edgeworkers/docs/create-an-edgeworker-id-1).
19
29
20
30
2. Add the [EdgeWorker Behavior](https://techdocs.akamai.com/edgeworkers/docs/add-the-edgeworker-behavior-1).
21
31
22
-
3.Download and install the [Akamai CLI](https://developer.akamai.com/getting-started/cli).
32
+
3.Install the [Akamai CLI](https://developer.akamai.com/getting-started/cli).
23
33
24
-
4. Install EdgeWorkers cli
34
+
4. Install the [EdgeWorkers CLI](https://techdocs.akamai.com/edgeworkers/docs/akamai-cli#edgeworkers-cli).
25
35
```
26
36
akamai install edgeworkers
27
37
```
@@ -31,13 +41,13 @@ For more information on how Optimizely Full Stack SDKs bucket visitors, see [her
31
41
6. Create a new folder and pull the code from this Starter kit.
32
42
33
43
```
34
-
curl -L https://github.com/optimizely/akamai-edgeworker-starter-kit/tarball/zeeshan/initial-implementation | tar --strip-components=1 -zx
44
+
curl -L https://github.com/optimizely/akamai-edgeworker-starter-kit/tarball/main | tar --strip-components=1 -zx
35
45
```
36
46
37
-
OR
47
+
or
38
48
39
49
```
40
-
wget --no-check-certificate https://github.com/optimizely/akamai-edgeworker-starter-kit/tarball/zeeshan/initial-implementation -O - | tar --strip-components=1 -zx
50
+
wget --no-check-certificate https://github.com/optimizely/akamai-edgeworker-starter-kit/tarball/main -O - | tar --strip-components=1 -zx
41
51
```
42
52
43
53
7. Install node modules.
@@ -46,7 +56,7 @@ For more information on how Optimizely Full Stack SDKs bucket visitors, see [her
46
56
npm install
47
57
```
48
58
49
-
8. Add your Optimizely SDK key and flag in [src/main.js](src/main.js).
59
+
8. Add your Optimizely SDK key and flag in [src/main.js](src/main.js). Your SDK keys can be found in the Optimizely application under **Settings**.
50
60
51
61
9. Build the bundle.
52
62
@@ -66,8 +76,18 @@ For more information on how Optimizely Full Stack SDKs bucket visitors, see [her
`WORKER_ID`: Unique ID for you edgeworker. This can be obtained from the Akamai control center.
70
-
`ENVIRONMENT`: The environment the edgeworker is being deployed on.
71
-
`EDGEWORKER_VERSION`: The custom version of the edge worker as mentioned in `bundle.json`. This should be updated on every new deployment.
79
+
`WORKER_ID`: Unique ID for your EdgeWorker. This can be obtained from the Akamai control center.
80
+
`ENVIRONMENT`: The environment the EdgeWorker is being deployed on.
81
+
`EDGEWORKER_VERSION`: The custom version of the EdgeWorker as mentioned in `bundle.json`. This should be updated on every new deployment.
72
82
73
83
12. Enable [Advanced debug headers](https://techdocs.akamai.com/edgeworkers/docs/enable-enhanced-debug-headers) to receive debug logs in the response headers.
0 commit comments