Skip to content
Cidar (Cid) Mendizabal edited this page Jan 11, 2024 · 6 revisions

Grants Content Kit

Community-based organizations are often small and scrappy with limited time and resources. Funding is critical for them to continue serving their communities, and oftentimes funding is secured through grants. Global philanthropic funding related to climate change is minimal compared with the scale of the challenge and securing that funding is competitive. Grant writing is a long and tedious process that is often not a fully-staffed position. Considerable turnover at smaller organizations means institutional knowledge often leaves with that turnover. This ultimately impacts how an organization tells their story, writes winning grants, and secures funding.

About

The Grants Content Kit helps organizations write award-winning grant proposals faster. Co-designed and developed by our Community of volunteers who participated in the Climate Justice Impact Lab, the Grants Content Kit was developed for community-based organizations focused on climate justice who struggle to tell their story and write winning grant applications. The Grants Content Kit stores and organizes proposal content in Salesforce, allowing grant writers to streamline applications starting with their best content.

Use Cases

As a Director, I want to track the progress of all grant applications, both in progress and past, so that I can:

  • Maintain oversight and accountability: Easily see the current status of each application, including submission date, review stages, decision notifications, and awarded/denied outcomes.
  • Demonstrate organizational ownership: Track assigned team members and their roles within each application, ensuring clear responsibility and collaboration.
  • Support grant reporting and analysis: Generate reports on application timelines, funding success rates, and key performance indicators for informed decision-making and resource allocation.

As a Grant Manager, I want to be a powerhouse in managing grant opportunities and writers so that I can:

  • Own all content and streamline workflow: Securely store and manage all grant-related documents, from proposals to budgets and reports, in a central location accessible only to authorized users.
  • Track grant writer progress: Gain real-time visibility into each writer's workload, deadlines, and progress on assigned proposals, enabling timely intervention and support.
  • Collaborate seamlessly with writers and stakeholders: Facilitate efficient communication through built-in messaging tools, shared calendars, and version control for proposal drafts.
  • Simplify grant submission and compliance: Automate repetitive tasks and formatting, ensuring accurate and compliant submissions.
  • Generate insightful reports and dashboards: Analyze data on grant performance and writer productivity to generate grant success.

As a Grant Writer, I want to be a data-driven hero in creating compelling proposals that leverage our organization's rich data, so that I can:

  • Craft persuasive and impactful applications: Tailor proposals to individual grant opportunities by seamlessly integrating relevant organizational data (e.g., program outcomes, beneficiary demographics, financial reports) into narratives and budget justifications.
  • Collaborate efficiently with data analysts and stakeholders: Access and analyze data directly within the grant writing platform, enabling seamless collaboration and data-driven decision-making throughout the proposal development process.
  • Simplify data integration and compliance: Minimize manual data entry and ensure accurate and compliant submissions through built-in data connectors and automated reporting tools.
  • Focus on storytelling and narrative building: Free myself from tedious data management to focus.

Data Model

Grants app Data Model

Workflow

GrantGuides Storyboard UX

Get Grants Content Kit

  1. Install the package in your org.
  2. Assign the GGW User Permissions permission set to a user.
  1. Click Setup, Users, and then Permission Sets.
  2. Click GGW User Permissions.
  3. Click Manage Assignments, and then assign users to that permission set.
  4. Save your changes.

Use the Grants Content Kit

Home Tab

The Home tab shows important information about your current and past proposals. This page is customizable and can include information that's important to you and your organization. By default, this page shows lists of various proposal types and two graphs. You can also create a new grant from this page.

Edit an Existing Proposal

  1. Click the Application Name of an existing proposal to open. You can also edit the Description and Status fields by hovering over the field and clicking the pencil icon.
  2. Once the editor opens, make changes to the proposal.
  3. Save your changes.
  4. To see the updated Status of the application, refresh your page.

Create a New Proposal

  1. Click Start New Grant Application.
  2. Add details about your proposal.
  • Grant Name: Enter a unique name.
  • Suggested sections to include: Select the sections you want to include.
  • Search for sections: If you don't find a section in the Suggested Section list, search for a specific section. If you can't find a section in the suggested section or by searching, create a new section.
  • Create new section: Type the name of the new section and click New Section. The new section will appear under Suggested sections to include. Note: The new section will exist for this and all future grant proposals.
  1. Save your changes.

Grant Editor Tab

The Grant Editor Tab is where you’ll create and edit grant proposals. If a grant hasn’t been created or selected, this tab will appear blank. Otherwise, this tab will populate with the proposal that was last being edited.

Create or Edit Content Blocks in Grant Editor Page

The Grant Editor Page is intended to allow grant writers a way to quickly build a grant proposal leveraging saved content and creating new content.

Each proposal section has a menu to complete specific actions to that particular content section.

  1. Add Block - Add saved content from your Content Block library. **Only content blocks associated with that section can be added.
  2. Edit Block - Opens the rich text editor to allow for editing of the content block.
  3. Save - Saves edits made to that content block for that particular section. Changes to a content section are not saved until this is selected. Users will know that they have saved because the rich text editor will close.
  4. Refresh to see your changes.
  5. Add to library - Allows users to save a content block to the library.
  6. Delete - Delete the section from the Grant Editor

Additional Actions on the Grant Editor Page

  1. Reorder - update order of the sections that appear. Use this feature to add a new section that isn’t currently in the Grant Editor.
  2. Use the refresh button if you make a change that you aren’t seeing appear in the Grant Editor page.
  3. Export - Export your Grant Application to a pdf.

Grant Applications

Use this tab to edit any grant proposal in your system or create a new grant proposal record (note, we recommend you create all new grant proposals from the Start New Grant Application button on the Home tab so you can configure the desired sections at the same time). To see all Grant Applications, select the down arrow under Grant Applications and select the ‘All’ view. Leverage the ‘pin’ icon to default to All going forward.

Edit a Grant Application

Select a Grant Application by clicking on the name of the grant in the GGW Grant Application Name. This will navigate you to the Grant Application Record. From here you can see important information about the grant and take actions on the selected Grant Application.

  1. Edit Application: Edit the content blocks and sections associated with that particular Grant Application. This is another way to edit the Grant Application, similar to the Grant Editor tab.
  2. Edit: Edit the Grant Application object. From here you can edit the Grant Application Name, Status, etc.
  3. Preview: Preview the completed grant proposal in PDF form to download.

Sections

These are the various types of sections seen on grant proposals. Each section will store content either from an existing or new Content Block in the Grant Editor. Organizations can create sections and adjust the behavior of those sections to be recommended or suggested for all new Grant Applications.

On the Sections tab, select the dropdown arrow below ‘Sections’ and select ‘All’. Once loaded, select the pin icon next to ‘All’ to pin the list to always show all of the existing sections. If no sections appear, that means that no sections exist in your instance. We recommend you create the following sections to begin with but also recognize that each organization is different and may have their own unique needs or naming conventions. Feel free to customize these as you like.

  • Program narrative
  • Executive summary
  • Statement of need
  • Project objectives
  • Plan of action
  • Goals and objectives
  • Budget narrative

Sections Details

  1. Section Name: Name used to identify the section
  2. Recommended: This section will appear checked in the New Grant Application flow initiated from the Start New Grant Application button on the Home tab.
  3. Suggested: This section will appear as a ‘Suggested section to include’ in the New Grant Application flow initiated from the Start New Grant Application button on the Home tab.
  4. Identifies the order that this Section will appear in the ‘Suggested sections to include’ in the New Grant Application flow initiated from the Start New Grant Application button on the Home tab.
  5. Section Details: Include unique details about the section so other users at your organization can quickly identify when to use a section.

Content Blocks

Content blocks contain saved content that correspond to a Section. Content blocks can be edited or added from the Content Block tab. When first clicking on the Content Block tab, select the drop down under ‘Content Blocks’ and select the All view. Select the pin to default to this view every time you return to the content tab.

Create a new content block

To create a new content block section, select ‘New’ on the Content Block tab.

  1. Content Block Name: Name used to identify the Content Block
  2. Description: The description section is where you will store the grant proposal content you want to save. The content saved in this field will be accessible in the Grant Editor.
  3. Short Description: Store information in this field to quickly identify the content block.
  4. Section: Identify the section this content block should be associated with. *If a content block is not associated with a section it will not appear when searching for saved content on the Grant Editor tab.

Edit a Content Block

To edit a content block, select the down arrow all the way to the right of the record and select ‘edit’. Users can also click on the Content Block Name and once they are on the record page, select ‘Edit’ at the top of the page.

Clone a Content Block

Content blocks can only be associated with a single section. In order to use a content block to be associated with multiple sections, users will have to create multiple copies of a single content block and update the Section for each to point to the desired sections.

To clone a Content Block, select the Content Block Name of the content block you want to clone. Once on the record page for that particular content block, click the down arrow at the top right corner of the page next to Edit and select Clone.

Tagging

The Grant Content Kit leverages Salesforce Topics to allow organizations to add tags to content blocks. This tagging can be used to quickly identify a winning content section or to categorize like content pieces with specific types of grant proposals.

To use topics, you have to enable them on the Content Block object.

Known issues & Limitations

Grant Preview (Export)

To pass record context and parameters from Lightning to Visual Force requires keeping a state of current Grant record. Lightning for security reasons (CROSS-SITE scripting attacks) do not allow any parameter passed to Visual Force because VFP is on different domain from LEX.

This reason launching preview tab with PDF view require a workaround - a state record/object. We create a single grant state record per user-grant keeping current Grant to initialize preview page when navigating from Grant editor LWC->Preview VisualForce crossing site boundary. As user changes to work on any new grant state record is updated with new Grant app ID.

This solution leads to limit of user can export only current grant and not able to simultaneously work on many Grants on many tabs/browsers and expect preview/export to work for all. Only the current active Grant can export.

There are no current other fixes for this limitation in Lightning Salesforce.

Default metadata issues deploying to org (Scratch, Sandbox)

These issues mostly related to development & QA lifecycle when setting up new org. While deploy to full org current repo has these issues in metadata that needs to be removed from package Reports and Dashboard Folders are shared to specific user ID that only for scratch but will never exists on other target org as this examples

Dashboard Folder [email protected]

Manage [email protected] User

Report or Folder

Manage [email protected] User

Home page layout has unknown item standard-Tags need to remove that

App Menu - need to remove from repo it not required for any org.

Developer Documentation

Create a Scratch Org

The GrantsGuides is a Salesforce DX project that can deploy to a target org in 2 methods.

Deploy as metadata using scratch or developer org.

If you are a developer and want to customize or test-drive this app in a scratch org, this repo provides a helper script that allows for Quick Start. Follow bellow comands to set up a new scratch org.

$ git clone https://github.com/Salesforce-org-Impact-Labs/GrantGuides.git

$ cd GrantGuides

$ scripts/dx/dxorg <org alias> <OPTIONAL: days for scratch org. Default 30>

After this script executes the new scratch org will be created from your DevHub and source code pushed to new org. At this point you are ready to test and build. Happy blazing new trails.

There are other usefull sfdx helper scripts can be found in scripts/dx directory:

  • dxtest <org alias> - Script to run all APEX unit tests on scratch org for this project
  • dxuser <org alias> - Create a QA/Test ser on scratch org

Now you have new org and this app deployed, what’s next? Here are some documentation resources to get you started if you are new to SFDX.

Post Installation requirements

Grants Content Kit app is using Topics to tag content, the target org needs to enable topics feature after installing this package. Enable topics for the org specific for object Content Block: API Name GGW_Content_Block__c How To Enable Topics for objects

How Do You Plan to Deploy Your Changes?

Do you want to deploy a set of changes, or create a self-contained application? Choose a development model.

Configure Your Salesforce DX Project

The sfdx-project.json file contains useful configuration information for your project. See Salesforce DX Project Configuration in the Salesforce DX Developer Guide for details about this file.

Grant Preview/Export

Preview grant document is implemented using VisualForce page rendered as PDF that enables user to view and download a document.

This page GGW_GrantPreview implimented using standard APEX controller extension for the reason to use this page as custom action on Grant record page as well as stand alone VisualForce Tab.

The HTML/CSS styles for this page GGW_GrantPreview are managed as static resource. The CSS file is in a folder resources/css/ggw_grant_preview.css

Developer Resources