Skip to content

Commit

Permalink
[A/B] Website: change number of hosts required for managed cloud (#22888
Browse files Browse the repository at this point in the history
)

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>
  • Loading branch information
eashaw and mikermcneil authored Oct 11, 2024
1 parent dcf7185 commit 30885bf
Show file tree
Hide file tree
Showing 9 changed files with 25 additions and 24 deletions.
7 changes: 0 additions & 7 deletions CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -73,13 +73,6 @@ go.mod @fleetdm/go
/docs/Deploy/_kubernetes/ @dherder # « Kubernetes best practice
/render.yaml @edwardsb

##############################################################################################
# 🫧 Pricing and features
#
# (see website/config/custom.js for DRIs of other paths not listed here)
##############################################################################################
/handbook/company/pricing-features-table.yml @noahtalerman # « Head of Product Design is current DRI for features table

##############################################################################################
# 🌐 Repo automation and change control settings
##############################################################################################
Expand Down
2 changes: 1 addition & 1 deletion handbook/company/pricing-features-table.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
# ║║║╠═╣║║║╠═╣║ ╦║╣ ║║ ║ ║ ║ ║║ ║ ║║
# ╩ ╩╩ ╩╝╚╝╩ ╩╚═╝╚═╝═╩╝ ╚═╝╩═╝╚═╝╚═╝═╩╝
- industryName: Managed cloud
description: Have Fleet host it for you (currently only available for customers with 700+ hosts. PS. Wish we could host for you? We're working on it! Please let us know if you know of a good partner. In the meantime, join fleetdm.com/support and we're happy to help you deploy Fleet yourself.)
description: Have Fleet host it for you (currently only available for customers with 300+ hosts. PS. Wish we could host for you? We're working on it! Please let us know if you know of a good partner. In the meantime, join fleetdm.com/support and we're happy to help you deploy Fleet yourself.)
pricingTableCategories: [Deployment]
productCategories: [Endpoint operations,Device management,Vulnerability management]
tier: Premium
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ module.exports = {
throw 'invalidEmailDomain';
}

if(numberOfHosts >= 700){
if(numberOfHosts >= 300){
sails.helpers.salesforce.updateOrCreateContactAndAccount.with({
emailAddress: emailAddress,
firstName: firstName,
Expand Down
2 changes: 1 addition & 1 deletion website/assets/js/pages/contact.page.js
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ parasails.registerPage('contact', {
if(typeof analytics !== 'undefined'){
analytics.track('fleet_website__contact_forms');
}
if(this.formData.numberOfHosts > 700){
if(this.formData.numberOfHosts > 300){
this.goto(`https://calendly.com/fleetdm/talk-to-us?email=${encodeURIComponent(this.formData.emailAddress)}&name=${encodeURIComponent(this.formData.firstName+' '+this.formData.lastName)}`);
} else {
this.goto(`https://calendly.com/fleetdm/chat?email=${encodeURIComponent(this.formData.emailAddress)}&name=${encodeURIComponent(this.formData.firstName+' '+this.formData.lastName)}`);
Expand Down
2 changes: 1 addition & 1 deletion website/assets/js/pages/customers/new-license.page.js
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ parasails.registerPage('new-license', {
this.showQuotedPrice = true;
this.quotedPrice = quote.quotedPrice;
this.numberOfHostsQuoted = quote.numberOfHosts;
if(quote.numberOfHosts < 700) {
if(quote.numberOfHosts < 300) {
this.formData.quoteId = quote.id;
this.showBillingForm = true;
}
Expand Down
6 changes: 2 additions & 4 deletions website/assets/js/pages/start.page.js
Original file line number Diff line number Diff line change
Expand Up @@ -268,15 +268,13 @@ parasails.registerPage('start', {
break;
case 'how-many-hosts':
if(this.formData['have-you-ever-used-fleet'].fleetUseStatus === 'yes-recently-deployed' || this.formData['have-you-ever-used-fleet'].fleetUseStatus === 'yes-deployed') {
if(this.formData['how-many-hosts'].numberOfHosts === '1-100' ||
this.formData['how-many-hosts'].numberOfHosts === '100-700') {
if(['1-100','100-700','100-300'].includes(this.formData['how-many-hosts'].numberOfHosts)) {
nextStepInForm = 'will-you-be-self-hosting';
} else {
nextStepInForm = 'lets-talk-to-your-team';
}
} else {
if(this.formData['how-many-hosts'].numberOfHosts === '1-100' ||
this.formData['how-many-hosts'].numberOfHosts === '100-700') {
if(['1-100','100-700','100-300'].includes(this.formData['how-many-hosts'].numberOfHosts)) {
nextStepInForm = 'managed-cloud-for-growing-deployments';
} else {
nextStepInForm = 'lets-talk-to-your-team';
Expand Down
2 changes: 1 addition & 1 deletion website/config/custom.js
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ module.exports.custom = {

// 🫧 Pricing and features
// 'website/views/pages/pricing.ejs': '', // « Covered in CODEOWNERS (2023-07-22)
// 'handbook/company/pricing-features-table.yml': '', // « Covered in CODEOWNERS (2023-07-22)
'handbook/company/pricing-features-table.yml': 'noahtalerman',

'handbook/company/testimonials.yml': 'mike-j-thomas',

Expand Down
12 changes: 6 additions & 6 deletions website/views/pages/customers/new-license.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<span purpose="quote-input" style="position: relative; cursor: text; padding: 6px 16px 8px 16px;" class="form-control" @click="clickResetForm()" v-if="numberOfHostsQuoted">{{formData.numberOfHosts}}<span style="position: absolute; cursor: pointer; bottom: 14px; right: 16px;" class="text-muted fa fa-times-circle pl-2"></span></span>
</div>

<div style="color: #515774;" class="order-last text-left text-sm-right col-12 col-sm-6 pr-0 pl-sm-4 pl-0 pt-sm-4" v-if="showQuotedPrice && numberOfHostsQuoted < 700">
<div style="color: #515774;" class="order-last text-left text-sm-right col-12 col-sm-6 pr-0 pl-sm-4 pl-0 pt-sm-4" v-if="showQuotedPrice && numberOfHostsQuoted < 300">
<p class="small">
<strong class="pr-1" style="font-size: 18px; color: #192147">$7.00</strong>/ host / month<br>(Billed annually)
</p>
Expand All @@ -28,16 +28,16 @@
<strong>Order summary</strong>
</div>
<div class="d-flex flex-row justify-content-between">
<p class="mb-0">Fleet Premium (self-hosted<span v-if="numberOfHostsQuoted > 699" > or managed cloud</span>)</p>
<div class="ml-auto text-right" v-if="numberOfHostsQuoted < 700">
<p class="mb-0">Fleet Premium (self-hosted<span v-if="numberOfHostsQuoted > 299" > or managed cloud</span>)</p>
<div class="ml-auto text-right" v-if="numberOfHostsQuoted < 300">
<strong>${{(!showQuotedPrice || _.isNaN(formData.numberOfHosts * 7.00 * 12)) ? quotedPrice : formData.numberOfHosts * 7.00 * 12}}.00 <br purpose="order-form-line-break">/year</strong>
</div>
</div>
</div>
<div :class="[showBillingForm ? 'pt-2' : '' ]" v-if="!showBillingForm">
<ajax-button purpose="submit-button" spinner="true" type="submit" :syncing="syncing" class="btn btn-block btn-lg btn-primary" v-if="!numberOfHostsQuoted">Continue</ajax-button>
<ajax-button spinner="true" purpose="submit-button" :syncing="syncing" class="btn btn-block btn-lg btn-primary" @click="clickScheduleDemo" v-if="showQuotedPrice && numberOfHostsQuoted > 699">Talk to us</ajax-button>
<ajax-button spinner="true" purpose="submit-button" :syncing="syncing" class="btn btn-block btn-lg btn-primary" v-if="showQuotedPrice && numberOfHostsQuoted < 700">Continue</ajax-button>
<ajax-button spinner="true" purpose="submit-button" :syncing="syncing" class="btn btn-block btn-lg btn-primary" @click="clickScheduleDemo" v-if="showQuotedPrice && numberOfHostsQuoted > 299">Talk to us</ajax-button>
<ajax-button spinner="true" purpose="submit-button" :syncing="syncing" class="btn btn-block btn-lg btn-primary" v-if="showQuotedPrice && numberOfHostsQuoted < 300">Continue</ajax-button>
</div>
</ajax-form>
</div>
Expand Down Expand Up @@ -74,7 +74,7 @@
</div>
<div class="form-group" purpose="self-hosted-checkbox">
<input type="checkbox" id="self-hosted-acknowledgment" v-model.trim="formData.selfHostedAcknowledgment" @input="clickClearOneFormError('selfHostedAcknowledgment')">
<label purpose="self-hosted-note" :class="[formErrors.selfHostedAcknowledgment ? 'is-invalid' : '']" for="self-hosted-acknowledgment">I understand that managed cloud hosting is not available for less than 700 hosts. I will host Fleet myself.</label>
<label purpose="self-hosted-note" :class="[formErrors.selfHostedAcknowledgment ? 'is-invalid' : '']" for="self-hosted-acknowledgment">I understand that managed cloud hosting is not available for less than 300 hosts. I will host Fleet myself.</label>
<div class="invalid-feedback" v-if="formErrors.selfHostedAcknowledgment"><p>Please confirm that you will be hosting Fleet yourself.</p></div>

</div>
Expand Down
14 changes: 12 additions & 2 deletions website/views/pages/start.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,17 @@
<span purpose="custom-radio"><span purpose="custom-radio-selected"></span></span>
1 to 100
</label>
<label purpose="form-option" class="form-control" :class="[formData['how-many-hosts'].numberOfHosts === '100-700' ? 'selected' : '']">
<label purpose="form-option" class="form-control" :class="[formData['how-many-hosts'].numberOfHosts === '100-300' ? 'selected' : '']">
<input type="radio" v-model.trim="formData['how-many-hosts'].numberOfHosts" value="100-300" @input="clickClearOneFormError('numberOfHosts')">
<span purpose="custom-radio"><span purpose="custom-radio-selected"></span></span>
100 to 300
</label>
<label purpose="form-option" class="form-control" :class="[formData['how-many-hosts'].numberOfHosts === '300-10000' ? 'selected' : '']">
<input type="radio" v-model.trim="formData['how-many-hosts'].numberOfHosts" value="300-10000" @input="clickClearOneFormError('numberOfHosts')">
<span purpose="custom-radio"><span purpose="custom-radio-selected"></span></span>
300 to 10,000
</label>
<!-- <label purpose="form-option" class="form-control" :class="[formData['how-many-hosts'].numberOfHosts === '100-700' ? 'selected' : '']">
<input type="radio" v-model.trim="formData['how-many-hosts'].numberOfHosts" value="100-700" @input="clickClearOneFormError('numberOfHosts')">
<span purpose="custom-radio"><span purpose="custom-radio-selected"></span></span>
100 to 700
Expand All @@ -144,7 +154,7 @@
<input type="radio" v-model.trim="formData['how-many-hosts'].numberOfHosts" value="700-10000" @input="clickClearOneFormError('numberOfHosts')">
<span purpose="custom-radio"><span purpose="custom-radio-selected"></span></span>
700 to 10,000
</label>
</label> -->
<label purpose="form-option" class="form-control" :class="[formData['how-many-hosts'].numberOfHosts === '10000+' ? 'selected' : '']">
<input type="radio" v-model.trim="formData['how-many-hosts'].numberOfHosts" value="10000+" @input="clickClearOneFormError('numberOfHosts')">
<span purpose="custom-radio"><span purpose="custom-radio-selected"></span></span>
Expand Down

0 comments on commit 30885bf

Please sign in to comment.