Skip to content

Commit da383ec

Browse files
JyyjyJason Young
andauthored
Readme updates (#123)
Co-authored-by: Jason Young <jky10@pm.me>
1 parent 92615c2 commit da383ec

4 files changed

Lines changed: 136 additions & 79 deletions

File tree

README.md

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,28 @@
1717
~ under the License.
1818
-->
1919

20-
Apache Flagon
21-
--------------------------------------
20+
# Apache Flagon
2221

23-
Flagon includes both UserALE, an instrumentation tool for web applications, and Distill, a python library for analyzing UserALE telemetry.
22+
Flagon is a collection of open-source tools for user behavior analytics, including instrumentation libraries and analytics pipelines. This monorepo contains multiple Flagon products in a unified codebase.
2423

25-
See products/ for userale and distill. This read me is under construction.
24+
## Repository Structure
25+
```text
26+
/examples # Integration examples
27+
/products
28+
├── userale
29+
│ └── packages
30+
│ ├── flagon-userale # JavaScript client instrumentation library
31+
│ └── flagon-userale-ext # Browser extension for deploying UserALE
32+
└── distill # Data processing toolkit (Python)
33+
/site # Code for https://flagon.apache.org/
34+
```
2635

36+
## Products
37+
38+
- [UserALE Core Library](./products/userale/packages/flagon-userale/README.md)
39+
- [UserALE Browser Extension](./products/userale/packages/flagon-userale-ext/README.md)
40+
- [Distill Toolkit](./products/distill/README.md)
41+
42+
## Documentation
43+
44+
- 📚 [Flagon Website](https://flagon.apache.org/)

products/userale/README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Flagon UserALE
2+
3+
UserALE is a client-side instrumentation library for behavioral analytics.
4+
5+
This directory contains two packages:
6+
- [`flagon-userale`](./packages/flagon-userale): Core JavaScript library
7+
- [`flagon-userale-ext`](./packages/flagon-userale-ext): Browser extension
8+
9+
For details on each, see their respective READMEs.
10+
11+
📚 [Documentation](https://flagon.incubator.apache.org/userale/)
12+
13+
---

products/userale/packages/flagon-userale-ext/README.md

Lines changed: 60 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,80 @@
11
<!--
2-
~ Licensed to the Apache Software Foundation (ASF) under one
3-
~ or more contributor license agreements. See the NOTICE file
4-
~ distributed with this work for additional information
5-
~ regarding copyright ownership. The ASF licenses this file
6-
~ to you under the Apache License, Version 2.0 (the
7-
~ "License"); you may not use this file except in compliance
8-
~ with the License. You may obtain a copy of the License at
9-
~
10-
~ http://www.apache.org/licenses/LICENSE-2.0
11-
~
12-
~ Unless required by applicable law or agreed to in writing,
13-
~ software distributed under the License is distributed on an
14-
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15-
~ KIND, either express or implied. See the License for the
16-
~ specific language governing permissions and limitations
17-
~ under the License.
2+
Licensed to the Apache Software Foundation (ASF) under one
3+
or more contributor license agreements. See the NOTICE file
4+
distributed with this work for additional information
5+
regarding copyright ownership. The ASF licenses this file
6+
to you under the Apache License, Version 2.0 (the "License");
7+
you may not use this file except in compliance with the License.
8+
You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing,
13+
software distributed under the License is distributed on an
14+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
15+
either express or implied. See the License for the specific
16+
language governing permissions and limitations under the License.
1817
-->
1918

20-
This is a [Plasmo extension](https://docs.plasmo.com/) project bootstrapped with [`plasmo init`](https://www.npmjs.com/package/plasmo).
19+
# Flagon UserALE Browser Extension
20+
21+
This package provides a browser extension for [Flagon UserALE](https://flagon.apache.org/userale/), enabling effortless, no-code instrumentation of websites. It captures user interactions and sends behavioral logs to a logging endpoint.
22+
23+
The extension is built with [Plasmo](https://docs.plasmo.com/) and supports modern browser environments like Chrome and Firefox.
24+
25+
---
2126

22-
## Getting Started
27+
## Features
2328

24-
First, run the development server:
29+
✅ Passive user interaction logging
30+
✅ No code changes required on instrumented pages
31+
✅ Configurable via extension options (logging endpoint, user ID, tool metadata)
32+
✅ Supports local development and custom deployments
33+
34+
---
35+
36+
## Getting Started (Development)
37+
38+
1. Install dependencies:
2539

2640
```bash
27-
pnpm dev
28-
# or
29-
npm run dev
41+
pnpm install
3042
```
3143

32-
Open your browser and load the appropriate development build. For example, if you are developing for the chrome browser, using manifest v3, use: `build/chrome-mv3-dev`.
44+
2. Start the development build:
3345

34-
You can start editing the popup by modifying `popup.tsx`. It should auto-update as you make changes. To add an options page, simply add a `options.tsx` file to the root of the project, with a react component default exported. Likewise to add a content page, add a `content.ts` file to the root of the project, importing some module and do some logic, then reload the extension on your browser.
46+
```bash
47+
pnpm dev
48+
```
3549

36-
For further guidance, [visit our Documentation](https://docs.plasmo.com/)
50+
3. Load the extension in your browser:
51+
- **Chrome**: Visit `chrome://extensions/`, enable Developer Mode, click "Load unpacked", and select the `build/chrome-mv3-dev/` directory.
52+
- **Firefox**: Visit `about:debugging`, "This Firefox", "Load Temporary Add-on", and select the `manifest.json` file in `build/firefox-mv3-dev/`.
3753

38-
## Making production build
54+
---
3955

40-
Run the following:
56+
## Building for Production
57+
58+
To create a production build:
4159

4260
```bash
4361
pnpm build
44-
# or
45-
npm run build
4662
```
4763

48-
This should create a production bundle for your extension, ready to be zipped and published to the stores.
64+
This outputs a zipped production bundle.
65+
66+
---
67+
68+
## Extension Options
69+
70+
After installing the extension, click the icon in your browser toolbar to open the **Options** page. From here you can configure:
71+
- **Logging Endpoint** – Where logs will be sent
72+
- **URL allowlist** – A regex of URL's to allow logging on
73+
- **OAuth Credentials** – Details of an OAuth login to authenticate with the logging endpoint.
74+
75+
---
76+
77+
## Resources
4978

50-
## Submit to the webstores
79+
- 📚 [UserALE Documentation](https://flagon.apache.org/userale/)
5180

52-
The easiest way to deploy your Plasmo extension is to use the built-in [bpp](https://bpp.browser.market) GitHub action. Prior to using this action however, make sure to build your extension and upload the first version to the store to establish the basic credentials. Then, simply follow [this setup instruction](https://docs.plasmo.com/framework/workflows/submit) and you should be on your way for automated submission!

0 commit comments

Comments
 (0)