Skip to content

Commit

Permalink
update references to editions and turn change them to refer to plans (#…
Browse files Browse the repository at this point in the history
…3314)

also made casing consistent and added some scripts to it.
  • Loading branch information
mooreds authored Oct 4, 2024
1 parent 46828cb commit d88b0d0
Show file tree
Hide file tree
Showing 181 changed files with 577 additions and 560 deletions.
17 changes: 17 additions & 0 deletions .github/workflows/contentcheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,23 @@ jobs:
echo `grep -R \<APIField astro/src/content/docs | grep -v name`
exit `find astro/src/content/docs/ -type f -print|xargs grep \<APIField | grep -v name | wc -l | sed 's/[ ]*//g'`
shell: bash
- name: check for the word 'edition' which we don't use any more, excluding files it is okay to have 'edition' in
run: |
echo `grep -Ri edition astro/src/content | grep -v 'IDEA'|grep -v 'Scouting'|grep -v '0-reactor-ed'|grep -v 'Gluu Server Community Edition'|grep -v 'TR/webauthn-2/'|grep -v 'API-Security/editions'|grep -v fusionauth-colorado-company-to-watch|grep -v 'edition.cnn.com'|grep -v 'hey are also called editions'|grep -v 'also known as an edition'`
exit `find astro/src/content -type f -print|xargs grep -i edition | grep -v 'IDEA'|grep -v 'Scouting'|grep -v '0-reactor-ed'|grep -v 'Gluu Server Community Edition'|grep -v 'TR/webauthn-2/'|grep -v 'API-Security/editions'|grep -v fusionauth-colorado-company-to-watch|grep -v 'edition.cnn.com'|grep -v 'hey are also called editions'|grep -v 'also known as an edition' | wc -l | sed 's/[ ]*//g'`
shell: bash
- name: check for the proper casing of word 'plan' which should always be lowercase when prefixed by Community, Starter, Enterprise or Essentials
run: |
# uncomment to troubleshoot or run locally. If this is uncommented and finds nothing (which is expected state) then it errors out and the GH workflow fails.
#find astro/src/content -type f|xargs egrep '(Enterprise|Community|Starter|Essentials) Plan' |grep -v '^##'
exit `find astro/src/content -type f|xargs egrep '(Enterprise|Community|Starter|Essentials) Plan'|grep -v '^##'|wc -l | sed 's/[ ]*//g'`
shell: bash
- name: check for the proper casing of plans, such as Community, Starter, Enterprise or Essentials
run: |
# uncomment to troubleshoot or run locally. If this is uncommented and finds nothing (which is expected state) then it errors out and the GH workflow fails.
#find astro/src/content -type f|xargs egrep '(enterprise|community|starter|essentials) plan'|grep -v '^##'
exit `find astro/src/content -type f|xargs egrep '(enterprise|community|starter|essentials) plan'|grep -v '^##' |wc -l | sed 's/[ ]*//g'`
shell: bash
- name: check for old style asciidoc URLs
run: |
echo `grep -R 'https://[^[]*\[' astro/src/content/docs |grep -v '(' | grep -v '[200]'`
Expand Down
1 change: 1 addition & 0 deletions DocsDevREADME.md
Original file line number Diff line number Diff line change
Expand Up @@ -498,3 +498,4 @@ Whenever you receive an error, you need to determine if you should:
* Typo fixes don't need review.
* If a piece of content is significant (blog post, guide, article) give it the label `content` and it will be published to a slack channel for marketing awareness.
4 changes: 2 additions & 2 deletions astro/src/content/articles/authentication/avoid-lockin.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,11 @@ It's crucial to build integration tests around this kind of abstraction. Having

Generally, you don't implement one solution while actively planning to swap it out in the future. Because of this, it is easy to accidentally put on the proverbial blinders and only focus on what is right in front of you without seeing the bigger picture and the long-term ramifications of certain design decisions.

This can lead to situations where implementations become too specific to the current vendor and are prohibitively expensive to change in the future. "If only we had known we were going to switch providers, we would have done things differently." Factoring in and budgeting for a Plan B or future migration can mitigate such tunnel vision.
This can lead to situations where implementations become too specific to the current vendor and are prohibitively expensive to change in the future. "If only we had known we were going to switch providers, we would have done things differently." Factoring in and budgeting for a plan B or future migration can mitigate such tunnel vision.

This works by identifying an alternative solution - whether it be another provider or building it in-house - and keeping it in mind when designing things and makings decisions. You should work it into your project's future budget and just accept it as potentially necessary.

Sure, you hope never to invoke Plan B - and the cost it would entail. Still, if you built everything with this eventuality in mind, your decision-making process is likely to be more deliberative and ultimately less tightly coupled to your chosen vendor. Factoring in the potential resource cost will also help you avoid ending up in a position where you must migrate but don't have the budget.
Sure, you hope never to invoke plan B - and the cost it would entail. Still, if you built everything with this eventuality in mind, your decision-making process is likely to be more deliberative and ultimately less tightly coupled to your chosen vendor. Factoring in the potential resource cost will also help you avoid ending up in a position where you must migrate but don't have the budget.

This is a similar principle to the test-first mindset. If you write your code with testing as a foremost concern, the output will likely be different - and more testable by nature - than if you conducted testing as an afterthought. Making architectural decisions while mindfully being aware of possible future migrations can lead to more robust system design and easier migrations in the future.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ MFA---and identity management as a whole---is not trivial to implement in-house.

Choosing FusionAuth to comply with MFA requirements makes sense for several reasons.

FusionAuth supports [a wide range of factors](/features/multifactor-authentication) for MFA, including authenticator apps with time-based one-time passwords (TOTP), email, SMS, or biometric authentication. MFA with TOTP via authenticator apps is available on the [Community plan](/docs/get-started/core-concepts/editions-features), which is free for unlimited users. MFA with email or SMS as a second factor is available in all paid plans, including the lightest Starter plan, regardless of the number of your active users.
FusionAuth supports [a wide range of factors](/features/multifactor-authentication) for MFA, including authenticator apps with time-based one-time passwords (TOTP), email, SMS, or biometric authentication. MFA with TOTP via authenticator apps is available on the [Community plan](/docs/get-started/core-concepts/plans-features), which is free for unlimited users. MFA with email or SMS as a second factor is available in all paid plans, including the lightest Starter plan, regardless of the number of your active users.

As part of your MFA workflow, you can use [step-up authentication](/docs/lifecycle/authenticate-users/multi-factor-authentication#step-up-auth) to make users verify their identity before they take sensitive actions, such as sending money, deleting their account, or changing permissions.

Expand Down Expand Up @@ -139,4 +139,4 @@ For example, [Brad Kite, CTO at Cybanetix](/blog/cybanetix-fusionauth-pci-dss),

Some businesses want to use MFA because of how much more secure it makes their applications. Others just have to use it due to regulatory requirements. Whether your path to MFA is voluntary or forced upon you, FusionAuth will help make it smooth.

Enjoy support for a variety of MFA factors, transparent and scale-friendly pricing, data isolation, and deployment flexibility. [Download the FusionAuth Community edition for free](/download) and see what it can do for you.
Enjoy support for a variety of MFA factors, transparent and scale-friendly pricing, data isolation, and deployment flexibility. [Download the FusionAuth Community plan for free](/download) and see what it can do for you.
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ If you work for a large organization, you may need to federate your user managem

Of course, nothing is perfect. There are challenges with this approach as well. Some technical, some not so much.

First off is the [SSO tax](https://sso.tax/). Many third party applications don't support auth delegation until you are on an enterprise plan. Investigate required applications to see if and how they can act as a RP or SP to a centralized user management system before you decide to pursue the bottleneck architecture.
First off is the [SSO tax](https://sso.tax/). Many third party applications don't support auth delegation until you are on the enterprise tier. Investigate required applications to see if and how they can act as a RP or SP to a centralized user management system before you decide to pursue the bottleneck architecture.

Another organizational challenge is ensuring developers and end users actually use the organization's user management system. Some may want to use their old, familiar authentication solutions. Encourage everyone to work within these constraints by making adoption as easy as possible and clearly explaining the benefits. Providing examples of successful integrations can help with both of these.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ It may take longer to find bugs than it would with an open-source product where

One of the more notable differences between open source and commercial solutions is cost. Because of the benefits detailed above, there is usually a cost to a commercial solution, whereas many open-source solutions are provided free of charge and maintained by the community.

However, some commercial software offers free tiers with limited support. For example, Auth0 allows you a certain number of users for free. FusionAuth has a community edition allowing you an unlimited number of users if you self-host.
However, some commercial software offers free tiers with limited support. For example, Auth0 allows you a certain number of users for free. FusionAuth has a Community plan allowing you an unlimited number of users if you self-host.

Another item to consider is the pricing structure of the commercial solution. Some commercial products may prove cost-effective to large corporations, with high usage, but terribly improbable for a startup wanting a lowering buy-in point. Or more commonly, commercial providers provide different tiers depending on usage. This may make some use cases untenable as your product scales.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ Even though you can now configure 2FA for any user, administrators _cannot_ conf

For this tutorial, you'll configure TOTP for the sample user `<[email protected]>`.

*Note:* You must be on a premium plan for the users to be able to configure TOTP using the pre-built account pages. If you are using the community edition, you can set up TOTP for the admin and other users (after assigning appropriate privileges), but you'll do so from the admin interface, not the account interface, so the steps will be slightly different from the steps explained below.
*Note:* You must be on a premium plan for the users to be able to configure TOTP using the pre-built account pages. If you are using the Community plan, you can set up TOTP for the admin and other users (after assigning appropriate privileges), but you'll do so from the admin interface, not the account interface, so the steps will be slightly different from the steps explained below.

To configure TOTP for the sample user, log in to FusionAuth and visit the **Account** page, typically accessed through a URL like `http://<FusionAuth-host>/account/?client_id=<client-id>`.\
For this tutorial, it would be `<http://localhost:9011/account/?client_id=e9fdb985-9173-4e01-9d73-ac2d60d1dc8e>` since FusionAuth docker instance runs at `[http://localhost:9011/](http://localhost:9011/account/?client_id=e9fdb985-9173-4e01-9d73-ac2d60d1dc8e)`.
Expand Down
2 changes: 1 addition & 1 deletion astro/src/content/blog/active-directory-connector.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ You can achieve this with the FusionAuth LDAP connector. This post will explain

There are a few steps you need to take before you can dive into configuring the LDAP Connector.

*Connectors are a feature of the paid editions. You can sign up for a free trial of the [FusionAuth Developer Edition](/pricing).*
*Connectors are a feature of the paid plan. You can sign up for a free trial of the [FusionAuth Starter plan](/pricing).*

To fully explore this scenario, you need to have an application users can sign into with their Active Directory credentials. In this post, you are going to use ASP.NET to run such an application, so make sure you have .NET Core version 3 installed if you want to follow along with the code. I found the [bash script here](https://dotnet.microsoft.com/download/dotnet-core/scripts) worked best for installing on macOS.

Expand Down
2 changes: 1 addition & 1 deletion astro/src/content/blog/advanced-registration-form.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ This is part of a three part series. Here are all the posts:

If you don't have FusionAuth running, [get it going in 5 minutes](/docs/quickstarts/5-minute-setup-guide).

Then get a license key and activate it. *Please note that advanced registration forms are a paid edition feature. You can [learn more about paid editions and sign up for a free trial here](/pricing).*
Then get a license key and activate it. *Please note that advanced registration forms are a paid plan feature. You can [learn more about paid plans and sign up for a free trial here](/pricing).*

Next, [activate your license](/docs/get-started/core-concepts/licensing). Whew, all the FusionAuth set up is done.

Expand Down
2 changes: 1 addition & 1 deletion astro/src/content/blog/announcing-fusionauth-1-16.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,5 +29,5 @@ And of course there are over 15 bugs squashed and GitHub issues resolved as well

Please see the [release notes](/docs/release-notes/) for the full breakdown of the changes between 1.15 and 1.16.

If you'd like to upgrade your version, please see our [upgrade guide](/docs/operate/deploy/upgrade). If you have a licensed edition, open a <a href="https://account.fusionauth.io/account/support/" target="_blank">support request from your account dashboard</a> and we'll take care of you. Or, if you'd like to check out FusionAuth, [download it today for free](/download).
If you'd like to upgrade your version, please see our [upgrade guide](/docs/operate/deploy/upgrade). If you have a licensed plan with support, open a <a href="https://account.fusionauth.io/account/support/" target="_blank">support request from your account dashboard</a> and we'll take care of you. Or, if you'd like to check out FusionAuth, [download it today for free](/download).

2 changes: 1 addition & 1 deletion astro/src/content/blog/announcing-fusionauth-1-17.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@ And of course there are 8 other bugs squashed and GitHub issues resolved as well

Please see the [release notes](/docs/release-notes/archive#version-1-17-0) for the full breakdown of the changes between 1.16 and 1.17.

If you'd like to upgrade your FusionAuth instance, see our [upgrade guide](/docs/operate/deploy/upgrade). If you have a licensed edition, open a <a href="https://account.fusionauth.io/account/support/" target="_blank">support request from your account dashboard</a> and we'll take care of you. Or, if you'd like to download and use FusionAuth, [check out your options](/pricing).
If you'd like to upgrade your FusionAuth instance, see our [upgrade guide](/docs/operate/deploy/upgrade). If you have a licensed plan with support, open a <a href="https://account.fusionauth.io/account/support/" target="_blank">support request from your account dashboard</a> and we'll take care of you. Or, if you'd like to download and use FusionAuth, [check out your options](/pricing).
8 changes: 4 additions & 4 deletions astro/src/content/blog/announcing-fusionauth-1-18.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,22 +15,22 @@ We're excited to announce the release of version 1.18. The 1.18 release shipped

## Highlights

In addition to bug fixes and user interface improvements, there are a couple of features available to users of paid editions.
In addition to bug fixes and user interface improvements, there are a couple of features available to users of paid plans.

### Advanced Registration Forms

FusionAuth now has support for [advanced registration forms](/docs/apis/custom-forms/forms). This [paid edition](/pricing) feature lets you build out flexible registration forms with no code required. You can add custom fields as well as control their display order. You can also set up multiple pages for registration; for example, you can have a step gathering personal information and then a second step asking for application specific registration information. Here's an example of adding a field to a custom registration form:
FusionAuth now has support for [advanced registration forms](/docs/apis/custom-forms/forms). This [paid plan](/pricing) feature lets you build out flexible registration forms with no code required. You can add custom fields as well as control their display order. You can also set up multiple pages for registration; for example, you can have a step gathering personal information and then a second step asking for application specific registration information. Here's an example of adding a field to a custom registration form:

![Adding a field to a custom registration form..](/img/blogs/release-1-18/add-custom-registration-flow.png)

### Connectors

Support for [LDAP integration](/docs/apis/connectors/ldap) has also been added, as well as a general framework for allowing authentication against external systems. These are referred to as Connectors. When you configure a Connector, you can write flexible rules determining which users will use the Connector and whether to migrate the external user information to FusionAuth. FusionAuth will authenticate users against external systems. This functionality is in technology preview, and is also a [paid edition](/pricing) feature.
Support for [LDAP integration](/docs/apis/connectors/ldap) has also been added, as well as a general framework for allowing authentication against external systems. These are referred to as Connectors. When you configure a Connector, you can write flexible rules determining which users will use the Connector and whether to migrate the external user information to FusionAuth. FusionAuth will authenticate users against external systems. This functionality is in technology preview, and is also a [paid plan](/pricing) feature.

![Adding an LDAP connector.](/img/blogs/release-1-18/set-up-ldap-connector.png)

In addition to these features, there were over ten other bugs squashed and GitHub issues resolved as well. These fixes include changes to JWT claims, consents and refresh tokens. Please see the [release notes](/docs/release-notes/) for the full breakdown of the changes between 1.17 and 1.18.

This release includes a substantial data migration, so if you have a large number of users, make sure you test the upgrade process; testing upgrades with 3M+ users took approximately 3-5 minutes on bare metal with an SSD.

If you'd like to upgrade your FusionAuth instance, see our [upgrade guide](/docs/operate/deploy/upgrade). If you have a licensed edition, open a <a href="https://account.fusionauth.io/account/support/" target="_blank">support request from your account dashboard</a> and we'll take care of you. Or, if you'd like to download and use FusionAuth, [check out your options](/pricing).
If you'd like to upgrade your FusionAuth instance, see our [upgrade guide](/docs/operate/deploy/upgrade). If you have a licensed plan with support, open a <a href="https://account.fusionauth.io/account/support/" target="_blank">support request from your account dashboard</a> and we'll take care of you. Or, if you'd like to download and use FusionAuth, [check out your options](/pricing).
2 changes: 1 addition & 1 deletion astro/src/content/blog/announcing-fusionauth-1-19.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -66,5 +66,5 @@ This was a limitation prior to this release due to the way we managed the HTTP s

In addition to these features, there were other bugs squashed and GitHub issues resolved as well. Please see the [release notes](/docs/release-notes/) for the full breakdown of the changes between 1.18 and 1.19.

If you'd like to upgrade your FusionAuth instance, see our [upgrade guide](/docs/operate/deploy/upgrade). If you have a licensed edition, open a <a href="https://account.fusionauth.io/account/support/" target="_blank">support request from your account dashboard</a> and we'll take care of you. Or, if you'd like to download and use FusionAuth, [check out your options](/pricing).
If you'd like to upgrade your FusionAuth instance, see our [upgrade guide](/docs/operate/deploy/upgrade). If you have a licensed plan with support, open a <a href="https://account.fusionauth.io/account/support/" target="_blank">support request from your account dashboard</a> and we'll take care of you. Or, if you'd like to download and use FusionAuth, [check out your options](/pricing).

Loading

0 comments on commit d88b0d0

Please sign in to comment.