Commit graph

614 commits

Author SHA1 Message Date
Eric
11d9f56b95
Website: Update query page view action, vital page styles and platform filters. (#25714)
Changes:
- Updated the modal styles on vitals/ pages
- Updated the platform filter behavior on the vitals page to take users
to a different vital query if the currently viewed vital is not
available on the platform they switch to.
2025-01-22 21:41:16 -06:00
Eric
5c0894ce0a
Website: Create queries.yml, add vitals and query pages, move policies. (#25701)
Related to: https://github.com/fleetdm/confidential/issues/9096

Changes:
- Created docs/queries.yml. A YAML file that contains the queries from
the standard query library (`kind: query`) and the host vitals queries
(`kind: built-in`).
- Added the `vitals/*` page, a page that displays details about host
vital queries used to gather information about.
- Updated the /queries page to show queries from the new
`docs/queries.yml` file, and moved policies to a new page (/policies)
- Updated the view action for the query-detail page to look for/redirect
to a policy page with a matching slug before returning a 404 response if
a matching query is not found. This behavior will make it so all of the
old URLs for policy pages will redirect users to the new URL.
- Updated the website's "Docs" navigation menu to have links to the new
vitals and policies pages.
2025-01-22 21:10:17 -06:00
Eric
cefabf9954
Website: update contact form @mentions (#25475)
Closes: https://github.com/fleetdm/confidential/issues/9361

Changes:
- Updated the Slack users who are @mentioned when users submit a contact
form message.
2025-01-15 17:01:29 -06:00
Eric
bf182bed3e
Website: update query generator to use socket requests. (#25472)
Closes: #25465 

Changes:
- Updated the query generator page to use socket requests to call the
`get-llm-generated-sql` action to bypass Heroku's 30-second request
timeout.
2025-01-15 16:31:37 -06:00
Eric
ae99e87ed6
Website: update has-query-generator-access policy (#25442)
Changes:
- Updated the website's has-query-generator-access policy to allow super
admins to access the query generator page.
2025-01-14 19:40:53 -06:00
Eric
0e72c5daeb
Website: Move query generator out of Admin section (#25301)
Changes:
- Updated the User model to have a new attribute: `canUseQueryGenerator`
a boolean attribute that will grant users access to the query generator
page on the website.
- Added a new policy: `has-query-generate-access`
- Moved the query generator page from the admin section of the website.

Note: before this change can be merged, the website's database will need
to be migrated to add the new column to the User table
2025-01-14 18:09:17 -06:00
Eric
4ad16cc46f
Website: Update admin query generator to work in production. (#25363)
Changes:
- Updated the `build-static-content` script to add the merged osquery
schema JSON to the website's `builtStaticContent` configuration
- Updated view-query-generator to have a badConfig exit that is used if
the website has an invalid `builtStaticContent.schemaTables`
configuration
- Updated `get-llm-generated-sql` to use the
`builtStaticContent.schemaTables` instead of attempting to use
`sails.helpers.getExtendedOsquerySchema()` (Which does not work as
intended when run in a production environment.)
2025-01-10 17:51:03 -06:00
Eric
0620d7e580
Website: Add admin query generator (#25205)
Changes:
- Added /admin/query-generator, a page that admins can use to generate
queries from natural language questions.
- Added `/admin/get-llm-generated-sql.js` an action that uses the same
method in the `test-llm-generated-sql` script to generate queries from a
natural language question.
2025-01-08 13:47:17 -06:00
Eric
1eae4f6e1b
Website split article page routes (#25149)
Closes: #23904

Changes:
- Replaced the regex routes that handle articles and article category
pages to have a separate route for each category
- Updated the build-static-content script to transform periods in
article filenames into dashes
- Added redirects for articles that have a changed URL
2025-01-07 11:43:36 -06:00
Eric
2ca4f2f376
Website: Allow double curly brace templates in Markdown code blocks. (#25179)
Closes: https://github.com/fleetdm/fleet/issues/25176

Changes:
- Updated the to-html helper to add the `v-pre` directive to Markdown
code blocks, This directive will prevent any of the content inside of it
from being interpreted as a Vue template.
- Updated the regex in build-static-content that looks for vue templates
to not match any templates inside code blocks.
2025-01-06 14:07:31 -06:00
Eric
94f85b9259
Website: Add /meetups page (#24882)
Closes: https://github.com/fleetdm/confidential/issues/8983

Changes:
- Added /meetups, a page that shows a list of upcoming meetups
2024-12-18 14:12:52 -06:00
Eric
82ec1d8e16
Website: update article links on /testimonials page (#24850)
Closes: #24746

Changes:
- Replaced the hard-coded links to articles on the /testimonials page
with server-side rendered generated links to articles. These links are
now built using the website's markdown articles configuration.
- Added support for a new meta tag on articles:
`showOnTestimonialsPageWithEmoji` If provided and set to one of the four
supported emoji (🥀, 🔌, 🚪, or 🪟), a link to the article will be added to
the /testimonials page. Example: `<meta
name="showOnTestimonialsPageWithEmoji" value="🥀">`.
- Updated the build-static-content script to throw an error if an
article has an invalid `showOnTestimonialsPageWithEmoji` meta tag value.
- Updated recent case study articles to have a
`showOnTestimonialsPageWithEmoji` meta tag.


@Drew-P-drawers When this PR is merged, you can add links to the new
case studies articles to the /testimonials page with a
`showOnTestimonialsPageWithEmoji` meta tag. The definitions for each of
the supported emoji are in this [google
doc](https://docs.google.com/document/d/1-KWQa3uMIJzeitzDRmzT3SnUoFCfcFCb6K2lyVt-Gy0/edit?tab=t.0#heading=h.oskipmb8530l)
2024-12-17 18:08:25 -05:00
Eric
02b0a97ac8
Website: add support for new usage statistics (#24511)
Changes:
- Updated the receive-usage-analytics webhook to support a new input:
`numQueries`
- Added a new attribute to the HistoricalUsageSnapshot model
`numQueries`
- Added a commented-out section to the
send-aggregated-metrics-to-datadog script.
2024-12-13 15:00:30 -06:00
Mike Thomas
82e000a758
Name change (Observability => Orchestration) (#24747)
- made the text changes to the page, page title, site navigation
---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-12-13 13:24:42 -06:00
Eric
00c35aed11
Webiste: Update custom hook to validate githubRepoDRIByPath config variable (#24497)
Closes: #24399

Changes:
- Updated the website's custom hook to validate values in the
sails.config.custom.githubRepoDRIByPath config variable when the website
starts.
2024-12-09 16:33:20 -06:00
Eric
a3e0704fc0
Website: update quotes and sort order on /testimonials page and landing pages (#24441)
Changes:
- Updated the product categories used in testimonials.yml and updated
the build-static-content script to add support for the changed values
(`Endpoint operations` » `Observability` & `Vulnerability management` »
`Software management`)
- Updated the testimonial cards on landing pages to only show the
testimonials that have an explicit sort order set for them.
- Updated the order of testimonials on landing pages and the
/testimonials page.
- Updated the styles of the `<scrollable-tweets>` component.
- Updated the layout of the CTA buttons on the /device-management page
on smaller screen sizes
2024-12-06 09:03:44 +09:00
Eric
f67ff80e4d
Website: Update stripe webhook to send confirmation emails. (#24378)
Closes: #24345

Changes:
- Updated the receive-from-stripe webhook to send confirmation emails to
users who purchase a Fleet Premium license subscription.
2024-12-04 14:22:09 -06:00
Eric
0654172fa2
Website: Add app library & app details page (#24205)
Related to: #23792

Changes:
- Added /app-library, a page that displays information about
Fleet-maintained apps
- Added the app details page (/app-library/{app identifier}), a page
that gives users detailed information about a single Fleet-maintained
app
- Updated the build-static-content script to add information about
Fleet-maintained apps to the website's configuration.
2024-11-27 13:43:23 -06:00
Eric
5f5b7bb273
Website: Update CRM helper to handle contacts with no stage. (#24143)
Closes: https://github.com/fleetdm/confidential/issues/8975

Changes:
- Updated the update-or-create-contact-and-account helper to only check
the current stage value of a contact record if the value is set.
2024-11-25 14:58:25 -06:00
Eric
da13fb15fa
Website: /endpoint-ops » /observability (#24111)
Closes: #24106

Changes:
- Changed the /endpoint-ops page to be at /observability
- Added a redirect for /ednpoint-ops that redirects users to the
/observability page with original query parameters intact.
2024-11-25 14:20:19 -06:00
Eric
c53332259f
Website: Update license dispenser form (#23838)
Closes: https://github.com/fleetdm/confidential/issues/7696

Changes:
- Added `stripe` as a dependency
- Updated the license dispenser form to take users to a stripe hosted
checkout page where they can provide their billing address and Tax ID
depending on their location.
- Updated the receive-from-stripe webhook to fulfill license dispenser
purchases made via stripe checkout
- Added a new action: get-stripe-checkout-session-url. This action
creates a Stripe Checkout session and returns the URL
- Updated the customer dashboard to have a link that users can visit to
update their billing information, add more hosts to their Fleet premium
license, or cancel their subscription.
- Added a new action: redirect-to-stripe-billing-portal. An action that
redirects users to a Stripe-hosted billing portal.
2024-11-25 13:55:56 -06:00
Eric
e8a0092d9f
Website: Update endpoint-ops landing page view action (#24052)
Changes:
- Updated the endpoint ops view action to use the user's
primaryBuyingSituation for personalization if it is set, and to default
to the IT view if not (Note: this behavior is overridden with a purpose
query string. e.g., ?purpose=security.
2024-11-21 17:43:58 -06:00
Eric
948a790410
Website: update default personalization on endpoint ops page. (#24000)
Closes: #23987

Changes:
- Updated the endpoint ops page to default to the IT personalization if
no primaryBuyingSituation or `purpose` query string is provided/set
2024-11-21 17:26:57 -06:00
Eric
70d01d9a48
Website: Update testimonial sort order on /customer-stories, render testimonials server-side (#23996)
Changes:
- Updated the sort order of cards on the /customer-stories page
- Updated the cards on the /customer-stories page to be rendered
server-side.
- Updated styles for testimonial cards.
2024-11-21 08:55:47 +09:00
Zach Wasserman
31c8edbd9f
Fix JSON parsing for fleetdm.com EST certificate issuance (#23977)
Missed a JSON.parse after refactoring the HTTP request code. This was
missed because we had to comment out some of the code for testing in
order to skip authentication.
2024-11-20 09:50:18 -08:00
Eric
8658e4f1ec
Website: Software management landing page (#23961)
Closes: #23890

Changes:
- Updated the styles, layout and content of the
/vulnerability-management page to match the latest wireframes
- Renamed the /vulnerability-management page to /software-management
- Added a redirect for the /vulnerability-management page that takes
users to the /software-management page with all query parameters.
2024-11-20 18:54:36 +09:00
Eric
ee1ee95907
Website: Add account to website page view CRM records (#23956)
Changes:
- Updated the custom hook to set an `account` value on new Fleet website
page view records created.
2024-11-19 14:35:12 -06:00
Eric
4f03956c72
Website: add /customer-stories (#23837)
For: #23721 

Changes:
- Added /customer-stories, a page that displays the testimonials from
testimonials.yml
- Changed the /testimonials redirect to go to the /customer-stories
page.
- Updated the "What people are saying" link on the homepage and the
header navigation.



@mike-j-thomas FYI: To make this PR quickly, I did not implement the
sort order in the wireframes or change the testimonials yaml.
2024-11-15 14:52:36 +09:00
Sam Pfluger
9bf9c263c3
Remove HOF position (#23815) 2024-11-14 14:38:23 -06:00
Zach Wasserman
667e0fc996
Add website support to issue device certificates via EST (#23637)
For https://github.com/fleetdm/confidential/issues/8785

New fleetdm.com endpoint that validates an IdP auth token and then
requests a certificate using the provided CSR.

This is a customer hackathon result.

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-11-14 09:00:55 -08:00
Eric
2d8ebb4388
Website: Update CRM helper and usage (#23670)
Changes:
- Updated the update-or-create-contact-and-account helper to update
created contact records with a psychological stage
- Updated places where we were using the
update-or-create-contact-and-account helper to set a contact source on
new records.
2024-11-11 12:35:49 -06:00
Eric
c1ed73a8b4
Website: Update links in query library and syntax highlighting on policy pages. (#23591)
Closes: #23516
Closes: #23517

Changes:
- Updated the headings on the /queries page to be clickable links
- Updated the query detail page to highlight osquery tables/columns in
queries
- Updated code blocks on the query details page to prevent the copy
button from covering the content in the code block.
2024-11-07 15:49:16 -06:00
Eric
b6a1127b60
Website: update custom hook (#23618)
Changes:
- Updated sails.LOOKS_LIKE_ASSET_RX
2024-11-07 11:09:55 -06:00
Eric
581a2f7a53
Website: update sails.LOOKS_LIKE_ASSET_RX (#23603)
Closes: https://github.com/fleetdm/fleet/issues/23598

Changes:
- Updated `sails.LOOKS_LIKE_ASSET_RX` to not match URLs for articles.
2024-11-06 16:08:35 -06:00
Eric
6065fa5d77
Website: Set psychologicalStageChangeReason and intentSingals on contacts created from newsletter submissions (#23544)
Closes: https://github.com/fleetdm/confidential/issues/8690
Closes: https://github.com/fleetdm/confidential/issues/8691

Changes:
- Updated the update-or-create-contact-and-account to set intentSignals
on contacts
- Updated create-or-update-one-newsletter-subscription to set
psychologicalStageChangeReason and intentSignal on contacts.
2024-11-05 16:02:34 -06:00
Eric
900298f638
Website: Update contacts created by talk to us form submissions (#23498)
Closes: #23277

Changes:
- Added the submitted number of hosts to the description of contacts
created by "talk to us" form submissions
2024-11-04 15:59:39 -06:00
Eric
16e3161dd7
Website: Enable Docsearch on query pages. (#23496)
Changes:
- enabled Algolia Docsearch on the /queries pages.
2024-11-04 13:31:36 -06:00
Eric
f623eed47b
Website: Update /queries page (#23472)
Changes:
- Standard query library:
- Added three policies to the Standard query library (tagged as premium)
- Changed the `kind` of the "Identify Apple development secrets (macOS)"
query to `policy` because it is an informational query (It returns rows
of results rather than 1 or 0) and removed its `resolution` value
- Updated the build-static-content script to remove platform names from
the end of query names (e.g., (macOS)). This is done to keep the URLs
for queries the same while hiding them in the UI
- Updated the layout of the queries page to match the latest wireframes
and updated the page to only show policies
 - Updated the styles and layout of the queries-details page.

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2024-11-04 10:58:08 -06:00
Eric
89d15bb71f
Website: follow up changes from pr review (#23471)
Changes:
- Updated view-basic-documentation, view-transparency, and
view-device-management to log warnings if the Cloudflare headers we use
to determine whether or not to show the swag CTA are missing in
production
- Fixed a typo in save-questionnaire-progress
2024-11-01 16:11:00 -05:00
Eric
6348bdf63c
Website: increase ad attribution period (30m » 7 days) (#23379)
Related to: https://github.com/fleetdm/confidential/issues/8234

Changes:
- Increased the period of time that psychological stage change reason is
set by ads in save-questionnaire-progress. (30 minutes » 7 days)
2024-10-30 09:53:03 -05:00
Eric
ca73acfc3a
Website: add newsletter subscription form to homepage (#23362)
Related to: #23212

Changes:
- Added a form to the homepage for users to subscribe to the Fleet
newsletter.
- Updated the unsubscribe-from-all-newsletters action to redirect users
to the fleet homepage once they are unsubscribed from the newsletter.
- Updated the update-or-create-one-newsletter-subscription action to
create/update CRM records when users sign up for the Fleet newsletter.
2024-10-30 15:14:08 +09:00
Eric
484936144e
Website: add swag request CTA to /device-management page (#23370)
Closes: #23222


Changes:
- Added a swag request CTA to the /device-management page that is
visible to users visiting from the contiguous US




When this PR is merged, a new version of [this Zapier
automation](https://zapier.com/editor/158652809/draft/237372699) needs
to be published
2024-10-30 14:59:55 +09:00
Eric
c38e53d1c6
Website: Add organization to questionnaire responses (#23167)
Closes: https://github.com/fleetdm/confidential/issues/8238

Changes:
- Updated save-questionnaire-progress to prepend a
"org-acording-to-fleetdm.com" response to the questionnaire answers
reported to the CRM
2024-10-24 16:41:43 -05:00
Eric
9d69f01c2b
Website: Add website visit reason to page view records. (#23154)
Closes: #23107

Changes:
- Updated the custom hook to send `adAttributionString` to Fleet website
page view records if that value was set in a logged-in user's session
<30m before they visit a page.
2024-10-24 16:39:32 -05:00
Sam Pfluger
010f80d594
Add Scott MacVicar (#23111)
<img width="330" alt="image"
src="https://github.com/user-attachments/assets/454df86f-bea8-4392-a50e-df84a68703f6">

@eashaw, can I get your help with this part?  
- [ ] Then make Scott's one of the default quotes on the
device-management page, and on the contact form and wherever else eric
shaw thinks it belongs.

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-10-23 12:06:03 -05:00
Eric
5309f8fe53
Website: add swag request CTA to /better (#23108)
Closes: https://github.com/fleetdm/confidential/issues/8439

Changes:
- Added a swag request CTA to the /better page that is visible to users
visiting the website from the contiguous US.
2024-10-22 18:25:34 -05:00
Mike McNeil
49f22b2836
Ask questions in natural language (#23034) 2024-10-19 18:24:50 -05:00
Eric
77862664d5
Website: update CRM record creation in custom hook (#23013)
Closes: https://github.com/fleetdm/confidential/issues/8475

Changes:
- Updated the website's custom hook to not track Fleet website page view
records for new (<30 seconds old) user accounts.
2024-10-18 12:22:01 -05:00
Eric
697cfc59f7
Website: update CRM record creation in custom hook (#22923)
Closes: #22881

Changes:
- updated the website's custom hook to only create Fleet website page
view records if the requested URL will not redirect the user and to not
log warnings caused by duplicate records.
2024-10-14 21:13:13 -05:00
Eric
30885bfd33
[A/B] Website: change number of hosts required for managed cloud (#22888)
Changes:
- Updated number of hosts required for Fleet managed cloud to 300
- removed the pricing-features-table.yaml codeowner and added
noahtalerman as a DRI in the website's custom configuration

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2024-10-11 18:42:25 -05:00
Sam Pfluger
9598ea5fde
Update product-groups.md (#22887) 2024-10-11 17:54:16 -05:00
Eric
153148dbbc
Website: Update CRM records for logged-in page views (#22638)
Closes: #21694

Changes:

- Updated the custom hook to run the
`update-or-create-contact-and-account` helper and create a fleet website
page view record in the background when logged-in users visit a page.
2024-10-11 12:06:35 -05:00
Eric
d1dde4f190
Website: update save-questionnaire-progress (#22586)
Closes: https://github.com/fleetdm/confidential/issues/8237
Closes: https://github.com/fleetdm/confidential/issues/8236

Changes:
- Updated `save-questionnaire-progress` to update CRM records whenever a
user submits a step of the get started questionnaire. (This previously
only happened when a user's psychological stage changed)
- Changed the name of the 'cross-platform-mdm' step to
'message-about-cross-platform-mdm'
2024-10-03 13:49:42 -05:00
Eric
ea62bb4c7a
Website: Update contact form validation and slack message (#22587)
Closes: #22522

Changes:
- Updated the contact form to not have a personal email address filter.
- Updated the message posted in Slack when users submit contact form
messages.
2024-10-02 17:28:38 -05:00
Kendra McKeever
7f7acf8d97
Add Kendra to list to receive from GitHub (#22416) 2024-09-26 11:57:26 -04:00
Eric
ebb62af6d9
Website: Deliver contact form messages to Slack (#22231)
Related to: https://github.com/fleetdm/confidential/issues/8098

Changes:
- Updated `deliver-contact-form-message` to send contact form
submissions to a Slack webhook.
2024-09-19 09:09:21 -05:00
Eric
721ed30903
Website: Add search and breadcrumbs to article template page (#22171)
Closes: #15857
Closes: #21850

Changes:
- Updated the article page template to include a search input and
breadcrumb links.
2024-09-19 07:37:22 +09:00
Eric
1f1bc9c949
Website: add default organization to Premium trial license keys. (#22192)
Closes: #22190

Changes:
- updated `save-questionnaire-progress` to set a default value for the
`organization` value of generated license keys (if a user does not have
an organization set)
2024-09-17 18:00:58 -05:00
Eric
adc7713e04
Website: Update license key generator (#22138)
Related to: https://github.com/fleetdm/fleet/issues/18869

Changes:
- Updated the `create-license-key` helper to round timestamps down to
the nearest whole number.
2024-09-16 16:58:09 -05:00
Eric
867029e9c0
Website: Add Fleet Premium trial to get started questionnaire. (#21922)
Related to: #18869

Changes:
- Updated the /start questionnaire to generate a 30 day, 10 host trial
for Fleet Premium when users submit the step before the "Is it any
good?" step (Where the user is directed to try `fleetctl preview`) and
to save the details (license key and expiration timestamp) of the trial
to their user record.
- Added two new attributes to the User model:
- `fleetPremiumTrialLicenseKey`: A Fleet Premium license key that was
generated for the user when they progressed through the get started
questionnaire.
- `fleetPremiumTrialLicenseKeyExpiresAt`: A JS timestamp of when the
user's Fleet Premium trial license key expires.
- Updated the try-fleet page to have copyable terminal commands, and to
add the `--license_key` flag with the users license key to the command
to run `fleetctl preview`
2024-09-12 17:37:48 -05:00
Eric
c8149fa5e2
Website: update contacts when users subscribe to Fleet Premium (#22004)
Closes: #21921

Changes:
- Updated `save-biling-info-and-subscribe` to update CRM records in the
background when users purchase a self-service license.
2024-09-12 17:17:52 -05:00
Eric
9566b7d320
Website: requested changes from website backend code review (#21934)
Related to: #21918

Changes:
- Changed the name of the query string the endpoint ops page uses for
personalization to be `purpose` (previously `pageMode`)
- Updated `update-or-create-contact-and-account` to only allow automated
psychological stage regressions caused by the get started questionnaire.
- Updated deliver-talk-to-us-form-submission to always set a
psychological stage. (That now may not be set depending on the contact
records psychological stage)
- Updated the `update-or-create-contact-and-account` helper to assert
that the number of employees returned from the `get-enriched` helper is
always a number.
- Updated the version of `sails-hooks-organics` the website uses and
updated the inputs to the sendgrid sendTemplateEmail helper.
2024-09-10 14:36:01 -05:00
Eric
cb2c266774
Website: update guides category page (#21859)
Closes: #21798

Changes:
- Updated the layout and styles for the /guides page.
- Upgraded the version of DocSearch the website uses

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2024-09-06 10:45:01 +09:00
Harrison Ravazzolo
271368c72d
Add Harrison to humans list (#21794) 2024-09-03 14:01:33 -07:00
Allen Houchins
be2d0a6556
added allenhouchins to name list (#21781) 2024-09-03 13:38:27 -05:00
Eric
4ffde1dc09
Website: add new metrics to HistoricalUsageSnapshot model. (#21625)
Related to: #21259

Changes:
- Updated the `receive-usage-analytics` webhook to add new inputs for
metrics added in [#21131](https://github.com/fleetdm/fleet/pull/21131)
- Updated the `HIstoricalUsageSnapshot` model to add attributes for the
new metrics.


When this PR is merged:
- [ ] Put the website into maintenance mode
- [ ] Update the HistoricalUsageSnapshot table to add new columns
- [ ] Update all existing records to set the default value for the new
columns
2024-08-30 17:13:07 -05:00
Eric
ee7b05cb26
Website: Replace eo-it quote (#21734)
Closes: #21695

Changes:
- Removed the quote from Harrison in testimonials.yml
- Updated the order of quotes on the endpoint ops page
- Replaced the quote from Harrison on the /contact and /signup pages
2024-08-30 16:54:08 -05:00
Eric
5b2f8d75ef
Website: Update contacts created by talk to us form submissions (>700 hosts) (#21671)
Closes: https://github.com/fleetdm/confidential/issues/7815

Changes:
- Updated deliver-talk-to-us-form-submission to set contacts who fill
out the "talk to us form" to book a meeting as Psychological stage 4.
2024-08-30 16:34:06 -05:00
Eric
390c6888d7
Website: link to personalized view of endpoint ops page without changing primaryBuyingSituation (#21680)
Closes: #21237

Changes:
- Updated view-endpoint-ops to set a `pagePersonalization` value using
the users primaryBuyingSituation (if it is set) or a `pageMode` query
parameter.
- Updated the endpoint ops page to be personalized based off the
pagePersonalization value set in the view action
- Updated the links to the endpoint ops page on the unpersonalized
homepage to use a pageMode query parameter (e.g., pageMode=it) instead
of a utm_content query parameter.
- Updated the links to the endpoint ops page on the personalized
homepage to not include a utm_content query parameter.
2024-08-30 13:18:47 -05:00
Rebecca Cowart
94a3068646
Added rebeccaui to receive-from-github.js (#21651) 2024-08-28 16:47:15 -04:00
Eric
24377ee08d
Website: Update SF helper to ensure numberOfEmployees is always a number. (#21642)
Closes: https://github.com/fleetdm/confidential/issues/7844

Changes:
- Updated the get-enriched helper to fix the return value for
numberOfEmployees.
- Updated the update-or-create-contact-and-account to make sure the
number of employees set on new account records is always a number.
2024-08-28 14:16:27 -05:00
Eric
01225dbba7
Website: deliver contact form submission via email (#20972)
Closes: #20904

Changes:
- Updated the `deliver-contact-form-message` action to send contact form
submissions to Fleet's support email address.
- Added an email template for contact form messages.
2024-08-27 15:43:20 -05:00
Eric
b18f60cf03
Website: Track reason behind psychological stage changes in start flow. (#21483)
Changes:
- Updated the `update-or-create-contact-and-account` helper to support a
new input: `psychologicalStageChangedBy`, and to set the provided value
on contact records.
- Updated `save-questionnaire-progress` to set a
psychologicalStageChangedBy value when updating contact records.
2024-08-24 13:40:12 -06:00
Mike McNeil
1a48c6b32a
Website: Make Drew have to do less work dealing with data (#21516)
Co-authored-by: Eric <eashaw@sailsjs.com>
2024-08-23 12:48:13 -06:00
Eric
0007351602
Website: send start flow responses to CRM (#21485)
Changes:
- Updated save-questionnaire-progress to send a formatted string of a
user's start questionnaire responses to the
update-or-create-contact-and-account helper
- Updated the update-or-create-contact-and-account helper to set
getStartedResponses on contact records.
2024-08-22 12:34:13 -06:00
Eric
2fc5602eb4
Website: Track psystage and buying situation changed changes caused by start flow in Segment. (#21482)
Related to: https://github.com/fleetdm/confidential/issues/7339

Changes:
- Updated `save-questionnaire-progress` to return the user's selected
`primaryBuyingSituation`
- Updated the /start flow to update data in Segment
- Removed the border on the /start flow images that I mistakenly added.
2024-08-21 21:58:15 -06:00
Eric
637e5e1216
Website: Update /start questionnaire steps and add images (#21452)
Closes: #21417 
Closes: #21413
Closes: #21378 


Changes:
- Updated save-questionnaire-progress to return the user's current
psychological stage when a user submits a step of the /start
questionnaire
- Updated the /start questionnaire to display an image that changes as
the user's psychological stage progresses.
- Updated the first step of the /start questionnaire and gave users the
ability to go back to the first step.
- Added an option for Linux to the "what do you manage" question that is
asked to MDM-focused users
- Added a step for MDM-focused users filling out the /start
questionnaire
- Updated the /start CTA to show different images based on psychological
stage and to be visible to users who have not purchased a self-service
license
2024-08-21 11:54:06 -06:00
Eric
05f9f5dd77
Website: update values set by SF helpers. (leadSource » contactSource) (#21408)
Changes:
- Updated the `update-or-create-contact-and-account` helper to set a
"Contact source" on new contact records created.
- Updated everywhere where a lead source was being set to instead set a
contact source
2024-08-19 15:42:49 -05:00
Mike Thomas
ebfd5c27ee
Re-order pricing categories (#21297)
Follow up to https://github.com/fleetdm/fleet/pull/20993 to re-order
categories on the pricing page.
2024-08-16 11:24:23 -05:00
Mike Thomas
9041f49d7f
Website: update features on pricing page (#20993)
- Removed duplicate and redundant features
- Reordered features by order of operation from the POV of an IT admin
- Consolidated use cases
- Renamed some features for clarity

See [this
doc](https://docs.google.com/document/d/1z7X__TmJIpRXQF-Mx9NK4EChwkX73fj0ymLnIJM2GnQ/edit?usp=sharing)
for more details, including methodology for the organization and
styling.

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2024-08-14 09:32:41 +09:00
Joanne Stableford
dfafc118f6
Update receive-from-github.js (#21182) 2024-08-08 11:07:08 -05:00
Eric
b49841acc1
Website: Add unsubscribe link to marketing emails (#21055)
Closes: https://github.com/fleetdm/confidential/issues/7528

Changes:
- Added a new action: unsubscribe-from-marketing-emails, which updates a
user record that uses a specified email address to exclude it from the
deliver-nurture-emails script.
- Updated the email template to include a link that users can click to
unsubscribe.
- Added a modal to the homepage that is shown to users who unsubscribe
from marketing emails
- Updated the email template data in deliver-nurture-emails and
view-email-template-preview
2024-08-05 16:23:08 -05:00
Eric
c0cc609127
Website: Use GitHub API to get lastmodifiedAt timestamps (#20859)
Closes: #20823

Changes:
- Updated the build-static-content script to use the GitHub API to get
timestamps of when files were last changed.
- Updated the get-extended-osquery schema helper to use a GitHub token
to authenticate GitHub requests (if it is provided)
2024-08-02 17:10:56 -05:00
Eric
ba2f79e1c4
Website: personalize /better page for Secure Frame users (#20890)
Related to: https://github.com/fleetdm/confidential/issues/7227

Changes:
- Added a banner to the /better page that is visible to users who visit
it with a `?utm_content=secureframe` query param.
- Updated the `<animated-arrow-button>` component to support customizing
text and arrow color.
2024-07-31 17:40:41 -05:00
Eric
6fd628463d
Website: fix pricing table filtering (#20912)
Changes:
- Fixed the IT and Security filtering on the pricing features table.
2024-07-31 17:25:18 -05:00
Eric
fbf1f55399
Website: Remove duplicate "Fleet" from page titles (#20893)
Changes:
- Removed the duplicate "Fleet" from page titles.
2024-07-31 14:50:42 -05:00
Eric
ddc0cdbcab
Website: add automated MDM nurture emails (#20760)
Changes:
- Added three new emails for MDM-focused users who are psystage 3, 4
,and 5.
- Added a new email layout
- Added a script to send nurture emails to users with an MDM primary
buying situation who signed up after 2024-07-22 that
   - have been in psychological stage 3 for 24 hours
   - have been in psychological stage 4 for 24 hours
   - have been in psychological stage 5 for six weeks
- Updated the USer model to have. four new attributes:
   - `psychologicalStageLastChangedAt`
   - `stageThreeNurtureEmailSentAt`
   - `stageFourNurtureEmailSentAt`
   - `stageFiveNurtureEmailSentAt`
- Added a new custom config variable
`sails.config.custom.contactEmailForNutureEmails`
2024-07-26 20:25:26 -05:00
Eric
52f6ff142c
Website: Reorder pricing features YAML (#20713)
Changes:
- Reordered the pricing page YAML to match the order in [the latest
wireframes](https://www.figma.com/design/3he8e72251IEnF6dBafKq1/%F0%9F%9A%A7-fleetdm.com-(scratchpad)?node-id=15042-3959&m=dev&t=8KCdpYqJh8Pk5Aze-1)
- Added ASCII art headings to the pricing features YAML to separate
features
- Added an example feature to the top of the pricing features YAML
- Updated how features are sorted on the pricing page
2024-07-25 17:33:26 -05:00
Eric
da3ad28f4c
Website: add deal registration page (#20667)
Closes: #19531

Changes:
- Added a deal registration page at /deals
- Added a new email template: `email-deal-registration`
- Added a new action to send the deal registration form submission to
the email address set in the `sails.config.custom.
dealRegistrationContactEmailAddress` config variable
- Updated the HTML email preview page to support the new email template.
2024-07-25 13:12:08 -05:00
Eric
adf140501a
Website: update contact form CRM records (#20645)
Closes: https://github.com/fleetdm/confidential/issues/7394

Changes:
- Updated update-or-create-contact-and-account to set descriptions on
contacts
- Updated deliver-talk-to-us-form-submissions to not create leads for
users sent to the "Lets get you set up!" event
- Updated deliver-contact-form-message to only create contact records.
2024-07-22 17:25:31 -05:00
Joanne Stableford
13aafaf46a
Update receive-from-github.js (#20625) 2024-07-22 11:45:59 -04:00
Sam Pfluger
40b69afeff
Add Charles Zaffery qoute to testimonials.yml (#20453)
Co-authored-by: Eric <eashaw@sailsjs.com>
2024-07-18 14:41:54 -05:00
Eric
673368332b
Website: Update lead source on contact records (#20383)
Changes:
- Updated signup.js to add the "Website - Sign up" lead source to new
contact records.
2024-07-11 11:31:05 -05:00
Eric
e5188eaac6
Website: disable Mergefreeze related code in GH webhook (#20292)
Changes:
- Commented out code related to Mergefreeze in the receive-from-github
webhook.
2024-07-09 17:57:15 -05:00
Eric
670a8ef2a0
Website: Set leadSource on new contact records (#20285)
Closes: #20284

Changes:
- Updated the `update-or-create-contact-and-account` helper to set a
lead source on new contact records
- Updated `update-or-create-contact-and-account-and-create-lead` to to
pass in a lead source to the `update-or-create-contact-and-account`
helper
- Updated save-questionnaire-progress to set a lead source on newly
created contact records
2024-07-09 17:04:12 -05:00
Eric
caa27322fe
Website: Disable lead creation from get started questionnaire submissions (#20250)
Changes:
 - Removed SF lead creation in the `save-questionnaire-progress` action.
2024-07-08 11:29:32 -05:00
Eric
e27a3bb851
Website: Update start questionnaire CTA visibility (#20206)
Closes: #20189

Changes:
- Made the CTA for the get started questionnaire visible to users who
have completed the "Thanks for checking out Fleet" step
- Updated the background of the image in the mobile start CTA.
- Updated the get started questionnaire to take users who have completed
the "Thanks for checking out Fleet" step to either the "What did you
think?" or "How was your deployment?" steps
2024-07-03 15:57:35 -05:00
Eric
0abe6ab6f5
Website: follow-up changes from backend code review (#20174)
Closes: #20102

Changes:
- Replaced timers.setImmediate with `.exec()` when CRM records are
updated in the background
- Removed the `\s` replacement during relative link modification in
build-static-content and added a comment explaining why we replace URL
encoded spaces in links.
2024-07-02 17:00:10 -05:00
Eric
2e19e37a0a
Website: Update leads created from "Talk to us" form submissions. (#20140)
Related to: #20107


Changes:
- Updated the description of leads created from "Talk to us" form
submissions to include the name of the Calendly event.
2024-07-02 16:25:54 -05:00
Eric
74fdf7a29d
Website: update username in authorGitHubUsername meta tags & list of maintainers (#19999)
Changes:
- Updated the `authorGitHubUsername` meta tag for three articles
- Updated a GitHub username in the list of maintainers in the
receive-from-github webhook.
2024-06-25 16:42:41 -05:00
Eric
223e1f2362
Website: Update contact record creation (#19922)
Closes: https://github.com/fleetdm/confidential/issues/6929

Changes:
- Updated the update-or-create-contact-and-account helper to search for
an existing contact by email address before searching for an account
with the information provided by the get-enriched helper. This change
will allow us to change the account that a contact is associated with in
the CRM without duplicate records getting (re)created.
2024-06-21 17:12:01 -05:00
Eric
477e46a96d
Website: Update SF helper to search for existing account records by name (#19918)
Closes: #19895

Changes:
- Updated the `update-or-create-account-and-contact` helper to search
for an existing account record by name before searching by website. This
additional search adds ~1.5 seconds to the time the helper runs in the
background but greatly reduces the chances of creating duplicate
accounts.
2024-06-20 17:02:00 -05:00
Eric
b2e9e0a055
Website: Update Github helper (#19892)
Closes: #19891

Changes:
- Updated the `get-is-pr-handbook-only-changes` helper to return false
if a PR contains no changed files.
2024-06-20 11:23:50 -05:00
Eric
e2ab9a2fe8
Website: Update Vanta authorization URL when a redirect URL is specified (#19798)
Closes: https://github.com/fleetdm/confidential/issues/6069

Changes:
- Added a new route going to the create-vanta-authorization-request
action: `/api/v1/create-external-vanta-authorization-request`
- Added a new input to the create-vanta-authorization-request action:
`sharedSecret` - A secret that must match
`sails.config.custom.sharedSecretForExternalVantaRequests` when an
external request is made to the
`/api/v1/create-external-vanta-authorization-request` endpoint
- Updated the authorization URL returned by the
create-vanta-authorization-request endpoint
- Updated the redirect in the view-vanta-authorization endpoint (if a
redirect URL is provided) to not use res.redirect() (it causes 500
errors) when redirecting users.
2024-06-17 13:28:39 -05:00
Eric
30f90c8216
Website: Remove "explore data" pages (#19777)
Related to: https://github.com/fleetdm/confidential/issues/5573

Changes:
- Deleted /explore-data pages and related files
- Added redirects for removed pages.
- Removed all explore data related website configuration in the
build-static-content script.
- Removed the explore data section of the custom configuration.
2024-06-14 17:50:07 -05:00
Eric
9cd452e8d5
Website: Update Vanta integration (#19349)
Closes: https://github.com/fleetdm/confidential/issues/6069

Changes:
- Added a new action to add support for the Vanta integration to be set
up from a partners website. This action sets the required cookies
provided via queryString and redirects users to the Vanta authorization
page.
- Updated the `create-vanta-authorization-request` action to redirect
users who provide a `redirectToExternalPageAfterAuthorization` value the
new endpoint instead of returning a vanta authorization URL.
- Updated `view-vanta-authorization` to redirect users to the URL
provided to the `create-vanta-authorization-request` endpoint (if one
was provided)
2024-06-14 07:40:49 -04:00
Eric
1fac823fa9
Website: Update Salesforce helepr to set an an Owner ID on all new records. (#19609)
Changes:
- Updated the update-or-create-contact-and-account helper to always set
the integrations admin user as the owner of new accounts and contact
records created.
2024-06-09 15:00:55 -05:00
Eric
da0268eec8
Website: Update Markdown headings (#19608)
Closes: #19606

Changes:
- Updated the `to-html` helper to add optional linebreaks to all
Markdown headings that contain an underscore.
2024-06-07 17:48:44 -05:00
Eric
d25c257db3
Website: update salesforce leads created by website (#19498)
Changes:
- Removed unused/unneeded values that are set on new lead records
created by the website
2024-06-05 17:00:27 -05:00
Eric
80a9ffeb69
Website: add step to the /start questionnaire for users who don't want to use Fleet (#19514)
Closes: https://github.com/fleetdm/confidential/issues/6287

Changes:
- Added a new page to the /start questionnaire where users can let us
know they're not interested in using Fleet.
2024-06-05 10:52:25 +09:00
Eric
9ea69df576
Website: add new usage statistics (#19315)
Closes: https://github.com/fleetdm/fleet/issues/19308

Changes:
- Added six new attributes to the `HistoricalUsageSnapshot` model (
`numSoftwareVersions`, `numHostSoftwares`, `numSoftwareTitles`,
`numHostSoftwareInstalledPaths`, `numSoftwareCPEs` and
`numSoftwareCVEs`)
- Added inputs to the receive-usage-analytics webhook for the new usage
statistics.


When this PR is merged, we will need to migrate the Fleet website's
database to add the new columns, to do this:
- [x] Make an announcement in Slack to let people know the website will
be offline for ~8 minutes
- [ ] Merge this PR
- [ ] As the deploy action runs, put the website into maintenance mode
- [ ] Add the new columns for the added attributes
- [ ] Set the default value for the new attributes on existing database
records
- [ ] After the deploy workflow is complete, take the website out of
maintenance mode.
2024-06-04 18:36:25 -05:00
Eric
f546ebe102
Website: uncomment MergeFreeze requests in GitHub webhook (#19449)
Closes: #19369

Changes:
- Re-enabled the requests to MergeFreeze in the receive-from-github
webhook
2024-06-03 10:44:02 -05:00
Eric
bf239ecc78
Website: Add site-wide CTA to bring users back to the /start questionnaire (#19393)
Closes: #18530

Changes: 
- Added a collapsable sitewide CTA to bring users who have not completed
the get started questionnaire back to the /start page.
- Added a new action (`account/updateStartCtaVisibility`) to set a
timestamp of when the CTA will be visible (not collapsed) in a user's
session when they close the CTA

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2024-05-31 18:44:13 -05:00
Mike McNeil
3df7a9232a
Website: Remove utm parameter stripping for now (#19425) 2024-05-31 14:31:21 -05:00
Eric
a28f0a9422
Website: disable MergeFreeze requests in receive-from-github webhook. (#19371)
Related to: https://github.com/fleetdm/fleet/issues/19369

Changes:
- Disabled the requests to MergeFreeze that unfreeze auto-approved PRs
when the main branch of the Fleet repo is frozen.
2024-05-30 11:19:55 -05:00
Roberto Dip
d98e1ecf27
allow to customize the signed CSR return type (#19213)
for #19027, this modifies the website to accept an `deliveryMethod` parameter to
respond with the signed CSR instead of delivering an email.

The current approach also maintains backwards compatibility:

**Response without `deliveryMethod` (unchanged except for custom headers)**

```
$ curl --insecure -v -H 'content-type: application/json' http://localhost:2024/api/v1/deliver-apple-csr -d '{"unsignedCsrData": "foo"}'
*   Trying [::1]:2024...
* Connected to localhost (::1) port 2024
> POST /api/v1/deliver-apple-csr HTTP/1.1
> Host: localhost:2024
> User-Agent: curl/8.4.0
> Accept: */*
> content-type: application/json
> Content-Length: 26
>
< HTTP/1.1 200 OK
< X-Powered-By: Sails <sailsjs.com>
< Cache-Control: no-cache, no-store
< X-Exit: success
< X-Exit-Description: Delivered email to specified email address with certificate signing request attached.
< Content-Type: text/plain; charset=utf-8
< Content-Length: 2
< ETag: W/"2-nOO9QiTIwXgNtWtBJezz8kv3SLc"
< Set-Cookie: sails.sid=s%3AqOZoNKY2CCZ6PFb9fIKaAjtiTKjB7Gum.9jodWIUG6DCNnXu%2Bn%2BF8cJmI%2Fn19Tk%2FdIkDPBl%2BILbI; Path=/; HttpOnly
< Date: Wed, 22 May 2024 18:23:16 GMT
< Connection: keep-alive
< Keep-Alive: timeout=5
<
* Connection #0 to host localhost left intact
OK
```

**Response with `deliveryMethod=json`**

```
$ curl --insecure -v -H 'content-type: application/json' http://localhost:2024/api/v1/deliver-apple-csr?deliveryMethod=json -d '{"unsignedCsrData": "foo"}'
*   Trying [::1]:2024...
* Connected to localhost (::1) port 2024
> POST /api/v1/deliver-apple-csr?alt=json HTTP/1.1
> Host: localhost:2024
> User-Agent: curl/8.4.0
> Accept: */*
> content-type: application/json
> Content-Length: 26
>
< HTTP/1.1 200 OK
< X-Powered-By: Sails <sailsjs.com>
< Cache-Control: no-cache, no-store
< Content-Type: application/json; charset=utf-8
< X-Exit: success
< X-Exit-Description: Delivered email to specified email address with certificate signing request attached.
< X-Exit-Output-Friendly-Name: RSS feed XML
< Content-Length: 26
< ETag: W/"1a-NnuclRv86ZEKA9WB967iUGlz84s"
< Set-Cookie: sails.sid=s%3AbpaKOTbNe4E911qH4z1-12ABGd_z2d2I.mAimDARoZgnq8zpJHcF95y8qFJXX0iky4Suj0HUKjpI; Path=/; HttpOnly
< Date: Wed, 22 May 2024 18:22:07 GMT
< Connection: keep-alive
< Keep-Alive: timeout=5
<
* Connection #0 to host localhost left intact
{"csr":"UEQ5NGJXdy4uLg=="}
```

# Checklist for submitter

- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-05-28 10:08:03 -03:00
Eric
02437a098e
Schema: change default block scalar used in schema override files (#19296)
Closes: #19271
Closes: #19286

Changes:
- Updated the example in the schema folder readme
- Updated the block scalar used in Fleet's osquery override
documentation (`>-` » `|-`) and removed extra newlines
- Updated the block scalar used in URLs used to create new yaml override
files
- Regenerated osqeury_fleet_schema.json
2024-05-27 18:18:56 -05:00
Eric
2af2c41572
Website: Update round robin in salesforce helpers & move lead creation to save-questionnaire-progress. (#19209)
Closes: #18932

Changes:
- Updated `update-or-create-contact-and-account.js` to not round robin
new account records created.
- Updated create-lead to reassign accounts owned by the integrations
admin user when a new lead is created.
- Updated logged warnings in signup, deliver-contact-form-message and
deliver-talk-to-us-form-submission.
- Updated signup.js to not create salesforce leads (only account and
contact records)
- Updated save-questionnaire-progress to create Salesforce leads when we
know the user has a use case for Fleet.
2024-05-27 16:43:40 -05:00
Nathanael Holliday
b1a18bc4a5
Remove former employee from receive-from-github.js (#19189)
Removed departed employee

---------

Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
Co-authored-by: Sampfluger88 <sampfluger88@gmail.com>
2024-05-24 19:29:00 -05:00
Dale Ribeiro
21a6f3bfdb
Updated to include Dale (#19202)
Co-authored-by: Isabell Reedy <113355639+ireedy@users.noreply.github.com>
2024-05-22 12:41:58 -04:00
Eric
5261faaa11
Website: Update round robin in Salesforce helper (#19131)
Changes:
- Updated the update-or-create-contact-and-account helper to round-robin
existing accounts owned by an inactive Salesforce user
2024-05-17 18:14:22 -05:00
Eric
31f8c7e548
Website: Create new Salesforce helper, update contact form actions and signup action. (#19082)
Changes:
- Added a new helper:
`salesforce/update-or-create-contact-and-account-and-create-lead`, a
wrapper for the `update-or-create-contact-and-account` and `create-lead`
helpers that is intended to be run in the background.
- Updated the `signup`, `deliver-contact-form-message`, and
`deliver-talk-to-us-form-submission` actions to use the new helper
2024-05-16 15:38:09 -05:00
Savannah Friend
997d9c60b8
Added Username to receive-from-github.js (#18956)
.
2024-05-14 17:01:14 -05:00
Eric
cde4a61bd3
Website: requested changes from website review (#18923)
Changes:
- Moved the logic for redirecting users to the license dispenser after
they login/sign up into the page scripts for the login and register
pages.
- Updated error messages in the create lead helper
2024-05-10 16:33:45 -05:00
Eric
4ee1d0b736
Website: update receive-usage-analytics webhook (#18864)
Related to: https://github.com/fleetdm/fleet/issues/18863

Changes:
- Updated the receive-usage-analytics webhook to set a default value for
organization if a Fleet instance reports an empty string as its
organization.
2024-05-09 08:39:49 -05:00
Eric
6e1bb1b85b
Website: Fix assertion error in save-questionnaire-progress (#18818)
Related to: https://github.com/fleetdm/fleet/issues/18817

Changes:
- Updated a conditional statement in save-questionnaire-progress to
check the correct variable for a user's previous answer to the "Have you
ever used Fleet?" question
2024-05-07 16:46:00 -05:00
Eric
2990d09cb4
Website: update salesforce helper (#18789)
Changes:

- Updated the `update-or-create-contact-and-account` helper to actually
check the OwnerID of the returned account record (if one was found).
2024-05-06 20:51:03 -05:00
Eric
9e988cb216
Website: Fix round robin in update-or-create-contact-and-account.js. (#18788)
Changes:
- Fixed a conditional that was determining if existing account records
should be round-robined or not.
2024-05-06 19:51:21 -05:00
Eric
607ddbe8b1
Website: Update update-or-create-contact-and-account helper to round robin existing account records. (#18778)
Changes:
- Updated the `update-or-create-contact-and-account` helper to round
robin existing Account records assigned to the "Integrations admin"
user.
2024-05-06 15:17:49 -05:00
Mike McNeil
507ac65f8b
Website: Add missing pages to sitemap (#18762) 2024-05-06 07:16:36 -05:00
Eric
1cd0c6566c
Website: Create protocol and subdomain regex custom config & normalize LinkedIn urls (#18756)
Changes:
- Updated the regex used to match HTTP protocol and common subdomains in
the `get-enriched` helper to include more subdomains and changed it to a
custom config variable
(`sails.config.custom.RX_PROTOCOL_AND_COMMON_SUBDOMAINS`)
- Updated the update-or-create-contact-and-account helper to remove HTTP
protocol and subdomains from provided linkedIn URLs.
2024-05-03 18:51:31 -05:00
Mike McNeil
57b52204a9
Website: Update view-device-management.js (#18752)
Prioritize quotes that are directly about MDM on the MDM page.
2024-05-03 17:31:30 -05:00
Eric
b8793ee776
Website: Update save-questionnaire-progress (#18753)
Follow up PR to https://github.com/fleetdm/fleet/pull/18721.
2024-05-03 17:29:56 -05:00
Eric
7c3f029f78
Website: reduce time to submit steps of the /start questionnaire. (#18721)
Related to: https://github.com/fleetdm/confidential/issues/6357

Changes:
- wrapped the `updateOrCreateContactAndAccount` helper call in
`save-questionnaire-progress` in `setImmediate()` to allow users to
progress through the form without waiting for CRM updates.
2024-05-03 17:23:05 -05:00
Eric
3a15802944
Website: Update organization matching in get-enriched helper. (#18749)
Closes: https://github.com/fleetdm/confidential/issues/6381

Changes:
- Updated the get-enriched helper to improve enrichment results for
users whose provided organization is not the top experience listed on
their LinkedIn profile.
2024-05-03 16:09:05 -05:00
Rachael Shaw
5f442a8002
Tiny tweak to a comment (#18709)
Just making it a touch clearer why we're changing a key name/deleting a
key from the Open API response.
2024-05-02 17:39:39 -05:00
Mike McNeil
671ad9bf6a
Website: Update save-questionnaire-progress.js (#18697)
Eric, I did not test this (coded live w/ mike T). Relying on your eyes.
Also, remember remember the old legacy data that might need to be
migrated, especially since I added some assertions? (whuh ohhh)
2024-05-02 11:25:48 -05:00
Eric
ba229a153c
Website: Update save-billing-info-and-subscribe.js (#18708)
Closes: #18702

Changes:
- Removed the request to Zapier in save-billing-info-and-subscribe
2024-05-02 10:55:36 -05:00
Rachael Shaw
81a98ec54b
Update prompt for API endpoint to get human interpretation of osquery SQL (#18695)
When using this API many times in a row to try and populate real policy
descriptions/resolutions, I discovered a problem: the inferred
resolution (“What we’ll do”) almost never used decisive language, so
you'd get a lot of “probably”, etc., when we really want it to sound
more confident about what will happen during the maintenance window.
(The calendar events say what WILL happen to your device, not what
should probably happen.)

After several attempts to tweak the prompt, I ended up getting the best
results by just removing "probably" from
`whatWillProbablyHappenDuringMaintenance`. I made this change to the
prompt without changing the data that this API returns.

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-05-01 19:18:12 -05:00
Eric
f486abdf56
Website: Update /start questionnaire to add additional steps for users who don't want to self-host Fleet. (#18580)
Closes: https://github.com/fleetdm/confidential/issues/6268


Changes:
- Updated the questionnaire on the /start page to take users who answer
"I'd like you to host Fleet for me" on the "What did you think?" step to
the host count question.
- Updated the /start page script to handle this new behavior.
- Updated how psychologicalStage is set for users who answer the host
count question in `save-questionnaire-progress`.
- Updated `save-questionnaire-progress` to only call the salesforce
helper if the user's `psychologicalStage` changes.
2024-05-01 19:01:56 -05:00
Eric
806c88f006
Website: Add steps for users who deploy Fleet to /start questionnaire (#18661)
Changes:
- Added two steps to the /start questionnaire for users who select "I
want to deploy Fleet in my environment" on the "What did you think"
question.
- Updated save-questionnaire-progress to set psychologicalStage based on
selected answers to the new questions
2024-05-02 08:22:47 +09:00
Eric
63f8850877
Website: replace zapier request in signup.js with createLead() (#18688)
Closes: https://github.com/fleetdm/confidential/issues/6355

Changes:
- Replaced the reqeust to zapier in `signup.js` with
`sails.helpers.salesforce.createLead()`.
- Updated signup.js to only call the salesforce helpers when the website
is running in a production environment.
- Updated the `createLead` to handle errors when retrieving or creating
salesforce records, and to set a provided `numberOfHosts` and
`primaryBuyingSituation` on created lead records.
2024-05-01 16:25:12 -05:00
Gabe Lopez
d2ceb980fe
Update receive-from-github.js to add Gabe Lopez (PezHub) (#18685)
New hire!
2024-05-01 14:42:29 -04:00
Mike McNeil
c3f77aa116
Website: Clear personalization on logout (#18630) 2024-05-01 12:10:27 -05:00
Eric
8be31c263c
Website: update domain parsing and logged warnings in get-enriched helper. (#18644)
Changes:
- Changed the warnings in the get-enriched helper to use
`sails.log.info`.
- Updated the email domain parsing to handle protocol-less URLs returned
from Coresignal
2024-04-30 13:47:23 -05:00
Eric
a9f79eacd4
Website: Update zapier webhook request in signup action. (#18648)
Closes: #18643

Changes:
- Updated the response from the `updateOrCreateAccountAndContact` helper
when running the website in a development environment.
- Updated the Zapier webhook request in the signup action to send the
contact and account IDs returned from the
`updateOrCreateAccountAndContact` helper.
2024-04-30 13:38:38 -05:00
Eric
47362020ed
Website: reduce number of helper calls in save-questionnaire-progress (#18647)
Changes:
- Updated the conditional that decides whether or not to create/update
Salesforce records to check if a psychological stage changes.
2024-04-30 13:27:42 -05:00
Mike McNeil
c01d0ff82a
Website: If org name + email specified but no matches, try again (#18629) 2024-04-30 01:40:06 -05:00
Mike McNeil
8252320c3b
Fix 500 errors by ensuring organization exists (#18628) 2024-04-30 01:12:53 -05:00
Mike McNeil
cdbe6055d1
Website: Improve enrichment (#18627) 2024-04-30 01:03:59 -05:00