pages/foundation/sponsorship.html (717 lines of code) (raw):
title: Sponsorship | Grails® Framework
CSS: /stylesheets/foundation.css
JAVASCRIPT: https://js.hsforms.net/forms/v2.js
body: foundation
---
<div class='headerbar chalicesbg'>
<div class='content'>
<h1>Foundation</h1>
</div>
</div>
<article class="content container" style="overflow: hidden;">
<div>
<div class="donations-tabs">
<div id='corporate-tab' class="tab">
<div role="button" class="tab-link" data-tab="corporate">
<img class="tab-image" src="[%url]/images/corporatesponsor.svg">
<div class="tab-title">Become A Corporate Sponsor</div>
</div>
</div>
<div id='community-tab' class="tab tab-active">
<div role="button" class="tab-link" data-tab="community">
<img class="tab-image" src="[%url]/images/communitysponsor.svg">
<div class="tab-title">Become A Community Sponsor</div>
</div>
</div>
</div>
<div class="donations-content tab-content" data-tab="community">
<h2 style="text-transform: uppercase;">Becoming A Grails Foundation Community "All Star" Sponsor</h2>
<p>We truly believe all of us is better than any one of us, and that energizes and guides us in all that we
do. As a member of the Grails Foundation Community “All Stars”, you are part of our project’s success,
so thank you!! Thank you for sharing it back and contributing to the Grails Project so that we can
continue to ensure technical innovation and advancement of the Grails framework as a free and open
public use software development framework for a growing global community. We are so happy to have such a
passionate and engaged community, and truly appreciate your support. The Grails Foundation relies on the
financial support of our Contributing Members to support and grow the Grails framework. If you are
interested in becoming a Contributing Member or have any questions regarding sponsorship details, please
contact us at <a href="mailto:foundation@grails.org">foundation@grails.org</a>.
<br><br>
An individual may become a Community Member “All Star” sponsor by making a financial contribution to one
of our defined sponsorship levels, or by making an anonymous donation to the Grails Foundation. There
are three levels of sponsorship: VIP, Super Fan, and Champion.
<br><br>
Contributing Members may support the Grails Foundation by contributing at one of our defined sponsorship
levels, or by making an anonymous donation to the Grails Foundation. There are five tiers of
sponsorship: Ambassador, Platinum, Gold, Silver, and Bronze. Please reach out to the Grails Foundation
Board of Directors at <a href="mailto:foundation@grails.org">foundation@grails.org</a> to discuss additional
opportunities to support and engage with our team.</p>
<h2>Other Ways To Support The Grails Foundation</h2>
<p>Other ways to support the Grails Foundation are available through our <a
class="tab-link" data-tab="corporate"
href="#corporate">Corporate Sponsorship Program</a>.</p>
</div>
<div class="donations-content tab-content" data-tab="corporate">
<h2 style="text-transform: uppercase;">Becoming A Grails Foundation Corporate Sponsor</h2>
<p>The Grails Foundation relies on the financial support of our Contributing Members to support and grow the
Grails framework. If you are interested in becoming a Contributing Member, or have any questions
regarding sponsorship details, please contact us at <a href="mailto:foundation@grails.org">foundation@grails.org</a>.
<br><br>
We encourage organizations that make extensive use of the Grails framework to support the continued
evolution and growth of the technology through the Grails Foundation Corporate Sponsor Program. The
generous support of our Corporate Sponsors allows the Foundation to continue to ensure technical
innovation and advancement of the Grails framework as a free and open public use software development
framework for a growing global community.
<br><br>
Contributing Members may support the Grails Foundation by contributing at one of our defined sponsorship
levels, or by making an anonymous donation to the Grails Foundation. There are five tiers of
sponsorship: Ambassador, Platinum, Gold, Silver, and Bronze. Please reach out to the Grails Foundation
Board of Directors at <a href="mailto:foundation@grails.org">foundation@grails.org</a> to discuss additional opportunities to support and engage
with our team.</p>
<h2>Other Ways To Support The Grails Foundation</h2>
<p>The Grails Foundation is also supported by our Community Member Sponsorship Program. If you are
interested in supporting the Grails Foundation as an individual, please see our <a
class="tab-link" data-tab="community"
href="#community">Community Member Sponsorship details</a>.</p>
</div>
</div>
</article>
<div class="tab-content" data-tab="community">
<article class="donations-level-desktop">
<table class="donations-table">
<thead>
<tr>
<th class="hide"></th>
<th>VIP</th>
<th>Super Fan</th>
<th>Champion</th>
</tr>
</thead>
<tbody>
<tr class="contributions">
<td>Donation Level</td>
<td><span class="txt-top">$</span><span class="txt-l">125</span></td>
<td><span class="txt-top">$</span><span class="txt-l">60</span></td>
<td><span class="txt-top">$</span><span class="txt-l">25</span></td>
</tr>
<tr>
<td>Annual Limited Edition Fan Pack</td>
<td>
<div class="reward-dot"></div>
</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Complimentary Seat in an Online Training Event</td>
<td>
<div class="reward-dot"></div>
</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Limited Edition Grails Foundation T-Shirt and Stickers</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td></td>
</tr>
<tr>
<td>Listed in Quarterly Reports</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
</tr>
<tr>
<td>Name Placement on Grails Foundation Sponsor Page</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
</tr>
<tr>
<td>Social Media Mention</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
</tr>
<tr class="button-row">
<td></td>
<td class="button">
<button class="donate-button" data-stripe-type="vip">Donate Now</button>
</td>
<td class="button">
<button class="donate-button" data-stripe-type="super-fan">Donate Now</button>
</td>
<td class="button">
<button class="donate-button" data-stripe-type="champion">Donate Now</button>
</td>
</tr>
</tbody>
</table>
</article>
<article class="donations-level-mobile">
<h2 class="donations-level-heading">Annual Contribution Levels</h2>
<!-- VIP Accordion -->
<div class="accordion">
<div class="accordion-header">
<label>Vip</label>
<div class="accordion-indicator"></div>
</div>
<div class="accordion-body">
<div class="price">$125</div>
<div class="benefits-heading">Member Benefits</div>
<ul class="benefits-list">
<li class="benefits-list-item">Annual Limited Edition Fan Pack</li>
<li class="benefits-list-item">Complimentary Seat in an Online Training Event</li>
<li class="benefits-list-item">Limited Edition Grails Foundation T-Shirt and Stickers</li>
<li class="benefits-list-item">Listed in Quarterly Reports</li>
<li class="benefits-list-item">Name Placement on Grails Foundation Sponsor Page</li>
<li class="benefits-list-item">Social Media Mention</li>
</ul>
<button class="donate-button" data-stripe-type="vip">Donate Now</button>
</div>
<div class='accordion-footer'></div>
</div>
<!-- End Vip Accordion -->
<!-- Super Fan Accordion -->
<div class="accordion">
<div class="accordion-header">
<label>Super Fan</label>
<div class="accordion-indicator"></div>
</div>
<div class="accordion-body">
<div class="price">$60</div>
<div class="benefits-heading">Member Benefits</div>
<ul class="benefits-list">
<li class="benefits-list-item">Limited Edition Grails Foundation T-Shirt and Stickers</li>
<li class="benefits-list-item">Listed in Quarterly Reports</li>
<li class="benefits-list-item">Name Placement on Grails Foundation Sponsor Page</li>
<li class="benefits-list-item">Social Media Mention</li>
</ul>
<button class="donate-button" data-stripe-type="super-fan">Donate Now</button>
</div>
<div class='accordion-footer'></div>
</div>
<!-- End Super Fan Accordion -->
<!-- Champion Accordion -->
<div class="accordion">
<div class="accordion-header">
<label>Champion</label>
<div class="accordion-indicator"></div>
</div>
<div class="accordion-body">
<div class="price">$25</div>
<div class="benefits-heading">Member Benefits</div>
<ul class="benefits-list">
<li class="benefits-list-item">Listed in Quarterly Reports</li>
<li class="benefits-list-item">Name Placement on Grails Foundation Sponsor Page</li>
<li class="benefits-list-item">Social Media Mention</li>
</ul>
<button class="donate-button" data-stripe-type="champion">Donate Now</button>
</div>
<div class='accordion-footer'></div>
</div>
<!-- End Champion Accordion -->
</article>
</div>
<div class="tab-content" data-tab="corporate">
<article class="donations-level-desktop">
<table class="donations-table">
<thead>
<tr>
<th class="hide"></th>
<th>Ambassador</th>
<th>Platinum</th>
<th>Gold</th>
<th>Silver</th>
<th>Bronze</th>
</tr>
</thead>
<tbody>
<tr class="contributions">
<td>Donation Level</td>
<td><span class="txt-l">Contact Us For Pricing</span></td>
<td><span class="txt-top">$</span><span class="txt-l">250,000</span></td>
<td><span class="txt-top">$</span><span class="txt-l">125,000</span></td>
<td><span class="txt-top">$</span><span class="txt-l">25,000</span></td>
<td><span class="txt-top">$</span><span class="txt-l">5,000</span></td>
</tr>
<tr>
<td>Host Grails Application Forge</td>
<td>
<div class="reward-dot"></div>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Representative on Foundation Technology Advisory Board</td>
<td>
<div class="reward-dot"></div>
</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Company Logo on Grails.org</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Logo placement on Grails conference collateral</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Joint Press Release</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td></td>
<td></td>
</tr>
<tr>
<td>Complimentary Seats in Online Training Events</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td></td>
</tr>
<tr>
<td>Listed in Quarterly Reports</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
</tr>
<tr>
<td>Blog Post Mention</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
</tr>
<tr>
<td>Company Logo on Foundation Sponsor Page (linked to corporate website)</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
</tr>
<tr>
<td>Social Media Mention</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
<td>
<div class="reward-dot"></div>
</td>
</tr>
<tr class="button-row">
<td></td>
<td class="button">
<button class="modal-button" data-hubspot-form="ambassador">Contact Us</button>
</td>
<td class="button">
<button class='donate-button' data-stripe-type="platinum">Donate Now</button>
</td>
<td class="button">
<button class='donate-button' data-stripe-type="gold">Donate Now</button>
</td>
<td class="button">
<button class='donate-button' data-stripe-type="silver">Donate Now</button>
</td>
<td class="button">
<button class='donate-button' data-stripe-type="bronze">Donate Now</button>
</td>
</tr>
</tbody>
</table>
</article>
<article class="donations-level-mobile">
<h2 class="donations-level-heading">Annual Contribution Levels</h2>
<!-- Ambassador Accordion -->
<div class="accordion">
<div class="accordion-header">
<label>Ambassador</label>
<div class="accordion-indicator"></div>
</div>
<div class="accordion-body">
<div class="price">Contact Us For Pricing</div>
<div class="benefits-heading">Member Benefits</div>
<ul class="benefits-list">
<li class="benefits-list-item">Host Grails Application Forge</li>
<li class="benefits-list-item">Representative on Foundation Technology Advisory Board</li>
<li class="benefits-list-item">Company Logo on Grails.org</li>
<li class="benefits-list-item">Logo placement on Grails conference collateral</li>
<li class="benefits-list-item">Joint Press Release</li>
<li class="benefits-list-item">Complimentary Seats in Online Training Events</li>
<li class="benefits-list-item">Listed in Quarterly Reports</li>
<li class="benefits-list-item">Blog Post Mention</li>
<li class="benefits-list-item">Company Logo on Foundation Sponsor Page (linked to corporate website)
</li>
<li class="benefits-list-item">Social Media Mention</li>
</ul>
<button class="modal-button" data-hubspot-form="ambassador">Contact Us</button>
</div>
<div class='accordion-footer'></div>
</div>
<!-- End Ambassador Accordion -->
<!-- Platinum Accordion -->
<div class="accordion">
<div class="accordion-header">
<label>Platinum</label>
<div class="accordion-indicator"></div>
</div>
<div class="accordion-body">
<div class="price">$250,000</div>
<div class="benefits-heading">Member Benefits</div>
<ul class="benefits-list">
<li class="benefits-list-item">Company Logo on Grails.org</li>
<li class="benefits-list-item">Logo placement on Grails conference collateral</li>
<li class="benefits-list-item">Joint Press Release</li>
<li class="benefits-list-item">Complimentary Seats in Online Training Events</li>
<li class="benefits-list-item">Listed in Quarterly Reports</li>
<li class="benefits-list-item">Blog Post Mention</li>
<li class="benefits-list-item">Company Logo on Foundation Sponsor Page (linked to corporate website)
</li>
<li class="benefits-list-item">Social Media Mention</li>
</ul>
<button class="donate-button" data-stripe-type="platinum">Donate Now</button>
</div>
<div class='accordion-footer'></div>
</div>
<!-- End Platinum Accordion -->
<!-- Gold Accordion -->
<div class="accordion">
<div class="accordion-header">
<label>Gold</label>
<div class="accordion-indicator"></div>
</div>
<div class="accordion-body">
<div class="price">$125,000</div>
<div class="benefits-heading">Member Benefits</div>
<ul class="benefits-list">
<li class="benefits-list-item">Joint Press Release</li>
<li class="benefits-list-item">Complimentary Seats in Online Training Events</li>
<li class="benefits-list-item">Listed in Quarterly Reports</li>
<li class="benefits-list-item">Blog Post Mention</li>
<li class="benefits-list-item">Company Logo on Foundation Sponsor Page (linked to corporate website)
</li>
<li class="benefits-list-item">Social Media Mention</li>
</ul>
<button class="donate-button" data-stripe-type="gold">Donate Now</button>
</div>
<div class='accordion-footer'></div>
</div>
<!-- End Gold Accordion -->
<!-- Silver Accordion -->
<div class="accordion">
<div class="accordion-header">
<label>Silver</label>
<div class="accordion-indicator"></div>
</div>
<div class="accordion-body">
<div class="price">$25,000</div>
<div class="benefits-heading">Member Benefits</div>
<ul class="benefits-list">
<li class="benefits-list-item">Complimentary Seats in Online Training Events</li>
<li class="benefits-list-item">Listed in Quarterly Reports</li>
<li class="benefits-list-item">Blog Post Mention</li>
<li class="benefits-list-item">Company Logo on Foundation Sponsor Page (linked to corporate website)
</li>
<li class="benefits-list-item">Social Media Mention</li>
</ul>
<button class="donate-button" data-stripe-type="silver">Donate Now</button>
</div>
<div class='accordion-footer'></div>
</div>
<!-- End Silver Accordion -->
<!-- Bronze Accordion -->
<div class="accordion">
<div class="accordion-header">
<label>Bronze</label>
<div class="accordion-indicator"></div>
</div>
<div class="accordion-body">
<div class="price">$5,000</div>
<div class="benefits-heading">Member Benefits</div>
<ul class="benefits-list">
<li class="benefits-list-item">Listed in Quarterly Reports</li>
<li class="benefits-list-item">Blog Post Mention</li>
<li class="benefits-list-item">Company Logo on Foundation Sponsor Page (linked to corporate website)
</li>
<li class="benefits-list-item">Social Media Mention</li>
</ul>
<button class="donate-button" data-stripe-type="bronze">Donate Now</button>
</div>
<div class='accordion-footer'></div>
</div>
<!-- End Bronze Accordion -->
</article>
</div>
<div class="outro">
<span class="outro-content">
<p>To learn more about donating to the Grails Foundation, please provide us with your contact information and we will be in touch!</p>
<button class="contact-us-general modal-button" data-hubspot-form="general">Contact Us</button>
</span>
</div>
<div id="modal-ambassador" class="contact-modal">
<button class="contact-us-close">X</button>
<div id="modal-ambassador-target" class="contact-modal-iframe-wrapper" data-hubspot-form="ambassador"></div>
</div>
<div id="modal-general" class="contact-modal">
<button class="contact-us-close">X</button>
<div id="modal-general-target" class="contact-modal-iframe-wrapper" data-hubspot-form="general"></div>
</div>
<script src="https://js.stripe.com/v3/"></script>
<script>
;(function () {
const DOMAIN = location.protocol + '//' + location.hostname
const SUCCESS_URL =
DOMAIN +
'/foundation/thank-you.html?&session_id={CHECKOUT_SESSION_ID}'
const config = {
hubspot: {
portalId: '4547412',
formIds: {
ambassador: '08f40ccd-5958-4e71-923f-4d3197662b9f',
general: '3cd89d07-d575-405c-a9c1-d8c22c765cea',
}
},
stripe: {
publishableKey: "pk_live_51IGq93DqIkTDdYVMoqSoMTK3dFdP0hTY58P1bYabnGbDNlNx140O9nN3kjoabbLTo4fVNqOMRtogiN9lbcGcgExd00lAFVfqQf",
prices: {
'vip': {
priceId: "price_1IJNCEDqIkTDdYVM8OCdqTiY",
description: "VIP Level Community All Star Sponsor"
},
'super-fan': {
priceId: "price_1IJNC8DqIkTDdYVMUp2vxFGZ",
description: "Super Fan Level Community All Star Sponsor"
},
'champion': {
priceId: "price_1IJNByDqIkTDdYVMYetm8IpT",
description: "Champion Level Community All Star Sponsor"
},
'platinum': {
priceId: "price_1IJNClDqIkTDdYVMoYjJly9d",
description: "Platinum Level Corporate Sponsor"
},
'gold': {
priceId: "price_1IJNCaDqIkTDdYVMFjhfaysd",
description: "Gold Level Corporate Sponsor"
},
'silver': {
priceId: "price_1IJNCUDqIkTDdYVMP8OV9jXJ",
description: "Silver Level Corporate Sponsor"
},
'bronze': {
priceId: "price_1IJNCKDqIkTDdYVMojdf0yEz",
description: "Bronze Level Corporate Sponsor"
},
}
}
};
function initTabs() {
function chooseTab(link) {
document.querySelectorAll(".tab").forEach(function (tab) {
if (link + "-tab" === tab.id) {
tab.classList.add("tab-active")
} else {
tab.classList.remove("tab-active")
}
location.hash = '#' + link
})
document.querySelectorAll(".tab-content").forEach(function (contentArea) {
const contentType = contentArea.dataset.tab
if (contentType === link) {
contentArea.classList.remove("hidden")
} else {
contentArea.classList.add("hidden")
}
})
}
function onTabClick() {
// `this` will always point to the '.tab-link'
// and not any of the children that may
// come in on the event
const link = this.dataset.tab
chooseTab(link)
}
document.querySelectorAll(".tab-link").forEach(function (button) {
button.addEventListener('click', onTabClick)
})
chooseTab(location.hash.replace("#", "") || "community")
}
function initHubspotForms() {
document.querySelectorAll(".contact-modal-iframe-wrapper").forEach(function(wrapper){
const formName = wrapper.dataset.hubspotForm
const formId = config.hubspot.formIds[formName]
hbspt.forms.create({
target: "#"+wrapper.id,
portalId: config.hubspot.portalId,
formId: formId
});
})
document.querySelectorAll('button.modal-button').forEach(function (button) {
const formName = button.dataset.hubspotForm;
const modal = document.getElementById('modal-' + formName);
function clickHandler() {
modal.classList.add('active');
document.body.classList.add('drawer-active');
}
function closeHandler() {
modal.classList.remove('active');
document.body.classList.remove('drawer-active');
}
modal.querySelectorAll('.contact-us-close').forEach(function (closeButton) {
closeButton.addEventListener('click', closeHandler);
});
button.addEventListener('click', clickHandler);
});
}
function initStripe() {
// noinspection JSUnresolvedFunction - this is window level
const stripeApi = Stripe(config.stripe.publishableKey)
// Do What We need to do with strip
function goToStripe(stripeData) {
window.sessionStorage.setItem(
'FOUNDATION_SUPPORT_LEVEL',
JSON.stringify(stripeData)
)
const lineItems = [{price: stripeData.priceId, quantity: 1}]
// We'll use this on the thank you page
stripeApi
.redirectToCheckout({
mode: "subscription",
lineItems: lineItems,
submitType: 'donate',
successUrl: SUCCESS_URL,
cancelUrl: window.location.href,
})
.then(handleResult)
}
// Handle any errors from Checkout
function handleResult(result) {
if (result.error) {
const displayError = document.getElementById(
'error-message'
)
displayError.textContent = result.error.message
}
}
function stripeButtonClickHandler(event) {
event.preventDefault()
const dataSet = event.target.dataset;
const stripeType = dataSet.stripeType
if (!stripeType) {
return; // probably the wrong button
}
const stripeData = config.stripe.prices[stripeType];
if (stripeData) {
goToStripe(stripeData)
} else {
alert("Sorry, We could not find that donation tier level")
}
}
document.querySelectorAll('.donate-button').forEach(function (button) {
button.addEventListener('click', stripeButtonClickHandler)
})
}
function initAccordions() {
document.querySelectorAll(".accordion").forEach(function (accordion) {
function toggleAccordion() {
accordion.classList.toggle("active")
}
accordion.querySelectorAll(".accordion-header").forEach(function (header) {
header.addEventListener("click", toggleAccordion)
})
})
}
initTabs();
initHubspotForms();
initAccordions();
initStripe();
})()
</script>