mirror of
https://github.com/LukeHagar/developer.sailpoint.com.git
synced 2025-12-06 04:19:31 +00:00
added prettier to repo
This commit is contained in:
5
.github/ISSUE_TEMPLATE/feature-request.md
vendored
5
.github/ISSUE_TEMPLATE/feature-request.md
vendored
@@ -2,9 +2,8 @@
|
||||
name: Feature Request
|
||||
about: Suggest an idea for this project.
|
||||
title: "[Feature] Your Feature Request Here"
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
labels: ""
|
||||
assignees: ""
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
|
||||
92
.github/bot.yml
vendored
92
.github/bot.yml
vendored
@@ -41,52 +41,52 @@ labelPRBasedOnFilePath:
|
||||
##### Reviewer #########################################################################################################
|
||||
addReviewerBasedOnLabel:
|
||||
labels:
|
||||
Docs:
|
||||
- james-haytko-sp
|
||||
IdentityNow:
|
||||
- colin-mckibben-sp
|
||||
IdentityIQ:
|
||||
- colin-mckibben-sp
|
||||
Event Trigger Docs:
|
||||
- colin-mckibben-sp
|
||||
SaaS Connectivity Docs:
|
||||
- philip-ellis-sp
|
||||
Transform Docs:
|
||||
- tyler-mairose-sp
|
||||
Rules Docs:
|
||||
- tyler-mairose-sp
|
||||
SaaS Configuration Docs:
|
||||
- colin-mckibben-sp
|
||||
Introduction Doc:
|
||||
- jordan-violet-sp
|
||||
- colin-mckibben-sp
|
||||
- tyler-mairose-sp
|
||||
- james-haytko-sp
|
||||
- philip-ellis-sp
|
||||
Pages:
|
||||
- philip-ellis-sp
|
||||
Components:
|
||||
- philip-ellis-sp
|
||||
CSS:
|
||||
- philip-ellis-sp
|
||||
Swizzled Components:
|
||||
- philip-ellis-sp
|
||||
- jordan-violet-sp
|
||||
Sidebar:
|
||||
- philip-ellis-sp
|
||||
Docusaurus Config:
|
||||
- philip-ellis-sp
|
||||
Footer:
|
||||
- jordan-violet-sp
|
||||
- philip-ellis-sp
|
||||
Navbar:
|
||||
- jordan-violet-sp
|
||||
- colin-mckibben-sp
|
||||
- tyler-mairose-sp
|
||||
- james-haytko-sp
|
||||
- philip-ellis-sp
|
||||
Plugins:
|
||||
- philip-ellis-sp
|
||||
Docs:
|
||||
- james-haytko-sp
|
||||
IdentityNow:
|
||||
- colin-mckibben-sp
|
||||
IdentityIQ:
|
||||
- colin-mckibben-sp
|
||||
Event Trigger Docs:
|
||||
- colin-mckibben-sp
|
||||
SaaS Connectivity Docs:
|
||||
- philip-ellis-sp
|
||||
Transform Docs:
|
||||
- tyler-mairose-sp
|
||||
Rules Docs:
|
||||
- tyler-mairose-sp
|
||||
SaaS Configuration Docs:
|
||||
- colin-mckibben-sp
|
||||
Introduction Doc:
|
||||
- jordan-violet-sp
|
||||
- colin-mckibben-sp
|
||||
- tyler-mairose-sp
|
||||
- james-haytko-sp
|
||||
- philip-ellis-sp
|
||||
Pages:
|
||||
- philip-ellis-sp
|
||||
Components:
|
||||
- philip-ellis-sp
|
||||
CSS:
|
||||
- philip-ellis-sp
|
||||
Swizzled Components:
|
||||
- philip-ellis-sp
|
||||
- jordan-violet-sp
|
||||
Sidebar:
|
||||
- philip-ellis-sp
|
||||
Docusaurus Config:
|
||||
- philip-ellis-sp
|
||||
Footer:
|
||||
- jordan-violet-sp
|
||||
- philip-ellis-sp
|
||||
Navbar:
|
||||
- jordan-violet-sp
|
||||
- colin-mckibben-sp
|
||||
- tyler-mairose-sp
|
||||
- james-haytko-sp
|
||||
- philip-ellis-sp
|
||||
Plugins:
|
||||
- philip-ellis-sp
|
||||
##### Greetings ########################################################################################################
|
||||
# Comment to be posted to welcome users when they open their first PR
|
||||
firstPRWelcomeComment: >
|
||||
|
||||
@@ -5,8 +5,7 @@ name: Deploy to Firebase Hosting on PR
|
||||
"on": pull_request
|
||||
jobs:
|
||||
build_and_preview:
|
||||
if:
|
||||
"${{ github.event.pull_request.head.repo.full_name == github.repository }}"
|
||||
if: "${{ github.event.pull_request.head.repo.full_name == github.repository }}"
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
NODE_ENV: "development"
|
||||
@@ -16,6 +15,5 @@ jobs:
|
||||
- uses: FirebaseExtended/action-hosting-deploy@v0
|
||||
with:
|
||||
repoToken: "${{ secrets.GITHUB_TOKEN }}"
|
||||
firebaseServiceAccount:
|
||||
"${{ secrets.FIREBASE_SERVICE_ACCOUNT_DEVELOPER_COMMUNITY_SITE }}"
|
||||
firebaseServiceAccount: "${{ secrets.FIREBASE_SERVICE_ACCOUNT_DEVELOPER_COMMUNITY_SITE }}"
|
||||
projectId: developer-community-site
|
||||
|
||||
21
.prettierignore
Normal file
21
.prettierignore
Normal file
@@ -0,0 +1,21 @@
|
||||
# Default
|
||||
node_modules
|
||||
build
|
||||
coverage
|
||||
.pcakage-lock.json
|
||||
*.min.*
|
||||
|
||||
# Auto-generated Docs
|
||||
/products/arm/api
|
||||
/products/idn/api/v3
|
||||
/products/idn/api/beta
|
||||
/products/iiq/api
|
||||
|
||||
# Logs
|
||||
*.log*
|
||||
|
||||
# Docusaurus
|
||||
.docusaurus
|
||||
|
||||
# API Specs
|
||||
/static/api-specs
|
||||
1
.prettierrc.json
Normal file
1
.prettierrc.json
Normal file
@@ -0,0 +1 @@
|
||||
{}
|
||||
@@ -17,23 +17,23 @@ diverse, inclusive, and healthy community.
|
||||
Examples of behavior that contributes to a positive environment for our
|
||||
community include:
|
||||
|
||||
* Demonstrating empathy and kindness toward other people
|
||||
* Being respectful of differing opinions, viewpoints, and experiences
|
||||
* Giving and gracefully accepting constructive feedback
|
||||
* Accepting responsibility and apologizing to those affected by our mistakes,
|
||||
- Demonstrating empathy and kindness toward other people
|
||||
- Being respectful of differing opinions, viewpoints, and experiences
|
||||
- Giving and gracefully accepting constructive feedback
|
||||
- Accepting responsibility and apologizing to those affected by our mistakes,
|
||||
and learning from the experience
|
||||
* Focusing on what is best not just for us as individuals, but for the
|
||||
- Focusing on what is best not just for us as individuals, but for the
|
||||
overall community
|
||||
|
||||
Examples of unacceptable behavior include:
|
||||
|
||||
* The use of sexualized language or imagery, and sexual attention or
|
||||
- The use of sexualized language or imagery, and sexual attention or
|
||||
advances of any kind
|
||||
* Trolling, insulting or derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or email
|
||||
- Trolling, insulting or derogatory comments, and personal or political attacks
|
||||
- Public or private harassment
|
||||
- Publishing others' private information, such as a physical or email
|
||||
address, without their explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
- Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Enforcement Responsibilities
|
||||
@@ -106,7 +106,7 @@ Violating these terms may lead to a permanent ban.
|
||||
### 4. Permanent Ban
|
||||
|
||||
**Community Impact**: Demonstrating a pattern of violation of community
|
||||
standards, including sustained inappropriate behavior, harassment of an
|
||||
standards, including sustained inappropriate behavior, harassment of an
|
||||
individual, or aggression toward or disparagement of classes of individuals.
|
||||
|
||||
**Consequence**: A permanent ban from any sort of public interaction within
|
||||
|
||||
@@ -34,7 +34,7 @@ covers the project.
|
||||
|
||||
# Reporting Issues
|
||||
|
||||
We use GitHub issues to track bugs publicly. If you see an issue with the site, please [report it here](https://github.com/sailpoint-oss/developer.sailpoint.com/issues/new?assignees=&labels=&template=bug-report.md&title=%5BBug%5D+Your+Bug+Report+Here);
|
||||
We use GitHub issues to track bugs publicly. If you see an issue with the site, please [report it here](https://github.com/sailpoint-oss/developer.sailpoint.com/issues/new?assignees=&labels=&template=bug-report.md&title=%5BBug%5D+Your+Bug+Report+Here);
|
||||
|
||||
Our maintainers _love_ thorough bug reports. **Great bug reports** tend to have:
|
||||
|
||||
|
||||
12
README.md
12
README.md
@@ -4,15 +4,11 @@
|
||||
![Latest Releases][release-shield] ![Contributor Shield][contributor-shield]
|
||||
[](https://github.com/sailpoint-oss/developer.sailpoint.com/actions/workflows/build-and-deploy-prod-gh-pages.yml)
|
||||
|
||||
[discourse-shield]:
|
||||
https://img.shields.io/discourse/topics?label=Discuss%20This%20Tool&server=https%3A%2F%2Fdeveloper.sailpoint.com%2Fdiscuss
|
||||
[discourse-shield]: https://img.shields.io/discourse/topics?label=Discuss%20This%20Tool&server=https%3A%2F%2Fdeveloper.sailpoint.com%2Fdiscuss
|
||||
[discourse-url]: https://developer.sailpoint.com/discuss/
|
||||
[issues-shield]:
|
||||
https://img.shields.io/github/issues/sailpoint-oss/developer.sailpoint.com?label=Issues
|
||||
[release-shield]:
|
||||
https://img.shields.io/github/v/release/sailpoint-oss/developer.sailpoint.com?label=Current%20Release
|
||||
[contributor-shield]:
|
||||
https://img.shields.io/github/contributors/sailpoint-oss/developer.sailpoint.com?label=Contributors
|
||||
[issues-shield]: https://img.shields.io/github/issues/sailpoint-oss/developer.sailpoint.com?label=Issues
|
||||
[release-shield]: https://img.shields.io/github/v/release/sailpoint-oss/developer.sailpoint.com?label=Current%20Release
|
||||
[contributor-shield]: https://img.shields.io/github/contributors/sailpoint-oss/developer.sailpoint.com?label=Contributors
|
||||
|
||||
<!-- PROJECT LOGO -->
|
||||
<br />
|
||||
|
||||
@@ -26,8 +26,6 @@
|
||||
"tags": ["IDN Documentation"]
|
||||
},
|
||||
|
||||
|
||||
|
||||
{
|
||||
"url": "https://developer.sailpoint.com/idn/api/getting-started",
|
||||
"selectors_key": "api_v3",
|
||||
@@ -49,8 +47,6 @@
|
||||
"tags": ["IDN API Documenation"]
|
||||
},
|
||||
|
||||
|
||||
|
||||
{
|
||||
"url": "https://developer.sailpoint.com/idn/api/v3",
|
||||
"selectors_key": "api_v3",
|
||||
@@ -68,14 +64,12 @@
|
||||
}
|
||||
],
|
||||
"js_render": false,
|
||||
"sitemap_urls": [
|
||||
"https://developer.sailpoint.com/sitemap.xml"
|
||||
],
|
||||
"sitemap_urls": ["https://developer.sailpoint.com/sitemap.xml"],
|
||||
"sitemap_alternate_links": true,
|
||||
"stop_urls": [],
|
||||
"selectors": {
|
||||
"default" : {
|
||||
"lvl0" : {
|
||||
"default": {
|
||||
"lvl0": {
|
||||
"selector": "(//ul[contains(@class,'menu__list')]//a[contains(@class, 'menu__link menu__link--sublist menu__link--active')]/text() | //nav[contains(@class, 'navbar')]//a[contains(@class, 'navbar__link--active')]/text())[1]",
|
||||
"type": "xpath",
|
||||
"global": true,
|
||||
@@ -96,7 +90,7 @@
|
||||
"text": "article p, article li, article td:last-child"
|
||||
},
|
||||
"api_v3": {
|
||||
"lvl0" : {
|
||||
"lvl0": {
|
||||
"selector": "(//ul[contains(@class,'menu__list')]//a[contains(@class, 'menu__link menu__link--sublist menu__link--active')]/text() | //nav[contains(@class, 'navbar')]//a[contains(@class, 'navbar__link--active')]/text())[1]",
|
||||
"type": "xpath",
|
||||
"global": true,
|
||||
@@ -116,7 +110,7 @@
|
||||
"text": "article p, article li, article td:last-child"
|
||||
},
|
||||
"api_iiq": {
|
||||
"lvl0" : {
|
||||
"lvl0": {
|
||||
"selector": "(//ul[contains(@class,'menu__list')]//a[contains(@class, 'menu__link menu__link--sublist menu__link--active')]/text() | //nav[contains(@class, 'navbar')]//a[contains(@class, 'navbar__link--active')]/text())[1]",
|
||||
"type": "xpath",
|
||||
"global": true,
|
||||
@@ -135,8 +129,6 @@
|
||||
"lvl6": "article h6",
|
||||
"text": "article p, article li, article td:last-child"
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
"strip_chars": " .,;:#",
|
||||
"custom_settings": {
|
||||
@@ -158,8 +150,6 @@
|
||||
"type"
|
||||
]
|
||||
},
|
||||
"conversation_id": [
|
||||
"1090805758"
|
||||
],
|
||||
"conversation_id": ["1090805758"],
|
||||
"nb_hits": 8687
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,8 +26,6 @@
|
||||
"tags": ["IDN Documentation"]
|
||||
},
|
||||
|
||||
|
||||
|
||||
{
|
||||
"url": "https://developer.sailpoint.com/idn/api/getting-started",
|
||||
"selectors_key": "api_v3",
|
||||
@@ -49,8 +47,6 @@
|
||||
"tags": ["IDN API Documenation"]
|
||||
},
|
||||
|
||||
|
||||
|
||||
{
|
||||
"url": "https://developer.sailpoint.com/idn/api/v3",
|
||||
"selectors_key": "api_v3",
|
||||
@@ -68,14 +64,12 @@
|
||||
}
|
||||
],
|
||||
"js_render": false,
|
||||
"sitemap_urls": [
|
||||
"https://developer.sailpoint.com/sitemap.xml"
|
||||
],
|
||||
"sitemap_urls": ["https://developer.sailpoint.com/sitemap.xml"],
|
||||
"sitemap_alternate_links": true,
|
||||
"stop_urls": [],
|
||||
"selectors": {
|
||||
"default" : {
|
||||
"lvl0" : {
|
||||
"default": {
|
||||
"lvl0": {
|
||||
"selector": "(//ul[contains(@class,'menu__list')]//a[contains(@class, 'menu__link menu__link--sublist menu__link--active')]/text() | //nav[contains(@class, 'navbar')]//a[contains(@class, 'navbar__link--active')]/text())[1]",
|
||||
"type": "xpath",
|
||||
"global": true,
|
||||
@@ -96,7 +90,7 @@
|
||||
"text": "article p, article li, article td:last-child"
|
||||
},
|
||||
"api_v3": {
|
||||
"lvl0" : {
|
||||
"lvl0": {
|
||||
"selector": "(//ul[contains(@class,'menu__list')]//a[contains(@class, 'menu__link menu__link--sublist menu__link--active')]/text() | //nav[contains(@class, 'navbar')]//a[contains(@class, 'navbar__link--active')]/text())[1]",
|
||||
"type": "xpath",
|
||||
"global": true,
|
||||
@@ -116,7 +110,7 @@
|
||||
"text": "article p, article li, article td:last-child"
|
||||
},
|
||||
"api_iiq": {
|
||||
"lvl0" : {
|
||||
"lvl0": {
|
||||
"selector": "(//ul[contains(@class,'menu__list')]//a[contains(@class, 'menu__link menu__link--sublist menu__link--active')]/text() | //nav[contains(@class, 'navbar')]//a[contains(@class, 'navbar__link--active')]/text())[1]",
|
||||
"type": "xpath",
|
||||
"global": true,
|
||||
@@ -135,8 +129,6 @@
|
||||
"lvl6": "article h6",
|
||||
"text": "article p, article li, article td:last-child"
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
"strip_chars": " .,;:#",
|
||||
"custom_settings": {
|
||||
@@ -158,8 +150,6 @@
|
||||
"type"
|
||||
]
|
||||
},
|
||||
"conversation_id": [
|
||||
"1090805758"
|
||||
],
|
||||
"conversation_id": ["1090805758"],
|
||||
"nb_hits": 8687
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
module.exports = {
|
||||
presets: [require.resolve('@docusaurus/core/lib/babel/preset')],
|
||||
presets: [require.resolve("@docusaurus/core/lib/babel/preset")],
|
||||
};
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
---
|
||||
slug: first-blog-post
|
||||
title: First Blog Post
|
||||
authors:
|
||||
name: Gao Wei
|
||||
title: Docusaurus Core Team
|
||||
url: https://github.com/wgao19
|
||||
image_url: https://github.com/wgao19.png
|
||||
tags: [hola, docusaurus]
|
||||
---
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
||||
@@ -1,44 +0,0 @@
|
||||
---
|
||||
slug: long-blog-post
|
||||
title: Long Blog Post
|
||||
authors: endi
|
||||
tags: [hello, docusaurus]
|
||||
---
|
||||
|
||||
This is the summary of a very long blog post,
|
||||
|
||||
Use a `<!--` `truncate` `-->` comment to limit blog post size in the list view.
|
||||
|
||||
<!--truncate-->
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
||||
|
||||
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
|
||||
@@ -1,20 +0,0 @@
|
||||
---
|
||||
slug: mdx-blog-post
|
||||
title: MDX Blog Post
|
||||
authors: [slorber]
|
||||
tags: [docusaurus]
|
||||
---
|
||||
|
||||
Blog posts support [Docusaurus Markdown features](https://docusaurus.io/docs/markdown-features), such as [MDX](https://mdxjs.com/).
|
||||
|
||||
:::tip
|
||||
|
||||
Use the power of React to create interactive blog posts.
|
||||
|
||||
```js
|
||||
<button onClick={() => alert('button clicked!')}>Click me!</button>
|
||||
```
|
||||
|
||||
<button onClick={() => alert('button clicked!')}>Click me!</button>
|
||||
|
||||
:::
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 94 KiB |
@@ -1,25 +0,0 @@
|
||||
---
|
||||
slug: welcome
|
||||
title: Welcome
|
||||
authors: [slorber, yangshun]
|
||||
tags: [facebook, hello, docusaurus]
|
||||
---
|
||||
|
||||
[Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog).
|
||||
|
||||
Simply add Markdown files (or folders) to the `blog` directory.
|
||||
|
||||
Regular blog authors can be added to `authors.yml`.
|
||||
|
||||
The blog post date can be extracted from filenames, such as:
|
||||
|
||||
- `2019-05-30-welcome.md`
|
||||
- `2019-05-30-welcome/index.md`
|
||||
|
||||
A blog post folder can be convenient to co-locate blog post images:
|
||||
|
||||

|
||||
|
||||
The blog supports tags as well!
|
||||
|
||||
**And if you don't want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config.
|
||||
@@ -1,17 +0,0 @@
|
||||
endi:
|
||||
name: Endilie Yacop Sucipto
|
||||
title: Maintainer of Docusaurus
|
||||
url: https://github.com/endiliey
|
||||
image_url: https://github.com/endiliey.png
|
||||
|
||||
yangshun:
|
||||
name: Yangshun Tay
|
||||
title: Front End Engineer @ Facebook
|
||||
url: https://github.com/yangshun
|
||||
image_url: https://github.com/yangshun.png
|
||||
|
||||
slorber:
|
||||
name: Sébastien Lorber
|
||||
title: Docusaurus maintainer
|
||||
url: https://sebastienlorber.com
|
||||
image_url: https://github.com/slorber.png
|
||||
@@ -1 +1 @@
|
||||
# Developer Relations main
|
||||
# Developer Relations main
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
{
|
||||
"hosting": {
|
||||
"public": "build",
|
||||
"ignore": [
|
||||
"firebase.json",
|
||||
"**/.*",
|
||||
"**/node_modules/**"
|
||||
]
|
||||
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"]
|
||||
}
|
||||
}
|
||||
|
||||
302
package-lock.json
generated
302
package-lock.json
generated
@@ -22,7 +22,10 @@
|
||||
"@docusaurus/core": "^2.2.0",
|
||||
"@docusaurus/module-type-aliases": "^2.2.0",
|
||||
"@docusaurus/plugin-google-gtag": "^2.2.0",
|
||||
"@docusaurus/preset-classic": "^2.2.0"
|
||||
"@docusaurus/preset-classic": "^2.2.0",
|
||||
"husky": "^8.0.2",
|
||||
"prettier": "2.8.0",
|
||||
"pretty-quick": "^3.1.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.14"
|
||||
@@ -3253,6 +3256,12 @@
|
||||
"version": "3.0.1",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/minimatch": {
|
||||
"version": "3.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
|
||||
"integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/ms": {
|
||||
"version": "0.7.31",
|
||||
"license": "MIT"
|
||||
@@ -3690,6 +3699,15 @@
|
||||
"version": "2.0.1",
|
||||
"license": "Python-2.0"
|
||||
},
|
||||
"node_modules/array-differ": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz",
|
||||
"integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/array-flatten": {
|
||||
"version": "2.1.2",
|
||||
"license": "MIT"
|
||||
@@ -3701,6 +3719,15 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/arrify": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
|
||||
"integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/asap": {
|
||||
"version": "2.0.6",
|
||||
"license": "MIT"
|
||||
@@ -7615,6 +7642,21 @@
|
||||
"node": ">=10.17.0"
|
||||
}
|
||||
},
|
||||
"node_modules/husky": {
|
||||
"version": "8.0.2",
|
||||
"resolved": "https://registry.npmjs.org/husky/-/husky-8.0.2.tgz",
|
||||
"integrity": "sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"husky": "lib/bin.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=14"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/typicode"
|
||||
}
|
||||
},
|
||||
"node_modules/iconv-lite": {
|
||||
"version": "0.6.3",
|
||||
"license": "MIT",
|
||||
@@ -9141,6 +9183,44 @@
|
||||
"multicast-dns": "cli.js"
|
||||
}
|
||||
},
|
||||
"node_modules/multimatch": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz",
|
||||
"integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/minimatch": "^3.0.3",
|
||||
"array-differ": "^3.0.0",
|
||||
"array-union": "^2.1.0",
|
||||
"arrify": "^2.0.1",
|
||||
"minimatch": "^3.0.4"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/multimatch/node_modules/brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/multimatch/node_modules/minimatch": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
||||
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/mustache": {
|
||||
"version": "4.2.0",
|
||||
"license": "MIT",
|
||||
@@ -10399,6 +10479,21 @@
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/prettier": {
|
||||
"version": "2.8.0",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.0.tgz",
|
||||
"integrity": "sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"prettier": "bin-prettier.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.13.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/prettier/prettier?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/pretty-error": {
|
||||
"version": "4.0.0",
|
||||
"license": "MIT",
|
||||
@@ -10407,6 +10502,89 @@
|
||||
"renderkid": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/pretty-quick": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.1.3.tgz",
|
||||
"integrity": "sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"chalk": "^3.0.0",
|
||||
"execa": "^4.0.0",
|
||||
"find-up": "^4.1.0",
|
||||
"ignore": "^5.1.4",
|
||||
"mri": "^1.1.5",
|
||||
"multimatch": "^4.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"pretty-quick": "bin/pretty-quick.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10.13"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"prettier": ">=2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/pretty-quick/node_modules/chalk": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
|
||||
"integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/pretty-quick/node_modules/execa": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
|
||||
"integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"cross-spawn": "^7.0.0",
|
||||
"get-stream": "^5.0.0",
|
||||
"human-signals": "^1.1.1",
|
||||
"is-stream": "^2.0.0",
|
||||
"merge-stream": "^2.0.0",
|
||||
"npm-run-path": "^4.0.0",
|
||||
"onetime": "^5.1.0",
|
||||
"signal-exit": "^3.0.2",
|
||||
"strip-final-newline": "^2.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sindresorhus/execa?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/pretty-quick/node_modules/get-stream": {
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
|
||||
"integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"pump": "^3.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/pretty-quick/node_modules/human-signals": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
|
||||
"integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=8.12.0"
|
||||
}
|
||||
},
|
||||
"node_modules/pretty-time": {
|
||||
"version": "1.1.0",
|
||||
"license": "MIT",
|
||||
@@ -16809,6 +16987,12 @@
|
||||
"@types/mime": {
|
||||
"version": "3.0.1"
|
||||
},
|
||||
"@types/minimatch": {
|
||||
"version": "3.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
|
||||
"integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==",
|
||||
"dev": true
|
||||
},
|
||||
"@types/ms": {
|
||||
"version": "0.7.31"
|
||||
},
|
||||
@@ -17135,12 +17319,24 @@
|
||||
"argparse": {
|
||||
"version": "2.0.1"
|
||||
},
|
||||
"array-differ": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz",
|
||||
"integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==",
|
||||
"dev": true
|
||||
},
|
||||
"array-flatten": {
|
||||
"version": "2.1.2"
|
||||
},
|
||||
"array-union": {
|
||||
"version": "2.1.0"
|
||||
},
|
||||
"arrify": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
|
||||
"integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
|
||||
"dev": true
|
||||
},
|
||||
"asap": {
|
||||
"version": "2.0.6"
|
||||
},
|
||||
@@ -19574,6 +19770,12 @@
|
||||
"human-signals": {
|
||||
"version": "2.1.0"
|
||||
},
|
||||
"husky": {
|
||||
"version": "8.0.2",
|
||||
"resolved": "https://registry.npmjs.org/husky/-/husky-8.0.2.tgz",
|
||||
"integrity": "sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==",
|
||||
"dev": true
|
||||
},
|
||||
"iconv-lite": {
|
||||
"version": "0.6.3",
|
||||
"requires": {
|
||||
@@ -20371,6 +20573,40 @@
|
||||
"thunky": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"multimatch": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz",
|
||||
"integrity": "sha512-lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/minimatch": "^3.0.3",
|
||||
"array-differ": "^3.0.0",
|
||||
"array-union": "^2.1.0",
|
||||
"arrify": "^2.0.1",
|
||||
"minimatch": "^3.0.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0",
|
||||
"concat-map": "0.0.1"
|
||||
}
|
||||
},
|
||||
"minimatch": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
||||
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"brace-expansion": "^1.1.7"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"mustache": {
|
||||
"version": "4.2.0"
|
||||
},
|
||||
@@ -21058,6 +21294,12 @@
|
||||
"prepend-http": {
|
||||
"version": "2.0.0"
|
||||
},
|
||||
"prettier": {
|
||||
"version": "2.8.0",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.0.tgz",
|
||||
"integrity": "sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==",
|
||||
"dev": true
|
||||
},
|
||||
"pretty-error": {
|
||||
"version": "4.0.0",
|
||||
"requires": {
|
||||
@@ -21065,6 +21307,64 @@
|
||||
"renderkid": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"pretty-quick": {
|
||||
"version": "3.1.3",
|
||||
"resolved": "https://registry.npmjs.org/pretty-quick/-/pretty-quick-3.1.3.tgz",
|
||||
"integrity": "sha512-kOCi2FJabvuh1as9enxYmrnBC6tVMoVOenMaBqRfsvBHB0cbpYHjdQEpSglpASDFEXVwplpcGR4CLEaisYAFcA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chalk": "^3.0.0",
|
||||
"execa": "^4.0.0",
|
||||
"find-up": "^4.1.0",
|
||||
"ignore": "^5.1.4",
|
||||
"mri": "^1.1.5",
|
||||
"multimatch": "^4.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"chalk": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
|
||||
"integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-styles": "^4.1.0",
|
||||
"supports-color": "^7.1.0"
|
||||
}
|
||||
},
|
||||
"execa": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz",
|
||||
"integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"cross-spawn": "^7.0.0",
|
||||
"get-stream": "^5.0.0",
|
||||
"human-signals": "^1.1.1",
|
||||
"is-stream": "^2.0.0",
|
||||
"merge-stream": "^2.0.0",
|
||||
"npm-run-path": "^4.0.0",
|
||||
"onetime": "^5.1.0",
|
||||
"signal-exit": "^3.0.2",
|
||||
"strip-final-newline": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"get-stream": {
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
|
||||
"integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"pump": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"human-signals": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
|
||||
"integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"pretty-time": {
|
||||
"version": "1.1.0"
|
||||
},
|
||||
|
||||
12
package.json
12
package.json
@@ -38,7 +38,10 @@
|
||||
"@docusaurus/core": "^2.2.0",
|
||||
"@docusaurus/module-type-aliases": "^2.2.0",
|
||||
"@docusaurus/plugin-google-gtag": "^2.2.0",
|
||||
"@docusaurus/preset-classic": "^2.2.0"
|
||||
"@docusaurus/preset-classic": "^2.2.0",
|
||||
"husky": "^8.0.2",
|
||||
"prettier": "2.8.0",
|
||||
"pretty-quick": "^3.1.3"
|
||||
},
|
||||
"browserslist": {
|
||||
"production": [
|
||||
@@ -54,5 +57,10 @@
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.14"
|
||||
},
|
||||
"husky": {
|
||||
"hooks": {
|
||||
"pre-commit": "pretty-quick --staged"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
{
|
||||
"collapsible": false
|
||||
}
|
||||
"collapsible": false
|
||||
}
|
||||
|
||||
@@ -117,7 +117,7 @@ subscribing service responds with the following object:
|
||||
"id": "",
|
||||
"name": "",
|
||||
"type": ""
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Additional Information and Links
|
||||
|
||||
@@ -6,8 +6,7 @@ sidebar_label: Account Aggregation Completed
|
||||
sidebar_class_name: accountAggregationCompleted
|
||||
keywords:
|
||||
["event", "trigger", "account", "aggregation", "completed", "available"]
|
||||
description:
|
||||
Fires after an account aggregation completed, terminated, or failed.
|
||||
description: Fires after an account aggregation completed, terminated, or failed.
|
||||
slug: /docs/event-triggers/triggers/account-aggregation-completed
|
||||
tags: ["Event Triggers", "Available Event Triggers", "Fire and Forget"]
|
||||
---
|
||||
|
||||
@@ -43,11 +43,11 @@ matching your filter criteria.
|
||||
|
||||
## Constructing a Filter
|
||||
|
||||
Event trigger filters are constructed using a **Jayway** JSONpath expression. See the following tables for a list of operators that can be used in a trigger filter.
|
||||
Event trigger filters are constructed using a **Jayway** JSONpath expression. See the following tables for a list of operators that can be used in a trigger filter.
|
||||
|
||||
:::info Update
|
||||
|
||||
SailPont's Workflow tool uses **Goessner** JSONpath when selecting variables to use in actions and operators. Please read the [Goessner](https://goessner.net/articles/JsonPath/) documentation to learn more about the supported operators.
|
||||
SailPont's Workflow tool uses **Goessner** JSONpath when selecting variables to use in actions and operators. Please read the [Goessner](https://goessner.net/articles/JsonPath/) documentation to learn more about the supported operators.
|
||||
|
||||
Although variable selection in Workflows users Goessner, the trigger filter field in Workflows still follows the Jayway operators listed below.
|
||||
|
||||
@@ -101,7 +101,7 @@ expression you want before testing it on a trigger.
|
||||
|
||||
Start by opening a [JSONpath editor](https://jsonpath.herokuapp.com/) in your
|
||||
browser. Make sure that the correct implementation is selected if there is more
|
||||
than one option. In the case of event trigger filters, you will want to select the **Jayway** option. You can then paste in an example trigger input and start
|
||||
than one option. In the case of event trigger filters, you will want to select the **Jayway** option. You can then paste in an example trigger input and start
|
||||
crafting your JSONpath expression.
|
||||
|
||||

|
||||
|
||||
@@ -31,16 +31,16 @@ You would typically use this rule when you are creating an account to generate a
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| ----------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
|
||||
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
|
||||
| idn | sailpoint.server.IdnRuleUtil | Provides a read-only starting point for using the SailPoint API. From this passed reference, the rule can interrogate the IdentityNow data model including identities or account information via helper methods as described in [IdnRuleUtil](../idn_rule_utility.md). |
|
||||
| identity | sailpoint.object.Identity | Reference to identity object representing the identity being calculated. |
|
||||
| identity | sailpoint.object.Identity | Reference to identity object representing the identity being calculated. |
|
||||
| application | java.lang.Object | Attribute value of the identity attribute before the rule runs. |
|
||||
| field | sailpoint.object.Field | Field object used to get information about the attribute being generated. |
|
||||
| field | sailpoint.object.Field | Field object used to get information about the attribute being generated. |
|
||||
|
||||
## Output
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| -------- | ---------------- | ---------------------------------------- |
|
||||
| Argument | Type | Purpose |
|
||||
| -------- | ---------------- | ----------------------------------------- |
|
||||
| value | java.lang.Object | Value returned for the account attribute. |
|
||||
|
||||
## Template
|
||||
|
||||
@@ -16,7 +16,7 @@ tags: ["Rules"]
|
||||
|
||||
## Overview
|
||||
|
||||
This rule generates complex account attribute values during provisioning, e.g. when creating an account.
|
||||
This rule generates complex account attribute values during provisioning, e.g. when creating an account.
|
||||
The rule's configuration comes from a template of values.
|
||||
You would typically use this rule when you are creating an account to generate attributes like usernames.
|
||||
|
||||
@@ -34,15 +34,15 @@ You would typically use this rule when you are creating an account to generate a
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| -------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
|
||||
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
|
||||
| idn | sailpoint.server.IdnRuleUtil | Provides a read-only starting point for using the SailPoint API. From this passed reference, the rule can interrogate the IdentityNow data model including identities or account information via helper methods as described in [IdnRuleUtil](../idn_rule_utility.md). |
|
||||
| identity | sailpoint.object.Identity | Reference to identity object representing the identity being calculated. |
|
||||
| field | sailpoint.object.Field | Field object used to get information about the attribute being generated. |
|
||||
| identity | sailpoint.object.Identity | Reference to identity object representing the identity being calculated. |
|
||||
| field | sailpoint.object.Field | Field object used to get information about the attribute being generated. |
|
||||
|
||||
## Output
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| -------- | ---------------- | ---------------------------------------- |
|
||||
| Argument | Type | Purpose |
|
||||
| -------- | ---------------- | ----------------------------------------- |
|
||||
| value | java.lang.Object | Value returned for the account attribute. |
|
||||
|
||||
## Template
|
||||
|
||||
@@ -31,8 +31,8 @@ creation profile (provisioning policy) instead.
|
||||
| Argument | Type | Purpose |
|
||||
| ----------- | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| idn | sailpoint.server.IdnRuleUtil | Provides a read-only starting point for using the SailPoint API. From this passed reference, the rule can interrogate the IdentityNow data model including identities or account information via helper methods as described in [IdnRuleUtil](../idn_rule_utility.md). |
|
||||
| plan | sailpoint.object.ProvisioningPlan | Reference to identity object representing the identity being calculated. |
|
||||
| application | java.lang.Object | Attribute value for the identity attribute before the rule runs. |
|
||||
| plan | sailpoint.object.ProvisioningPlan | Reference to identity object representing the identity being calculated. |
|
||||
| application | java.lang.Object | Attribute value for the identity attribute before the rule runs. |
|
||||
|
||||
> Note: Logs are not supported for BeforeProvisioning rules.
|
||||
|
||||
|
||||
@@ -30,14 +30,14 @@ This rule associates or correlates an account to an identity, based on complex l
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| -------- | ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
|
||||
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
|
||||
| idn | sailpoint.server.IdnRuleUtil | Provides a read-only starting point for using the SailPoint API. From this passed reference, the rule can interrogate the IdentityNow data model including identities or account information via helper methods as described in [IdnRuleUtil](../idn_rule_utility.md). |
|
||||
| account | sailpoint.object.ResourceObject | Read-only representation of account data that has been aggregated. Use this as a basis to determine correlation linkages with a specific identity. |
|
||||
| account | sailpoint.object.ResourceObject | Read-only representation of account data that has been aggregated. Use this as a basis to determine correlation linkages with a specific identity. |
|
||||
|
||||
## Output
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| --------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Argument | Type | Purpose |
|
||||
| --------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| returnMap | java.util.Map | Map object containing a reference to the identity attributes to correlate to. These should contain both `identityAttributeName` and `identityAttributeValue` as keys. |
|
||||
|
||||
## Template
|
||||
|
||||
@@ -28,13 +28,13 @@ This rule performs transforms.
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| -------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
|
||||
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
|
||||
| idn | sailpoint.server.IdnRuleUtil | Provides a read-only starting point for using the SailPoint API. From this passed reference, the rule can interrogate the IdentityNow data model including identities or account information via helper methods as described in [IdnRuleUtil](../idn_rule_utility.md). |
|
||||
|
||||
## Output
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| -------- | ---------------- | ------------------------------------------------------------ |
|
||||
| Argument | Type | Purpose |
|
||||
| -------- | ---------------- | ------------------------------------------------------------- |
|
||||
| value | java.lang.Object | Value returned for the account attribute, typically a string. |
|
||||
|
||||
## Template
|
||||
|
||||
@@ -16,7 +16,7 @@ tags: ["Rules"]
|
||||
|
||||
## Overview
|
||||
|
||||
This rule calculates and returns an identity attribute for a specific identity.
|
||||
This rule calculates and returns an identity attribute for a specific identity.
|
||||
This rule is also known as a "complex" rule on the identity profile.
|
||||
|
||||
## Execution
|
||||
@@ -33,15 +33,15 @@ This rule is also known as a "complex" rule on the identity profile.
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| -------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
|
||||
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
|
||||
| idn | sailpoint.server.IdnRuleUtil | Provides a read-only starting point for using the SailPoint API. From this passed reference, the rule can interrogate the IdentityNow data model including identities or account information via helper methods as described in [IdnRuleUtil](../idn_rule_utility.md). |
|
||||
| identity | sailpoint.object.Identity | Reference to identity object representing the identity being calculated. |
|
||||
| oldValue | java.lang.Object | Attribute value for the identity attribute before the rule runs. |
|
||||
| identity | sailpoint.object.Identity | Reference to identity object representing the identity being calculated. |
|
||||
| oldValue | java.lang.Object | Attribute value for the identity attribute before the rule runs. |
|
||||
|
||||
## Output
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| -------------- | ---------------- | ----------------------------------------- |
|
||||
| Argument | Type | Purpose |
|
||||
| -------------- | ---------------- | ------------------------------------------ |
|
||||
| attributeValue | java.lang.Object | Value returned for the identity attribute. |
|
||||
|
||||
## Template
|
||||
|
||||
@@ -13,8 +13,8 @@ tags: ["Rules"]
|
||||
|
||||
## Overview
|
||||
|
||||
**Cloud-Executed Rules** or **Cloud Rules** typically only perform a
|
||||
specific function, such as calculating attribute values.
|
||||
**Cloud-Executed Rules** or **Cloud Rules** typically only perform a
|
||||
specific function, such as calculating attribute values.
|
||||
Cloud Rules all execute within the SailPoint cloud and offer access to
|
||||
objects and data, but they do not offer any sort of externalized
|
||||
connectivity.
|
||||
@@ -36,7 +36,7 @@ import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
|
||||
|
||||
To ensure maximum compatibility, platform integrity, and security, SailPoint has
|
||||
instantiated a review process to ensure that any submitted Cloud Rules meet SailPoint
|
||||
requirements and that they do not contain code that can harm the system.
|
||||
requirements and that they do not contain code that can harm the system.
|
||||
The review process also checks the rules to verify their intended purposes and use cases.
|
||||
|
||||
In this process, SailPoint does _not check_ whether the rule executes correctly
|
||||
@@ -46,7 +46,7 @@ an integrity check on the rule itself.
|
||||
## Submitting for Rule Review
|
||||
|
||||
To submit your Cloud Rule for review, approval, and inclusion in the
|
||||
SailPoint platform, submit them with
|
||||
SailPoint platform, submit them with
|
||||
[SailPoint Professional Services](https://www.sailpoint.com/services/professional/).
|
||||
If you need help writing and testing rules, Professional Services can help you with
|
||||
that process as well. Make sure your contact information is up to date,
|
||||
@@ -141,7 +141,7 @@ Once you have submitted your rule and you are in the review process, remember th
|
||||
help SailPoint improve the process or identify a need for clarity in its policies. If
|
||||
you still disagree with the outcome, let SailPoint know and someone can look into it.
|
||||
- **Changes:** Rule changes or modifications to meet guidelines are not the reviewer's
|
||||
responsibility. They are the responsibility of the person(s) submitting the rule.
|
||||
responsibility. They are the responsibility of the person(s) submitting the rule.
|
||||
Reviewers may give advice, examples, etc. to
|
||||
help, but doing so does not guarantee a solution. You should test the rules with the changes
|
||||
before resubmission.
|
||||
|
||||
@@ -5,8 +5,7 @@ pagination_label: Manager Correlation Rule
|
||||
sidebar_label: Manager Correlation Rule
|
||||
sidebar_class_name: managerCorrelationRule
|
||||
keywords: ["cloud", "rules", "manager correlation"]
|
||||
description:
|
||||
This rule calculates a manager relationship between identities.
|
||||
description: This rule calculates a manager relationship between identities.
|
||||
slug: /docs/rules/cloud-rules/manager-correlation-rule
|
||||
tags: ["Rules"]
|
||||
---
|
||||
@@ -29,15 +28,15 @@ This rule calculates a manager relationship between identities.
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| --------------------- | ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
|
||||
| log | org.apache.log4j.Logger | Logger to log statements. _Note: This executes in the cloud, and logging is currently not exposed to anyone other than SailPoint._ |
|
||||
| idn | sailpoint.server.IdnRuleUtil | Provides a read-only starting point for using the SailPoint API. From this passed reference, the rule can interrogate the IdentityNow data model including identities or account information via helper methods as described in [IdnRuleUtil](../idn_rule_utility.md). |
|
||||
| link | sailpoint.object.Link | Read-only representation of account data that has been aggregated. Use this as a basis to determine manager linkages to a specific manager identity. |
|
||||
| managerAttributeValue | java.lang.Object | Attribute value stored in the manager attribute. |
|
||||
| link | sailpoint.object.Link | Read-only representation of account data that has been aggregated. Use this as a basis to determine manager linkages to a specific manager identity. |
|
||||
| managerAttributeValue | java.lang.Object | Attribute value stored in the manager attribute. |
|
||||
|
||||
## Output
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| --------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| Argument | Type | Purpose |
|
||||
| --------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| returnMap | java.util.Map | Map object containing a reference to the identity attributes to identify the manager's identity. These should contain both `identityAttributeName` and `identityAttributeValue` as keys. |
|
||||
|
||||
## Template
|
||||
|
||||
@@ -5,8 +5,7 @@ pagination_label: Before and After Operations
|
||||
sidebar_label: Before and After Rule Operations
|
||||
sidebar_class_name: beforeAndAfterRuleOperations
|
||||
keywords: ["cloud", "rules"]
|
||||
description:
|
||||
This rule executes PowerShell commands on the IQService component
|
||||
description: This rule executes PowerShell commands on the IQService component
|
||||
after a source account has an operation performed on it.
|
||||
slug: /docs/rules/connector-rules/before-and-after-rule-operations
|
||||
tags: ["Rules"]
|
||||
@@ -31,7 +30,7 @@ The following operations can be performed on a source:
|
||||
|
||||
## Execution
|
||||
|
||||
- **Connector Execution** - This rule executes within the virtual appliance. It
|
||||
- **Connector Execution** - This rule executes within the virtual appliance. It
|
||||
may offer special abilities to perform connector-related functions, and it may
|
||||
offer managed connections to sources.
|
||||
- **Logging** - Logging statements are viewable within the ccg.log on the
|
||||
@@ -41,10 +40,10 @@ The following operations can be performed on a source:
|
||||
|
||||
## Input
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| ----------- | -------------------------------------- | ------------------------------------------------------------------------- |
|
||||
| Application | System.Collections.Hashtable | Map of the application configuration. |
|
||||
| Request | SailPoint.Utils.objects.AccountRequest | Reference to the account request provisioning instructions. |
|
||||
| Argument | Type | Purpose |
|
||||
| ----------- | -------------------------------------- | -------------------------------------------------------------------------- |
|
||||
| Application | System.Collections.Hashtable | Map of the application configuration. |
|
||||
| Request | SailPoint.Utils.objects.AccountRequest | Reference to the account request provisioning instructions. |
|
||||
| Result | SailPoint.Utils.objects.ServiceResult | Reference to the provisioning result that can be manipulated if necessary. |
|
||||
|
||||
## Architecture Best Practices
|
||||
|
||||
@@ -5,8 +5,7 @@ pagination_label: BuildMap Rule
|
||||
sidebar_label: BuildMap Rule
|
||||
sidebar_class_name: buildMapRule
|
||||
keywords: ["cloud", "rules"]
|
||||
description:
|
||||
This rule manipulates raw input data provided by the
|
||||
description: This rule manipulates raw input data provided by the
|
||||
rows and columns in a file and builds a map from the incoming data.
|
||||
slug: /docs/rules/connector-rules/buildmap-rule
|
||||
tags: ["Rules"]
|
||||
@@ -20,7 +19,7 @@ This rule manipulates raw input data provided by the rows and columns in a file
|
||||
|
||||
## Execution
|
||||
|
||||
- **Connector Execution** - This rule executes within the virtual appliance. It
|
||||
- **Connector Execution** - This rule executes within the virtual appliance. It
|
||||
may offer special abilities to perform connector-related functions, and it may
|
||||
offer managed connections to sources.
|
||||
- **Logging** - Logging statements are viewable within the ccg.log on the
|
||||
@@ -30,12 +29,12 @@ This rule manipulates raw input data provided by the rows and columns in a file
|
||||
|
||||
## Input
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| ----------- | ---------------------------- | ---------------------------------------------------------------------------------------------- |
|
||||
| col | java.util.List | Ordered list of the column names from the file’s header records or specified columns list. |
|
||||
| Argument | Type | Purpose |
|
||||
| ----------- | ---------------------------- | ------------------------------------------------------------------------------------------- |
|
||||
| col | java.util.List | Ordered list of the column names from the file’s header records or specified columns list. |
|
||||
| record | java.util.List | Ordered list of the values for the current record, parsed based on the specified delimiter. |
|
||||
| application | System.Collections.Hashtable | Map of the application configuration. |
|
||||
| schema | sailpoint.object.Schema | Reference to the schema object for the delimited file source being read. |
|
||||
| application | System.Collections.Hashtable | Map of the application configuration. |
|
||||
| schema | sailpoint.object.Schema | Reference to the schema object for the delimited file source being read. |
|
||||
|
||||
## Template
|
||||
|
||||
|
||||
@@ -29,21 +29,21 @@ For more details, see [Configuration Process](#configuration-process).
|
||||
|
||||
## Supported Connector Rules
|
||||
|
||||
| Rule Name | Rule Type | Source Type(s) | Purpose |
|
||||
| --------------------------------------------------- | ---------------------------------------------------- | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Rule Name | Rule Type | Source Type(s) | Purpose |
|
||||
| -------------------------------------------------------- | --------------------------------------------------------- | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| [Before Creation Rule](./before_after_operation_rule.md) | [ConnectorBeforeCreate](./before_after_operation_rule.md) | Active Directory, Azure Active Directory | Executes PowerShell commands on the IQService component before a source account is created. |
|
||||
| [Before Modify Rule](./before_after_operation_rule.md) | [ConnectorBeforeModify](./before_after_operation_rule.md) | Active Directory, Azure Active Directory | Executes PowerShell commands on the IQService component before a source account is modified. |
|
||||
| [Before Delete Rule](./before_after_operation_rule.md) | [ConnectorBeforeDelete](./before_after_operation_rule.md) | Active Directory, Azure Active Directory | Executes PowerShell commands on the IQService component before a source account is deleted. |
|
||||
| [After Creation Rule](./before_after_operation_rule.md) | [ConnectorAfterCreate](./before_after_operation_rule.md) | Active Directory, Azure Active Directory | Executes PowerShell commands on the IQService component after a source account is created. |
|
||||
| [After Modify Rule](./before_after_operation_rule.md) | [ConnectorAfterModify](./before_after_operation_rule.md) | Active Directory, Azure Active Directory | Executes PowerShell commands on the IQService component after a source account is modified. |
|
||||
| [After Delete Rule](./before_after_operation_rule.md) | [ConnectorAfterDelete](./before_after_operation_rule.md) | Active Directory, Azure Active Directory | Executes PowerShell commands on the IQService component after a source account is deleted. |
|
||||
| Build Map Rule | BuildMap | Delimited File | Calculates and transforms data from a parsed file during the aggregation process. _Note: This is only available for the Delimited File source type, not Generic source types._ |
|
||||
| JDBC Build Map Rule | JDBCBuildMap | JDBC | Calculates and transforms data from a database query result during the aggregation process. It can also perform additional calls back to the database. _Note: This rule is available for the JDBC Generic source, as well as other sources that derive from the JDBC connector (e.g., Oracle EBS, PeopleSoft, etc.)_ |
|
||||
| JDBC Provision Rule | JDBCProvision | JDBC | Executes database queries to perform provisioning of account and access for all account operations. |
|
||||
| SAP Build Map Rule | SAPBuildMap | SAP HR, SAP | Calculates and transforms data from SAP during the aggregation process. It can also perform additional calls back to the SAP system using SAP BAPI calls. |
|
||||
| SAP HR Provisioning Modify Rule | SapHrOperationProvisioning | SAP HR | Performs SAP HR modification operations during provisioning. Often used for attribute sync to custom SAP HR attributes. |
|
||||
| Web Services Before Operation Rule | WebServiceBeforeOperationRule | Web Services | Executes before the next web-services HTTP(S) operation. Often used to calculate values. |
|
||||
| Web Services After Operation Rule | WebServiceAfterOperationRule | Web Services | Executes after a web-services HTTP(S) operation. Often used to parse complex data. |
|
||||
| Build Map Rule | BuildMap | Delimited File | Calculates and transforms data from a parsed file during the aggregation process. _Note: This is only available for the Delimited File source type, not Generic source types._ |
|
||||
| JDBC Build Map Rule | JDBCBuildMap | JDBC | Calculates and transforms data from a database query result during the aggregation process. It can also perform additional calls back to the database. _Note: This rule is available for the JDBC Generic source, as well as other sources that derive from the JDBC connector (e.g., Oracle EBS, PeopleSoft, etc.)_ |
|
||||
| JDBC Provision Rule | JDBCProvision | JDBC | Executes database queries to perform provisioning of account and access for all account operations. |
|
||||
| SAP Build Map Rule | SAPBuildMap | SAP HR, SAP | Calculates and transforms data from SAP during the aggregation process. It can also perform additional calls back to the SAP system using SAP BAPI calls. |
|
||||
| SAP HR Provisioning Modify Rule | SapHrOperationProvisioning | SAP HR | Performs SAP HR modification operations during provisioning. Often used for attribute sync to custom SAP HR attributes. |
|
||||
| Web Services Before Operation Rule | WebServiceBeforeOperationRule | Web Services | Executes before the next web-services HTTP(S) operation. Often used to calculate values. |
|
||||
| Web Services After Operation Rule | WebServiceAfterOperationRule | Web Services | Executes after a web-services HTTP(S) operation. Often used to parse complex data. |
|
||||
|
||||
## Configuration Process
|
||||
|
||||
|
||||
@@ -5,8 +5,7 @@ pagination_label: JDBC BuildMap Rule
|
||||
sidebar_label: JDBC BuildMap Rule
|
||||
sidebar_class_name: jdbcBuildMapRule
|
||||
keywords: ["cloud", "rules"]
|
||||
description:
|
||||
This rule manipulates raw input data provided by the
|
||||
description: This rule manipulates raw input data provided by the
|
||||
rows and columns in a file and builds a map from the incoming data.
|
||||
slug: /docs/rules/connector-rules/jdbc-buildmap-rule
|
||||
tags: ["Rules"]
|
||||
@@ -18,7 +17,7 @@ This rule manipulates raw input data provided by the rows and columns in a file
|
||||
|
||||
## Execution
|
||||
|
||||
- **Connector Execution** - This rule executes within the virtual appliance. It
|
||||
- **Connector Execution** - This rule executes within the virtual appliance. It
|
||||
may offer special abilities to perform connector-related functions, and it may
|
||||
offer managed connections to sources.
|
||||
- **Logging** - Logging statements are viewable within the ccg.log on the
|
||||
@@ -28,18 +27,18 @@ This rule manipulates raw input data provided by the rows and columns in a file
|
||||
|
||||
## Input
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| ----------- | ---------------------------- | -------------------------------------------------------------------------------------------------------------- |
|
||||
| result | java.sql.ResultSet | Current ResultSet from the JDBC Connector. |
|
||||
| Argument | Type | Purpose |
|
||||
| ----------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------- |
|
||||
| result | java.sql.ResultSet | Current ResultSet from the JDBC Connector. |
|
||||
| connection | java.sql.Connection | Reference to the current SQL connection. |
|
||||
| state | java.util.Map | Map that can be used to store and share data between executions of this rule during a single aggregation run. |
|
||||
| application | sailpoint.object.Application | Attribute value of the identity attribute before the rule runs. |
|
||||
| application | sailpoint.object.Application | Attribute value of the identity attribute before the rule runs. |
|
||||
| schema | sailpoint.object.Schema | Reference to the schema object for the delimited file source being read. |
|
||||
|
||||
## Output
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| -------- | ------------ | --------------------------------------------------------------------- |
|
||||
| Argument | Type | Purpose |
|
||||
| -------- | ------------ | ---------------------------------------------------------------------- |
|
||||
| map | java.utl.Map | Map of names/values representing a row of data from the JDBC resource. |
|
||||
|
||||
## Template
|
||||
|
||||
@@ -5,8 +5,7 @@ pagination_label: JDBC Provision Rule
|
||||
sidebar_label: JDBC Provision Rule
|
||||
sidebar_class_name: jdbcProvisionRule
|
||||
keywords: ["cloud", "rules", "jdbc"]
|
||||
description:
|
||||
This rule performs provisioning actions from a provisioning
|
||||
description: This rule performs provisioning actions from a provisioning
|
||||
plan provided by a supplied JDBC connection. These actions typically issue SQL commands, such
|
||||
as insert, update, select, and delete.
|
||||
slug: /docs/rules/connector-rules/jdbc-provisioning-rule
|
||||
@@ -15,12 +14,12 @@ tags: ["Rules"]
|
||||
|
||||
## Overview
|
||||
|
||||
This rule performs provisioning actions from a provisioning plan provided by a supplied JDBC connection.
|
||||
This rule performs provisioning actions from a provisioning plan provided by a supplied JDBC connection.
|
||||
These actions typically issue SQL commands, such as insert, update, select, and delete.
|
||||
|
||||
## Execution
|
||||
|
||||
- **Connector Execution** - This rule executes within the virtual appliance. It
|
||||
- **Connector Execution** - This rule executes within the virtual appliance. It
|
||||
may offer special abilities to perform connector-related functions, and it may
|
||||
offer managed connections to sources.
|
||||
- **Logging** - Logging statements are viewable within the ccg.log on the
|
||||
@@ -30,17 +29,17 @@ These actions typically issue SQL commands, such as insert, update, select, and
|
||||
|
||||
## Input
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| ----------- | --------------------------------- | ------------------------------------------------------------------------- |
|
||||
| Argument | Type | Purpose |
|
||||
| ----------- | --------------------------------- | ------------------------------------------------------------------------ |
|
||||
| connection | java.sql.Connection | Reference to the current SQL connection. |
|
||||
| plan | sailpoint.object.ProvisioningPlan | Provisioning plan containing the provisioning request(s). |
|
||||
| application | sailpoint.object.Application | Attribute value for the identity attribute before the rule runs. |
|
||||
| plan | sailpoint.object.ProvisioningPlan | Provisioning plan containing the provisioning request(s). |
|
||||
| application | sailpoint.object.Application | Attribute value for the identity attribute before the rule runs. |
|
||||
| schema | sailpoint.object.Schema | Reference to the schema object for the delimited file source being read. |
|
||||
|
||||
## Output
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| -------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------- |
|
||||
| Argument | Type | Purpose |
|
||||
| -------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------- |
|
||||
| result | sailpoint.object.ProvisioningResult | ProvisioningResult object containing the provisioning request's status (success, failure, retry, etc.). |
|
||||
|
||||
## Template
|
||||
|
||||
@@ -5,8 +5,7 @@ pagination_label: SAP BuildMap Rule
|
||||
sidebar_label: SAP BuildMap Rule
|
||||
sidebar_class_name: sapBuildMapRule
|
||||
keywords: ["cloud", "rules", "sap"]
|
||||
description:
|
||||
This rule gathers additional attributes from SAP systems to
|
||||
description: This rule gathers additional attributes from SAP systems to
|
||||
build accounts. This rule is implemented using SAP's Java Connector (JCo)
|
||||
framework provided by a supplied SAP connection.
|
||||
slug: /docs/rules/connector-rules/sap-buildmap-rule
|
||||
@@ -15,12 +14,12 @@ tags: ["Rules"]
|
||||
|
||||
## Overview
|
||||
|
||||
This rule gathers additional attributes from SAP systems to build accounts.
|
||||
This rule gathers additional attributes from SAP systems to build accounts.
|
||||
This rule is implemented using SAP's Java Connector (JCo) framework provided by a supplied SAP connection.
|
||||
|
||||
## Execution
|
||||
|
||||
- **Connector Execution** - This rule executes within the virtual appliance. It
|
||||
- **Connector Execution** - This rule executes within the virtual appliance. It
|
||||
may offer special abilities to perform connector-related functions, and it may
|
||||
offer managed connections to sources.
|
||||
- **Logging** - Logging statements are viewable within the ccg.log on the
|
||||
@@ -30,14 +29,14 @@ This rule is implemented using SAP's Java Connector (JCo) framework provided by
|
||||
|
||||
## Input
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| ----------- | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Argument | Type | Purpose |
|
||||
| ----------- | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| object | sailpoint.object.Attributes | Reference to a SailPoint attributes object (basically a map object with some added convenience methods) that holds the attributes that have been built up by the default connector implementation. The rule should modify this object to change, add, or remove attributes from the map. |
|
||||
| connector | sailpoint.connector.SAPInternalConnector | Reference to the current SAP connector. |
|
||||
| state | java.util.Map | Map that can be used to store and share data between executions of this rule during a single aggregation run. |
|
||||
| application | sailpoint.object.Application | Attribute value for the identity attribute before the rule runs. |
|
||||
| schema | sailpoint.object.Schema | Reference to the schema object for the delimited file source being read. |
|
||||
| destination | com.sap.conn.jco.JCoDestination | Connected and ready-to-use SAP destination object that can be used to call BAPI function modules and call to SAP tables. |
|
||||
| state | java.util.Map | Map that can be used to store and share data between executions of this rule during a single aggregation run. |
|
||||
| application | sailpoint.object.Application | Attribute value for the identity attribute before the rule runs. |
|
||||
| schema | sailpoint.object.Schema | Reference to the schema object for the delimited file source being read. |
|
||||
| destination | com.sap.conn.jco.JCoDestination | Connected and ready-to-use SAP destination object that can be used to call BAPI function modules and call to SAP tables. |
|
||||
|
||||
## Template
|
||||
|
||||
|
||||
@@ -5,8 +5,7 @@ pagination_label: SAP HR Provisioning Modify Rule
|
||||
sidebar_label: SAP HR Provisioning Modify Rule
|
||||
sidebar_class_name: sapHRProvisioningModifyRule
|
||||
keywords: ["cloud", "rules", "sap"]
|
||||
description:
|
||||
This rule performs SAP HR modification operations during
|
||||
description: This rule performs SAP HR modification operations during
|
||||
provisioning. This rule is typically used for attribute sync to custom SAP HR
|
||||
attributes.
|
||||
slug: /docs/rules/connector-rules/sap-provisioning-modify-rule
|
||||
@@ -15,12 +14,12 @@ tags: ["Rules"]
|
||||
|
||||
## Overview
|
||||
|
||||
This rule performs SAP HR modification operations during provisioning.
|
||||
This rule performs SAP HR modification operations during provisioning.
|
||||
This rule is typically used for attribute sync to custom SAP HR attributes.
|
||||
|
||||
## Execution
|
||||
|
||||
- **Connector Execution** - This rule executes within the virtual appliance. It
|
||||
- **Connector Execution** - This rule executes within the virtual appliance. It
|
||||
may offer special abilities to perform connector-related functions, and it may
|
||||
offer managed connections to sources.
|
||||
- **Logging** - Logging statements are viewable within the ccg.log on the
|
||||
@@ -30,19 +29,19 @@ This rule is typically used for attribute sync to custom SAP HR attributes.
|
||||
|
||||
## Input
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| ----------- | ------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
|
||||
| application | sailpoint.object.Application | Reference to the application object. |
|
||||
| schema | sailpoint.object.Schema | Reference to the application schema. |
|
||||
| Argument | Type | Purpose |
|
||||
| ----------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
|
||||
| application | sailpoint.object.Application | Reference to the application object. |
|
||||
| schema | sailpoint.object.Schema | Reference to the application schema. |
|
||||
| destination | com.sap.conn.jco.JCoDestination | Connected and ready-to-use SAP destination object that can be used to call BAPI function modules and call to SAP tables. |
|
||||
| plan | sailpoint.object.ProvisioningPlan | Provisioning plan containing the provisioning request(s). |
|
||||
| request | sailpoint.object.ProvisioningPlan.AbstractRequest | AccountRequest being processed. It is always null for this global rule. It is only set for SapHrOperationProvisioning. |
|
||||
| connector | sailpoint.connector.SAPHRConnector | Application connector being used for the operation. |
|
||||
| plan | sailpoint.object.ProvisioningPlan | Provisioning plan containing the provisioning request(s). |
|
||||
| request | sailpoint.object.ProvisioningPlan.AbstractRequest | AccountRequest being processed. It is always null for this global rule. It is only set for SapHrOperationProvisioning. |
|
||||
| connector | sailpoint.connector.SAPHRConnector | Application connector being used for the operation. |
|
||||
|
||||
## Output
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| -------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------- |
|
||||
| Argument | Type | Purpose |
|
||||
| -------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------- |
|
||||
| result | sailpoint.object.ProvisioningResult | ProvisioningResult object containing the provisioning request's status (success, failure, retry, etc.). |
|
||||
|
||||
## Template
|
||||
|
||||
@@ -5,8 +5,7 @@ pagination_label: Web Services After Operation Rule
|
||||
sidebar_label: Web Services After Operation Rule
|
||||
sidebar_class_name: webServicesAfterOperationRule
|
||||
keywords: ["cloud", "rules", "webservices"]
|
||||
description:
|
||||
This rule calculates attributes after a web-service operation call.
|
||||
description: This rule calculates attributes after a web-service operation call.
|
||||
slug: /docs/rules/connector-rules/webservices-after-provisioning-rule
|
||||
tags: ["Rules"]
|
||||
---
|
||||
@@ -17,7 +16,7 @@ This rule calculates attributes after a web-service operation call.
|
||||
|
||||
## Execution
|
||||
|
||||
- **Connector Execution** - This rule executes within the virtual appliance. It
|
||||
- **Connector Execution** - This rule executes within the virtual appliance. It
|
||||
may offer special abilities to perform connector-related functions, and it may
|
||||
offer managed connections to sources.
|
||||
- **Logging** - Logging statements are viewable within the ccg.log on the
|
||||
@@ -27,18 +26,18 @@ This rule calculates attributes after a web-service operation call.
|
||||
|
||||
## Input
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| ----------------------- | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| application | sailpoint.object.Application | Application whose data file is being processed. |
|
||||
| Argument | Type | Purpose |
|
||||
| ----------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| application | sailpoint.object.Application | Application whose data file is being processed. |
|
||||
| processedResponseObject | List<Map<String, Object>> | List of map (account/group). The map contains a key, the identityAttribute of the application schema, and a value, all the account/group attributes (schema) passed by the connector after parsing the respective API response. |
|
||||
| requestEndPoint | sailpoint.connector.webservices.EndPoint | Current request information. It contains the header, body, context url, method type, response attribute map, successful response code. |
|
||||
| restClient | sailpoint.connector.webservices.WebServicesClient | WebServicesClient (HttpClient) object that enables the user to call the Web Services API target system. |
|
||||
| rawResponseObject | String | String object that holds the raw response returned from the target system, which can be in JSON or XML form. |
|
||||
| requestEndPoint | sailpoint.connector.webservices.EndPoint | Current request information. It contains the header, body, context url, method type, response attribute map, successful response code. |
|
||||
| restClient | sailpoint.connector.webservices.WebServicesClient | WebServicesClient (HttpClient) object that enables the user to call the Web Services API target system. |
|
||||
| rawResponseObject | String | String object that holds the raw response returned from the target system, which can be in JSON or XML form. |
|
||||
|
||||
## Output
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| ------------------------- | ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Argument | Type | Purpose |
|
||||
| ------------------------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| updatedAccountOrGroupList | java.util.Map | `Map` object returned from the After Operation Rule. It may contain any or all of the following: an updated list of account / group resource objects, identified by key `data`/ attribute values to be updated into application by the connector state map identified by key `connectorStateMap`. Each resource (account/group) object is of type `Map`, which contains the **key-value** pair. The **key** represents the schema attribute name, and the **value** represents the account/group attribute value. |
|
||||
|
||||
## Template
|
||||
|
||||
@@ -5,8 +5,7 @@ pagination_label: Web Services Before Operation Rule
|
||||
sidebar_label: Web Services Before Operation Rule
|
||||
sidebar_class_name: webServicesBeforeOperationRule
|
||||
keywords: ["cloud", "rules", "webservices"]
|
||||
description:
|
||||
This rule calculates attributes before a web-service operation call.
|
||||
description: This rule calculates attributes before a web-service operation call.
|
||||
slug: /docs/rules/connector-rules/webservices-before-provisioning-rule
|
||||
tags: ["Rules"]
|
||||
---
|
||||
@@ -17,7 +16,7 @@ This rule calculates attributes before a web-service operation call.
|
||||
|
||||
## Execution
|
||||
|
||||
- **Connector Execution** - This rule executes within the virtual appliance. It
|
||||
- **Connector Execution** - This rule executes within the virtual appliance. It
|
||||
may offer special abilities to perform connector-related functions, and it may
|
||||
offer managed connections to sources.
|
||||
- **Logging** - Logging statements are viewable within the ccg.log on the
|
||||
@@ -27,18 +26,18 @@ This rule calculates attributes before a web-service operation call.
|
||||
|
||||
## Input
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| ---------------- | ------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| application | sailpoint.object.Application | Application whose data file is being processed. |
|
||||
| Argument | Type | Purpose |
|
||||
| ---------------- | ------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| application | sailpoint.object.Application | Application whose data file is being processed. |
|
||||
| provisioningPlan | sailpoint.object.ProvisioningPlan | Provisioning plan used to update the payload of the http request. The provisioning plan has an account request that defines the operation to be performed on the account. An account request can contain multiple attributes requests. Each attribute request represents an operation on a single account attribute. This argument enables the user to update the body/payload or URL attributes of an endpoint object using the provisioningPlan information. |
|
||||
| requestEndPoint | sailpoint.connector.webservices.EndPoint | Current request information. It contains the header, body, context url, method type, response attribute map, and successful response code. |
|
||||
| restClient | sailpoint.connector.webservices.WebServicesClient | WebServicesClient (HttpClient) object that enables the user to call the Web Services API target system. |
|
||||
| oldResponseMap | java.util.Map | Response object returned from earlier endpoint configuration of the same operation type, like Account Aggregation, Get Object, etc. |
|
||||
| requestEndPoint | sailpoint.connector.webservices.EndPoint | Current request information. It contains the header, body, context url, method type, response attribute map, and successful response code. |
|
||||
| restClient | sailpoint.connector.webservices.WebServicesClient | WebServicesClient (HttpClient) object that enables the user to call the Web Services API target system. |
|
||||
| oldResponseMap | java.util.Map | Response object returned from earlier endpoint configuration of the same operation type, like Account Aggregation, Get Object, etc. |
|
||||
|
||||
## Output
|
||||
|
||||
| Argument | Type | Purpose |
|
||||
| -------------- | ------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| Argument | Type | Purpose |
|
||||
| -------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| EndPoint / Map | sailpoint.connector.webservices.EndPoint / sailpoint.connector.webservices.Map | The rule allows the user to return the endpoint object (requestEndPoint) or a map. The map can hold **updatedEndPoint** and **connectorStateMap** keys where the value expected are **Endpoint** (requestEndPoint) and **connectorStateMap** object respectively. The **connectorStateMap** object is a map that contains a key and a value for the attribute that must be updated in the application by the rule. |
|
||||
|
||||
```xml
|
||||
|
||||
@@ -116,13 +116,13 @@ curl --location -g --request POST 'https://{tenant}.api.identitynow.com/beta/acc
|
||||
|
||||
Aggregation only processes new and/or changed accounts for many sources.
|
||||
If an account is unchanged, an aggregation will not seed the new attribute or its value for this account.
|
||||
Therefore, it is mandatory that a non-optimized aggregation be performed when an account
|
||||
Therefore, it is mandatory that a non-optimized aggregation be performed when an account
|
||||
search configuration is created/modified for each source involved in that configuration.
|
||||
|
||||
:::
|
||||
|
||||
If this source has already been aggregated before the account search
|
||||
configuration was created, a non-optimized aggregation must now be performed
|
||||
configuration was created, a non-optimized aggregation must now be performed
|
||||
to seed the new attribute data for all existing accounts.
|
||||
|
||||
At this point, the configuration exists to promote attributes on any new/changed
|
||||
@@ -221,7 +221,7 @@ implementations involves binding it to the Create Profile. This results in
|
||||
the rule's being used to generate/check the values used during new account
|
||||
provisioning.
|
||||
|
||||
When a `Generator` is selected for the `distinguishedName` attribute, a rule that invokes the provided library methods can be selected.
|
||||
When a `Generator` is selected for the `distinguishedName` attribute, a rule that invokes the provided library methods can be selected.
|
||||
This is an example of such a scenario:
|
||||
|
||||
Through a lifecycle state change, an account needs to be provisioned to an
|
||||
|
||||
@@ -13,16 +13,16 @@ tags: ["Rules"]
|
||||
|
||||
## Overview
|
||||
|
||||
In SailPoint solutions, rules serve as a flexible configuration framework
|
||||
In SailPoint solutions, rules serve as a flexible configuration framework
|
||||
implementers can leverage to preform complex or advanced configurations. Though
|
||||
rules allow some advanced flexibility, you must take special considerations when
|
||||
rules allow some advanced flexibility, you must take special considerations when
|
||||
you are deciding to implement rules.
|
||||
|
||||
## Rule Execution
|
||||
|
||||
IdentityNow is a multi-tenant cloud solution, and its architecture varies differently
|
||||
from other SailPoint products like IdentityIQ. Therefore, the way rules execute within
|
||||
IdentityNow reflects the architectural design considerations the platform was built on.
|
||||
IdentityNow is a multi-tenant cloud solution, and its architecture varies differently
|
||||
from other SailPoint products like IdentityIQ. Therefore, the way rules execute within
|
||||
IdentityNow reflects the architectural design considerations the platform was built on.
|
||||
These considerations determine the rule's limitations.
|
||||
|
||||
There are two primary places where you can execute rules:
|
||||
@@ -34,21 +34,21 @@ There are two primary places where you can execute rules:
|
||||
|
||||

|
||||
|
||||
**Cloud-Executed Rules** or **Cloud Rules** typically only perform a
|
||||
specific function, such as calculating attribute values.
|
||||
**Cloud-Executed Rules** or **Cloud Rules** typically only perform a
|
||||
specific function, such as calculating attribute values.
|
||||
Many of these rules may be able to query the IdentityNow
|
||||
data-model in a read-only fashion, but they do not have the ability to
|
||||
commit transactions, save objects, etc.
|
||||
|
||||
Because these rules execute in a multi-tenant cloud environment, they have a restricted context,
|
||||
Because these rules execute in a multi-tenant cloud environment, they have a restricted context,
|
||||
and they are closely scrutinized to ensure that they execute in an efficient and secure manner.
|
||||
|
||||
For more details, see [Cloud Rules](./cloud-rules/index.md).
|
||||
|
||||
**Connector-Executed Rules** or **Connector Rules** are rules executed
|
||||
in the IdentityNow virtual appliance, and they are often an extension connector itself.
|
||||
The rules are commonly used for performing complex connector-related functions,
|
||||
so they are specific to only certain connectors. Because these rules execute in the virtual appliance,
|
||||
in the IdentityNow virtual appliance, and they are often an extension connector itself.
|
||||
The rules are commonly used for performing complex connector-related functions,
|
||||
so they are specific to only certain connectors. Because these rules execute in the virtual appliance,
|
||||
they do not have access to query the IdentityNow data model or fetch information from
|
||||
IdentityNow. They rely instead on contextual information sent from IdentityNow.
|
||||
Connector-executed rules may also have managed connections supplied in their
|
||||
@@ -61,19 +61,19 @@ For more details, see the [Connector Rules](./connector-rules/index.md).
|
||||
|
||||
Though IdentityNow shares some common functionality with other SailPoint
|
||||
products like IdentityIQ, the same rules are not necessarily supported,
|
||||
nor do they necessarily execute the same way or with the same context and variables.
|
||||
nor do they necessarily execute the same way or with the same context and variables.
|
||||
SailPoint recommends that you become familiar with which rules execute with which
|
||||
products, as well as the nuances in their execution contexts.
|
||||
|
||||
From a SailPoint support perspective, rules are considered configurations.
|
||||
SailPoint supports the underlying platform but not the rule configurations themselves.
|
||||
Any problems with the way rules are implemented or run over time are the responsibilities
|
||||
From a SailPoint support perspective, rules are considered configurations.
|
||||
SailPoint supports the underlying platform but not the rule configurations themselves.
|
||||
Any problems with the way rules are implemented or run over time are the responsibilities
|
||||
the customer or implementer must manage. SailPoint's IdentityNow Expert Services need hours to
|
||||
cover any rule configuration work (e.g., creating rules, best practices reviews,
|
||||
application to your IdentityNow environment, and promotion between sandbox &
|
||||
prod environments). Contact your Customer Success Manager with any questions.
|
||||
While rules allow some advanced flexibility, you must consider these support implications
|
||||
when you are deciding whether to implement rules. Consider rule usage a last resort, and
|
||||
While rules allow some advanced flexibility, you must consider these support implications
|
||||
when you are deciding whether to implement rules. Consider rule usage a last resort, and
|
||||
use IdentityNow features instead whenever you can.
|
||||
|
||||
## Rule Guidelines
|
||||
|
||||
@@ -6,8 +6,7 @@ sidebar_label: Common CLI Commands
|
||||
sidebar_position: 3
|
||||
sidebar_class_name: commonCliCommands
|
||||
keywords: ["connectivity", "connectors", "commands", "cli"]
|
||||
description:
|
||||
These are the CLI commands most commonly used when building SaaS Connectors.
|
||||
description: These are the CLI commands most commonly used when building SaaS Connectors.
|
||||
slug: /docs/saas-connectivity/common-cli-commands
|
||||
tags: ["Connectivity"]
|
||||
---
|
||||
|
||||
@@ -6,8 +6,7 @@ sidebar_label: Debugging
|
||||
sidebar_position: 2
|
||||
sidebar_class_name: debugging
|
||||
keywords: ["connectivity", "connectors", "debugging"]
|
||||
description:
|
||||
An easy way to debug locally is to use console.log() to print debug
|
||||
description: An easy way to debug locally is to use console.log() to print debug
|
||||
information to your console.
|
||||
slug: /docs/saas-connectivity/in-depth/debugging
|
||||
tags: ["Connectivity"]
|
||||
|
||||
@@ -5,8 +5,7 @@ pagination_label: Date Math
|
||||
sidebar_label: Date Math
|
||||
sidebar_class_name: dateMath
|
||||
keywords: ["transforms", "operations", "date", "math"]
|
||||
description:
|
||||
Add, subtract, and round components of a timestamp's incoming value.
|
||||
description: Add, subtract, and round components of a timestamp's incoming value.
|
||||
slug: /docs/transforms/operations/date-math
|
||||
tags: ["Transforms", "Transform Operations"]
|
||||
---
|
||||
|
||||
@@ -71,6 +71,7 @@ transform involves a `table` entry of key-value pairs:
|
||||
configured with the UI.
|
||||
|
||||
## Examples
|
||||
|
||||
This transform tries to map a telephone area code to a city in Texas. If there is no area code in the four provided values, the transform will return the default value of "Unknown Area."
|
||||
|
||||
**Transform Request Body**:
|
||||
|
||||
@@ -5,8 +5,7 @@ pagination_label: Name Normalizer
|
||||
sidebar_label: Name Normalizer
|
||||
sidebar_class_name: nameNormalizer
|
||||
keywords: ["transforms", "operations", "name normalizer"]
|
||||
description:
|
||||
Clean or standardize the spelling of strings coming in from source systems.
|
||||
description: Clean or standardize the spelling of strings coming in from source systems.
|
||||
slug: /docs/transforms/operations/name-normalizer
|
||||
tags: ["Transforms", "Transform Operations"]
|
||||
---
|
||||
|
||||
@@ -5,8 +5,7 @@ pagination_label: Rule
|
||||
sidebar_label: Rule
|
||||
sidebar_class_name: rule
|
||||
keywords: ["transforms", "operations", "rule"]
|
||||
description:
|
||||
Reuse rule logic that has already been written for a previous use case.
|
||||
description: Reuse rule logic that has already been written for a previous use case.
|
||||
slug: /docs/transforms/operations/rule
|
||||
tags: ["Transforms", "Transform Operations"]
|
||||
---
|
||||
|
||||
@@ -5,8 +5,7 @@ pagination_label: Trim
|
||||
sidebar_label: Trim
|
||||
sidebar_class_name: trim
|
||||
keywords: ["transforms", "operations", "trim"]
|
||||
description:
|
||||
Trim whitespaces from both the beginning and ending of input strings.
|
||||
description: Trim whitespaces from both the beginning and ending of input strings.
|
||||
slug: /docs/transforms/operations/trim
|
||||
tags: ["Transforms", "Transform Operations"]
|
||||
---
|
||||
|
||||
@@ -5,8 +5,7 @@ pagination_label: Username Generator
|
||||
sidebar_label: Username Generator
|
||||
sidebar_class_name: usernameGenerator
|
||||
keywords: ["transforms", "operations", "username", "generator"]
|
||||
description:
|
||||
Derive a unique value for an attribute in an account create profile.
|
||||
description: Derive a unique value for an attribute in an account create profile.
|
||||
slug: /docs/transforms/operations/username-generator
|
||||
tags: ["Transforms", "Transform Operations"]
|
||||
---
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
import React from "react";
|
||||
import clsx from "clsx";
|
||||
import styles from "./styles.module.css";
|
||||
import Link from '@docusaurus/Link';
|
||||
import Link from "@docusaurus/Link";
|
||||
export default function FAQ() {
|
||||
return (
|
||||
<div>
|
||||
</div>
|
||||
);
|
||||
return <div></div>;
|
||||
}
|
||||
|
||||
@@ -1,116 +1,114 @@
|
||||
.mainCard {
|
||||
margin: 10px 100px;
|
||||
display: grid;
|
||||
grid-gap: 20px;
|
||||
grid-template-columns: 900px auto;
|
||||
align-content: center;
|
||||
margin: 10px 100px;
|
||||
display: grid;
|
||||
grid-gap: 20px;
|
||||
grid-template-columns: 900px auto;
|
||||
align-content: center;
|
||||
}
|
||||
.center {
|
||||
margin: 50px auto;
|
||||
max-width: 1000px;
|
||||
}
|
||||
margin: 50px auto;
|
||||
max-width: 1000px;
|
||||
}
|
||||
|
||||
.signUpSection {
|
||||
margin: 30px auto;
|
||||
margin: 30px auto;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1324px) {
|
||||
.signUpSection {
|
||||
display: none;
|
||||
}
|
||||
.signUpSection {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.headerSection {
|
||||
display: grid;
|
||||
grid-gap: 0px;
|
||||
grid-template-columns: 517px 330px;
|
||||
display: grid;
|
||||
grid-gap: 0px;
|
||||
grid-template-columns: 517px 330px;
|
||||
}
|
||||
|
||||
.shipyardText {
|
||||
margin-top: 70px;
|
||||
font-size: 100px;
|
||||
color: var(--dev-text-color-cobalt);
|
||||
font-family: input-mono;
|
||||
margin-top: 70px;
|
||||
font-size: 100px;
|
||||
color: var(--dev-text-color-cobalt);
|
||||
font-family: input-mono;
|
||||
}
|
||||
|
||||
.yearText {
|
||||
color: var(--dev-text-color-cobalt);
|
||||
font-size: 100px;
|
||||
font-family: input-mono;
|
||||
font-weight: bold;
|
||||
color: var(--dev-text-color-cobalt);
|
||||
font-size: 100px;
|
||||
font-family: input-mono;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.yearTextBorder {
|
||||
margin-top: 70px;
|
||||
width: 330px;
|
||||
height: 149px;
|
||||
/* UI Properties */
|
||||
border: 4px solid var(--dev-text-color-cobalt);
|
||||
border-radius: 45px;
|
||||
opacity: 1;
|
||||
line-height: 149px;
|
||||
text-align: center;
|
||||
margin-top: 70px;
|
||||
width: 330px;
|
||||
height: 149px;
|
||||
/* UI Properties */
|
||||
border: 4px solid var(--dev-text-color-cobalt);
|
||||
border-radius: 45px;
|
||||
opacity: 1;
|
||||
line-height: 149px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.comingSoonText {
|
||||
color: var(--dev-text-color-cobalt);
|
||||
font-size: 22px;
|
||||
font-family: input-mono;
|
||||
letter-spacing: 5.5px;
|
||||
margin-top: -17px;
|
||||
color: var(--dev-text-color-cobalt);
|
||||
font-size: 22px;
|
||||
font-family: input-mono;
|
||||
letter-spacing: 5.5px;
|
||||
margin-top: -17px;
|
||||
}
|
||||
|
||||
.descriptionText {
|
||||
margin-top: 20px;
|
||||
color: var(--ifm-color-primary);
|
||||
font-size: 36px;
|
||||
font-family: input-mono;
|
||||
margin-top: 20px;
|
||||
color: var(--ifm-color-primary);
|
||||
font-size: 36px;
|
||||
font-family: input-mono;
|
||||
}
|
||||
|
||||
.extensible {
|
||||
font-size: 48px;
|
||||
font-weight: bold;
|
||||
font-size: 48px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.sailpoint {
|
||||
font-weight: 600;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 980px) {
|
||||
.mainCard {
|
||||
display: none;
|
||||
}
|
||||
.mainCard {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.button {
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
margin: 10px auto;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
line-height: 100%;
|
||||
color: #df61ca;
|
||||
font-family: input-mono;
|
||||
/* Layout Properties */
|
||||
margin-top: 20px;
|
||||
width: 360px;
|
||||
height: 52px;
|
||||
line-height: 42px;
|
||||
/* UI Properties */
|
||||
background: transparent 0% 0% no-repeat padding-box;
|
||||
opacity: 1;
|
||||
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
margin: 10px auto;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
line-height: 100%;
|
||||
color: #df61ca;
|
||||
font-family: input-mono;
|
||||
/* Layout Properties */
|
||||
margin-top: 20px;
|
||||
width: 360px;
|
||||
height: 52px;
|
||||
line-height: 42px;
|
||||
/* UI Properties */
|
||||
background: transparent 0% 0% no-repeat padding-box;
|
||||
opacity: 1;
|
||||
|
||||
box-shadow: 0px 20px 60px #00000015;
|
||||
border: 2px solid #df61ca;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
cursor: pointer;
|
||||
top: -2px;
|
||||
box-shadow: 0 4px 5px rgba(0,0,0,0.2);
|
||||
background-color: #c552ae10;
|
||||
color: #cc27b0;
|
||||
}
|
||||
box-shadow: 0px 20px 60px #00000015;
|
||||
border: 2px solid #df61ca;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
cursor: pointer;
|
||||
top: -2px;
|
||||
box-shadow: 0 4px 5px rgba(0, 0, 0, 0.2);
|
||||
background-color: #c552ae10;
|
||||
color: #cc27b0;
|
||||
}
|
||||
|
||||
@@ -1,17 +1,16 @@
|
||||
import React from "react";
|
||||
import styles from "./styles.module.css";
|
||||
import Link from '@docusaurus/Link';
|
||||
import useBaseUrl from '@docusaurus/useBaseUrl';
|
||||
import ThemedImage from '@theme/ThemedImage';
|
||||
export default function SpeakerCard({link, name, image}) {
|
||||
|
||||
import Link from "@docusaurus/Link";
|
||||
import useBaseUrl from "@docusaurus/useBaseUrl";
|
||||
import ThemedImage from "@theme/ThemedImage";
|
||||
export default function SpeakerCard({ link, name, image }) {
|
||||
return (
|
||||
<Link to={link}>
|
||||
<div className={styles.card}>
|
||||
<div className={styles.cardFaceContainer}>
|
||||
<img className={styles.cardFace} src={useBaseUrl(image)}></img>
|
||||
</div>
|
||||
<div className={styles.cardText}>{name}</div>
|
||||
<div className={styles.cardFaceContainer}>
|
||||
<img className={styles.cardFace} src={useBaseUrl(image)}></img>
|
||||
</div>
|
||||
<div className={styles.cardText}>{name}</div>
|
||||
</div>
|
||||
</Link>
|
||||
);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Getting Started Card */
|
||||
.card {
|
||||
position:relative;
|
||||
position: relative;
|
||||
margin-top: 20px;
|
||||
height: 200px;
|
||||
/* UI Properties */
|
||||
@@ -9,9 +9,8 @@
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
|
||||
.cardText {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 22px auto;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
@@ -23,7 +22,7 @@
|
||||
}
|
||||
|
||||
.titleText {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 22px auto;
|
||||
text-align: center;
|
||||
font-size: 10px;
|
||||
@@ -35,12 +34,9 @@
|
||||
color: var(--dev-text-color-normal);
|
||||
}
|
||||
|
||||
|
||||
|
||||
.cardFaceContainer {
|
||||
width: 100%;
|
||||
margin: 40px auto;
|
||||
|
||||
}
|
||||
|
||||
.cardFace {
|
||||
@@ -49,6 +45,4 @@
|
||||
margin: auto;
|
||||
height: 100px;
|
||||
width: 100px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,26 +1,53 @@
|
||||
import React from "react";
|
||||
import clsx from "clsx";
|
||||
import ConferenceTitle from '../Title'
|
||||
import ConferenceTitle from "../Title";
|
||||
import styles from "./styles.module.css";
|
||||
import Link from '@docusaurus/Link';
|
||||
import Link from "@docusaurus/Link";
|
||||
import SpeakerCard from "../SpeakerCard";
|
||||
export default function ConferenceSpeakers() {
|
||||
return (
|
||||
<div className={styles.main}>
|
||||
<ConferenceTitle
|
||||
description={"Take a sneak peek at our upcoming lineup of expert guests"}
|
||||
title={"Speakers"}
|
||||
image={"/conf/calendar-star.png"}>
|
||||
</ConferenceTitle>
|
||||
<ConferenceTitle
|
||||
description={
|
||||
"Take a sneak peek at our upcoming lineup of expert guests"
|
||||
}
|
||||
title={"Speakers"}
|
||||
image={"/conf/calendar-star.png"}
|
||||
></ConferenceTitle>
|
||||
<div className={styles.center}>
|
||||
<div className={styles.gridContainer}>
|
||||
<SpeakerCard link={"https://developer.sailpoint.com/discuss/u/colin_mckibben/summary"} name={"Colin McKibben"} title={"DEVELOPER ADVOCATE"} image={"/homepage/colin-mckibben.png"}></SpeakerCard>
|
||||
<SpeakerCard link={"https://developer.sailpoint.com/discuss/u/tyler_mairose/summary"} name={"Tyler Mairose"} title={"DEVELOPER ADVOCATE"} image={"/homepage/tyler-mairose.png"}></SpeakerCard>
|
||||
<SpeakerCard link={"https://developer.sailpoint.com/discuss/u/philip-ellis/summary"} name={"Philip Ellis"} title={"DEVELOPER ADVOCATE"} image={"/homepage/phil-ellis.png"}></SpeakerCard>
|
||||
<SpeakerCard link={"https://developer.sailpoint.com/discuss/u/jthaytko/summary"} name={"James Haytko"} title={"TECHNICAL WRITER"} image={"/homepage/james-haytko.png"}></SpeakerCard>
|
||||
</div>
|
||||
<SpeakerCard
|
||||
link={
|
||||
"https://developer.sailpoint.com/discuss/u/colin_mckibben/summary"
|
||||
}
|
||||
name={"Colin McKibben"}
|
||||
title={"DEVELOPER ADVOCATE"}
|
||||
image={"/homepage/colin-mckibben.png"}
|
||||
></SpeakerCard>
|
||||
<SpeakerCard
|
||||
link={
|
||||
"https://developer.sailpoint.com/discuss/u/tyler_mairose/summary"
|
||||
}
|
||||
name={"Tyler Mairose"}
|
||||
title={"DEVELOPER ADVOCATE"}
|
||||
image={"/homepage/tyler-mairose.png"}
|
||||
></SpeakerCard>
|
||||
<SpeakerCard
|
||||
link={
|
||||
"https://developer.sailpoint.com/discuss/u/philip-ellis/summary"
|
||||
}
|
||||
name={"Philip Ellis"}
|
||||
title={"DEVELOPER ADVOCATE"}
|
||||
image={"/homepage/phil-ellis.png"}
|
||||
></SpeakerCard>
|
||||
<SpeakerCard
|
||||
link={"https://developer.sailpoint.com/discuss/u/jthaytko/summary"}
|
||||
name={"James Haytko"}
|
||||
title={"TECHNICAL WRITER"}
|
||||
image={"/homepage/james-haytko.png"}
|
||||
></SpeakerCard>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
.gridContainer {
|
||||
display: grid;
|
||||
place-content: center;
|
||||
grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
|
||||
grid-gap: 40px;
|
||||
margin-left: 40px;
|
||||
margin-right: 40px;
|
||||
background: var(--dev-card-background);
|
||||
box-shadow: var(--dev-card-shadow);
|
||||
border: 1px solid var(--dev-card-background);
|
||||
border-radius: 40px;
|
||||
}
|
||||
|
||||
.center {
|
||||
margin: 50px auto;
|
||||
max-width: 1000px;
|
||||
}
|
||||
display: grid;
|
||||
place-content: center;
|
||||
grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
|
||||
grid-gap: 40px;
|
||||
margin-left: 40px;
|
||||
margin-right: 40px;
|
||||
background: var(--dev-card-background);
|
||||
box-shadow: var(--dev-card-shadow);
|
||||
border: 1px solid var(--dev-card-background);
|
||||
border-radius: 40px;
|
||||
}
|
||||
|
||||
.main {
|
||||
margin-top: 100px;
|
||||
}
|
||||
.center {
|
||||
margin: 50px auto;
|
||||
max-width: 1000px;
|
||||
}
|
||||
|
||||
.main {
|
||||
margin-top: 100px;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
import React from "react";
|
||||
import clsx from "clsx";
|
||||
import styles from "./styles.module.css";
|
||||
import Link from '@docusaurus/Link';
|
||||
import Link from "@docusaurus/Link";
|
||||
export default function ConferenceSponsors() {
|
||||
return (
|
||||
<div>
|
||||
</div>
|
||||
);
|
||||
return <div></div>;
|
||||
}
|
||||
|
||||
@@ -1,28 +1,45 @@
|
||||
import React from "react";
|
||||
import ConferenceTitle from '../Title'
|
||||
import ThemeCard from '../ThemeCard'
|
||||
import ConferenceTitle from "../Title";
|
||||
import ThemeCard from "../ThemeCard";
|
||||
import styles from "./styles.module.css";
|
||||
export default function ConferenceTheme() {
|
||||
return (
|
||||
<div className={styles.main}>
|
||||
<ConferenceTitle
|
||||
<ConferenceTitle
|
||||
description={"What can you expect at the upcoming conference?"}
|
||||
title={"What to Expect"}
|
||||
image={"/conf/calendar-star-thin.svg"}>
|
||||
</ConferenceTitle>
|
||||
image={"/conf/calendar-star-thin.svg"}
|
||||
></ConferenceTitle>
|
||||
<div className={styles.center}>
|
||||
<div className={styles.gridContainer}>
|
||||
<ThemeCard title={"A deep dive into the extensibility offerings of SailPoint platforms"} image={"/conf/deep-dive.png"}></ThemeCard>
|
||||
<ThemeCard title={"Hear from identity experts developing real world solutions"} image={"/conf/expert-advice.png"}></ThemeCard>
|
||||
<ThemeCard
|
||||
title={
|
||||
"A deep dive into the extensibility offerings of SailPoint platforms"
|
||||
}
|
||||
image={"/conf/deep-dive.png"}
|
||||
></ThemeCard>
|
||||
<ThemeCard
|
||||
title={"Hear from identity experts developing real world solutions"}
|
||||
image={"/conf/expert-advice.png"}
|
||||
></ThemeCard>
|
||||
</div>
|
||||
</div>
|
||||
<div className={styles.center}>
|
||||
<div className={styles.gridContainer}>
|
||||
<ThemeCard title={"Shipyard is a hands-on conference, you will build something in almost every session"} image={"/conf/workshops.png"}></ThemeCard>
|
||||
<ThemeCard title={"Shipyard will be all-virtual, open to everyone, and <b>at no cost<b>"} image={"/conf/virtual.png"}></ThemeCard>
|
||||
<ThemeCard
|
||||
title={
|
||||
"Shipyard is a hands-on conference, you will build something in almost every session"
|
||||
}
|
||||
image={"/conf/workshops.png"}
|
||||
></ThemeCard>
|
||||
<ThemeCard
|
||||
title={
|
||||
"Shipyard will be all-virtual, open to everyone, and <b>at no cost<b>"
|
||||
}
|
||||
image={"/conf/virtual.png"}
|
||||
></ThemeCard>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
);
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
.gridContainer {
|
||||
display: grid;
|
||||
place-content: center;
|
||||
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
||||
grid-gap: 40px;
|
||||
margin-left: 40px;
|
||||
margin-right: 40px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.center {
|
||||
margin: 20px auto;
|
||||
max-width: 1000px;
|
||||
}
|
||||
display: grid;
|
||||
place-content: center;
|
||||
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
||||
grid-gap: 40px;
|
||||
margin-left: 40px;
|
||||
margin-right: 40px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.main {
|
||||
margin-bottom: 100px;
|
||||
}
|
||||
.center {
|
||||
margin: 20px auto;
|
||||
max-width: 1000px;
|
||||
}
|
||||
|
||||
.main {
|
||||
margin-bottom: 100px;
|
||||
}
|
||||
|
||||
@@ -1,18 +1,21 @@
|
||||
import React from "react";
|
||||
import styles from "./styles.module.css";
|
||||
import Link from '@docusaurus/Link';
|
||||
import useBaseUrl from '@docusaurus/useBaseUrl';
|
||||
import ThemedImage from '@theme/ThemedImage';
|
||||
import Link from "@docusaurus/Link";
|
||||
import useBaseUrl from "@docusaurus/useBaseUrl";
|
||||
import ThemedImage from "@theme/ThemedImage";
|
||||
import { addDarkToFileName } from "../../../util/util";
|
||||
|
||||
export default function ThemeCard({title, name, image}) {
|
||||
export default function ThemeCard({ title, name, image }) {
|
||||
return (
|
||||
<div className={styles.card}>
|
||||
<div className={styles.cardFaceContainer}>
|
||||
<img className={styles.cardFace} src={useBaseUrl(image)}></img>
|
||||
</div>
|
||||
<div className={styles.cardText}>{name}</div>
|
||||
<div className={styles.titleText} dangerouslySetInnerHTML={{ __html: title }} ></div>
|
||||
<div className={styles.cardFaceContainer}>
|
||||
<img className={styles.cardFace} src={useBaseUrl(image)}></img>
|
||||
</div>
|
||||
<div className={styles.cardText}>{name}</div>
|
||||
<div
|
||||
className={styles.titleText}
|
||||
dangerouslySetInnerHTML={{ __html: title }}
|
||||
></div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Getting Started Card */
|
||||
.card {
|
||||
position:relative;
|
||||
position: relative;
|
||||
margin-top: 20px;
|
||||
height: 493px;
|
||||
min-width: 330px;
|
||||
@@ -12,9 +12,8 @@
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
|
||||
.cardText {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 22px auto;
|
||||
text-align: center;
|
||||
font-size: 24px;
|
||||
@@ -22,14 +21,14 @@
|
||||
width: 100%;
|
||||
top: 36px;
|
||||
left: 0;
|
||||
color: #CC27B0;
|
||||
color: #cc27b0;
|
||||
font-family: input-mono;
|
||||
}
|
||||
|
||||
.titleText {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 22px auto;
|
||||
padding: 0px calc(15%);
|
||||
padding: 0px calc(15%);
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
font-weight: 400;
|
||||
@@ -41,8 +40,6 @@
|
||||
font-family: input-mono;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.cardFaceContainer {
|
||||
width: 100%;
|
||||
margin: 70px auto;
|
||||
@@ -57,4 +54,3 @@
|
||||
height: 264px;
|
||||
width: 264px;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,14 +1,20 @@
|
||||
import React from "react";
|
||||
import styles from "./styles.module.css";
|
||||
import useBaseUrl from '@docusaurus/useBaseUrl';
|
||||
import ThemedImage from '@theme/ThemedImage';
|
||||
import useBaseUrl from "@docusaurus/useBaseUrl";
|
||||
import ThemedImage from "@theme/ThemedImage";
|
||||
import { addDarkToFileName } from "../../../util/util";
|
||||
export default function ConferenceTitle({image, title, description}) {
|
||||
export default function ConferenceTitle({ image, title, description }) {
|
||||
return (
|
||||
<div className={styles.gettingStartedText}>
|
||||
<ThemedImage className={styles.gettingStartedCardIcon} sources={{light: useBaseUrl(image), dark: useBaseUrl(image),}}></ThemedImage>
|
||||
<ThemedImage
|
||||
className={styles.gettingStartedCardIcon}
|
||||
sources={{ light: useBaseUrl(image), dark: useBaseUrl(image) }}
|
||||
></ThemedImage>
|
||||
<div className={styles.gettingStartedOne}>{title}</div>
|
||||
<div className={styles.gettingStartedThree} dangerouslySetInnerHTML={{ __html: description }} ></div>
|
||||
<div
|
||||
className={styles.gettingStartedThree}
|
||||
dangerouslySetInnerHTML={{ __html: description }}
|
||||
></div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,34 +1,33 @@
|
||||
|
||||
.gettingStartedText {
|
||||
text-align: center;
|
||||
color: var(--dev-text-color-cobalt);
|
||||
margin: 160px auto 20px auto;
|
||||
width: calc(100% - 100px);
|
||||
max-width: 600px;
|
||||
font-family: input-mono;
|
||||
}
|
||||
|
||||
.gettingStartedOne {
|
||||
color: var(--dev-text-color-cobalt);
|
||||
font-size: 30px;
|
||||
font-weight: bold;
|
||||
line-height: 100%;
|
||||
font-family: input-mono;;
|
||||
}
|
||||
|
||||
.gettingStartedThree {
|
||||
margin-top: 20px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
|
||||
.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.gettingStartedCardIcon {
|
||||
margin-bottom: 20px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
filter: invert(62%) sepia(93%) saturate(289%) hue-rotate(156deg) brightness(93%) contrast(96%);
|
||||
}
|
||||
text-align: center;
|
||||
color: var(--dev-text-color-cobalt);
|
||||
margin: 160px auto 20px auto;
|
||||
width: calc(100% - 100px);
|
||||
max-width: 600px;
|
||||
font-family: input-mono;
|
||||
}
|
||||
|
||||
.gettingStartedOne {
|
||||
color: var(--dev-text-color-cobalt);
|
||||
font-size: 30px;
|
||||
font-weight: bold;
|
||||
line-height: 100%;
|
||||
font-family: input-mono;
|
||||
}
|
||||
|
||||
.gettingStartedThree {
|
||||
margin-top: 20px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.gettingStartedCardIcon {
|
||||
margin-bottom: 20px;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
filter: invert(62%) sepia(93%) saturate(289%) hue-rotate(156deg)
|
||||
brightness(93%) contrast(96%);
|
||||
}
|
||||
|
||||
@@ -1,151 +1,149 @@
|
||||
.mainCard {
|
||||
display: grid;
|
||||
grid-gap: 20px;
|
||||
grid-template-columns: 760px auto;
|
||||
align-content: center;
|
||||
margin-bottom: 80px;
|
||||
font-family: input-mono;
|
||||
display: grid;
|
||||
grid-gap: 20px;
|
||||
grid-template-columns: 760px auto;
|
||||
align-content: center;
|
||||
margin-bottom: 80px;
|
||||
font-family: input-mono;
|
||||
}
|
||||
|
||||
.background {
|
||||
width: 760px;
|
||||
height: 600px;
|
||||
width: 760px;
|
||||
height: 600px;
|
||||
}
|
||||
|
||||
|
||||
.comingSoon {
|
||||
padding-left: 20px;
|
||||
color: var(--ifm-color-primary);
|
||||
padding-left: 20px;
|
||||
color: var(--ifm-color-primary);
|
||||
}
|
||||
|
||||
.learnDeployText {
|
||||
position: absolute;
|
||||
left: 467px;
|
||||
height: 196px;
|
||||
top: 425px;
|
||||
position: absolute;
|
||||
left: 467px;
|
||||
height: 196px;
|
||||
top: 425px;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1324px) {
|
||||
.mainCard {
|
||||
grid-template-columns: auto;
|
||||
}
|
||||
.background {
|
||||
width: 100%;
|
||||
height: 265px;
|
||||
}
|
||||
.learnDeployText {
|
||||
height: 187px;
|
||||
right: 50px;
|
||||
left: auto;
|
||||
top: 99px;
|
||||
}
|
||||
.mainCard {
|
||||
grid-template-columns: auto;
|
||||
}
|
||||
.background {
|
||||
width: 100%;
|
||||
height: 265px;
|
||||
}
|
||||
.learnDeployText {
|
||||
height: 187px;
|
||||
right: 50px;
|
||||
left: auto;
|
||||
top: 99px;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (min-width: 980px) {
|
||||
.mainCard {
|
||||
display: none;
|
||||
}
|
||||
.mainCard {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.signUpSection {
|
||||
min-width: 368px;
|
||||
width: 368px;
|
||||
margin: 30px auto;
|
||||
min-width: 368px;
|
||||
width: 368px;
|
||||
margin: 30px auto;
|
||||
}
|
||||
.imageContainer {
|
||||
text-align: center;
|
||||
text-align: center;
|
||||
}
|
||||
.sailpointImageContainer {
|
||||
padding-left: 32px;
|
||||
padding-left: 32px;
|
||||
}
|
||||
.shipyardLogo {
|
||||
margin-top: 10px;
|
||||
width: 368px;
|
||||
height: 75px;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-top: 10px;
|
||||
width: 368px;
|
||||
height: 75px;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
}
|
||||
|
||||
.sailpointImage {
|
||||
margin-top: 70px;
|
||||
width: 177px;
|
||||
height: 38px;
|
||||
text-align: center;
|
||||
margin-top: 70px;
|
||||
width: 177px;
|
||||
height: 38px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.welcomeContainer {
|
||||
text-align: center;
|
||||
margin-top: 60px;
|
||||
font-size: 30px;
|
||||
color: var(--ifm-color-primary);
|
||||
font-weight: bold;
|
||||
font-family: input-mono;
|
||||
text-align: center;
|
||||
margin-top: 60px;
|
||||
font-size: 30px;
|
||||
color: var(--ifm-color-primary);
|
||||
font-weight: bold;
|
||||
font-family: input-mono;
|
||||
}
|
||||
|
||||
.welcomeText {
|
||||
width: 368px;
|
||||
margin-top: 60px;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
color: var(--ifm-color-primary);
|
||||
width: 368px;
|
||||
margin-top: 60px;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
color: var(--ifm-color-primary);
|
||||
}
|
||||
|
||||
.emailText {
|
||||
letter-spacing: 3.2px;
|
||||
margin-top: 10px;
|
||||
color: var(--ifm-color-primary);
|
||||
font-family: input-mono;;
|
||||
font-weight: bold;
|
||||
font-size: 18px;
|
||||
letter-spacing: 3.2px;
|
||||
margin-top: 10px;
|
||||
color: var(--ifm-color-primary);
|
||||
font-family: input-mono;
|
||||
font-weight: bold;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.emailInput {
|
||||
margin-top: 8px;
|
||||
box-shadow: inset 0px 3px 6px #00000029;
|
||||
border: 1px solid #DFE3E7;
|
||||
border-radius: 4px;
|
||||
height: 52px;
|
||||
width: 360px;
|
||||
font-size: 20px;
|
||||
padding-left: 15px;
|
||||
margin-top: 8px;
|
||||
box-shadow: inset 0px 3px 6px #00000029;
|
||||
border: 1px solid #dfe3e7;
|
||||
border-radius: 4px;
|
||||
height: 52px;
|
||||
width: 360px;
|
||||
font-size: 20px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
.button {
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
margin: 10px auto;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
line-height: 100%;
|
||||
color: #df61ca;
|
||||
font-family: input-mono;
|
||||
/* Layout Properties */
|
||||
margin-top: 20px;
|
||||
width: 360px;
|
||||
height: 52px;
|
||||
line-height: 52px;
|
||||
/* UI Properties */
|
||||
background: transparent 0% 0% no-repeat padding-box;
|
||||
opacity: 1;
|
||||
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
margin: 10px auto;
|
||||
font-size: 20px;
|
||||
font-weight: bold;
|
||||
line-height: 100%;
|
||||
color: #df61ca;
|
||||
font-family: input-mono;
|
||||
/* Layout Properties */
|
||||
margin-top: 20px;
|
||||
width: 360px;
|
||||
height: 52px;
|
||||
line-height: 52px;
|
||||
/* UI Properties */
|
||||
background: transparent 0% 0% no-repeat padding-box;
|
||||
opacity: 1;
|
||||
|
||||
box-shadow: 0px 20px 60px #00000015;
|
||||
border: 2px solid #df61ca;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.button:hover {
|
||||
cursor: pointer;
|
||||
top: -2px;
|
||||
box-shadow: 0 4px 5px rgba(0,0,0,0.2);
|
||||
background-color: #c552ae10;
|
||||
color: #cc27b0;
|
||||
}
|
||||
box-shadow: 0px 20px 60px #00000015;
|
||||
border: 2px solid #df61ca;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.link {
|
||||
color: #df61ca;
|
||||
}
|
||||
.button:hover {
|
||||
color: #df61ca;
|
||||
cursor: pointer;
|
||||
}
|
||||
.button:hover {
|
||||
cursor: pointer;
|
||||
top: -2px;
|
||||
box-shadow: 0 4px 5px rgba(0, 0, 0, 0.2);
|
||||
background-color: #c552ae10;
|
||||
color: #cc27b0;
|
||||
}
|
||||
|
||||
.link {
|
||||
color: #df61ca;
|
||||
}
|
||||
.button:hover {
|
||||
color: #df61ca;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
@@ -1,24 +1,64 @@
|
||||
import React from "react";
|
||||
import styles from "./styles.module.css";
|
||||
import Link from '@docusaurus/Link';
|
||||
import useBaseUrl from '@docusaurus/useBaseUrl';
|
||||
import ThemedImage from '@theme/ThemedImage';
|
||||
import Link from "@docusaurus/Link";
|
||||
import useBaseUrl from "@docusaurus/useBaseUrl";
|
||||
import ThemedImage from "@theme/ThemedImage";
|
||||
import { addDarkToFileName } from "../../../util/util";
|
||||
export default function DiscussCard({link, title, tags, views, liked, solution}) {
|
||||
|
||||
let solved = <img className={styles.cardDiscuss} src={useBaseUrl("/homepage/edit.png")}></img>
|
||||
let linkText = <div className={styles.linkText}>Join the Discussion</div>
|
||||
export default function DiscussCard({
|
||||
link,
|
||||
title,
|
||||
tags,
|
||||
views,
|
||||
liked,
|
||||
solution,
|
||||
}) {
|
||||
let solved = (
|
||||
<img
|
||||
className={styles.cardDiscuss}
|
||||
src={useBaseUrl("/homepage/edit.png")}
|
||||
></img>
|
||||
);
|
||||
let linkText = <div className={styles.linkText}>Join the Discussion</div>;
|
||||
if (solution) {
|
||||
solved = <ThemedImage className={styles.cardSolved} sources={{light: useBaseUrl("/homepage/solved.png"), dark: useBaseUrl(addDarkToFileName("/homepage/solved.png")),}}></ThemedImage>
|
||||
linkText = <div className={styles.linkSolvedText}>View the Solution</div>
|
||||
solved = (
|
||||
<ThemedImage
|
||||
className={styles.cardSolved}
|
||||
sources={{
|
||||
light: useBaseUrl("/homepage/solved.png"),
|
||||
dark: useBaseUrl(addDarkToFileName("/homepage/solved.png")),
|
||||
}}
|
||||
></ThemedImage>
|
||||
);
|
||||
linkText = <div className={styles.linkSolvedText}>View the Solution</div>;
|
||||
}
|
||||
return (
|
||||
<Link to={link}>
|
||||
<div className={styles.card}>
|
||||
<ThemedImage className={styles.cardIcon} sources={{light: useBaseUrl("/homepage/quotes.png"), dark: useBaseUrl(addDarkToFileName("/homepage/quotes.png")),}}></ThemedImage>
|
||||
<ThemedImage className={styles.cardArrow} sources={{light: useBaseUrl('/homepage/arrow-right.png'), dark: useBaseUrl('/homepage/arrow-right-dark.png'),}}></ThemedImage>
|
||||
<ThemedImage className={styles.cardEye} sources={{light: useBaseUrl("/homepage/eyeball.png"), dark: useBaseUrl(addDarkToFileName("/homepage/eyeball.png")),}}></ThemedImage>
|
||||
<img className={styles.cardLiked} src={useBaseUrl("/homepage/liked.png")}></img>
|
||||
<ThemedImage
|
||||
className={styles.cardIcon}
|
||||
sources={{
|
||||
light: useBaseUrl("/homepage/quotes.png"),
|
||||
dark: useBaseUrl(addDarkToFileName("/homepage/quotes.png")),
|
||||
}}
|
||||
></ThemedImage>
|
||||
<ThemedImage
|
||||
className={styles.cardArrow}
|
||||
sources={{
|
||||
light: useBaseUrl("/homepage/arrow-right.png"),
|
||||
dark: useBaseUrl("/homepage/arrow-right-dark.png"),
|
||||
}}
|
||||
></ThemedImage>
|
||||
<ThemedImage
|
||||
className={styles.cardEye}
|
||||
sources={{
|
||||
light: useBaseUrl("/homepage/eyeball.png"),
|
||||
dark: useBaseUrl(addDarkToFileName("/homepage/eyeball.png")),
|
||||
}}
|
||||
></ThemedImage>
|
||||
<img
|
||||
className={styles.cardLiked}
|
||||
src={useBaseUrl("/homepage/liked.png")}
|
||||
></img>
|
||||
{solved}
|
||||
<div className={styles.cardText}>{title}</div>
|
||||
<div className={styles.cardViews}>{views}</div>
|
||||
@@ -28,14 +68,11 @@ export default function DiscussCard({link, title, tags, views, liked, solution})
|
||||
<div className={styles.tags}>
|
||||
{tags?.map((tag, index) => {
|
||||
if (index > 2) {
|
||||
return ('')
|
||||
return "";
|
||||
}
|
||||
return (
|
||||
<div className={styles.tag}>{tag}</div>
|
||||
)
|
||||
return <div className={styles.tag}>{tag}</div>;
|
||||
})}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</Link>
|
||||
);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Getting Started Card */
|
||||
.card {
|
||||
position:relative;
|
||||
position: relative;
|
||||
margin-top: 20px;
|
||||
height: 300px;
|
||||
/* UI Properties */
|
||||
@@ -14,11 +14,11 @@
|
||||
.card:hover {
|
||||
cursor: pointer;
|
||||
top: -2px;
|
||||
box-shadow: var(--dev-card-selected)
|
||||
box-shadow: var(--dev-card-selected);
|
||||
}
|
||||
|
||||
.cardText {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 22px;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
@@ -28,7 +28,7 @@
|
||||
}
|
||||
|
||||
.linkText {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 15px 45px 15px 25px;
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
@@ -38,7 +38,7 @@
|
||||
}
|
||||
|
||||
.linkSolvedText {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 15px 45px;
|
||||
font-size: 18px;
|
||||
font-weight: 700;
|
||||
@@ -48,7 +48,7 @@
|
||||
}
|
||||
|
||||
.cardIcon {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 20px;
|
||||
top: 20px;
|
||||
left: 0;
|
||||
@@ -56,25 +56,23 @@
|
||||
}
|
||||
|
||||
.cardArrow {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 20px;
|
||||
bottom: 20px;
|
||||
right: 0;
|
||||
width: 20px;
|
||||
|
||||
}
|
||||
|
||||
.cardViews {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 15px;
|
||||
right: 0px;
|
||||
top: 0;
|
||||
width: 30px;
|
||||
}
|
||||
|
||||
|
||||
.cardLikes {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 15px;
|
||||
right: 45px;
|
||||
top: 0;
|
||||
@@ -82,7 +80,7 @@
|
||||
}
|
||||
|
||||
.cardSolved {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 0px;
|
||||
right: 132px;
|
||||
top: 18px;
|
||||
@@ -91,16 +89,15 @@
|
||||
|
||||
.cardDiscuss {
|
||||
display: none;
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 0px;
|
||||
left: 12px;
|
||||
bottom: 57px;
|
||||
width: 28px;
|
||||
}
|
||||
|
||||
|
||||
.cardEye {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 20px;
|
||||
right: 25px;
|
||||
top: 0;
|
||||
@@ -108,7 +105,7 @@
|
||||
}
|
||||
|
||||
.cardLiked {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 16px;
|
||||
right: 75px;
|
||||
top: 0;
|
||||
@@ -122,14 +119,14 @@
|
||||
}
|
||||
|
||||
.tags {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 20px;
|
||||
width: 230px;
|
||||
bottom: 50px;
|
||||
left: 0;
|
||||
|
||||
display: grid;
|
||||
grid-template-columns: max-content max-content max-content;
|
||||
grid-template-columns: max-content max-content max-content;
|
||||
grid-gap: 10px;
|
||||
}
|
||||
|
||||
@@ -138,5 +135,5 @@
|
||||
}
|
||||
|
||||
.iiq {
|
||||
color: #60b359
|
||||
color: #60b359;
|
||||
}
|
||||
|
||||
@@ -1,26 +1,41 @@
|
||||
import React from "react";
|
||||
import styles from "./styles.module.css";
|
||||
import Link from '@docusaurus/Link';
|
||||
import useBaseUrl from '@docusaurus/useBaseUrl';
|
||||
import Link from "@docusaurus/Link";
|
||||
import useBaseUrl from "@docusaurus/useBaseUrl";
|
||||
import { addDarkToFileName } from "../../../util/util";
|
||||
import ThemedImage from '@theme/ThemedImage';
|
||||
export default function HomepageBasics({link, title, image, description, buttonText}) {
|
||||
|
||||
let linkHtml = <div></div>
|
||||
import ThemedImage from "@theme/ThemedImage";
|
||||
export default function HomepageBasics({
|
||||
link,
|
||||
title,
|
||||
image,
|
||||
description,
|
||||
buttonText,
|
||||
}) {
|
||||
let linkHtml = <div></div>;
|
||||
if (buttonText) {
|
||||
linkHtml =
|
||||
linkHtml = (
|
||||
<div className={styles.button}>
|
||||
<Link className={styles.link} to={link}>
|
||||
{buttonText}
|
||||
</Link>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
return (
|
||||
<div className={styles.gettingStartedText}>
|
||||
<ThemedImage className={styles.gettingStartedCardIcon} sources={{light: useBaseUrl(image), dark: useBaseUrl(addDarkToFileName(image)),}}></ThemedImage>
|
||||
<div className={styles.gettingStartedOne}>{title}</div>
|
||||
<div className={styles.gettingStartedThree} dangerouslySetInnerHTML={{ __html: description }} ></div>
|
||||
{linkHtml}
|
||||
</div>
|
||||
<div className={styles.gettingStartedText}>
|
||||
<ThemedImage
|
||||
className={styles.gettingStartedCardIcon}
|
||||
sources={{
|
||||
light: useBaseUrl(image),
|
||||
dark: useBaseUrl(addDarkToFileName(image)),
|
||||
}}
|
||||
></ThemedImage>
|
||||
<div className={styles.gettingStartedOne}>{title}</div>
|
||||
<div
|
||||
className={styles.gettingStartedThree}
|
||||
dangerouslySetInnerHTML={{ __html: description }}
|
||||
></div>
|
||||
{linkHtml}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
|
||||
.gettingStartedText {
|
||||
text-align: center;
|
||||
|
||||
margin: 150px auto 50px auto;
|
||||
width: calc(100% - 100px);
|
||||
max-width: 600px;
|
||||
|
||||
}
|
||||
|
||||
.gettingStartedOne {
|
||||
@@ -21,7 +19,6 @@
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
|
||||
.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
@@ -35,13 +32,12 @@
|
||||
.button:hover {
|
||||
cursor: pointer;
|
||||
top: -2px;
|
||||
box-shadow: 0 4px 5px rgba(0,0,0,0.2);
|
||||
box-shadow: 0 4px 5px rgba(0, 0, 0, 0.2);
|
||||
background-color: #c552ae10;
|
||||
color: #cc27b0;
|
||||
}
|
||||
|
||||
.button {
|
||||
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
margin: 10px auto;
|
||||
@@ -49,7 +45,6 @@
|
||||
font-weight: bold;
|
||||
line-height: 100%;
|
||||
|
||||
|
||||
/* Layout Properties */
|
||||
width: 259px;
|
||||
height: 61px;
|
||||
@@ -68,4 +63,4 @@
|
||||
}
|
||||
.link:hover {
|
||||
color: #df61ca;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,30 @@
|
||||
import React from "react";
|
||||
import styles from "./styles.module.css";
|
||||
import Link from '@docusaurus/Link';
|
||||
import useBaseUrl from '@docusaurus/useBaseUrl';
|
||||
import ThemedImage from '@theme/ThemedImage';
|
||||
import Link from "@docusaurus/Link";
|
||||
import useBaseUrl from "@docusaurus/useBaseUrl";
|
||||
import ThemedImage from "@theme/ThemedImage";
|
||||
import { addDarkToFileName } from "../../../util/util";
|
||||
|
||||
export default function HomepageCard({link, title, image, product}) {
|
||||
const productStyles = product==='idn' ? styles.idn : styles.iiq
|
||||
export default function HomepageCard({ link, title, image, product }) {
|
||||
const productStyles = product === "idn" ? styles.idn : styles.iiq;
|
||||
|
||||
return (
|
||||
<Link to={link}>
|
||||
<div className={styles.card}>
|
||||
<ThemedImage className={styles.cardIcon} sources={{light: useBaseUrl(image), dark: useBaseUrl(addDarkToFileName(image)),}}></ThemedImage>
|
||||
<ThemedImage className={styles.cardArrow} sources={{light: useBaseUrl('/homepage/arrow-right.png'), dark: useBaseUrl('/homepage/arrow-right-dark.png'),}}></ThemedImage>
|
||||
<ThemedImage
|
||||
className={styles.cardIcon}
|
||||
sources={{
|
||||
light: useBaseUrl(image),
|
||||
dark: useBaseUrl(addDarkToFileName(image)),
|
||||
}}
|
||||
></ThemedImage>
|
||||
<ThemedImage
|
||||
className={styles.cardArrow}
|
||||
sources={{
|
||||
light: useBaseUrl("/homepage/arrow-right.png"),
|
||||
dark: useBaseUrl("/homepage/arrow-right-dark.png"),
|
||||
}}
|
||||
></ThemedImage>
|
||||
<div className={styles.cardText}>{title}</div>
|
||||
<div className={`${styles.product} ${productStyles}`}>{product}</div>
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Getting Started Card */
|
||||
.card {
|
||||
position:relative;
|
||||
position: relative;
|
||||
margin-top: 20px;
|
||||
height: 200px;
|
||||
/* UI Properties */
|
||||
@@ -9,17 +9,16 @@
|
||||
border: 1px solid var(--dev-card-background);
|
||||
border-radius: 40px;
|
||||
opacity: 1;
|
||||
|
||||
}
|
||||
|
||||
.card:hover {
|
||||
cursor: pointer;
|
||||
top: -2px;
|
||||
box-shadow: var(--dev-card-selected)
|
||||
box-shadow: var(--dev-card-selected);
|
||||
}
|
||||
|
||||
.cardText {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 20px;
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
@@ -29,7 +28,7 @@
|
||||
}
|
||||
|
||||
.cardIcon {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 20px;
|
||||
top: 0;
|
||||
left: 0;
|
||||
@@ -37,7 +36,7 @@
|
||||
}
|
||||
|
||||
.cardArrow {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 20px;
|
||||
bottom: 25px;
|
||||
right: 0;
|
||||
@@ -45,14 +44,13 @@
|
||||
}
|
||||
|
||||
.product {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 20px;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
width: 120px;
|
||||
bottom: 50px;
|
||||
left: 0;
|
||||
|
||||
}
|
||||
|
||||
.idn {
|
||||
@@ -60,5 +58,5 @@
|
||||
}
|
||||
|
||||
.iiq {
|
||||
color: #60b359
|
||||
color: #60b359;
|
||||
}
|
||||
|
||||
@@ -4,23 +4,19 @@ import DiscussCard from "../DiscussCard";
|
||||
|
||||
import { getTopPosts } from "../../../services/DiscourseService";
|
||||
export default function HomepageDiscuss() {
|
||||
|
||||
|
||||
|
||||
const [ans, setAns] = React.useState();
|
||||
|
||||
const getPosts = async () => {
|
||||
const data = await getTopPosts()
|
||||
const data = await getTopPosts();
|
||||
const resultset = [
|
||||
getPostList(data, 0),
|
||||
getPostList(data, 1),
|
||||
getPostList(data, 2),
|
||||
getPostList(data, findSolutionPost(data.topic_list.topics))
|
||||
]
|
||||
getPostList(data, findSolutionPost(data.topic_list.topics)),
|
||||
];
|
||||
setAns(resultset);
|
||||
};
|
||||
|
||||
|
||||
React.useEffect(() => {
|
||||
getPosts();
|
||||
}, []);
|
||||
@@ -29,29 +25,59 @@ export default function HomepageDiscuss() {
|
||||
return (
|
||||
<div className={styles.center}>
|
||||
<div className={styles.gridContainer}>
|
||||
<DiscussCard solution={ans[0].solution} liked={ans[0].liked} tags={ans[0].tags} link={ans[0].link} title={ans[0].title} views={ans[0].views}></DiscussCard>
|
||||
<DiscussCard solution={ans[1].solution} liked={ans[1].liked} tags={ans[1].tags} link={ans[1].link} title={ans[1].title} views={ans[1].views}></DiscussCard>
|
||||
<DiscussCard solution={ans[2].solution} liked={ans[2].liked} tags={ans[2].tags} link={ans[2].link} title={ans[2].title} views={ans[2].views}></DiscussCard>
|
||||
<DiscussCard solution={ans[3].solution} liked={ans[3].liked} tags={ans[3].tags} link={ans[3].link} title={ans[3].title} views={ans[3].views}></DiscussCard>
|
||||
</div>
|
||||
<DiscussCard
|
||||
solution={ans[0].solution}
|
||||
liked={ans[0].liked}
|
||||
tags={ans[0].tags}
|
||||
link={ans[0].link}
|
||||
title={ans[0].title}
|
||||
views={ans[0].views}
|
||||
></DiscussCard>
|
||||
<DiscussCard
|
||||
solution={ans[1].solution}
|
||||
liked={ans[1].liked}
|
||||
tags={ans[1].tags}
|
||||
link={ans[1].link}
|
||||
title={ans[1].title}
|
||||
views={ans[1].views}
|
||||
></DiscussCard>
|
||||
<DiscussCard
|
||||
solution={ans[2].solution}
|
||||
liked={ans[2].liked}
|
||||
tags={ans[2].tags}
|
||||
link={ans[2].link}
|
||||
title={ans[2].title}
|
||||
views={ans[2].views}
|
||||
></DiscussCard>
|
||||
<DiscussCard
|
||||
solution={ans[3].solution}
|
||||
liked={ans[3].liked}
|
||||
tags={ans[3].tags}
|
||||
link={ans[3].link}
|
||||
title={ans[3].title}
|
||||
views={ans[3].views}
|
||||
></DiscussCard>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
} else {
|
||||
return (
|
||||
<div></div>
|
||||
)
|
||||
return <div></div>;
|
||||
}
|
||||
}
|
||||
|
||||
function getPostList(posts, index) {
|
||||
return {
|
||||
'tags': posts.topic_list.topics[index].tags,
|
||||
'link': 'https://developer.sailpoint.com/discuss/t/' + posts.topic_list.topics[index].slug + '/' + posts.topic_list.topics[index].id,
|
||||
'title': posts.topic_list.topics[index].title,
|
||||
'views': posts.topic_list.topics[index].views,
|
||||
'liked': posts.topic_list.topics[index].like_count,
|
||||
'solution': posts.topic_list.topics[index].has_accepted_answer
|
||||
}
|
||||
tags: posts.topic_list.topics[index].tags,
|
||||
link:
|
||||
"https://developer.sailpoint.com/discuss/t/" +
|
||||
posts.topic_list.topics[index].slug +
|
||||
"/" +
|
||||
posts.topic_list.topics[index].id,
|
||||
title: posts.topic_list.topics[index].title,
|
||||
views: posts.topic_list.topics[index].views,
|
||||
liked: posts.topic_list.topics[index].like_count,
|
||||
solution: posts.topic_list.topics[index].has_accepted_answer,
|
||||
};
|
||||
}
|
||||
|
||||
function findSolutionPost(posts) {
|
||||
@@ -60,7 +86,7 @@ function findSolutionPost(posts) {
|
||||
if (post.has_accepted_answer && index > 2) {
|
||||
return index;
|
||||
}
|
||||
index ++;
|
||||
index++;
|
||||
}
|
||||
return index;
|
||||
}
|
||||
@@ -69,4 +95,4 @@ function getRandomInt(min, max) {
|
||||
min = Math.ceil(min);
|
||||
max = Math.floor(max);
|
||||
return Math.floor(Math.random() * (max - min + 1)) + min;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
|
||||
/* Getting Started Card container */
|
||||
.gridContainer {
|
||||
display: grid;
|
||||
place-content: center;
|
||||
grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
|
||||
grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
|
||||
grid-gap: 40px;
|
||||
margin-left: 40px;
|
||||
margin-right: 40px;
|
||||
@@ -12,4 +11,4 @@
|
||||
.center {
|
||||
margin: 20px auto;
|
||||
max-width: 1300px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import React from "react";
|
||||
import clsx from "clsx";
|
||||
import styles from "./styles.module.css";
|
||||
import Link from '@docusaurus/Link';
|
||||
import Link from "@docusaurus/Link";
|
||||
import HomepageCard from "../HomepageCard";
|
||||
export default function HomepageGettingStarted() {
|
||||
return (
|
||||
@@ -9,17 +9,42 @@ export default function HomepageGettingStarted() {
|
||||
<div className={styles.mainCard}>
|
||||
<div className={styles.contentContainer}>
|
||||
<div className={styles.gettingStartedText}>
|
||||
<div className={styles.gettingStartedOne}>SailPoint Developer Community</div>
|
||||
<div className={styles.gettingStartedTwo}>Don't know where to get started?</div>
|
||||
<div className={styles.gettingStartedThree}>Jump into our <span className={styles.bold}>Get Started Guides</span> for more information.</div>
|
||||
<div className={styles.gettingStartedOne}>
|
||||
SailPoint Developer Community
|
||||
</div>
|
||||
<div className={styles.gettingStartedTwo}>
|
||||
Don't know where to get started?
|
||||
</div>
|
||||
<div className={styles.gettingStartedThree}>
|
||||
Jump into our{" "}
|
||||
<span className={styles.bold}>Get Started Guides</span> for more
|
||||
information.
|
||||
</div>
|
||||
</div>
|
||||
<div className={styles.gridContainer}>
|
||||
<HomepageCard link={"/idn/docs"} title={"Get Started with IdentityNow"} image={"/homepage/cloud.png"}></HomepageCard>
|
||||
<HomepageCard link={"https://documentation.sailpoint.com/identityiq/help/iiqlandingpage.html"} title={"Get Started with IdentityIQ"} image={"/homepage/cloud.png"}></HomepageCard>
|
||||
</div>
|
||||
<HomepageCard
|
||||
link={"/idn/docs"}
|
||||
title={"Get Started with IdentityNow"}
|
||||
image={"/homepage/cloud.png"}
|
||||
></HomepageCard>
|
||||
<HomepageCard
|
||||
link={
|
||||
"https://documentation.sailpoint.com/identityiq/help/iiqlandingpage.html"
|
||||
}
|
||||
title={"Get Started with IdentityIQ"}
|
||||
image={"/homepage/cloud.png"}
|
||||
></HomepageCard>
|
||||
</div>
|
||||
</div>
|
||||
<div className={styles.carousel}>
|
||||
<iframe className={styles.video} src="https://www.youtube.com/embed/N-JG8xjpKaI" title="YouTube video player" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen></iframe>
|
||||
<iframe
|
||||
className={styles.video}
|
||||
src="https://www.youtube.com/embed/N-JG8xjpKaI"
|
||||
title="YouTube video player"
|
||||
frameBorder="0"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
|
||||
allowFullScreen
|
||||
></iframe>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -5,8 +5,6 @@
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.gettingStartedText {
|
||||
margin-top: 50px;
|
||||
margin-left: 50px;
|
||||
@@ -32,12 +30,10 @@
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
|
||||
.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
|
||||
/* Getting Started Card container */
|
||||
.gridContainer {
|
||||
display: grid;
|
||||
@@ -59,8 +55,6 @@
|
||||
margin-right: 50px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@media only screen and (max-width: 1178px) {
|
||||
.carousel {
|
||||
margin-top: 0px;
|
||||
@@ -77,7 +71,7 @@
|
||||
}
|
||||
.mainCard {
|
||||
grid-template-columns: repeat(auto-fit, minmax(520px, 1fr));
|
||||
/* UI Properties */
|
||||
/* UI Properties */
|
||||
background: var(--main-hero-card-background);
|
||||
box-shadow: var(--dev-card-shadow);
|
||||
border: 1px solid var(--dev-card-background);
|
||||
@@ -97,4 +91,4 @@
|
||||
.carousel {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,47 @@
|
||||
import React from "react";
|
||||
import clsx from "clsx";
|
||||
import styles from "./styles.module.css";
|
||||
import Link from '@docusaurus/Link';
|
||||
import Link from "@docusaurus/Link";
|
||||
import TeamCard from "../TeamCard";
|
||||
export default function HomepageTeam() {
|
||||
return (
|
||||
<div className={styles.center}>
|
||||
<div className={styles.gridContainer}>
|
||||
<TeamCard link={"https://developer.sailpoint.com/discuss/u/colin_mckibben/summary"} name={"Colin McKibben"} title={"DEVELOPER ADVOCATE"} expertise={"API, WORKFLOWS, EVENT TRIGGERS"} image={"/homepage/colin-mckibben.png"}></TeamCard>
|
||||
<TeamCard link={"https://developer.sailpoint.com/discuss/u/tyler_mairose/summary"} name={"Tyler Mairose"} title={"DEVELOPER ADVOCATE"} expertise={"RULES, TRANSFORMS"} image={"/homepage/tyler-mairose.png"}></TeamCard>
|
||||
<TeamCard link={"https://developer.sailpoint.com/discuss/u/philip-ellis/summary"} name={"Philip Ellis"} title={"DEVELOPER ADVOCATE"} expertise={"DEVELOPER TOOLS, SAAS CONNECTIVITY"} image={"/homepage/phil-ellis.png"}></TeamCard>
|
||||
<TeamCard link={"https://developer.sailpoint.com/discuss/u/jthaytko/summary"} name={"James Haytko"} title={"TECHNICAL WRITER"} expertise={"DEVELOPER DOCUMENTATION"} image={"/homepage/james-haytko.png"}></TeamCard>
|
||||
</div>
|
||||
<TeamCard
|
||||
link={
|
||||
"https://developer.sailpoint.com/discuss/u/colin_mckibben/summary"
|
||||
}
|
||||
name={"Colin McKibben"}
|
||||
title={"DEVELOPER ADVOCATE"}
|
||||
expertise={"API, WORKFLOWS, EVENT TRIGGERS"}
|
||||
image={"/homepage/colin-mckibben.png"}
|
||||
></TeamCard>
|
||||
<TeamCard
|
||||
link={
|
||||
"https://developer.sailpoint.com/discuss/u/tyler_mairose/summary"
|
||||
}
|
||||
name={"Tyler Mairose"}
|
||||
title={"DEVELOPER ADVOCATE"}
|
||||
expertise={"RULES, TRANSFORMS"}
|
||||
image={"/homepage/tyler-mairose.png"}
|
||||
></TeamCard>
|
||||
<TeamCard
|
||||
link={
|
||||
"https://developer.sailpoint.com/discuss/u/philip-ellis/summary"
|
||||
}
|
||||
name={"Philip Ellis"}
|
||||
title={"DEVELOPER ADVOCATE"}
|
||||
expertise={"DEVELOPER TOOLS, SAAS CONNECTIVITY"}
|
||||
image={"/homepage/phil-ellis.png"}
|
||||
></TeamCard>
|
||||
<TeamCard
|
||||
link={"https://developer.sailpoint.com/discuss/u/jthaytko/summary"}
|
||||
name={"James Haytko"}
|
||||
title={"TECHNICAL WRITER"}
|
||||
expertise={"DEVELOPER DOCUMENTATION"}
|
||||
image={"/homepage/james-haytko.png"}
|
||||
></TeamCard>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
|
||||
/* Getting Started Card container */
|
||||
.gridContainer {
|
||||
display: grid;
|
||||
place-content: center;
|
||||
grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
|
||||
grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
|
||||
grid-gap: 40px;
|
||||
margin-left: 40px;
|
||||
margin-right: 40px;
|
||||
@@ -12,4 +11,4 @@
|
||||
.center {
|
||||
margin: 50px auto;
|
||||
max-width: 1000px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,39 @@
|
||||
import React from "react";
|
||||
import clsx from "clsx";
|
||||
import styles from "./styles.module.css";
|
||||
import Link from '@docusaurus/Link';
|
||||
import Link from "@docusaurus/Link";
|
||||
import HomepageCard from "../HomepageCard";
|
||||
export default function HomepageTrainingGuides() {
|
||||
return (
|
||||
<div className={styles.center}>
|
||||
<div className={styles.gridContainer}>
|
||||
<HomepageCard product={"idn"} link={"/idn/api/getting-started"} title={"Make Your First API Call"} image={"/homepage/cloud.png"}></HomepageCard>
|
||||
<HomepageCard product={"idn"} link={"/idn/docs/transforms/guides/your-first-transform"} title={"Build a Transform"} image={"/homepage/cloud.png"}></HomepageCard>
|
||||
<HomepageCard product={"idn"} link={"/idn/docs/saas-connectivity"} title={"Build a SaaS Connector"} image={"/homepage/cloud.png"}></HomepageCard>
|
||||
<HomepageCard product={"iiq"} link={"https://documentation.sailpoint.com/identityiq/help/plugins/identityiq_plugins.html"} title={"Build an IIQ Plugin"} image={"/homepage/cloud.png"}></HomepageCard>
|
||||
</div>
|
||||
<HomepageCard
|
||||
product={"idn"}
|
||||
link={"/idn/api/getting-started"}
|
||||
title={"Make Your First API Call"}
|
||||
image={"/homepage/cloud.png"}
|
||||
></HomepageCard>
|
||||
<HomepageCard
|
||||
product={"idn"}
|
||||
link={"/idn/docs/transforms/guides/your-first-transform"}
|
||||
title={"Build a Transform"}
|
||||
image={"/homepage/cloud.png"}
|
||||
></HomepageCard>
|
||||
<HomepageCard
|
||||
product={"idn"}
|
||||
link={"/idn/docs/saas-connectivity"}
|
||||
title={"Build a SaaS Connector"}
|
||||
image={"/homepage/cloud.png"}
|
||||
></HomepageCard>
|
||||
<HomepageCard
|
||||
product={"iiq"}
|
||||
link={
|
||||
"https://documentation.sailpoint.com/identityiq/help/plugins/identityiq_plugins.html"
|
||||
}
|
||||
title={"Build an IIQ Plugin"}
|
||||
image={"/homepage/cloud.png"}
|
||||
></HomepageCard>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
/* Getting Started Card container */
|
||||
.gridContainer {
|
||||
display: grid;
|
||||
@@ -12,4 +11,4 @@
|
||||
.center {
|
||||
margin: auto;
|
||||
max-width: 1000px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,20 +1,25 @@
|
||||
import React from "react";
|
||||
import styles from "./styles.module.css";
|
||||
import Link from '@docusaurus/Link';
|
||||
import useBaseUrl from '@docusaurus/useBaseUrl';
|
||||
import ThemedImage from '@theme/ThemedImage';
|
||||
export default function TeamCard({link, title, name, expertise, image}) {
|
||||
|
||||
import Link from "@docusaurus/Link";
|
||||
import useBaseUrl from "@docusaurus/useBaseUrl";
|
||||
import ThemedImage from "@theme/ThemedImage";
|
||||
export default function TeamCard({ link, title, name, expertise, image }) {
|
||||
return (
|
||||
<Link to={link}>
|
||||
<div className={styles.card}>
|
||||
<div className={styles.cardFaceContainer}>
|
||||
<img className={styles.cardFace} src={useBaseUrl(image)}></img>
|
||||
</div>
|
||||
<ThemedImage className={styles.cardArrow} sources={{light: useBaseUrl('/homepage/arrow-right.png'), dark: useBaseUrl('/homepage/arrow-right-dark.png'),}}></ThemedImage>
|
||||
<div className={styles.cardText}>{name}</div>
|
||||
<div className={styles.titleText}>{title}</div>
|
||||
<div className={styles.expertiseText}>{expertise}</div>
|
||||
<div className={styles.cardFaceContainer}>
|
||||
<img className={styles.cardFace} src={useBaseUrl(image)}></img>
|
||||
</div>
|
||||
<ThemedImage
|
||||
className={styles.cardArrow}
|
||||
sources={{
|
||||
light: useBaseUrl("/homepage/arrow-right.png"),
|
||||
dark: useBaseUrl("/homepage/arrow-right-dark.png"),
|
||||
}}
|
||||
></ThemedImage>
|
||||
<div className={styles.cardText}>{name}</div>
|
||||
<div className={styles.titleText}>{title}</div>
|
||||
<div className={styles.expertiseText}>{expertise}</div>
|
||||
</div>
|
||||
</Link>
|
||||
);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* Getting Started Card */
|
||||
.card {
|
||||
position:relative;
|
||||
position: relative;
|
||||
margin-top: 20px;
|
||||
height: 300px;
|
||||
/* UI Properties */
|
||||
@@ -14,12 +14,11 @@
|
||||
.card:hover {
|
||||
cursor: pointer;
|
||||
top: -2px;
|
||||
box-shadow: var(--dev-card-selected)
|
||||
|
||||
box-shadow: var(--dev-card-selected);
|
||||
}
|
||||
|
||||
.cardText {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 22px auto;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
@@ -31,7 +30,7 @@
|
||||
}
|
||||
|
||||
.titleText {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 22px auto;
|
||||
text-align: center;
|
||||
font-size: 10px;
|
||||
@@ -44,7 +43,7 @@
|
||||
}
|
||||
|
||||
.expertiseText {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 22px auto;
|
||||
text-align: center;
|
||||
font-size: 10px;
|
||||
@@ -54,11 +53,11 @@
|
||||
top: 160px;
|
||||
left: 0;
|
||||
color: var(--ifm-color-primary);
|
||||
padding: 30px
|
||||
padding: 30px;
|
||||
}
|
||||
|
||||
.cardArrow {
|
||||
position:absolute;
|
||||
position: absolute;
|
||||
margin: 20px;
|
||||
bottom: 5px;
|
||||
right: 0;
|
||||
@@ -77,4 +76,3 @@
|
||||
height: 80px;
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,105 +6,212 @@
|
||||
|
||||
/* You can override the default Infima variables here. */
|
||||
|
||||
|
||||
@import url("https://p.typekit.net/p.css?s=1&k=hbq4agn&ht=tk&f=30490.30491.30492.30493.30494.30495.30496.30497.30498.30499.30500.30501.30502.30503&a=87767056&app=typekit&e=css");
|
||||
|
||||
@font-face {
|
||||
font-family:"input-mono";
|
||||
src:url("https://use.typekit.net/af/4fc98e/00000000000000007735b0ff/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i1&v=3") format("woff2"),url("https://use.typekit.net/af/4fc98e/00000000000000007735b0ff/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i1&v=3") format("woff"),url("https://use.typekit.net/af/4fc98e/00000000000000007735b0ff/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i1&v=3") format("opentype");
|
||||
font-display:auto;font-style:italic;font-weight:100;font-stretch:normal;
|
||||
font-family: "input-mono";
|
||||
src: url("https://use.typekit.net/af/4fc98e/00000000000000007735b0ff/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i1&v=3")
|
||||
format("woff2"),
|
||||
url("https://use.typekit.net/af/4fc98e/00000000000000007735b0ff/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i1&v=3")
|
||||
format("woff"),
|
||||
url("https://use.typekit.net/af/4fc98e/00000000000000007735b0ff/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i1&v=3")
|
||||
format("opentype");
|
||||
font-display: auto;
|
||||
font-style: italic;
|
||||
font-weight: 100;
|
||||
font-stretch: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family:"input-mono";
|
||||
src:url("https://use.typekit.net/af/9ddc39/00000000000000007735b103/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n1&v=3") format("woff2"),url("https://use.typekit.net/af/9ddc39/00000000000000007735b103/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n1&v=3") format("woff"),url("https://use.typekit.net/af/9ddc39/00000000000000007735b103/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n1&v=3") format("opentype");
|
||||
font-display:auto;font-style:normal;font-weight:100;font-stretch:normal;
|
||||
font-family: "input-mono";
|
||||
src: url("https://use.typekit.net/af/9ddc39/00000000000000007735b103/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n1&v=3")
|
||||
format("woff2"),
|
||||
url("https://use.typekit.net/af/9ddc39/00000000000000007735b103/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n1&v=3")
|
||||
format("woff"),
|
||||
url("https://use.typekit.net/af/9ddc39/00000000000000007735b103/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n1&v=3")
|
||||
format("opentype");
|
||||
font-display: auto;
|
||||
font-style: normal;
|
||||
font-weight: 100;
|
||||
font-stretch: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family:"input-mono";
|
||||
src:url("https://use.typekit.net/af/3a1a0d/00000000000000007735b106/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i2&v=3") format("woff2"),url("https://use.typekit.net/af/3a1a0d/00000000000000007735b106/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i2&v=3") format("woff"),url("https://use.typekit.net/af/3a1a0d/00000000000000007735b106/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i2&v=3") format("opentype");
|
||||
font-display:auto;font-style:italic;font-weight:200;font-stretch:normal;
|
||||
font-family: "input-mono";
|
||||
src: url("https://use.typekit.net/af/3a1a0d/00000000000000007735b106/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i2&v=3")
|
||||
format("woff2"),
|
||||
url("https://use.typekit.net/af/3a1a0d/00000000000000007735b106/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i2&v=3")
|
||||
format("woff"),
|
||||
url("https://use.typekit.net/af/3a1a0d/00000000000000007735b106/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i2&v=3")
|
||||
format("opentype");
|
||||
font-display: auto;
|
||||
font-style: italic;
|
||||
font-weight: 200;
|
||||
font-stretch: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family:"input-mono";
|
||||
src:url("https://use.typekit.net/af/403df5/00000000000000007735b10d/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n2&v=3") format("woff2"),url("https://use.typekit.net/af/403df5/00000000000000007735b10d/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n2&v=3") format("woff"),url("https://use.typekit.net/af/403df5/00000000000000007735b10d/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n2&v=3") format("opentype");
|
||||
font-display:auto;font-style:normal;font-weight:200;font-stretch:normal;
|
||||
font-family: "input-mono";
|
||||
src: url("https://use.typekit.net/af/403df5/00000000000000007735b10d/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n2&v=3")
|
||||
format("woff2"),
|
||||
url("https://use.typekit.net/af/403df5/00000000000000007735b10d/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n2&v=3")
|
||||
format("woff"),
|
||||
url("https://use.typekit.net/af/403df5/00000000000000007735b10d/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n2&v=3")
|
||||
format("opentype");
|
||||
font-display: auto;
|
||||
font-style: normal;
|
||||
font-weight: 200;
|
||||
font-stretch: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family:"input-mono";
|
||||
src:url("https://use.typekit.net/af/6c83a4/00000000000000007735b117/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i3&v=3") format("woff2"),url("https://use.typekit.net/af/6c83a4/00000000000000007735b117/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i3&v=3") format("woff"),url("https://use.typekit.net/af/6c83a4/00000000000000007735b117/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i3&v=3") format("opentype");
|
||||
font-display:auto;font-style:italic;font-weight:300;font-stretch:normal;
|
||||
font-family: "input-mono";
|
||||
src: url("https://use.typekit.net/af/6c83a4/00000000000000007735b117/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i3&v=3")
|
||||
format("woff2"),
|
||||
url("https://use.typekit.net/af/6c83a4/00000000000000007735b117/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i3&v=3")
|
||||
format("woff"),
|
||||
url("https://use.typekit.net/af/6c83a4/00000000000000007735b117/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i3&v=3")
|
||||
format("opentype");
|
||||
font-display: auto;
|
||||
font-style: italic;
|
||||
font-weight: 300;
|
||||
font-stretch: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family:"input-mono";
|
||||
src:url("https://use.typekit.net/af/25ef29/00000000000000007735b110/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("woff2"),url("https://use.typekit.net/af/25ef29/00000000000000007735b110/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("woff"),url("https://use.typekit.net/af/25ef29/00000000000000007735b110/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("opentype");
|
||||
font-display:auto;font-style:normal;font-weight:300;font-stretch:normal;
|
||||
font-family: "input-mono";
|
||||
src: url("https://use.typekit.net/af/25ef29/00000000000000007735b110/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3")
|
||||
format("woff2"),
|
||||
url("https://use.typekit.net/af/25ef29/00000000000000007735b110/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3")
|
||||
format("woff"),
|
||||
url("https://use.typekit.net/af/25ef29/00000000000000007735b110/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3")
|
||||
format("opentype");
|
||||
font-display: auto;
|
||||
font-style: normal;
|
||||
font-weight: 300;
|
||||
font-stretch: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family:"input-mono";
|
||||
src:url("https://use.typekit.net/af/c3093e/00000000000000007735b116/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff2"),url("https://use.typekit.net/af/c3093e/00000000000000007735b116/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("woff"),url("https://use.typekit.net/af/c3093e/00000000000000007735b116/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3") format("opentype");
|
||||
font-display:auto;font-style:italic;font-weight:400;font-stretch:normal;
|
||||
font-family: "input-mono";
|
||||
src: url("https://use.typekit.net/af/c3093e/00000000000000007735b116/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3")
|
||||
format("woff2"),
|
||||
url("https://use.typekit.net/af/c3093e/00000000000000007735b116/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3")
|
||||
format("woff"),
|
||||
url("https://use.typekit.net/af/c3093e/00000000000000007735b116/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i4&v=3")
|
||||
format("opentype");
|
||||
font-display: auto;
|
||||
font-style: italic;
|
||||
font-weight: 400;
|
||||
font-stretch: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family:"input-mono";
|
||||
src:url("https://use.typekit.net/af/f1b774/00000000000000007735b11b/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/f1b774/00000000000000007735b11b/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/f1b774/00000000000000007735b11b/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("opentype");
|
||||
font-display:auto;font-style:normal;font-weight:400;font-stretch:normal;
|
||||
font-family: "input-mono";
|
||||
src: url("https://use.typekit.net/af/f1b774/00000000000000007735b11b/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3")
|
||||
format("woff2"),
|
||||
url("https://use.typekit.net/af/f1b774/00000000000000007735b11b/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3")
|
||||
format("woff"),
|
||||
url("https://use.typekit.net/af/f1b774/00000000000000007735b11b/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3")
|
||||
format("opentype");
|
||||
font-display: auto;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
font-stretch: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family:"input-mono";
|
||||
src:url("https://use.typekit.net/af/9d2d8f/00000000000000007735b11f/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3") format("woff2"),url("https://use.typekit.net/af/9d2d8f/00000000000000007735b11f/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3") format("woff"),url("https://use.typekit.net/af/9d2d8f/00000000000000007735b11f/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3") format("opentype");
|
||||
font-display:auto;font-style:italic;font-weight:500;font-stretch:normal;
|
||||
font-family: "input-mono";
|
||||
src: url("https://use.typekit.net/af/9d2d8f/00000000000000007735b11f/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3")
|
||||
format("woff2"),
|
||||
url("https://use.typekit.net/af/9d2d8f/00000000000000007735b11f/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3")
|
||||
format("woff"),
|
||||
url("https://use.typekit.net/af/9d2d8f/00000000000000007735b11f/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i5&v=3")
|
||||
format("opentype");
|
||||
font-display: auto;
|
||||
font-style: italic;
|
||||
font-weight: 500;
|
||||
font-stretch: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family:"input-mono";
|
||||
src:url("https://use.typekit.net/af/82c6c3/00000000000000007735b123/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3") format("woff2"),url("https://use.typekit.net/af/82c6c3/00000000000000007735b123/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3") format("woff"),url("https://use.typekit.net/af/82c6c3/00000000000000007735b123/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3") format("opentype");
|
||||
font-display:auto;font-style:normal;font-weight:500;font-stretch:normal;
|
||||
font-family: "input-mono";
|
||||
src: url("https://use.typekit.net/af/82c6c3/00000000000000007735b123/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3")
|
||||
format("woff2"),
|
||||
url("https://use.typekit.net/af/82c6c3/00000000000000007735b123/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3")
|
||||
format("woff"),
|
||||
url("https://use.typekit.net/af/82c6c3/00000000000000007735b123/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n5&v=3")
|
||||
format("opentype");
|
||||
font-display: auto;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-stretch: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family:"input-mono";
|
||||
src:url("https://use.typekit.net/af/038dc3/00000000000000007735b127/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff2"),url("https://use.typekit.net/af/038dc3/00000000000000007735b127/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("woff"),url("https://use.typekit.net/af/038dc3/00000000000000007735b127/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3") format("opentype");
|
||||
font-display:auto;font-style:italic;font-weight:700;font-stretch:normal;
|
||||
font-family: "input-mono";
|
||||
src: url("https://use.typekit.net/af/038dc3/00000000000000007735b127/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3")
|
||||
format("woff2"),
|
||||
url("https://use.typekit.net/af/038dc3/00000000000000007735b127/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3")
|
||||
format("woff"),
|
||||
url("https://use.typekit.net/af/038dc3/00000000000000007735b127/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i7&v=3")
|
||||
format("opentype");
|
||||
font-display: auto;
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
font-stretch: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family:"input-mono";
|
||||
src:url("https://use.typekit.net/af/62782e/00000000000000007735b12a/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/62782e/00000000000000007735b12a/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/62782e/00000000000000007735b12a/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
|
||||
font-display:auto;font-style:normal;font-weight:700;font-stretch:normal;
|
||||
font-family: "input-mono";
|
||||
src: url("https://use.typekit.net/af/62782e/00000000000000007735b12a/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3")
|
||||
format("woff2"),
|
||||
url("https://use.typekit.net/af/62782e/00000000000000007735b12a/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3")
|
||||
format("woff"),
|
||||
url("https://use.typekit.net/af/62782e/00000000000000007735b12a/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3")
|
||||
format("opentype");
|
||||
font-display: auto;
|
||||
font-style: normal;
|
||||
font-weight: 700;
|
||||
font-stretch: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family:"input-mono";
|
||||
src:url("https://use.typekit.net/af/e16354/00000000000000007735b12f/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n8&v=3") format("woff2"),url("https://use.typekit.net/af/e16354/00000000000000007735b12f/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n8&v=3") format("woff"),url("https://use.typekit.net/af/e16354/00000000000000007735b12f/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n8&v=3") format("opentype");
|
||||
font-display:auto;font-style:normal;font-weight:800;font-stretch:normal;
|
||||
font-family: "input-mono";
|
||||
src: url("https://use.typekit.net/af/e16354/00000000000000007735b12f/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n8&v=3")
|
||||
format("woff2"),
|
||||
url("https://use.typekit.net/af/e16354/00000000000000007735b12f/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n8&v=3")
|
||||
format("woff"),
|
||||
url("https://use.typekit.net/af/e16354/00000000000000007735b12f/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n8&v=3")
|
||||
format("opentype");
|
||||
font-display: auto;
|
||||
font-style: normal;
|
||||
font-weight: 800;
|
||||
font-stretch: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family:"input-mono";
|
||||
src:url("https://use.typekit.net/af/e049ab/00000000000000007735b134/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i8&v=3") format("woff2"),url("https://use.typekit.net/af/e049ab/00000000000000007735b134/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i8&v=3") format("woff"),url("https://use.typekit.net/af/e049ab/00000000000000007735b134/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i8&v=3") format("opentype");
|
||||
font-display:auto;font-style:italic;font-weight:800;font-stretch:normal;
|
||||
font-family: "input-mono";
|
||||
src: url("https://use.typekit.net/af/e049ab/00000000000000007735b134/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i8&v=3")
|
||||
format("woff2"),
|
||||
url("https://use.typekit.net/af/e049ab/00000000000000007735b134/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i8&v=3")
|
||||
format("woff"),
|
||||
url("https://use.typekit.net/af/e049ab/00000000000000007735b134/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=i8&v=3")
|
||||
format("opentype");
|
||||
font-display: auto;
|
||||
font-style: italic;
|
||||
font-weight: 800;
|
||||
font-stretch: normal;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Poppins';
|
||||
src: url('../../static/fonts/poppins/Poppins-Regular.ttf') format('truetype');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
font-family: "Poppins";
|
||||
src: url("../../static/fonts/poppins/Poppins-Regular.ttf") format("truetype");
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
|
||||
|
||||
:root {
|
||||
color: #415364;
|
||||
--ifm-color-primary: #0033a1;
|
||||
@@ -120,24 +227,22 @@ font-display:auto;font-style:italic;font-weight:800;font-stretch:normal;
|
||||
--dev-boarder-color-theme: black;
|
||||
--dev-text-color-normal: #415364;
|
||||
|
||||
|
||||
|
||||
--dev-secondary-text:#415364;
|
||||
--dev-secondary-text: #415364;
|
||||
|
||||
/*card css*/
|
||||
--dev-card-background: #ffffff;
|
||||
--dev-card-shadow: 0px 20px 60px #00000015;
|
||||
--dev-card-selected: 0 4px 5px rgba(0,0,0,0.2);
|
||||
--dev-card-shadow: 0px 20px 60px #00000015;
|
||||
--dev-card-selected: 0 4px 5px rgba(0, 0, 0, 0.2);
|
||||
|
||||
--ifm-github-logo: url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E");
|
||||
--ifm-medium-logo: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="24px" height="24px" viewBox="0 0 1770 1000"><circle cx="500" cy="500" r="500"/><ellipse ry="475" rx="250" cy="501" cx="1296"/><ellipse cx="1682" cy="502" rx="88" ry="424"/></svg>');
|
||||
--dev-sailpoint-small-logo: url("../../static/img/SailPoint-Logo-RGB-Color.png");
|
||||
|
||||
--ifm-font-family-base: 'Poppins';
|
||||
--ifm-font-family-base: "Poppins";
|
||||
}
|
||||
|
||||
/* For readability concerns, you should choose a lighter palette in dark mode. */
|
||||
[data-theme='dark'] {
|
||||
[data-theme="dark"] {
|
||||
color: #ffffff;
|
||||
--ifm-color-primary: #7ecfee;
|
||||
--ifm-color-primary-dark: #5ec3ea;
|
||||
@@ -154,9 +259,9 @@ font-display:auto;font-style:italic;font-weight:800;font-stretch:normal;
|
||||
|
||||
/*card css*/
|
||||
--dev-card-background: #2a2b2d;
|
||||
--dev-card-shadow: 0 4px 5px rgba(0,0,0,0.2);
|
||||
--dev-card-shadow: 0 4px 5px rgba(0, 0, 0, 0.2);
|
||||
--dev-card-selected: 0 5px 5px rgba(107, 107, 107, 0.2);
|
||||
--dev-secondary-text:#dae1e9;
|
||||
--dev-secondary-text: #dae1e9;
|
||||
|
||||
/*main hero card*/
|
||||
--main-hero-card-background: #202122;
|
||||
@@ -177,9 +282,6 @@ font-display:auto;font-style:italic;font-weight:800;font-stretch:normal;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.navbar__title {
|
||||
color: var(--dev-text-color-cobalt);
|
||||
margin-top: 9px;
|
||||
@@ -187,14 +289,13 @@ font-display:auto;font-style:italic;font-weight:800;font-stretch:normal;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
|
||||
/* Sidebar Method labels */
|
||||
.api-method>.menu__link {
|
||||
.api-method > .menu__link {
|
||||
align-items: center;
|
||||
justify-content: start;
|
||||
}
|
||||
|
||||
.api-method>.menu__link::before {
|
||||
.api-method > .menu__link::before {
|
||||
width: 50px;
|
||||
height: 20px;
|
||||
font-size: 12px;
|
||||
@@ -210,27 +311,27 @@ font-display:auto;font-style:italic;font-weight:800;font-stretch:normal;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.get>.menu__link::before {
|
||||
.get > .menu__link::before {
|
||||
content: "get";
|
||||
background-color: var(--ifm-color-primary);
|
||||
}
|
||||
|
||||
.put>.menu__link::before {
|
||||
.put > .menu__link::before {
|
||||
content: "put";
|
||||
background-color: var(--openapi-code-blue);
|
||||
}
|
||||
|
||||
.post>.menu__link::before {
|
||||
.post > .menu__link::before {
|
||||
content: "post";
|
||||
background-color: var(--openapi-code-green);
|
||||
}
|
||||
|
||||
.delete>.menu__link::before {
|
||||
.delete > .menu__link::before {
|
||||
content: "del";
|
||||
background-color: var(--openapi-code-red);
|
||||
}
|
||||
|
||||
.patch>.menu__link::before {
|
||||
.patch > .menu__link::before {
|
||||
content: "patch";
|
||||
background-color: var(--openapi-code-orange);
|
||||
}
|
||||
@@ -267,9 +368,9 @@ html[data-theme="dark"] .header-github-link:before {
|
||||
filter: invert();
|
||||
}
|
||||
|
||||
.navbar__section{
|
||||
.navbar__section {
|
||||
font-weight: bolder;
|
||||
cursor:inherit;
|
||||
cursor: inherit;
|
||||
background-color: transparent !important;
|
||||
border-radius: 0;
|
||||
border-bottom: 1px solid var(--ifm-color-emphasis-400);
|
||||
@@ -301,4 +402,4 @@ html[data-theme="dark"] .footer {
|
||||
|
||||
html[data-theme="dark"] .theme-admonition-note {
|
||||
background-color: #474748;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
export async function getTopPosts() {
|
||||
try {
|
||||
const response = await fetch('https://developer.sailpoint.com/discuss/top.json');
|
||||
return await response.json();
|
||||
} catch (error) {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
try {
|
||||
const response = await fetch(
|
||||
"https://developer.sailpoint.com/discuss/top.json"
|
||||
);
|
||||
return await response.json();
|
||||
} catch (error) {
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
export function addDarkToFileName(filename) {
|
||||
const parts = filename.split(".");
|
||||
return parts[0] + '-dark.' + parts[1]
|
||||
}
|
||||
const parts = filename.split(".");
|
||||
return parts[0] + "-dark." + parts[1];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user