Skip to content

Commit e4b09e2

Browse files
authored
Merge pull request #25 from StackExchange/feat/stack-internal-rebrand
chore: rebranding patch (Stack Internal)
2 parents e9d0353 + 8bc8e6e commit e4b09e2

File tree

26 files changed

+131
-124
lines changed

26 files changed

+131
-124
lines changed

.changeset/tired-sites-trade.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
'@stackoverflow/backstage-stack-overflow-teams-collator': patch
3+
'@stackoverflow/backstage-plugin-stack-overflow-teams-backend': patch
4+
'@stackoverflow/backstage-plugin-stack-overflow-teams': patch
5+
---
6+
7+
Rebranding patch, changed terms from "Stack Overflow for Teams" to "Stack Overflow Internal" or "Stack Internal"

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# DO NOT USE THIS IN PRODUCTION
22
#
33
# This Dockerfile builds a Docker image for a pre-configured Backstage instance
4-
# with the Stack Overflow plugins installed. It’s designed as a quick way to try
4+
# with the Stack Overflow Internal plugins installed. It’s designed as a quick way to try
55
# out the integration without having to set it up yourself.
66
#
77
# This is not intended for production use.

README.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
1-
# Backstage - Stack Overflow for Teams Plugin
1+
# Backstage - Stack Internal Plugin
22

33
## Overview
44

5-
The **Stack Overflow for Teams** plugins for **Backstage** integrate your private knowledge solution with your Backstage instance. These plugins provide seamless access to **Stack Overflow Teams'** most relevant data, allowing you to display the top users, top tags, and top questions directly within Backstage. Additionally, it indexes all the questions from a Stack Overflow instance and integrates them into Backstage search, providing enhanced discoverability.
5+
The **Stack Internal** plugins for **Backstage** integrate your private knowledge solution with your Backstage instance. These plugins provide seamless access to **Stack Internal'** most relevant data, allowing you to display the top users, top tags, and top questions directly within Backstage. Additionally, it indexes all the questions from a Stack Internal instance and integrates them into Backstage search, providing enhanced discoverability.
66

7-
These plugins also allow you to securely create **Stack Overflow for Teams** questions from Backstage itself.
7+
These plugins also allow you to securely create **Stack Internal** questions from Backstage itself.
88

99
## Key Features
1010

1111
### OAuth Authentication
1212

13-
The plugin uses OAuth authentication to ensure that only authorised users can post questions to your Stack Overflow instance from Backstage. The OAuth process is secure, user-friendly, and integrates seamlessly with Backstage, providing a safe way to verify user identities before allowing access to question creation features.
13+
The plugin uses OAuth authentication to ensure that only authorised users can post questions to your Stack Internal instance from Backstage. The OAuth process is secure, user-friendly, and integrates seamlessly with Backstage, providing a safe way to verify user identities before allowing access to question creation features.
1414

1515
### Top Users and Tags
16-
Displays the top users and tags from your Stack Overflow instance, giving you insights into the most active contributors and trending topics.
16+
Displays the top users and tags from your Stack Internal instance, giving you insights into the most active contributors and trending topics.
1717

1818
<img width="2260" height="1264" alt="image" src="https://github.com/user-attachments/assets/a28f5380-f9f8-453a-b60e-855c02c45f38" />
1919
<img width="449" height="316" alt="Screenshot 2025-08-05 at 23 14 15" src="https://github.com/user-attachments/assets/64fbb6bf-b1fd-422b-8be6-7b5b1a2d5483" />
2020

2121

2222
### Question Indexing
23-
Retrieves all the questions from your Stack Overflow instance and indexes them into Backstage search. This makes it easier to search and discover questions across your organisation.
23+
Retrieves all the questions from your Stack Overflow Internal instance and indexes them into Backstage search. This makes it easier to search and discover questions across your organisation.
2424

2525
![alt text](https://i.imgur.com/HLKNAZb.png)
2626

27-
### Stack Overflow Hub
28-
A centralised hub within Backstage that showcases the top questions. The hub also allows you to filter questions like you would on Stack Overflow.
27+
### Stack Overflow Internal Hub
28+
A centralised hub within Backstage that showcases the top questions. The hub also allows you to filter questions like you would on Stack Overflow Internal.
2929

3030
<img width="2269" height="1260" alt="image" src="https://github.com/user-attachments/assets/da2059ec-3507-4b2c-86c4-ce799d2d4d67" />
3131

@@ -42,7 +42,7 @@ If you’d like to quickly see how this integration works without setting up you
4242

4343
**`estoesmoises/stackoverflow-backstage-demo:latest`**
4444

45-
This image runs a Backstage instance pre-configured with the Stack Overflow for Teams plugin. You just need to pass a few environment variables when starting the container to connect it to your Stack Overflow for Teams instance.
45+
This image runs a Backstage instance pre-configured with the Stack Internal plugin. You just need to pass a few environment variables when starting the container to connect it to your Stack Internal instance.
4646

4747
---
4848

@@ -52,26 +52,26 @@ This image runs a Backstage instance pre-configured with the Stack Overflow for
5252

5353
| Variable | Description |
5454
| :-------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
55-
| `STACK_OVERFLOW_INSTANCE_URL` | The base URL of your Stack Overflow for Teams (Enterprise) instance. |
56-
| `STACK_OVERFLOW_API_ACCESS_TOKEN` | A **read-only, no-expiry** API access token generated for your Stack Overflow Enterprise instance. This token is used by the plugin’s search collator to index questions into Backstage search. |
57-
| `STACK_OVERFLOW_CLIENT_ID` | The OAuth Client ID from your Stack Overflow application. This is required to enable the secure question creation flow from within Backstage. |
58-
| `STACK_OVERFLOW_REDIRECT_URI` | The redirect URI where Stack Overflow should send users after completing the OAuth authentication flow. By default, this is `{app.baseUrl}/stack-overflow-teams`. For local development, you can use a redirect service like `http://redirectmeto.com/http://localhost:7007/stack-overflow-teams`. |
55+
| `STACK_OVERFLOW_INSTANCE_URL` | The base URL of your Stack Internal (Enterprise) instance. |
56+
| `STACK_OVERFLOW_API_ACCESS_TOKEN` | A **read-only, no-expiry** API access token generated for your Stack Internal Enterprise instance. This token is used by the plugin’s search collator to index questions into Backstage search. |
57+
| `STACK_OVERFLOW_CLIENT_ID` | The OAuth Client ID from your Stack Overflow Internal application. This is required to enable the secure question creation flow from within Backstage. |
58+
| `STACK_OVERFLOW_REDIRECT_URI` | The redirect URI where Stack Overflow Internal should send users after completing the OAuth authentication flow. By default, this is `{app.baseUrl}/stack-overflow-teams`. For local development, you can use a redirect service like `http://redirectmeto.com/http://localhost:7007/stack-overflow-teams`. |
5959

6060
---
6161

6262
### For **Basic** and **Business** Customers:
6363

6464
| Variable | Description |
6565
| :-------------------------------- | :----------------------------------------------------------------------------------------------------------------------- |
66-
| `STACK_OVERFLOW_TEAM_NAME` | The **team name** or **team slug** from your Stack Overflow for Teams account. |
67-
| `STACK_OVERFLOW_API_ACCESS_TOKEN` | A **read-only, no-expiry** API access token generated for your Stack Overflow Teams instance. Used for indexing content. |
66+
| `STACK_OVERFLOW_TEAM_NAME` | The **team name** or **team slug** from your Stack Internal account. |
67+
| `STACK_OVERFLOW_API_ACCESS_TOKEN` | A **read-only, no-expiry** API access token generated for your Stack Internal instance. Used for indexing content. |
6868

6969
> **Note:**
7070
> Question creation is **not supported** on the **Basic** tier.
7171
7272
📖 How to generate your API Access Token
7373

74-
Basic and Business customers can follow the official Stack Overflow for Teams guide to create a Personal Access Token (PAT) for API authentication:
74+
Basic and Business customers can follow the official Stack Internal guide to create a Personal Access Token (PAT) for API authentication:
7575

7676
👉 [Personal Access Tokens (PATs) for API Authentication](https://stackoverflowteams.help/en/articles/10908790-personal-access-tokens-pats-for-api-authentication)
7777

packages/app/src/components/Root/Root.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ export const Root = ({ children }: PropsWithChildren<{}>) => (
8080
<SidebarItem
8181
icon={StackOverflowIcon}
8282
to="stack-overflow-teams"
83-
text="Stack Overflow"
83+
text="Stack Overflow Internal"
8484
/>
8585
<SidebarItem
8686
icon={StackOverflowIcon}

packages/backend/sample.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
STACK_OVERFLOW_INSTANCE_URL=https://[your-site]/api/v3
2-
# This token doesn't needd scope=write_access, this is only use to create an index of all the questions of your Stack Overflow instance.
2+
# This token doesn't needd scope=write_access, this is only use to create an index of all the questions of your Stack Overflow Internal instance.
33
STACK_OVERFLOW_API_ACCESS_TOKEN=
44
# API Application must have read-write permissions, please provide the application's id.
55
STACK_OVERFLOW_CLIENT_ID=

plugins/README.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11

22

33

4-
# Stack Overflow for Teams Plugins for Backstage
4+
# Stack Internal Plugins for Backstage
55

66

77

8-
Based on the existing [**Community Plugins**](https://github.com/backstage/community-plugins/tree/main/workspaces/stack-overflow/plugins) for Stack Overflow, this version introduces two new plugins:
8+
Based on the existing [**Community Plugins**](https://github.com/backstage/community-plugins/tree/main/workspaces/stack-overflow/plugins) for Stack Overflow Internal, this version introduces two new plugins:
99

10-
- A **frontend plugin** responsible for displaying Stack Overflow for Teams data.
10+
- A **frontend plugin** responsible for displaying Stack Internal data.
1111

12-
- A **backend plugin** responsible for fetching and creating Stack Overflow for Teams data.
12+
- A **backend plugin** responsible for fetching and creating Stack Internal data.
1313

1414

1515

@@ -35,7 +35,7 @@ Displays information about the authenticated user.
3535

3636
- **`<StackOverflowPostQuestionModal />`**
3737

38-
Provides a form for users to create a new Stack Overflow question. Once submitted, an API request is executed to create the question.
38+
Provides a form for users to create a new Stack Overflow Internal question. Once submitted, an API request is executed to create the question.
3939

4040

4141

@@ -71,7 +71,7 @@ Initiates **`/auth/start`** on the backend.
7171

7272
- **`<StackAuthCallback />`**
7373

74-
Receives the code and state from your Stack Overflow Enterprise instance as part of the OAuth process and initiates **`/callback`** in the backend.
74+
Receives the code and state from your Stack Internal Enterprise instance as part of the OAuth process and initiates **`/callback`** in the backend.
7575

7676

7777

@@ -107,9 +107,9 @@ The **Backstage backend plugin** (the **Teams plugin**) is responsible for:
107107

108108

109109

110-
- **Indexing all questions** from the private Stack Overflow instance (an enhanced version of the existing community plugins in the Backstage repository).
110+
- **Indexing all questions** from the private Stack Overflow Internal instance (an enhanced version of the existing community plugins in the Backstage repository).
111111

112-
- **Handling API requests** via ``createStackOverflowApi`` and ``createStackOverflowService`` to the Stack Overflow instance for retrieving:
112+
- **Handling API requests** via ``createStackOverflowApi`` and ``createStackOverflowService`` to the Stack Overflow Internal instance for retrieving:
113113

114114
- `/users`
115115

@@ -119,15 +119,15 @@ The **Backstage backend plugin** (the **Teams plugin**) is responsible for:
119119

120120
- Posting new questions via `/questions`
121121

122-
- **Managing OAuth authentication flow** to securely access Stack Overflow. via ``createStackOverflowAuth``
122+
- **Managing OAuth authentication flow** to securely access Stack Overflow Internal. via ``createStackOverflowAuth``
123123

124124

125125

126126
## OAuth Authentication Flow
127127

128128

129129

130-
The backend is the only component that directly utilizes **Stack Overflow access tokens** for requests.
130+
The backend is the only component that directly utilizes **Stack Overflow Internal access tokens** for requests.
131131

132132

133133

@@ -151,8 +151,8 @@ The backend is the only component that directly utilizes **Stack Overflow access
151151

152152
- Retrieves the stored **Code Verifier** and **State**.
153153

154-
- Validates that the received **state** matches the one from Stack Overflow's query string parameter.
154+
- Validates that the received **state** matches the one from Stack Overflow Internal's query string parameter.
155155

156156
- The backend requests an **Access Token** using the stored **Code Verifier**.
157157

158-
- Stores the **Stack Overflow Access Token** in a **secure, HTTP-only cookie**.
158+
- Stores the **Stack Overflow Internal Access Token** in a **secure, HTTP-only cookie**.

plugins/search-backend-module-stack-overflow-teams-collator/README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

2-
# Stack Overflow for Teams Search Backend Module
2+
# Stack Internal Search Backend Module
33

4-
This module for the search plugin is an enhanced version of the original [Stack Overflow collator](https://github.com/backstage/backstage/tree/master/plugins/search-backend-module-stack-overflow-collator). It provides additional information while coded to work specifically with Stack Overflow for Teams API Version 3.
4+
This module for the search plugin is an enhanced version of the original [Stack Overflow Internal collator](https://github.com/backstage/backstage/tree/master/plugins/search-backend-module-stack-overflow-collator). It provides additional information while coded to work specifically with Stack Internal API Version 3.
55

66
## Getting started
77

@@ -13,24 +13,24 @@ To use any of the functionality this plugin provides, you need to start by confi
1313

1414
```yaml
1515
stackoverflow:
16-
baseUrl: https://api.stackoverflowteams.com # alternative: your Stack Overflow Enterprise site
16+
baseUrl: https://api.stackoverflowteams.com # alternative: your Stack Internal Enterprise site
1717
teamName: $STACK_OVERFLOW_TEAM_NAME # optional if you are on Enterprise
1818
apiAccessToken: $STACK_OVERFLOW_API_ACCESS_TOKEN
1919
```
2020
21-
### Stack Overflow for Teams
21+
### Stack Internal
2222
23-
If you have a private Stack Overflow instance and/or a private Stack Overflow Team you will need to supply a Personal Access Token. You can read more about how to set this up by going to [Stack Overflow's Help Page](https://stackoverflowteams.help/en/articles/7913768-stack-overflow-for-teams-api-v3).
23+
If you have a private Stack Overflow Internal instance and/or a private Stack Overflow Internal Team you will need to supply a Personal Access Token. You can read more about how to set this up by going to [Stack Overflow Internal's Help Page](https://stackoverflowteams.help/en/articles/7913768-stack-overflow-for-teams-api-v3).
2424
2525
## Areas of Responsibility
2626
27-
This stack overflow backend plugin is primarily responsible for the following:
27+
This Stack Overflow Internal backend plugin is primarily responsible for the following:
2828
29-
- Provides a `StackOverflowQuestionsCollatorFactory`, which can be used in the search backend to index stack overflow questions to your Backstage Search.
29+
- Provides a `StackOverflowQuestionsCollatorFactory`, which can be used in the search backend to index Stack Overflow Internal questions to your Backstage Search.
3030

31-
### Index Stack Overflow Questions to search
31+
### Index Stack Overflow Internal Questions to search
3232

33-
Before you are able to start index stack overflow questions to search, you need to go through the [search getting started guide](https://backstage.io/docs/features/search/getting-started).
33+
Before you are able to start index Stack Overflow Internal questions to search, you need to go through the [search getting started guide](https://backstage.io/docs/features/search/getting-started).
3434

3535
When you have your `packages/backend/src/plugins/search.ts` file ready to make modifications, add the following code snippet to add the `StackOverflowQuestionsCollatorFactory`. Note that you can optionally modify the `requestParams`, otherwise it will defaults to `{ order: 'desc', sort: 'activity' }`.
3636

@@ -49,7 +49,7 @@ indexBuilder.addCollator({
4949

5050
## New Backend System
5151

52-
This package exports a module that extends the search backend to also indexing the questions exposed by the [`Stack Overflow for Teams API version 3`](https://stackoverflowteams.help/en/articles/7913768-stack-overflow-for-teams-api-v3).
52+
This package exports a module that extends the search backend to also indexing the questions exposed by the [`Stack Internal API version 3`](https://stackoverflowteams.help/en/articles/7913768-stack-overflow-for-teams-api-v3).
5353

5454
### Installation
5555

plugins/search-backend-module-stack-overflow-teams-collator/config.d.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,22 @@
1616

1717
export interface Config {
1818
/**
19-
* Configuration options for the stack overflow plugin
19+
* Configuration options for the Stack Overflow Internal plugin
2020
*/
2121
stackoverflow?: {
2222
/**
23-
* The base url of the Stack Overflow API used for the plugin, if no BaseUrl is provided it will default to https://api.stackoverflowteams.com
23+
* The base url of the Stack Overflow Internal API used for the plugin, if no BaseUrl is provided it will default to https://api.stackoverflowteams.com
2424
*/
2525
baseUrl?: string;
2626

2727
/**
28-
* The API Access Token to authenticate to Stack Overflow API Version 3
28+
* The API Access Token to authenticate to Stack Overflow Internal API Version 3
2929
* @visibility secret
3030
*/
3131
apiAccessToken: string;
3232

3333
/**
34-
* The name of the team for a Stack Overflow for Teams account. When teamName is provided baseUrl will always be https://api.stackoverflowteams.com
34+
* The name of the team for a Stack Internal account. When teamName is provided baseUrl will always be https://api.stackoverflowteams.com
3535
*/
3636
teamName?: string;
3737

plugins/search-backend-module-stack-overflow-teams-collator/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@stackoverflow/backstage-stack-overflow-teams-collator",
33
"version": "1.5.0",
4-
"description": "A module for the search backend that exports stack overflow for teams modules",
4+
"description": "A module for the search backend that exports Stack Internal modules",
55
"backstage": {
66
"role": "backend-plugin-module",
77
"pluginId": "search",

0 commit comments

Comments
 (0)