These documents are a combination of the former YMCA Website Services Community User Documentation and the User Manual.
If you see something missing or would like to request a new topic, please open an issue.
This is the multi-page printable view of this section. Click here to print.
These documents are a combination of the former YMCA Website Services Community User Documentation and the User Manual.
If you see something missing or would like to request a new topic, please open an issue.
This tool allows you the flexibility to format content however you want within a certain container or area.
Bundled with the Drupal core and the distribution, CKEditor provides a number of different buttons for styling and formatting, as well as a Source editor if you are so inclined to edit HTML directly.
CKEditor has been upgraded to version 5 as of Drupal 10, and is a big improvement over CKEditor 4 — the linking experience is much smoother, uploading images is much faster, and more.
For more info on CKEditor 5, check out these resources (not all features may be implemented in the distribution):
Links are simple in YMCA Website Services - just highlight your text and click the link icon (🔗
) or type Ctrl / Cmd + K. Once the pop-up appears, type your URL into the field and click Save.
Read more and demo this on CKEditor Site.
In the Advanced options of the link dialog, you can add attributes to links, including a label, HTML ID, and CSS classes. You can also opt to have your link open in a new window/tab.
The Button editor that existed in the prior version of the text editor (CKEditor 4) has changed with CKEditor 5 and Drupal 10. Content editors can now add button classes alongside the Advanced Link Options.
Create a button by adding Bootstrap classes to a link:
btn
prefix. Your complete CSS Classes might be something like btn btn-primary
.The distribution combines the default Boostrap button component with some custom styles as demonstrated at YMCA Lincoln, NE.
btn
. That sets up the default button styles.btn-primary
or btn-light
.btn-primary
style will use the selected colorway for its color, but all other options may use other colors that are not brand compliant.btn btn-primary
.It’s best to experiment with styles and make sure to check that your button displays as expected before saving the page.
If you’re building a long landing page, you may want to be able to link users directly to a specific section of the page. We do this using an “anchor” link or “in-page” URI fragment.
The process involves two steps:
An anchor is any piece of content—anything from a heading to a tiny space—that has an id
in its code. The easiest way to add this is by creating a small hidden link at the beginning of the section in which you’d like to link to.
#
thank-you
or adding-an-anchor
.Once you’ve saved the page, you can test the anchor out by appending a #
then the id
to your page URL. For instance, this section’s URL with anchor is:
https://ds-docs.y.org/docs/user-documentation/text-editor/adding-links#adding-an-anchor
If you enter that URL in your browser, it should take you directly to the anchor in the page.
To link to the anchor, we create a regular link and then add the anchor:
/docs/user-documentation/text-editor/adding-links
./docs/user-documentation/text-editor/adding-links#adding-an-anchor
.Now, your internal link should take users to the exact location in the page that you’ve specified.
TIP: If your anchor doesn’t quite go where you expect, or the section is hidden by your navigation when you use the link, try moving the anchor to the end of the previous section instead of the start of the section you’re trying to anchor to, that way users will end up with the right section of the page in view.
/
after your .com
, .org
, etc.https://
.https://example.org/about
."mailto:example@example.org."
To update/change a link, click on the link text then click the link icon or use the popup options (in CKEditor 5).
To remove a link, highlight the link text and click the unlink icon.
A community-contributed module, Linkit
provides an autocomplete interface for internal and external linking in rich-text editors. Linkit supports nodes, users, taxonomy terms, files, comments and basic support for all types of entities that define a canonical link template.
Drupal core will soon provide link autocomplete suggestions in CKEditor similar to what this module does. Until that issue is complete, developers may want to install and configure Linkit to improve the linking experience in the WYSIWYG editor.
Once your site is updated to use CKEditor 5 you will see a new Insert Media button that unifies the processes for embedding Images, Documents, and Videos.
Once your media has been inserted into the field, you can hover over the media to choose from a variety of options.
Displays a Caption area below your image. Once toggled, type your caption below the image.
Allows the media to be linked. See Adding Links for more information.
(for Images only)
Allows you to add alternative text to the media. See WebAIM’s guidelines on Alternative Text for help choosing the right alt text for your image.
Allows you to select the size of the image. Typically you might choose “Full”, “Half”, or “Thumbnail”. Options may vary depending on site configuration.
Choose how to align the media:
Click and drag anywhere on the inserted media to relocate it in the WYSIWYG area.
Use the ⮐ button at the top or bottom of the media to insert a paragraph before or after it.
Click to select the media, then type Delete to remove it.
Choose any of the options for your text below by clicking on the icon/performing the keyboard shortcut indicated. To format text you’ve previously typed, highlight the text and then click on the button in the editor. Many formatting options also have keyboard shortcuts.
Demo Basic Text Formatting on CKEditor 5. or read more detail about these features.
Demo Basic Text Formatting on CKEditor 4 >
Most Ys will not use the “Formatted” format, which styles text like HTML code.
As an alternate to using the link tool, you can easily create buttons with YMCA Website Services using the button editor. When you click on the button icon, it will open a pop-up.
You can also edit a button you’ve created previously by clicking on the link in the text editor.
There are three tabs for creating your button: an info tab, a target tab, and an icon tab.
This screen gives you basic options to style your link or button. On the top left “Style Option,” you will have several options to style your button or output it as a link.
@mlefler From the YMCA of Lincoln, NE, built this guide to provide examples of possible styles for buttons. Ask your developer partner to provide you a style guide for your site.
The top right “Size” dropdown four options for your button size. If you chose “Link” style option, the Size option will not affect your link.
Add the text for your link/button in the bottom left. Enter your link in the URL field on the bottom right.
/
after your .com
, .org
, etc./about
. This is called the relative path, and it will help your analytics tracking.https://
.https://example.org/about
.mailto:example@exampleymca.org.
More on absolute vs relative links.
This tab gives you the ability to change the behavior of your link. By default, all links will have a “not set” behavior, which means the link will open in the same active tab. The other options include…
You can add icons to your buttons or links in the icons tab. On the right, you will have fields that integrate with the Font Awesome library. To have an icon show up on the left, use the Left Icon text field. For the right, use the Right Icon text field.
Example: For a Right Chevron, type fa-chevron-right
.
View free font awesome icons at fontawesome.com
Note: The left field makes reference to the Bootstrap Glyphicons library. As of this documentation, this icon library has been deprecated, and the Glyphicons fields will not work in YMCA Website Services.
Because the button embed is an open-source tool developed by a third party, these fields will go away once the code’s maintainer updates the code.
The table editor has been drastically improved in CKEditor 5 and is described in detail in their documentation.
To add a table, click on the table icon. A popup will appear with your initial setup options:
To edit a table after you’ve built one, right click on the table. To access the basic table options, click on “Table Properties.”
You can also double-click inside a table cell.
To add a row or column, right-click and go to either “Row” or “Column” in the options that appear. You can insert a row or column before or after the current row/column.
Both the row and column options allow you to delete from the right-click options as well. Just right-click > Row or Column > Delete Row OR Delete Column.
To delete multiple rows or column, just highlight the rows or columns you want to delete.
The “Cell” option from the right-click menu gives you same options as Row and Column, including inserting cells and deleting cells. You can also merge cells or split cells as you would in an excel table by selecting those options from the right-click menu.
However, there is another option called “Cell Properties” that allows you to style your cells as well. Just right-click > Cell > Cell Properties.
This opens a dialogue box similar to the table properties. You can set the width/height for your cell (pixels only for height; pixels or percentages for your width) in the fields on the left.
Farther down on the left, you can choose from a dropdown whether or not to wrap the text in a cell.
You can also use dropdowns to set your vertical and horizontal alignments for your cells.
On the bottom right, you can set your border and background colors for your cells. These field support hexadecimal (#FFF) and rgba (256,256,256,1.0) color formats.
Finally, you can edit your cells to “span” two or more rows or columns. For example, if you have a header cell you want to span two columns, you can set the “Columns Span” field to 2.
If you would like to apply these styling options to multiple cells, just highlight the cells you want to edit and Right-Click > Cell > Cell Properties.
To see an example of what a table might look like on your site, open the “Source” tab on your text editor and insert the HTML. You can then edit the content inside using the WYSIWYG text editor.
<h2>Registration and Pricing</h2>
<table align="left" border="1" cellpadding="5" cellspacing="1" style="width: 500px;">
<caption>*A $25 deposit is due at the time of registration.</caption>
<thead>
<tr>
<th scope="col">Pricing Period</th>
<th scope="col">Dates</th>
<th scope="col">Member Pricing</th>
<th scope="col">Non-Member Pricing</th>
</tr>
</thead>
<tbody>
<tr>
<td>Early Registration</td>
<td>Feb. 1-29</td>
<td>$120/week</td>
<td>$135/week</td>
</tr>
<tr>
<td>Regular Registration</td>
<td>March 1-May 1</td>
<td>$130/week</td>
<td>$150/week</td>
</tr>
<tr>
<td>Late Registration</td>
<td>May 1-End of Summer</td>
<td>$150/week</td>
<td>$175/week</td>
</tr>
</tbody>
</table>
<style>
// To achieve the full effect of this table, insert this style tag above the table or insert it into the CSS Editor module.
/* margin fix for h6 embedded inside table */
td > h6 {
margin-bottom: 0;
}
/* Fix for mobile table -> issue seems to be related to aggregate CSS file */
.field-answer tr,
.field-answer td,
.paragraph--type--simple-content tr,
.paragraph--type--simple-content td {
display: block !important;
border: none;
}
.field-answer td,
.paragraph--type--simple-content td {
padding: .75rem .31rem;
text-align: left;
vertical-align: middle;
}
.field-answer tr,
.paragraph--type--simple-content tr {
padding: .625rem 0;
}
.field-answer thead,
.paragraph--type--simple-content thead {
display: none;
}
@media (min-width: 992px) {
.field-answer tr,
.paragraph--type--simple-content tr {
display: table-row !important;
}
.field-answer td,
.paragraph--type--simple-content td {
display: table-cell !important;
}
.field-answer thead,
.paragraph--type--simple-content thead {
display: table-header-group;
}
}
</style>
<div class="table-responsive">
<table align="left" cellpadding="10" cellspacing="10" class="w-100 table table-striped">
<thead>
<tr>
<th scope="col">
<h5>Center</h5>
</th>
<th scope="col">
<h5>Address</h5>
</th>
<th scope="col">
<h5>Contact</h5>
</th>
<th scope="col">
<h5>Schedule (PDF)</h5>
</th>
<th scope="col"> </th>
</tr>
</thead>
<tbody>
<tr>
<td>
<h5>Bellevue</h5>
</td>
<td>8101 TN-100<br />
Nashville, TN 37221</td>
<td><a href="tel:615-646-9622">615-646-9622</a></td>
<td>
<p><a href="/sites/default/files/2020-01/dycmp-20-dycmp-pdf-bellevue-menu.pdf"><i class="far fa-file-pdf"> </i>Print Info</a></p>
</td>
<td><strong><a class="btn btn-outline-primary" href="https://operations.daxko.com/Online/4002/ProgramsV2/Search.mvc?program_id=TMP8151&location_ids=B58&category_ids=TAG12062">Register ></a></strong></td>
</tr>
<tr>
<td>
<h5>Brentwood</h5>
</td>
<td>8207 Concord Rd.<br />
Brentwood, TN 37027</td>
<td><a href="tel:615-373-9622">615-373-9622</a></td>
<td><a href="/sites/default/files/2020-01/dycmp-20-dycmp-pdf-brentwood-menu.pdf"><i class="far fa-file-pdf"> </i>Print Info</a></td>
<td><strong><a class="btn btn-outline-primary" href="https://operations.daxko.com/Online/4002/ProgramsV2/Search.mvc?program_id=TMP8151&location_ids=B45&category_ids=TAG12062">Register ></a></strong></td>
</tr>
<tr>
<td>
<h5>Clarksville</h5>
</td>
<td>260 Hillcrest Dr.<br />
Clarksville, TN 37043</td>
<td><a href="tel:931-647-2376">931-647-2376</a></td>
<td><a href="/sites/default/files/2020-01/dycmp-20-dycmp-pdf-clarksville-menu.pdf"><i class="far fa-file-pdf"> </i>Print Info</a></td>
<td><strong><a class="btn btn-outline-primary" href="https://operations.daxko.com/Online/4002/ProgramsV2/Search.mvc?program_id=TMP8151&location_ids=B54&category_ids=TAG12062">Register ></a></strong></td>
</tr>
<tr>
<td>
<h5>Donelson</h5>
</td>
<td>3001 Lebanon Pike<br />
Nashville, TN 37214</td>
<td><a href="tel:615-889-2632">615-889-2632</a></td>
<td><a href="/sites/default/files/2020-01/dycmp-20-dycmp-pdf-donelson-menu.pdf"><i class="far fa-file-pdf"> </i>Print Info</a></td>
<td><strong><a class="btn btn-outline-primary" href="https://operations.daxko.com/Online/4002/ProgramsV2/Search.mvc?program_id=TMP8151&location_ids=B41&category_ids=TAG12062">Register ></a></strong></td>
</tr>
<tr>
<td>
<h5><a>Franklin</a></h5>
</td>
<td>501 S Royal Oaks Blvd.<br />
Franklin, TN 37064</td>
<td><a href="tel:615-591-0322">615-591-0322</a></td>
<td><a href="/sites/default/files/2020-01/dycmp-20-dycmp-pdf-franklin-menu.pdf"><i class="far fa-file-pdf"> </i>Print Info</a></td>
<td><strong><a class="btn btn-outline-primary" href="https://operations.daxko.com/Online/4002/ProgramsV2/Search.mvc?program_id=TMP8151&location_ids=B53&category_ids=TAG12062">Register ></a></strong></td>
</tr>
</tbody>
</table>
YMCA Website Services allows you to upload and embed images directly into a block of text, either from your computer or from the YMCA Website Services media library and browser.
After you save your video to the media library, a dialogue box will appear, giving you some additional options for embedding it inline.
When you’re ready to embed the video, just click “Embed.” You can also click the back button on the bottom to choose a different video.
*If you want to make changes to the video you just embedded after you’ve added it, double click on the icon, and the “Embed media” dialogue will appear.
YMCA Website Services allows you to upload and embed images directly into a block of text, either from your computer or from the YMCA Website Services media library and browser.
After you save your image to the media library, a dialogue box will appear, giving you some additional options for embedding your image inline.
When you’re ready to embed the image, just click “Embed.” You can also click the back button on the bottom to choose a different image.
If you want to make changes to the image you just embedded after you’ve added it, double click on the icon, and the “Embed media” dialogue will appear.
YMCA Website Services allows you to upload and embed documents directly into a block of text, either from your computer or from the YMCA Website Services media library and browser.
After you save your document to the media library, a dialogue box will appear, giving you some additional options for embedding it inline.
When you’re ready to embed the document, just click “Embed.” You can also click the back button on the bottom to choose a different document.
*If you want to make changes to the document you just embedded after you’ve added it, double click on the icon, and the “Embed media” dialogue will appear.
There are two different kinds of Content Types in the distribution:
These content types are built for Layout Builder or are Layout Builder-compatible when the supporting module is enabled:
These content types use the legacy Paragraphs page builder:
These content types help are not displayed on their own, but are used in supporting applications:
This gives content editors the ability to vary the layout and views display depending on the type of article created (news item, blog post, or press release). This way, if an association wants to display news items on a news page, and blog posts on a blog page, they can differentiate based on where they would like the article to display on the site.
Article also allows content editors to include Layout Builder components within the page.
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
<iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="allowfullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/FBtQmfy9C7Q?autoplay=0&controls=1&end=0&loop=0&mute=0&start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"></iframe>
</div>
Go to Admin > Content > Add Content > Article (Layout Builder)
Fill in the content fields:
Once you create an Article you can customize the layout with Layout Builder. These components are built specifically to work with the Article content type:
Designs:
Go to Admin > Content > Add Content > Event (Layout Builder)
Fill in the content fields:
Once you create an Event you can customize the layout with Layout Builder. These components are built specifically to work with the Event content type:
Content editors rarely, if ever, enter information directly into these content types on a day-to-day basis. However, it is important to know how they work and how they relate to manually-entered content.
Example - Swim Lessons
- Swimming and Aquatics (Program Page, manually entered)
- Swim Lessons (Program Subcategory Page, manually entered)
- Youth Group Swim Lessons (Activity, mapped from CRM or custom automation)
- Stage 3 (Class, mapped from CRM)
- Monday/Wednesday/Friday 9:30-10 a.m. at Franklin Family YMCA (Session, mapped from CRM)
Note: This is an example only. Depending on your CRM and any customizations you make, your setup for Swim Lessons or any program may look different that the example listed above.
Often used as the top-level filter in Activity Finder and Repeat Schedules, Activity consists of three fields:
A narrower selection of Program Offerings. Not an individual instance, but a smaller selection of instances.
Classes have three ields that map into Activity Finder and Repeat Schedules: a description, a title and entity reference/tag to an Activity.
Class also contains Areas for content editors to add paragraphs; however, depending on how your CRM and the number of programs your Y runs, it may not be practical use these fields.
An individual program offering. Contains fields for pricing, session date/time, instructor, ages and a registration link. This are the individual rows/instances in Repeat Schedules and Activity Finder.
Unlike most content types in YMCA Website Services, you don’t use Alert to create pages. Instead, Alerts display as a rendered entity or a section of content on other pages.
Alerts also don’t use Paragraphs or Layout Builder. By design, the layout of Alerts are rigid; however, the text editor and the color options listed below allow content editors some flexibility.
Go to Admin > Content > Add Content > Alert (/node/add/alert
).
Visibility pages: This is where you control where the alert displays on your site. In the large text field, you write the relative path of the pages where you want this to appear or not appear. Enter each path on a new line. Each path should start with a slash, /
.
You also have the option to use an asterisk character *
as a wildcard so you don’t have to enter a large number of relative paths. For example, if you wanted to add an alert to a /health-and-fitness
section, you would enter /health-and-fitness*
in the text area.
What is a relative path? A relative path is the part of your URL after your domain name.
At
https://example.com/community
, for example, the domain name isexample.com
, while the relative path is/community
.
Using the Alert visibility state radio buttons at the bottom, you can either show or hide your alert from the page paths listed in the text area above.
Location: This field provides additional flexibility for controlling where the Alert will display. Selecting a Location from this field will display the alert on the Location page and any related page (blog posts, news, landing pages) that has the corresponding Location selected.
Alerts can be rearranged to control the order in which they display if multiple appear on a page. The Alerts Rearrange page can be accessed via its link on the Content page or at Admin > Content > Alerts Rearrange (/admin/content/alerts-rearrange
). The link might not appear in the Admin menu prior to version 10.3.1
.
To rearrange alerts:
Figuring out exactly how to show an alert on the right pages can be a challenge. The Visibility pages, Alert visibility state, and Location selectors work together to control where an alert is displayed. Here are some tips on how to get just what you want.
To show an alert only on a single Location page:
/locations/downtown-ymca
To show an alert on a location and any related pages:
“Related pages” in this case means any page with a specific location selected in its Location field.
The wildcard *
can be used to specify any page in a section of the site.
To show an alert on every page on the site:
*
To show an alert on every swimming page:
/programs/swimming*
The position of the
*
wildcard is important. Consider/programs/swimming*
versus/programs/swimming/*
:Show for
/programs/swimming*
:
- ✅
/programs/swimming
- ✅
/programs/swimming/drop-in
- ✅
/programs/swimming/swim-lessons
Show for
/programs/swimming/*
:
- ❌
/programs/swimming
- ✅
/programs/swimming/drop-in
- ✅
/programs/swimming/swim-lessons
You can use /
OR <front>
to show an alert on the home page. <front>
is a special token and should always be listed on its own line.
/
OR <front>
Sometimes you want to show an alert on all pages except a few. Maybe you have an alert for a fundraising campaign but don’t want to show it on the “Join” or the “Give” page. The Hide for the listed pages option can help in this case.
To show an alert on all pages except “Join” and “Give”:
/join
/give
Note: This Content Type is similar to the News Post content type.
Blog posts in YMCA Website Services allow you the flexibility to both create simple posts using only the text editor and more robust layouts with paragraphs.
When you decide to use a blog post depends greatly on your Association’s content strategy. However, blog posts are designed so you can post timely pages and list them throughout your site. Examples of blogs may include:
There are three fields that appear above the accordion tabs below:
Title: The name of the blog. Displays in the header area on your blog post and in the cards that display in a list of blogs.
Locations: An option select for you to tag a post with one or more locations (Camp or Branch). Use Ctrl+Click (Windows) or Cmd⌘+Click (Mac) to select multiple locations.
Each time you create a new Branch Page or Camp Page it populates into the locations field automatically
This dropdown changes the style of the post’s card when it appears in a listing format. This dropdown does not affect any layouts on the page.
Carnation | Lily |
---|---|
Carnation | Lily |
---|---|
When choosing color card, you are presented with two styling options in dropdowns. Both are entity references to the Color vocabulary:
Carnation | Lily |
---|---|
The content area is the main body of your page. You can use the default fields entered below for a simple block post or build a more robust layout using paragraphs.
Image: Displays above your description and inside a Photo Card. Not required. Uses the media browser and image field.
Description: Using the text editor, you can enter anything from a brief summary to the entire body of your text.
The sidebar area also allows you embed paragraphs below a section that links to the centers tagged in the post, the categories and a Related Content field that allows you to promote other Blog Posts by tagging them with the autocomplete widget.
While you have the option to build layouts in blog posts using paragraphs, all blog posts are strictly two-column layouts. The Content Area displays on the left while the Sidebar Area displays on the right.
Branch pages contain multiple data fields that work together to help members find the right location, hours, and amenities that fit their needs.
Designs:
Branch Page - Design System
Branch Amenities - Design System
Branch Hours - Design System
Branch Menu - Design System
Branch Preferred Branch - Design System
Branch Social Links - Design System
Go to Admin > Content > Add Content > Branch
Fill in the content fields:
Address: The physical address of your location. Be sure to include all address fields.
Branch Coordinates (required): This field pins your branch on the locations map.
lat, long
into one of the fields, then cut and paste to separate them.info@example.com
, rather than the email for an individual staff member.Add the main hours for your facility. These are displayed in the header and on the Locations page.
<open time> <separator> <end time>
should work, but we recommend something like 7am-5pm
This section is not displayed when “Use Layout Builder” is selected.
There is no image field for the Branch content type, so you will need to add one of the following paragraphs to add an image and title at the top of your page:
This section is not displayed when “Use Layout Builder” is selected.
The Branch Content Type only has one layout option—one column—and no description field. Paragraphs will form the body of the page.
The following paragraph types integrate directly with Branch pages:
This section is not displayed when “Use Layout Builder” is selected.
Use the bottom area for anchoring elements on your page. The following paragraphs are great for this area:
Type in and select which amenities are available or not available at your branch using the autocomplete field.
If you embed a Branch Amenities with the Icons paragraph or Branch Amenities block on your page, the amenities will be displayed in your content. The Amenities will also serve as filters for branches on your locations page.
If you don’t see an option available or would like to rename a branch amenity, go to Structure > Taxonomy > Amenities. See Taxonomy for more info.
The Branch Menu is a single-level sub-menu that displays within a branch page (and sub-pages) that allows users to drill down to additional content specific to that branch. The Branch Menu always shows “Branch Home” as its first link.
Beginning in Website Services 9.2.13 content editors have the option of customizing the Branch page with Layout Builder. You can migrate from using Paragraphs to using Layout Builder on a branch-by-branch basis to ease the transition.
The Use Layout Builder checkbox on the Branch edit page non-destructively switches between Paragraphs and Layout Builder. If the checkbox does not appear, ensure the Y Branch (y_branch
) module is installed at Admin > Extend (/admin/modules
).
Branch pages have several specialized components that utilize the structured data (fields) that already exist on your branch page in newly designed Layout Builder Blocks.
In addition to using many of the standard Layout Builder components, Branch pages also use several components that display the fields described above.
These blocks are available via All system blocks in Layout Builder:
One additional component is available that requires additional information:
Designs:
This component allows you to place up to 6 social media links on a branch page.
This feature allows users to select a single branch location as their home / preferred branch so that they can easily access branch-specific content across the site.
The Home Branch selector popup will appear to users who arrive at the site and:
Users can select a Home Branch by:
Users can remove a Home Branch by:
Selecting a home branch will:
If you want to completely remove the Home Branch selector from your site you will need to disable it via the command line. DO NOT disable the module via the admin UI as this will result in an error.
drush pmu ws_home_branch openy_home_branch
Migrating Branches to Layout Builder involves recreating some content on the page. The process is similar to building a new Landing Page with Layout Builder but with a lot of the work done for you!
Once you are ready to migrate a Branch:
While YMCA Branches may offer some form of summer day camp, they differ from facilities that primarily host programs related to outdoor camps. The Camp content type also enables editors to create sub-sites or “microsites” using a separate menu structure.
Designs:
If you are an independent YMCA camp or you’re an Association with one or more locations dedicated to outdoor camp, the Camp Content Type serves well as a landing page for those locations.
There are several considerations for Branches that host Day Camps in the center:
The Branch content type is intended to be the home page for branches.
Adding a Branch listing and a Camp listing for the same physical location creates duplicate listings for your center and could have search implications.
Camp pages don’t have fields for operating hours or amenities.
Branch Day Camps, unlike outdoor camps, tend to be listed in the same CRM as other branch-based programs, and therefore could integrate into Activity Finder, provided the CRM’s compatibility.
Recommended Content Types for Branch Day Camps
info@example.com
, rather than the email for an individual staff member.There is no image field for the Camp content type, so you will need to add one of the following paragraphs to add an image and title at the top of your page:
Below your header image, add in a Camp Menu paragraph for a secondary, full-width navigation.
The Camp Content Type only has one layout option—one column—and no description field. Add in almost any paragraph you want into the body of you page.
The following paragraph types integrate directly with Camp:
Use the bottom area for anchoring elements on your page. The following paragraphs are great for this area:
Beginning in Website Services 9.3, content editors have the option of customizing the Camp page with Layout Builder. You can migrate from using Paragraphs to using Layout Builder on a camp-by-camp basis in order to ease the transition.
The Use Layout Builder checkbox on the Camp edit page non-destructively switches between Paragraphs and Layout Builder. If the checkbox does not appear, ensure the Y Camp (y_camp
) module is installed at Admin > Extend (/admin/modules
).
The Camp page is often used as a landing page for a microsite with additional information - schedules, packing lists, and other camp-specific pages.
We have two camp-specific menus that help build this structure.
After setting Use Layout Builder for your Camp page, navigate to the Layout tab. You need to configure the Camp Quick Links in two blocks in order for them to properly display on desktop and tablet/mobile.
Please select the menu to display in this Camp Quick Links block
./admin/structure/menu
). To create a new menu, fill in these fields:Camp Coleman Quick Links
.camp-coleman-quick-links
.Please select the menu to display in this Camp Quick Links block
in the Header Section.Once you have completed the process you will see your Quick Links menu displayed in two sections of the Header. This will ensure that the menu is displayed properly across all displays.
... Camp Menu ...
The Camp Subpage (formerly “Camp Landing Page”) content type allows you to create internal pages for your camp section or microsite. Once you’ve created the parent Camp page, you are ready to creat additional Camp Subpage pages.
Note: The menu references on Camp Subpages are copied to the header when the page is created. Any updates to those menus (new items, reordering) will be reflected on all subpages, but later changes to the blocks (removing the menu altogether, changing the linked menu) will need to be made on both Camp and Camp Landing Page pages separately.
Camp Subpage are not automatically added to the Camp Menu of their corresponding Camp. Be sure to add the newly created Camp Subpage to the Camp Menu so that it’s properly linked.
Camp pages have a number of specialized components that utilize the structured data (fields) that already exist on your branch page in newly designed Layout Builder Blocks.
In addition to using many of the standard Layout Builder components, Camp pages also use a number of components that display fields described above.
The Camp Info Block is automatically added to the Body section of each Camp page. It displays content from the Contact Info section. It can be rearranged on the page but is not otherwise configurable.
When you create a new Camp page or switch an existing one to use Layout Builder, it will come with a pre-set Camp Header Section, which enables the configuration steps above. If you find some of those blocks are missing, you can restore them manually.
To completely start over, use the x to the left of Configure Camp Header to delete the section. Add a new Section and choose the WS Camp Header layout. Then, add the following blocks by selecting Add block in the corresponding region.
The default configuration for a the Camp Header block should be:
The Facility content type is used for locations where programming might take place that are not a full YMCA Branch. This might be a childcare facility, a shared-use space, or an office.
Designs:
Facilities share their design with the Branch content type.
10.3.1
, December 2023.)info@example.com
, rather than the email for an individual staff member.10.3.1
, December 2023.)For aside pieces of content, such as side navigations, promotional cards and content related to the main part of your page.
These sections are not displayed when “Use Layout Builder” is selected.
Use Paragraphs to add content to your Facility page.
Beginning in Website Services 10.3.0 content editors have the option of customizing the Facility page with Layout Builder. You can migrate from using Paragraphs to using Layout Builder on a facility-by-facility basis in order to ease the transition.
The Use Layout Builder checkbox on the Facility edit page non-destructively switches between Paragraphs and Layout Builder. If the checkbox does not appear, ensure the Y Facility (y_facility
) module is installed at Admin > Extend (/admin/modules
).
The migration process is identical to Migrating Branches to Layout Builder.
This is what you will see in your admin portal as your content’s name. it will also show as the page title in the Header unless you add a paragraph in the Header Area.
Landing Pages come with four basic layouts for desktop. For mobile, all layouts display in a single column, with the Sidebar Area stacking below the Content Area.
You can use any number of Paragraphs in these fields.
This page is the base for building pages with Layout Builder.
Go to Admin > Content > Add Content > Landing Page (Layout Builder)
Fill in the content fields:
Once you create a Landing Page you can customize it with Layout Builder.
Landing Pages come with these pre-configured sections:
Sections can be edited, reordered, or removed to configure your page as you like. You can even remove the header and footer altogether if you need to create content for a digital display or other embedded system.
The Membership Info Paragraph lists detailed membership information per location. Add one “Membership Info” section for each location that your membership applies to. If a location does not offer a membership type, you can leave it out.
Every membership management system will have different ways of linking in for members to complete their registration. Here are a few we know about. If you have tips for a MMS not listed here, feel free to leave them in the comments.
Navigate to: Membership > Membership Types > Edit > Online Settings. This provides the deep link to the specific membership types.
Note: This Content Type is similar to the Blog Post content type.
News posts in YMCA Website Services allow you the flexibility to both create simple posts using only the text editor and more robust layouts with paragraphs.
When you decide to use a news post depends greatly on your Association’s content strategy. However, news posts are designed so you can post timely pages and list them throughout your site. Examples of news posts may include:
There are three fields that appear above the accordion tabs below:
Title: The name of the news post. Displays in the header area on your news post and in a list view of news posts.
Locations: An option select for you to tag a post with one or more locations (Camp or Branch). Use Ctrl+Click (Windows) or Cmd⌘+Click (Mac) to select multiple locations.
Each time you create a new Branch Page or Camp Page, that location’s name populates into the locations field automatically
Category: An entity reference to the News Category vocabulary. Type in the name of the category and select from the options that appear, or create a new category/term by typing in a new one.
The content area is the main body of your page. You can use the default fields entered below for a simple block post or build a more robust layout using paragraphs.
Image: Displays above your description and inside a News Post listing. Not required. Uses the media browser and image field.
Description: Using the text editor, you can enter anything from a brief summary to the entire body of your text.
The sidebar area also allows you embed paragraphs below a section that links to the centers tagged in the post, the categories and a Related Content field that allows you to promote other News Posts by tagging them with the autocomplete widget.
While you have the option to build layouts in news posts using paragraphs, all news posts are strictly two-column layouts. The Content Area displays on the left while the Sidebar Area displays on the right.
In the right column, make sure the “promoted to front page” item is checked, so it will appear in any listings.
The Program content type is a high-level page that directs people to more specific program offerings.
An example of a Program in YMCA Website Services would be a Swimming & Aquatics page that directs people to more specific offerings, such as swim lessons or clinics.
Programs are pages that should link to more specific offering pages. Most often in YMCA Website Services sites, they are the main program pages in an YMCA Website Services mega menu setup.
Description: Displays above the main body of your content and serves as a tease for your Program page when it’s displayed as part of a list on another page. Minimal styling and short lengths are recommended.
Content: The main body of your content. Use paragraphs to build your page layout. Designed to integrate with the Categories Listing paragraph, but that is not required.
For aside pieces of content, such as side navigations, promotional cards and content related to the main part of your page.
Similar to landing pages, Program pages are designed for flexible layouts, with a couple key differences:
Program pages are designed for integration with the Categories Listing paragraph type. Program subcategory pages are tagged with a Program, and those subcategories are displayed as long cards on that Program page.
There is no layout dropdown. How your content displays depends on your theme.
Beginning in Website Services 10.3.1.1 content editors have the option of customizing the Program page with Layout Builder. You can migrate from using Paragraphs to using Layout Builder on a program-by-program basis to ease the transition.
The Use Layout Builder checkbox on the Program edit page non-destructively switches between Paragraphs and Layout Builder. If the checkbox does not appear, ensure the Y Program (y_program
) module is installed at Admin > Extend (/admin/modules
).
Program pages can take advantage of the Categories Listing block to list child Program Subcategory pages. To add the block:
NOTE: As of version 10.3.1.1 (December 2023) the Categories Listing block styles have not been updated to be in line with the Design System. They will be updated as of the March 2024 release. Keep an eye on y_program releases for details.
Migrating Program pages to Layout Builder uses the same process as building a new Landing Page. See How to migrate to Layout Builder for information about preparing for the migration.
A subset of a Program, Program Subcategory pages list different types of program offerings, grouped into Activities.
Whereas a Program page would describe a Y’s Health & Fitness offerings in general, a Program Subcategory would break that down into subcategories such as …
Most Ys have opted to use Program pages as the top-level categories in their Programs mega menu. Subcategories are then the items underneath each category.
Subcategories, likewise, appear as horizontal cards on Program pages.
Learn about the Categories Listing Paragraph ⇒
Start by adding a Title for your Program Subcategory and tag it with a Program.
The Program tag will pull your Program Subcategory in as a horizontal card on a Program page. You can only tag a Subcategory with one Program.
Image: Using an image field, select an image from the media browser. Displays in the header and as a thumbnail in Categories Listing.
Color: A dropdown to select a background color for your header.
-> Note: The background color does not display on desktop in Carnation unless you do not have an image selected.
You have the option to add paragraphs in the Header Area. However, these paragraphs display below the below the image and title you enter above.
For example, if you add a banner in the Header Area, it will display below the title and image entered in those Header Area fields.
Subcategory was originally designed to work with the Classes Listing Filters paragraph in the Header Area and the Classes Listing paragraph in the Content Area.
View Subcategory Demo on YMCA Website Services Sandbox ⇒
With the integration of Activity Finder into YMCA Website Services, Classes Listing and Classes Listing Filters are becoming less popular among YMCA Website Services sites.
The Content Area includes a Description that displays full-width just below the Header Area.
When your Subcategory is showed in a Categories Listing on a Program page, the Description is the text inside the card.
You can embed content inside the Content Area, all of which will display below the Description.
The Sidebar Area will change the layout of the page into two columns once you enter content.
Use the Bottom Area for anchoring elements, such as small banners and webforms.
Beginning in Website Services 10.3.1.1 content editors have the option of customizing the Program Subcategory page with Layout Builder. You can migrate from using Paragraphs to using Layout Builder on a program-by-program basis to ease the transition.
The Use Layout Builder checkbox on the Program Subcategory edit page non-destructively switches between Paragraphs and Layout Builder. If the checkbox does not appear, ensure the Y Program Subcategory (y_program_subcategory
) module is installed at Admin > Extend (/admin/modules
).
Program Subcategory pages do not utilize any specialized blocks. See Layout Builder for the list of all components.
Migrating Program pages to Layout Builder uses the same process as building a new Landing Page. See How to migrate to Layout Builder for information about preparing for the migration.
Promotions are timed pieces of content that allow content editors the flexibility to create a single item that can be placed in multiple locations on the site, without having to duplicate or manage content in multiple locations.
Version 1 of the Promotion functionality was released in version 10.3.1.1 (December 2023). This version supports swapping promos into:
ws_promotion_activity_finder
module.ws_promotion_cards
module.ws_promotion_modal
module.Version 2 is planned for March 2024 and will support more components with more granular placement criteria.
Go to Admin > Content > Add Content > Promotion (/node/add/promo
)
Fill in the content fields:
Use the Scheduling options section in the sidebar to set a Publish on and Unpublish on time for your Promo (this requires cron
to be running on your server - check with your hosting partner).
In version 1, creating a Promotion and setting it as Published will automatically enable the promo in any available components (corresponding to the modules enabled above).
To filter a component to only a certain set of Promotions, edit a Layout Builder block and set the new Promotion Category field.
A block works like this - you choose a paragraph, and that paragraph asks you to create a block. You write a section of content inside that block.
You can now embed that block on another page simply by typing its name and click on it from a list of results.
While you will not need to edit these that often, blocks can also be added and configured on a site-wide level using the Block Layout. These blocks contain certain features that are considered “Global”, such as your Menus.
Themes are created with a set of Regions where certain section of content, or Blocks, can be placed. On a day-to-day basis, these regions are static in YMCA Website Services.
To view your site’s regions, head over to Structure > Block Layout and click on Demonstrate block regions. It is not recommended to change the configuration in your Block Layout.
To change layouts in individual pieces of content, editors and website managers typically use Paragraphs or Layout Builder.
Paragraphs that support blocks will have two buttons - Add New Custom Block and Add Existing Custom Block.
Adding a new custom block will allow you to retrieve it later on another page. When you go to retrieve a block, you will choose the Existing Custom Block option, type the Block Description in the search field, and choose from one of the options that appear.
Standard across all block types is the block description field, which serves as the name for your block. Use this description field to help identify your block when you are embedding it onto a page.
YMCA Website Services not only allows you to use blocks, but it supports different types of blocks for different types of content.
A basic block gives you a basic text editor and that’s it. This is great for embedding descriptions on cards across multiple pages.
The block type you will likely use most often is the simple block. A simple block gives you a basic text editor and that’s it. This is great for embedding descriptions on cards across multiple pages.
Use this block to schedule and unschedule sections/paragraphs on your page(s).
Using the Date Block Paragraph ⇒
This unformatted block allows you to use any type of HTML tag, great for for embedding scripts and iframes onto multiple pages. This block also allows more flexibility for technically-inclined content editors.
Layout Builder is a powerful new page-building addition to your YMCA website.
Drupal’s Layout Builder allows content editors and site builders to easily and quickly create visual layouts for displaying content. Users can customize how content is arranged on a single page, across types of content, or even create custom landing pages with an easy-to-use drag-and-drop interface.
YMCA Website Services 9.2.12 introduces a new Content Type: Landing Page (Layout Builder). This new page will allow you to build pages using Sections with different Layouts that contain Custom Blocks. Please contact your development partner if you need assistance updating the latest version.
To use Layout Builder, you’ll first have to create a new page:
Once you’ve saved, you will see an empty page. Click the Layout tab to enter Layout Builder or go directly there with Save and edit layout.
Navigate to the page you’d like to update, then click the Layout tab, like above.
Once you are in the Layout editor, you can create, edit, rearrange, and delete sections and blocks while viewing the page in a what-you-see-is-what-you-get preview mode.
Changes to the page are not displayed to site viewers until you Save Layout on the page and Publish it.
When in the Layout editor, you will have these options at the top of the page:
After saving your changes, be sure your page is published:
In Layout Builder, you will see the page divided up into Sections and Blocks. Your page may already be populated with some sections to get you started building, and you can change or edit those to fit your page.
Sections create the structure of the page and contain blocks. You can drag and drop blocks between sections, but you cannot move sections themselves—you can only create sections above or below existing sections.
You can remove sections by clicking the small “X” link at the top left of the section. Click on “Configure
Layouts define the structure of a section. YMCA Website Services comes with 1-, 2-, 3-, and 4-column layouts, and each layout has additional configuration options once it’s created. See advanced options for more details.
Some options in this configuration may not yet be fully supported.
While Sections contain the page’s structure, Blocks contain its content.
To create a block, click Add Block in any section of the page, then Create Custom Block.
Your YMCA website has a wide array of blocks to choose from. In this section, you will find detailed descriptions of those blocks.
The Content Editing Pane—the sidebar where you edit blocks —can sometimes be too small to get all of your content in there nicely. Simply drag anywhere on its left border to expand the pane.
When rearranging large blocks on the page it can often be challenging to drag them around. To make this easier, uncheck Show content preview at the top of the page. This will substitute the “WYSIWYG” preview for block titles, making the content much more compact.
If you run into a problem, get in touch.
Content on this page is adapted from Drupal.org and Western Washington University
The distribution has shipped with two versions of Layout Builder component designs. The first-generation “Pre-release” designs were shipped with version 9.2.12 (December 2022) and 9.2.13 (March 2023). The revised and feature-complete “Design System” designs shipped with the June 2023 release.
Discover our Design System in our interactive UI kit.
Based on the YMCA Brand Guide, the distribution contains four “colorways” that allow content editors to apply accessible, brand-compliant styles to all components on a Layout Builder-based page.
Blue | Green | Purple | Red |
---|---|---|---|
See How to use the Canadian Colorway for Layout Builder.
The distribution provides new Content Types for use with Layout Builder components.
Article | Branch | Camp | Event |
---|---|---|---|
Each of these components is available on Layout Builder pages via the Create custom block selector.
Component | Design |
---|---|
Accordion | |
Amenities | |
Article List | |
(Hero) Banner | |
Branch Hours | |
Branch Menu | |
Branch Preferred Branch | |
Branch Social Links | |
Breadcrumbs | |
Camp Menu | |
Camp Video Banner | |
Card | |
Card - Column Variations | |
Carousel | |
Donate | |
Event List | |
Forms | |
Global Footer | |
Global Header | |
Grid Content | |
Icon Grid | |
Icons and Logos | |
Locations | |
Menu and Search | |
Modal | |
Ping Pong | |
Promo Cards | |
Side Menu | |
Sponsors | |
Staff | |
Statistics | |
Table (Simple Content) | |
Tabs | |
Testimonials | |
Utility Menu |
Component | Mobile | Desktop |
---|---|---|
Accordion | ||
Article (/News /Blog /Press Release) | ||
Branch | ||
Branch Amenities | ||
Branch Hours | ||
Branch Menu | ||
Branch Social Links | ||
Breadcrumbs | ||
Cards | ||
Carousels | ||
Event | ||
Grid Content | ||
Hero Banner | ||
Modals | ||
Modals | ||
Partners (/Sponsors) | ||
Ping Pong | ||
Promo Cards | ||
Simple Menu | ||
Staff | ||
Statistics | ||
Tables | ||
Tabs | ||
Testimonials | ||
Webforms |
A huge amount of configuration is available with Layout Builder components using the contributed Layout Builder Blocks module, which is included with the distribution. In addition to those configuration options, we provide an extra layer of “Y Styles” that help site builders customize their sites in an accessible and brand-compliant manner.
These options provide customizations of Layout Builder-enabled pages at the Content Type, Page, and Component(/Block) level.
Styles inherit from content types, to pages, to components. Some styles can also be overridden at each level - block styles can override page styles, which can override content type styles.
flowchart classDef ct fill:#5C2E9133; classDef page fill:#92278F33; classDef block fill:#C6168D33; subgraph ct[Content Type] direction LR subgraph page[Page] direction LR subgraph block[Block] blockStyles[Block Styles] end pageStyles[Page Styles] end ctStyles[Content Type Styles] end blockStyles -- override --> pageStyles pageStyles -- override --> ctStyles class ct ct class page page class block block
Note: This configuration may not be accessible to all content editors. Ask an administrator for assistance if necessary.
To access them:
Every Layout Builder-enabled page that you create will allow you to override the default settings. All of these settings will affect all items on a page, unless they are overridden at the component level.
Some blocks have additional styles that can be configured per-block. For these blocks (e.g. Banner, Cards), look for the Y Styles section in the block styles section and set the options accordingly.
When creating or editing a Section you have the option of configuring Layout, Style, and Settings.
Support for these options is a work in progress and may require involvement of your development partner. Feel free to experiment with the options. Be sure to follow proper brand guidelines and accessibility practices.
In this section you can control the container of the Section.
When creating or configuring a block you have the option of opening the Style tab to access additional style options including:
Support for these options is a work in progress and may require involvement of your development partner. Feel free to experiment with the options. Be sure to follow proper brand guidelines and accessibility practices.
After you have completed setting the Style options, click back to Content and Save or Update to commit your changes.
Designs:
To use the block:
Fill in the content fields:
Then save the block:
Activity Finder combines data from the Activity, Class, and Session content types into an interactive tool. Learn more about Activity Finder.
To use the block:
Configure the options:
Then save the block:
Designs: Mobile & Desktop
The distribution provides a few blocks to highlight articles.
To use the blocks:
Displays one or more articles in a large feature on the page.
Allows users to filter the Articles Listing by location, category, or text search.
This block has no other options.
Displays articles in a teaser view, filtered by the Articles filter block, with a “Show more” button
When you are finished adding blocks, Save and publish your changes.
Designs:
To use the block:
Fill in the content fields:
This block comes with multiple styles. To choose an alternative style:
Then save the block:
Designs:
To use Breadcrumbs:
Fill in the content fields:
Then save the block:
The Cards block is similar to the Grid CTA block, but has more fields and places the image behind the item content.
Designs:
To use the block:
Fill in the content fields:
This block comes with multiple styles. To choose an alternative style:
Then save the block:
Designs:
To use the block:
Fill in the content fields:
Then save the block:
Designs: This block provides no additional presentation outside of the embedded content.
To use the block:
Fill in the content fields:
Then save the block:
NOTE: This module requires per-provider configuration. Currently, support is provided for donation forms from:
- Blackbaud Online Express, and
- Convio Luminate.
Please submit a feature request for additional provider support.
Designs: Mobile & Desktop
The Y Layout Builder - Donate (lb_donate
) and YMCA Website Services Donation Embed Form (y_donate
) modules work together allow content editors to add an embedded donation form to the site and create a separate call to action to direct users there.
To get started:
y_donate
) module at Administration > Extend.If your embedded form does not work in your non-production environment you may need to add a domain to the allow-list either on the provider-side or in your site’s Content Security Policy.
If your provider is not listed you can add the form by selecting the Code Custom Block and then pasting in your code. Alternatively you can work with your development partner to add a new donation provider.
The Donate Block can be placed in an edge-to-edge container.
To use the block:
Fill in the content fields:
Then save the block:
Designs: Mobile & Desktop
The distribution provides a few blocks to highlight events.
To use the blocks:
Displays one or more events in a large feature on the page.
Allows users to filter the Events Listing by location, category, or text search.
This block has no other options.
Displays events in a teaser view, filtered by the Events filter block, with a “Show more” button
When you are finished adding blocks, Save and publish your changes.
The Grid CTA block is similar to the Cards block, but allows for more flexible items with a slightly more freeform design.
Designs:
To use the block:
Fill in the content fields:
Then save the block:
Designs:
The header and footer on Layout Builder pages is composed of many complimentary blocks. The Header and Footer are special Sections that are pre-populated on each Layout Builder-enabled content type. If the Header or Footer do not already exist in your content, you can add them on your own.
If a Header section does not already exist, add a new Section and choose the WS Header Layout. Then, add the following blocks by selecting Add block and then using the search box under All system blocks:
Each block has some specific configuration recommendations:
Configuration
Content
Configuration
Content
The option to add a Utility Menu was added in the December 2024 release. This menu is intended to give content editors an additional space for adding links in the top right of the header.
Configuration
Content
Configuration
As per the Brand Graphics Guide (requires Y login):
The areas of impact must appear on a website, but it is at the YMCA’s discretion whether to include them as the trademarked graphic paired with the logo or as a way of telling the story of our positive impact.
If you choose to hide the Areas of Impact in the logo, we recommend you include them elsewhere on the page.
The main navigation supports displaying up to three levels of menu items. When adding items, be sure to check Show as expanded for any parent item that should be expandable.
The main navigation also supports an optional nested CTA block.
Configuration
Content
Configuration
Content
Configuration
Content
highlighted
to the menu item under Attributes > Class.highlighted
items from this menu will display.If a Footer section does not already exist, add a new Section and choose the WS Footer Layout. Then, add the following blocks by selecting Add block and then using the search box under All system blocks:
See above. The “white logo” is recommended for the footer.
Each of these three blocks references a menu. The three menus can be used to split footer links across multiple columns.
Configuration
Content
Configuration
Content
Configuration
Content
This menu is typically for a limited number of links such as “Privacy Policy” or “Terms of Use”.
Configuration
Content
The Main navigation has an additional feature that allows for adding a nested call-to-action that takes the place of the third level of the menu.
To use it:
admin/modules
) and enable the Web Services Main Menu CTA Block module (y_lb_main_menu_cta_block
).CTA blocks will only be displayed on first-level menu items. Blocks on all other levels will be ignored.
Menu CTA items will not appear on pages that use Paragraphs-based layout. CTAs also ony show on desktop and not mobile displays.
The Icon Grid block is similar to the Cards and Grid CTA blocks, but allows for more simpler items with a slightly more restricted design.
Designs:
To use the block:
Fill in the content fields:
Then save the block:
Designs: Mobile & Desktop
The Location Finder block provides search, filters, a map, and a listing your YMCA locations.
Location Finder also now supports hierarchical amenities. That means you can arrange your list of amenities into categories instead of a simple alphabetical list.
The Amenities taxonomy is managed at Administration > Structure > Taxonomy > Amenities. See Taxonomy, Vocabularies, and Terms for more info on managing Vocabularies.
If you leave the Amenities terms in a flat list on their configuration page, the Location Finder filters will display according to their configured weights. Drag terms up or down in the list to rearrange them in the filters.
Y’s with many amenities may choose to group them in categories. Once any Amenities term is nested, the Location Finder filters switch to a hierarchical display.
To nest terms:
NOTE:
- Any terms more than two levels deep will be ignored. (That is, parents and children will be displayed, grandchildren will not.)
- When nesting is enabled, any amenities that are not grouped will be hidden from the filter list.
The Location Finder block is best placed in an edge-to-edge Section with no gutters.
To use the block:
Fill in the content fields:
Then save the block:
Designs:
To use the block:
Fill in the content fields:
Then save the block:
Designs:
To use the block:
Fill in the content fields:
Then save the block:
Designs:
To use the block:
Fill in the content fields:
Then save the block:
Designs:
To use the block:
Fill in the content fields:
Then save the block:
Designs:
To use the block:
Fill in the content fields:
Then save the block:
Designs:
To use the block:
Fill in the content fields:
Then save the block:
Repeat Schedules combines data from the Activity, Class, and Session content types into an interactive tool. Learn more about Group Schedules.
Before you can use the Repeat Schedules block, you will need to:
openy_repeat
module is updated to
at least 2.2.0.lb_repeat_schedules
) module at Admin > Extend (/admin/modules
).To use the block:
Configure the options:
Then save the block:
Designs:
To use the block:
Fill in the content fields:
Then save the block:
The Simple Schedule pulls content that is added via the Simple Schedules module, along with other Sessions on the site. Be sure to set up your schedules before adding this block to your site.
Designs:
To use the block:
Fill in the content fields:
Then save the block:
The Table block also allows users to add simple content to the Landing Page (Layout Builder) content type.
Designs:
Then save the block:
Fill in the content fields:
Then save the block:
Designs:
To use the block:
Fill in the content fields:
Then save the block:
Designs:
To use the block:
Fill in the content fields:
Then save the block:
Designs:
To use the block:
Fill in the content fields:
Then save the block:
Designs:
To use the block:
Fill in the content fields:
Then save the block:
Designs:
To use the block:
Fill in the content fields:
Then save the block:
YMCA Website Services content editors use paragraphs to create unique layouts for their pages. Each paragraph is a section of content that comes with its own styling, functionality, and fields.
You can add a paragraph onto a page when you see the paragraphs dropdown field. These paragraphs will typically be inside one of the four main “Areas” inside a content type:
Not all content types use all four regions. For example, a content type use its fields to put content inside the Sidebar Area, while another may have a sidebar area but use its Image field instead of a Header Area
Content editors have two ways to add paragraphs onto a page - inline editor and admin portal.
To add a paragraph into an Area, open that area and select a paragraph from the dropdown. The button will usually be labeled with “Add [First Paragraph in List]” (the first paragraph in the list depends on the content type/area), and there will be some helper text above.
The video below provides an example of the functionality of paragraphs; however, the specific layouts demoed are not YMCA Website Services layouts.
If you’ve upgraded to YMCA Website Services 2.4 or later, you can add a paragraph from the front-end by clicking on the Plus icon in a given region and selecting a paragraph from the pop-up window.
Note: Not all paragraphs are available for inline editing yet. More paragraphs will be added to the inline content editor in later releases
Sometimes you have one layout in your head and it doesn’t look as good when you add it to your page. You can easily move around your sections by clicking on the cross icon to the left of your paragraphs. Drag around your paragraphs to rearrange.
Need to fix a typo? Click the edit button next to each paragraph to open it back up and make edits.
Maybe you didn’t need that section. Don’t worry: you can easily delete a paragraph by clicking on the remove option from the dropdown next to where it says “Edit.”
YMCA Website Services comes with more than 50 paragraph types, and depending on your partner’s customizations, you may have even more. This documentation will focus the types that come out of the box with YMCA Website Services and how to use them.
After selecting “1 Column” from the paragraphs dropdown, you will notice paragraph title field, a checkbox, and a required description.
While the paragraph be used only with the fields above, 1 column also supports custom blocks of content. For this paragraph type, it’s recommended that users stick with “Simple block” types.
When adding your custom block, use the font-awesome icon class instead of the custom icon image field. In Carnation, the image option tends to get too large.
Learn more about custom blocks ⇒
Read about the Font Awesome icon library ⇒
The purple font color for paragraph descriptions can be overridden in Lily and Rose by targeting .paragraph-1c-wrapper .field-prgf-1c-description.
Example:
.paragraph-1c-wrapper .field-prgf-1c-description {
color: inherit;
}
Content editors who want to edit this CSS can ask their developers to install the CSS Editor module and edit their styles directly from the User Interface.
Learn more about custom blocks ⇒
Unlike similar paragraphs (such as 1 column paragraph and Grid Content), there is no title field. To add a Title, insert a Simple Content paragraph above your 2 columns paragraph.
There is an optional checkbox to display a horizontal rule above the two columns.
If you want to add multiple rows of content with 2 columns, add a new 2 columns paragraph for each set of two you want (e.g., if you have five blocks of content, add three 2 columns paragraphs).
Learn more about custom blocks ⇒
If you want to add multiple rows of content with 3 columns, add a new 3 columns paragraph for each set of two you want (e.g., if you have seven blocks of content, add three 3 columns paragraphs).
This paragraph does not work out of the box in Carnation (see Advanced).
Content editors can use Grid Content or Featured Content paragraphs to achieve a similar layout.
Learn more about custom blocks ⇒
Adding Headers to Individual Blocks Out of the box, the Title field in each custom block renders as plain text. To work around this, add your headers in the text editor.
See Advanced below for details about how to fix this with CSS.
If you want to add multiple rows of content with 4 columns, add a new 4 columns paragraph for each set of two you want (e.g., if you have seven blocks of content, add two 4 columns paragraphs).
Learn more about the link field ⇒
In all three themes currently in YMCA Website Services, the Title field displays in a font-size and color nearly identical to the body copy. To override, target .field-sb-title
.
In order for this to work in Carnation, the .wrapper
containing the column elements needs to be changed to .row
; otherwise, each of the four columns expands to the full width of the Area it’s embedded in.
See a live example of Activity Finder in our sandbox site.
This paragraph type requires an integration into a CRM. See Program Activity Framework for a list of existing integrations. Any other CRM will require custom developer work.
How you use these paragraphs will depend on how your Association has structured its program data on the CRM and on how you decide to get people to program results.
To start, add the Activity Finder Paragraph or Block to a page.
See Activity Finder Block Configuration for more details.
This paragraph provides similar functionality to the" “Location filter by amenities”, and is no longer recommended for use by the YMCA Website Services Core Team.
What It Does: Shows a list of branches with icons indicating, at a glance, which amenities are available at each branch. Includes a checkbox field to filter branches by amenities.
Areas Where it Should Be Used:
After selecting “All Amenities” from the paragraphs list, you can change the title that displays above the search checkboxes by entering text in the Title field.
Styling will differ greatly based on the theme. Use of this paragraph in Rose is not recommended.
Supported Content Types
Related Paragraphs
In the Header Area of your content, select “Add Banner” from the dropdown. Then, fill out the following fields:
Title (required): This field adds a headline to your banner. The placement of the title will depend on your theme and customization, but it will typically appear as large, all-caps text.
Color (required): The background color for your banner. You typically will not see this color in Lily or Carnation, but in Rose, it will display behind your text. Choose from the list of available options.
Description (optional): Displays beneath your Title. You have the option to style your text using the text editor, but it’s not as consistent as other places where you typically see the editor.
Recommendation -> Just enter basic text and don’t do anything beyond basic styling, such as bold or underline.
Image:
Use the image library to embed an image. You can upload a new image from your computer or reuse an existing image from your library. The image field is optional, but recommended.
For recommended image sizes for your YMCA Website Services site, talk to your agency partner.
How to add/edit images >
Link/Button: Add a URL and a link to the button on the page. The button on your banner cannot be styled without custom CSS/code. Using link/button fields ⇒
Note: If you know a little CSS, you can have your agency partner install the CSS Editormodule, and you can target
.btn.banner-btn
to change the default button.
From the paragraphs dropdown, add Blog Posts Listing. Enter a header title for the section in the text field and hit Save.
Before adding the paragraph, add the links you want on your menu by adding them on your Camp Page at General Info > Menu Links.
Learn More About Link Fields ⇒
To add additional links to your menu, click on the Add Another Item button.
Once you’re done adding your menu links, scroll down to the Header Area and add “Camp Menu.” Click save.
Note - While it is technically possible to position the camp menu above your banner image, it is not recommended. The camp menu busts in desktop on Carnation, and in all themes it can be hard to distinguish the camp menu from your main navigation.
When a user views your camp menu in mobile, the menu doesn’t collapse; it merely shrinks. Menu items either disappear or wrap onto a new line if they do not fit the space.
It’s recommended you limit your menu items to no more than 3 or 4 unless you opt to customize.
This paragraph can only used on programs pages that have subcategories tied to them. If a program has no subcategories tied to it or if it’s used on another content type, it will not work.
Learn more about programs content type ⇒
Learn more about programs subcategories content type ⇒
Select “Add Code” from the paragraphs dropdown.
You will see two buttons - one to add a custom block, the other to search for a custom block.
To search for an existing custom block, type the name of the block in the autocomplete field and click on an option that appears to embed that block.
To add a new block, click the “Add New Custom Block” button.
To use code, you must add HTML tags.
Hard returns will be ignored, and text will be printed out in one long string.
Code will not highlight or color-code your HTML.
There is an option to change to a “Full HTML” text editor, which will allow you to make use of the default text editor; however, using this will strip “faulty” HTML out of your block and may prevent you from using certain tags.
Once you’re done, click the button that either says Add custom block or Update custom block, depending on the option you had selected at first.
Pick Add Date Block from the list of paragraphs in the dropdown. You will see two options: add a new custom block or add an existing custom block.
If you’re using Date Block for the first time or creating a new date block, choose the Add New Custom Block option.
Enter a label for your date block in the block description field. If and when you’d like to reuse this section on multiple pages, this is what you’ll use to search for it.
Below the block description field, you will enter a start date and an end date for your block. This schedules content in your date block to publish and unpublish, just like with a content type.
Below this you can add in paragraphs to display Before, During and After your scheduled dates. Add paragraphs into these fields as you normally would.
If you don’t want content to display before, during or after your time period, leave it blank.
Hit “Create custom block” to add your block.
To reuse a date block you’ve previously created, click the “Add Existing Custom Block” button.” Enter the description of your block into the autocomplete field. Select your block from the options to drop it in.
To edit your block, click “edit” next to the paragraph. You will need to click another “edit” button when the name of your date block appears. Make your changes inside the block and, when you’re done, click “Update Custom Block.”
Making any changes to a date block will change it on every page where it has been added.
Prerequisite: Requires integration with third-party tool GroupEx Pro.
- To integrate you GroupEx Pro account, go to the admin toolbar. > >
- Go to YMCA Website Services > Integrations > GroupEx Pro > Group Ex Pro Account Settings. Add your account number to the field. That’s it! >
For information on where to find your GroupEx Pro account number, visit groupexpro.com.
Select Embedded GroupEx Pro Schedule from the paragraphs dropdown. Hit save.
Select FAQ from the paragraph dropdown
Add a title or a Question into the Question field. This will show as the title of your section.
Use the text editor to provide an answer/expanded section of content once the user clicks on your section.
To add another Question and Answer, click the Add another item button at the bottom of your paragraph.
Add a headline for this section of content in the Headline field.
Next, type in the name of the blog you would like to feature in the autocomplete field. Click on the post when it shows up below.
To add another blog post, click the Add another item button. Click the blue save button at the bottom when you’re finished.
Note: The styling for Featured Content differs greatly by theme. This documentation notes the differences in styling between each theme.
Select Add featured content from the paragraphs dropdown. Add an optional headline in the headline field above.
Next, add an optional Description using the text editor. Avoid changing your text alignment for your description.
Add an optional link in the link field.
Learn how to use a Link field ⇒
Select the number of columns you would like to have in each row using the style dropdown.
Advanced users: You can clear the confusion for content editors in Carnation by making the style field an optional field and hiding it in the form display in the UI.
Additionally, you can limit the number of columns to four in the Featured Content’s paragraph settings.
Finally, add content for each column of content using the text editor. To add additional columns click the “Add Another Item” button.
Add a Headline for this section of content in the Title field.
Next, type in the name of the news post you would like to feature in the autocomplete field. Click on the post when it shows up below.
To add another news post, click the Add another item button. Click the blue save button at the bottom when you’re finished.
The gallery can play on a loop, and users can click back and forth using the arrows.
You can have a gallery with a simple title, and you can also add a description below the headline and/or a call to action button.
Once you’ve selected a gallery from the paragraphs dropdown, enter a Headline for the gallery.
Next, if you would like to add a subhead or description below your title, add it below the headline in the Description field.
Only use basic text formatting on your description, such headlines. Avoid using bullets or numbered lists in this field.
Optionally, you can add a Link in the link field.
How link fields work in YMCA Website Services ⇒
Below the link field, you will add your images. Click on the Add images button to select the pictures for your gallery. You can upload an image to the media library, or select multiple images from your library.
Once you’ve uploaded/selected your images, click that blue Add images button at the bottom.
To order your images, hover your mouse over the thumbnail in the “Images” section, and then drag them to reorder. You will see a cross-arrow icon when you’re dragging them around, similar to what you see when you reorder paragraphs.
To delete a photo from the gallery, click the delete button below the image.
Hit Save at the bottom of the image to save it.
Note on Grid Content: This paragraph’s style will vary greatly depending on your theme. The docs outline how to use the fields.
First, choose Grid Content from the Paragraphs dropdown. You will then see a dropdown with four options under Style:
Select a style to choose how wide you want each section to be; the more items per row, the narrower they will be.
Next, you will see a button that says Add Grid Columns. This is where you will start adding your individual sections/cards.
For each item you add, you will have the following fields:
Headline (optional) - A title for your section. Will be larger/smaller depending on your selected style and theme
Icon (optional) - An image you can embed to display inline with your headline. Upload a new image or use one in your image library.
Icon Class - A font awesome icon CSS class. You can type in the name of the class, and YMCA Website Services will generate the icon.
Description - A standard text editor field. Because of how each grid content item styles, it’s recommended that the text in this field be shorter than 200 characters.
Link - Two fields to add a URL and a link. Depending on your theme, the link will style either as a basic link or as a button.
Note: If you add more items than your selected style, you will create a new row. For example:
- 2 items per row style, 3 items added -> two rows of content
- 3 items per row style, 5 items added -> two rows of content
- 4 items per row style, 9 items added -> three rows of content
These three paragraphs embed a listing of blog posts, sorted by the most recent, in a card design.
From the paragraphs dropdown, add Latest Blog Posts, Latest Blog Posts (Branch) or Latest Blog Posts (Camp). Enter a header title for the section in the text field and hit save.
Unlike the related Blog Posts Listing, this paragraph does not include filters for searching blog posts.
These three paragraphs embed a listing of News posts, sorted by the most recent, in a row/listing design
From the paragraphs dropdown, add the “Latest News Posts.” Enter a header title for the section in the text field and hit save.
Go to the Bottom Area and select Limited Time Offer. Fill in the Title field for your main headline, and if you would like to add a subheader below the title field use the field below.
To add a button, use the link field.
Additional Screen Shots
See Membership Calculator and Membership Content Type for more information.
From the paragraphs drop-down, add the Membership Calculator. No additional configuration is necessary on the page.
From the paragraphs dropdown, add the News Posts Listing. Enter a header title for the section in the text field and hit Save.
Note: Advanced users can make changes to the exposed fields using the Views module and the paragraphs settings.
In your sidebar area, select Add Promo Card from the paragraphs list.
You can add an optional large Title in the top text field, while the required Headline field puts a smaller headline below the title.
The description field is a text editor that allows you to enter any content you want with the standard text editor options.
Learn how to use the Text Editor ⇒
You can add link and call to action text in the Link field.
Learn how to use link fields ⇒
Sometimes called “Group Exercise” or “Group Schedules”, the Repeat Schedules block provides a similar view to Activity Finder, but focused more on recurring, often drop-in classes.
See Group Schedules for more details.
To use the Repeat Schedules paragraph:
Note: This element does not work properly in Carnation and is considered deprecated.
Insert the paragraph from the dropdown into the Bottom Area.
You will have two fields to insert blocks - a Left Column and a Right Column. Select from one of four different custom block types, and either add a new custom block or reuse an existing block type.
Learn how to use custom blocks >
Note: When reusing blocks, the icon field does not work in this paragraph. Font awesome icons will render as text.
From the paragraphs dropdown, select Add Simple Content. standard text editor will appear, and you can style your text however you want.
Learn How to Use the Text Editor ⇒
Note: In Carnation, stacking multiple sections of simple content on top of one another will not create enough space for users to distinguish between sections.
To create this space, add a pair of hard returns or a horizontal rule at the bottom of your text.
Select Add Small Banner from the paragraphs dropdown. Then, fill out the following fields:
Title (required): This field adds a headline to your banner. The placement of the title will depend on your theme and customization, but it will typically appear as large, all-caps text.
Color (required): The background color for your banner. In Lily and Rose, this background color displays behind your title and description.
In Carnation, you will not see the background color unless you choose not to add an image.
Description (optional): Displays beneath your Title. You have the option to style your text using the text editor, but it’s not as consistent as other places where you typically see the editor..
Image: Use the image library to embed an image. You can upload a new image from your computer or reuse an existing image from your library. The image field is optional, but recommended.
*Note: Unlike the Banner, Small Banners don’t come with a specific Link field for buttons without customization.
To add a button to a small banner, you can use the Text Editor button tool to create a button in your description field.
AddThis services have been deprecated as of 5/31/23
This block ceased functioning on May 31, 2023, with the discontinuation of AddThis services.
See Using AddToAny for its replacement.
This Paragraph works best in Lily and Rose.
In the sidebar area on a piece of content, select “Story Card.” Add a Title and Headline. The Title will be larger than the Headline and display above the Headline.
Add your link in the link field below. Unlike most paragraph types, the link field does not create a button or standalone link; the entire card becomes the link. The link text is required; however, it will not stand out a like typical call to action.
To work around this, add a > or another special character to indicate to users they are clicking on a link.
While this component is available to use in Carnation, it is not themed with a border as in Lily or Rose. The best practice is to use this paragraph sparingly and only in the following content types:
This Paragraph works best in Lily and Rose. In Carnation, the Story Card works best inside the News Post, Event, and Blog Post paragraphs.
Note: In the headline area on Lily and Rose, a large quotation mark will display to the left of your headline. This can be easily disabled using the following CSS:
.story-card .quote svg { display: none; }
Insert the paragraph from the dropdown into the Content Area.
Fill out the content fields:
Save the page to view your Teaser.
Prerequisite: You must have your web form created before embedding onto a page. While you can continue to revise and edit your form, using this paragraph will NOT create a webform for you.
Once you’ve selected Webform from the paragraphs dropdown, select the name of the webform you want to embed onto your page.
Next, you will have the option to open, close or schedule your open/close dates for your webform.
Ignore the “Default submission pairs” field, unless you’re a YAML wizard and want to have some default values for certain fields in case your users forget to fill them out.
The Taxonomy feature in YMCA Website Services creates organized lists of categories, which allow you to group content, create folders for Images ( in YMCA Website Services 2.4 and later) and create standard options for dropdown fields in your content.
Each list is called a Vocabulary, while each item in your list is called a Term. Terms comprise a Term Name and any additional data/settings for that particular vocabulary (see below in Vocabularies in YMCA Website Services for details).
Go to Structure > Taxonomy. When you find the Vocabulary you want to edit, click List Terms.
You can rearrange your terms by hovering your mouse over the cross icon and dragging them. This will determine the order in which they appear. By default these are alphabetical.
Moving a term to the right will “nest” it underneath another term, making it a “child” to that term.
Click on Edit to make changes to an existing item or Add Term to add a new one.
On the next page, you can add a Name for your vocabulary and an optional Description.
Below those two fields, you can add the additional information unique to your vocabulary.
The Color Vocabulary provides a standard list of color options across your website, such as in a background color for your header.
To change your shade of grey, you would go to Structure > Taxonomy > Color > Grey.
Below the name of your Grey term, you’ll find a color widget where you can change your standard shade of Grey across your site.
In this example, you can change the color of the Grey term in the Color Vocabulary using a Color widget.
Because Vocabularies are lists of categories, how they will show up depends on which Vocabulary you use.
Used for tagging branches with amenities. Amenities display on a branch page and as a filter on a locations page.
As mentioned above, Color is a list of colors you can use across your site, primarily in your page headers, small banners, galleries and banners.
These taxonomies tag blog/news posts. Categories display in the sidebar and as filters in your Blog Post Listing and News Posts Listing paragraphs, respectively.
Creates folders for your images in the media browser.
Creates tags for filtering images (YMCA Website Services 2.3.3 and earlier), Documents and Videos in the media browser.
Learn more about media management in the distribution. Some of these videos use older versions of the distribution.
Your YMCA website has the ability to upload media (images, documents, videos) in bulk (since 9.2.12 - December 2022).
You can batch/bulk upload from Admin > Content > Media (/admin/content/media
) or Media Browser (/admin/content/browser
). After uploading media, it will be available from the Media list and browser in any component on your site.
/admin/content/media
)/admin/content/browser
)Because this is one of the most well-documented applications in the Drupal community, we recommend using the documentation provided by the maintainer of the Webforms module, Jacob Rockowitz.
After members login to your website, they can browse a diverse selection of gated content—on-demand videos, written content, and live events—from any device of their choosing.
Below are links to various videos and documents, depending on how you prefer to learn, on how to do some of the most basic set up and management of your new Virtual Y environment.
Virtual YMCA is based on Open Y and was originally built as an extension for Open Y sites.
Virtual YMCA uses the same content editing tools as Open Y, except what you get out-of-the-box will be different than in Open Y.
Virtual YMCA comes with four content types behind the login that are exclusive to members.
Bring the Y to your members when they’re away. Provide on-demand classes, activities for kids, and other video content. Great for health seekers, families and Active Older Adults.
Add Virtual Y Videos one-by-one or with the separate Virtual Y Video Automation application.
Integrates with: YouTube and Vimeo
Bring your popular classes to your members live! Best for live events with little to no interaction with the audience.
Add Live Streams individually or on a recurring basis. They differ from Virtual Events in that the video will be embedded within the Virtual Y site.
Integrates with: YouTube and Vimeo
Bring group fitness and other live events to your member with live, virtual events. Great for class with interaction with Y instructors and personal/small group training.
Add Virtual Events individually or on a recurring basis. They differ from Live Streams in that the user will be directed to an external video link.
Integrates with: Any URL/link, including GoToMeeting, Google Meet, Microsoft Teams, Zoom, IG Live and Facebook
Do your members want to work out on their own but don’t know which workout they want to choose? Use written content to provide members workouts, recipes, or activities.
Add Virtual Y Blog Posts can be added via the standard Add Content list or menu.
No integrations required.
The options available to associations to gate your content is dependent on your Customer Management System. Currently the following options may be used to gate content within the Virtual Y website.
You may require members to log into their account within the Personify CRM system.
You may require members to log into their account within the Daxko CRM system.
Note, Daxko API access is required. Daxko charges an API usage fee.
You may require members to enter their bar code before accessing the site. Virtual Y will validate the barcode with Daxko prior to granting access.
Set up Daxko Barcode Validation.
You may require members to log into their account within the ReClique CORE CRM system.
An association may upload a membership CSV file indicating what members may access the gated content. Members provide their email address and the Virtual Y site will validate a match before granting access.
An association may upload a membership CSV file indicating what members may access the gated content. Members provide their email address and the Virtual Y site will require members access their email and click a link to gain access to the gated content.
Open Y Gated Content (Virtual Y) release 0.13 includes a new authentication provider to support Daxko Virtual Areas. This will allow associations using Daxko to set up Virtual Area that enable members to access Virtual Y content using only their member barcode!
Instructions for setting up Virtual Areas are in Daxko’s documentation. If you need assistance configuring Virtual Areas, Daxko’s support team can assist you in setup: support@daxko.com
Daxko Barcode Virtual YMCA integration
/admin/config/people/captcha/recaptcha
./admin/openy/virtual-ymca/gc-auth-settings/provider/daxkobarcode
./admin/openy/openy-gc-auth/settings
.Once enabled, the module enables granular configuration to messages that users will receive on the page. It allows changing “Barcode” to something different, like “Member ID”, and allows adding help text to assist members in finding their ID. It also allows for global help text to direct members to help channels in case they’re unable to log in.
Once the module is enabled, members will be presented with the appropriately titled field to log in to Virtual Y.
Upon success the user will be logged in to Virtual Y. Upon failure the failure state will be returned along with a help message provided by the association.
Anyone with a balance due in Daxko doesn’t have access to Virtual Y [via Daxko Barcode]. A lot of the accounts with balances are families with memberships who receive state scholarships for child care. The balance in Daxko is the portion the state pays, so it’s a bit of a “fake” balance. Any way for us to allow any ACTIVE member to use [Virtual Y], regardless if they have a balance or not?
The fix:
There’s a setting on the Daxko Operations virtual area at Membership > Virtual Area > Virtual Y > Edit that you can check/uncheck for “Block access when balance due.” You can uncheck that and it should let the member access the virtual area.
The ReClique Core API enables check-in access by specifying member Email address. Following are the steps necessary to fully configure the ReClique Provider.
To get started, you will need to do the following activities in the ReClique CORE portal, while logged in as a YMCA super admin user:
In detail:
midtn
is this association slug value, and is what is needed for the YMCA ID.
virtual_y
, but any suitable name can be used.For the Virtual Y site to communicate with the ReClique Core API, you’ll need to configure the ReClique provider. Configuring the ReClique provider is quick and easy.
Field | Value |
---|---|
Verification URL | The API endpoint provided by ReClique to verify member logins. It takes the form https://{Y_ID}.recliquecore.com/ api/v1/members/virtual_y/?Email= (This is the Production verification URL) |
Authentication login | The login for the dedicated user created with ‘Use Core API’ access in the ReClique Core portal. |
Authentication password | The password for the dedicated user created with ‘Use Core API’ access in the ReClique Core portal. |
ID field text | The text to be displayed on the Virtual Y login form. Default value is “Enter your Email:” |
Your ReClique Provider is now fully configured and is ready for use.
To test, logout from the admin portal. You should now see, from the Home Page, your new login form configured ready to accept input.
If a valid Email Address is entered and the member is Active, the member will be allowed access to your gated content (videos, blog post, virtual meetings).
Virtual Y supports embedded videos from the following sources. The supported source is dependent on the content type:
(On-demand) Video
Live Stream
Virtual Meeting
Each video provider has its benefits. We’ve provided this list to help you decide where to start.
YouTube videos that are smaller than 1280x720px (aka “720p”) may not display a thumbnail properly in Virtual Y. If you upload a large (greater than 1280×720px) thumbnail via YouTube’s video editor that should resolve this issue on Virtual Y (until this issue is resolved).
Setting up a Brand account for your Y is a good first step to using YouTube for your videos.
The requirements for embedding YouTube Live Streams may change often. Previously this has either required having more than 1000 subscribers on your channel, turning on “Monetization”, etc. It may, at times, be more expedient to use Vimeo for Live Streaming.
As of February 2021, YouTube’s stated requirements for Live Streaming are:
To live stream, you need to have no live streaming restrictions in the past 90 days and you need to verify your channel.
Most associations have been buying the “Premium” level to get access to unlimited live streaming.
Vimeo private videos do not allow thumbnails to be generated for your site. If you use private videos on Vimeo you’ll need to upload a thumbnail using the Teaser Image field on the content
.
Facebook is not recommended for Virtual Y content, as any meeting there will also be listed publicly.
If you choose to host virtual meetings on Facebook, they will need to be publicly listed, otherwise it is not possible to create a direct link to the event. To get the link to a public video:
A few notes:
?pwd=...
in the link. Please review
Zoom’s updated security settings for more information.Here are some things you should check before you go live with your Virtual Y site:
/admin/content
and ensure any demo content is deleted or unpublished.For up to the minute conversations and info on Virtual Y and its content, join us in the YUSA Slack. Request access to Slack
For even more Virtual Y FAQs, check out Y-USA’s post.
virtual.ymcaname.org
would point to your Virtual Y site. To your members and other website users, it would appear to be part of your site.virtualy.yourassociationname.org
where virtualy
is the subdomain.This module is distributed as part of the YCMA Virtual Experience Platform (Virtual Y). Review the README for more technical information.
/admin/modules
) and enable the Virtual Y 1on1 Meeting (openy_gc_personal_training
) module./admin/virtual-y/personal_training/settings
) and put signals.cibox.tools:8091
as the Signaling PRL./admin/people
) and add the Virtual YMCA Editor role to the user profile of any users who will create meetings.admin
user will also need to have this role set./admin/people
), add the Virtual trainer
role to at least one user./admin/virtual-y/personal_training
) and you should be able to see a dashboard with links to add a 1on1 meeting.Access denied
error, be sure to check that you have the Virtual YMCA Editor role as noted in 3.The community-maintained server, signals.cibox.tools
, will work for most sites at small to medium levels of 1-on-1 traffic. If you are planning to scale up this service you may need to maintain a separate
/admin/virtual-y/personal_training
)View a video of this process.
Add a New Video
Add a Title for your video and a description. These will display below the video.
Use the Media tab to select your video. Click “Select videos.”
Select a Level for your Video if applicable (such as for an on-demand class).
Type in the Instructor name, if applicable.
Choose a category for your video by typing it in and selecting from the dropdown. One category per video.
If your video includes the use of equipment (such as exercise equipment for a workout video), type in the name of your equipment and select from the list. To add another piece of equipment, click “Add another item.”
You can configure the available equipment to choose from by going to Structure -> Taxonomy -> Virtual YMCA Equipment -> List terms.
Add your video’s length in seconds in the “Duration” field.”
To feature your video on the Virtual Y homepage, click the featured box.
Click the blue Save button to save the document.
Please follow these steps if you wish to customize the photo users will see when they log into the Virtual Y site.
For updating the image before the user logs in…
If you wish to also modify the image the user sees after they log in, repeat the above steps, but substitute in step #3 “Virtual YMCA” in place of “Virtual YMCA Login”.
Virtual Y uses Drupal’s Image Styles concept to “allow you to upload a single image but display it in several ways.” Because of this, there are not specific image dimensions required for images in your Virtual Y site.
We can, however, provide guidance on what images work best for the image styles being used on the site:
This module is distributed as part of the YCMA Virtual Experience Platform (Virtual Y). Review the openy_gc_livechat README for more technical information.
/admin/modules
) and enable the Virtual Y Livechat (openy_gc_livechat
) module./admin/openy/virtual-ymca/gc-livechat-settings
). Review the settings, and modify if necessary./admin/people/roles/add
) and add a role entitled Virtual Trainer if it does not exist.admin
user will also need to have this role set./admin/openy/virtual-ymca/gc-livechat-settings
)./admin/virtual-y/chats
).Introduced in Virtual Y 0.7, the “Open Y Virtual YMCA Log” module generates logs to record user behavior on Virtual Y sites.
To enable the module, visit the Extend page on your site, or ask your partner for assistance.
Once the Log module is enabled, you’ll see two new items in the Virtual Y menu:
The Virtual Y Logs page displays searchable and filterable individual user activity. Additionally individual log items can be removed.
Activities that are currently being tracked include:
The Open Y team is working to add additional logging functionality as they gather requirements. If you have additional logging requirements for your reporting, please contact the YMCA Website Services team with as much detail about your requirements as possible.
As of Virtual Y 1.1, log archives can be generated on-demand via Virtual Y > Logs > Export Log Records
While logging begins immediately, (prior to VY 1.1) log archives should appear on the first day of the month following when logging is enabled. Log archives will be available as .gz
files. The archive stores data indefinitely, but the log itself then deletes out the previous month’s info out of the database to start collecting data for the current month.
virtual-y-logs-2021-01.csv.gz
The log archive process depends on Drupal’s cron
task, so you’ll need to ensure that cron
is running periodically on your site.
To extract files on Mac:
gunzip my_log_file.csv.gz
To extract files on Windows:
.gz
file.To extract files without a separate download:
Your Virtual Y log archives may include times in the created
column that look like 1606839555
. This is a format called “Unix epoch time”. You can convert it to a human-readable format in a few ways:
=(A1/86400)+DATE(1970,1,1)
, substituting the correct cell for A1
Your standalone Virtual Y site may have a block with social media links at the bottom of the page. These links can be customized for many social media services.
Your site may have a “Quick Edit” icon (a tiny pencil) that pops up when you hover over the section with the links. If so, click the pencil, then Edit.
OR
If you don’t see the Quick Edit option, you can navigate to the block editor at Structure > Block Layout > Custom Block Library > Edit Footer Social Block
On in the Block editor you will see a Content field with links to your social media sites.
code
belowfa fa-facebook
fa fa-twitter
fa fa-youtube
fa fa-instagram
fa fa-vimeo
When you are finished, Save.
Requirements | Getting Started | Fetching Shared Content | Publishing Shared Content | FAQ
Released in 0.12, Virtual Y’s Shared Content module allows Y’s to share their content with other associations/branches and to pull shared content to use on their own site.
To start sharing content, you need to get your site ready.
On the Drupal Extend page (/admin/modules
), enable Virtual Y Shared Content. If your site is hosted on a managed hosting environment, this step is either already done for you or will need to be done by your hosting partner.
Accept any other required modules if asked.
In order to share content, you’ll first need to register your site with the Open Y shared content server:
/admin/virtual-y/shared-content/server
)▾
) under Operations then EditOn the following page, simply Save the form. Once you’ve saved the form and your site is able to contact the server, the Source Token will be populated.
New connection requests are curlreviewed periodically and are approved by the Open Y team to prevent abuse. Please allow up to two business days for approval, or email ycloud@ymca.net with the URL of your site to request approval.
Once you are connected to the server you may, at any point, Fetch content from the server:
/admin/virtual-y/shared-content/server
)Your site will fetch Virtual Y blog posts and Virtual Y Videos from the server. In each list you may:
As of Virtual Y 1.6.1 (released in December 2021) the fetched content list will show items in different states:
Also in VY 1.6.1, content can be fetched directly from the preview.
You can share your own content to other Y’s in the Movement too!
/admin/content
) then:New connection requests are reviewed periodically and are approved by the Open Y team to prevent abuse. Please allow up to two business days for approval, or email ycloud@ymca.net with the URL of your site to request approval.
If your site is in a “pre-live” mode and is somehow restricted from being publicly accessible (sometimes called “Site Lock” or “HTTP Auth”) you will not be able to share content. Please wait until your site is live to share content.
Tech stack required
Recommended Hosting Solutions
Security certificate that authenticates that you own your website. Displays lock icon in user’s web browser. Required by most modern browsers. SSLs are widely available for a large number of reputable providers.
Only required for standalone Y sites . Can be set up with its own unique web address (i.e.,virtualymcatn.org), a unique directory within your existing site (ymcamidtn.org/virtual) or as a subdomain of your existing site (virtual.ymcamidtn.org).
Requirements for each of these setups is unique. Contact your developer partner or the Open Y community for help with your setup.
CRMs with Full Integration
Other CRMs
User segmentation is a feature within Virtual Y that can help you separate your users into different categories. This can allow you to diversify your 2021 membership strategy or break out your Virtual Y content into different categories (fitness, wellness, family enrichment, etc.).
You may desire to add additional roles beyond the default 3 that are included in Virtual Y. We recommend including no more than 5 roles, as the level of fragmentation and content management upkeep becomes difficult to sustain beyond that number.
If you are not familiar with Drupal roles, it is recommended you reach out to your agency partner to help you customize your Virtual Y roles.
Note: the Machine Name for your role must begin with virtual_y_ or else it will not be included in the permissions mapping table. You can achieve this by either naming your official role “Virtual Y [Desired Role Name]” or by clicking the small Edit button link next to the Machine Name and editing the text.
To add a new piece of content, select the content tab in the administration toolbar at the top left.
Click the blue button that says “Add New Content.”
On the next page, select the type of content you want to add. Learn About Content Types ⇒
The fields on the next page marked with a red asterisk are required. To save your new piece of content, you must fill out the required fields.
If this is a page that you do not want to be published, deselect the checkbox at the bottom left titled “Published.” This will mark it as a draft.
To save your new content, click the blue “Save” button at the bottom of the page.
You can find a piece of content you want to edit two ways: using the front-end (what your user sees) or using the “Content” administration page.
If you’re navigating your site and you’re logged in, you will see the following options on the pages you have access to edit:
You can edit a piece of content by clicking the “Edit” tab on that page.
To use the administration page, go to the top left button in your administration toolbar and select “Content.” This will take you to a page where you can search for content (particularly useful if you’re not sure where it is).
The text field on the left is a search field. Type in your content’s title to search.
If you’d like to narrow down the results, you can filter the results by
Click the edit button on the right side of the row to make changes.
If you’re in the results of your search, still not sure which piece of content is the correct one, you can click on the title of the content in the left side of each results to view it.
You can delete a content three ways:
You can also delete “in bulk” by ticking the checkmarks next to multiple rows of content on the content results page, selecting “Delete content” from the dropdown above the results table, and then clicking the “Apply to Selected” items.
This should only be done if you’re sure of which content you’re selecting to delete.
Each content type will have different fields based on the information you need to enter, but they will generally fall into one of the following categories.
These are one-line text boxes, such as page titles. Simply enter text into the box.
A larger box that allows for line breaks/hard returns/paragraphs. As with the string text field, enter text in this box. These fields will typically allow you to enter longer amounts of text.
Select one of the options provided. Occasionally, you’ll have to click a button to apply or submit your selection.
Like a dropdown, but you can select multiple options by holding Control (Windows) or Command (Mac) and clicking on two or more selections.
A textbox that styles your text visually and allows you add links and embed different types of media.
Appears like a text field, but with a little circle off the right. Used for searching content, blocks or taxonomy terms on your website.
Type in what you wish to enter, and then select from one of the optional results that appear below. Results will narrow as you type.
These will typically appear as a single box with two fields inside. They add a link onto a page, often as a button. The URL field is your link, which the Link Text is your call to action.’
The URL field supports both relative URLs for links on your site (e.g., /join for http://myymca.org/join
) and full URLs for links on other sites (e.g., http://someotherymca.org/join
).
You can also search for the title of a piece of content on your website and select a piece of content like in any other autocomplete field.
Some link fields contain an additional Attributes section. You can add attributes to your link by expanding the Attributes section. This will allow you to add a ID, Target, or Class to your link.
_blank
” or “Same Window _self
”.You can add, edit and upload images any time you see a tab with Image in the title. To use the media browser, click the button in the image field.
More on Using the Image Library ⇒
You can clone content using the “Clone” button on many pages…
or on the Content list in the site administration.
Once you choose to clone a piece of content you will be presented with a complex screen asking which entities you would like to clone. In general, you can leave all of the checkboxes as they are. Changing the options could result in unintended consequences.
Scroll to the bottom of the checkbox options, choose Take ownership if you would like your user to own the new content, then Save.
Two sets of demo content are available for the distribution:
These modules also contain significant boilerplate migration code that a developer would need to migrate content from an older Drupal site or different CMS into the distribution.
Demo content is also installed on the Sandboxes.
The distribution has two methods for informing visitors of membership options and driving them to the member management system for sign-up
The Membership Calculator is bundled with the distribution in the
openy_calc
module.
As of August 2024, the Membership Calculator has an updated design with improved functionality and user experience. The improved design will also respond to the selected colorway and page styles.
The Membership Calculator uses Membership content items. Those will need to be created in order for the Membership Calculator to function.
First, create a Membership node for each membership type your Branch or Association offers. Then, inside each Membership node, add a Membership Info Paragraph with the details of that membership at each of your Locations.
The Membership Calculator is a three-step process:
This step lists the Title, Image, and Description of each published Member node.
This step provides a map with radio buttons for the member to select their primary location. Every location listed in the YMCA Website Services Location Filter Settings (see Troubleshooting section below) is listed.
This page provides a link for the member to continue their registration, or a message indicating the selected membership is not provided at the selected location.
Once configured, the Membership Calculator can be placed on a page using:
On some sites, the second step of the Membership Calculator may not show any locations. In order to resolve this, visit Administration > YMCA Website Services > Settings > YMCA Website Services Location Filter Settings and ensure that any Branches you want to use in the location search are checked.
The Membership Framework is distributed in the
openy_memberships
repository and must be
added and installed on top of the base distribution. We recommend working with your development partner if you wish to go this route.
Check out the Membership Framework sandboxes for a demonstration.
To get started with the Membership Framework you will first need to create a number of landing pages.
The examples below use Paragraphs, but similar pages can be created using Layout Builder blocks and the Membership Framework custom block.
/node/add/landing_page
<p><a class="btn btn-primary" href="/membership-builder"><span class="text">JOIN THE Y</span></a></p>
/node/add/landing_page
/node/add/landing_page
/node/add/landing_page
/node/add/landing_page
/node/add/landing_page
/admin/commerce/products
Under the hood, both of these applications use the Activity/Class/Session Content Types and the YMCA Sync module to import content from an external API. These pieces together comprise the “Program Event Framework” which is highlighted in a case study on drupal.org.
Activity Finder combines data from the Activity, Class, and Session content types into an interactive tool that can be used with Paragraphs or Layout Builder pages.
Out-of-the-box, YMCA Website Services’s Activity Finder integrates with Daxko, ActiveNet, and Personify. Configuring these integrations is mostly user-friendly, but often is supported by a partner development team. Any other CRM will require custom developer work.
See the Program Event Framework developer docs for a full list of integrations.
When you add the Activity Finder block to a page, you have a number of options. These are in addition to the configuration at Admin > YMCA Website Services > Settings > Activity Finder Settings (/admin/openy/settings/activity-finder
). See
the Activity Finder module README for more information.
/admin/openy/settings/activity-finder
)./admin/openy/settings/activity-finder
) and defaults to:Once the Activity Finder Paragraph or Activity Finder Layout Builder Block has been added to a page, users can see its content.
/admin/openy/settings/activity-finder
).See Block Configuration for more detail on other available filters.
The filtered results in the Activity Finder app are a list of Sessions that meet the given filter criteria.
Each row of results contains:
Clicking on the row will bring up a pop-up with further details:
UTM codes can be used to track the effectiveness of marketing campaigns. Activity Finder uses query strings as filters, but as of version 4.2.0 it will also maintain UTM codes in the URL.
Activity Finder begins with a number of preset arguments, and those can be modified at Admin > YMCA Website Services > Settings > Activity Finder Settings (/admin/openy/settings/activity-finder
) in the Allowed Query Arguments field.
Once those settings are saved, you can visit an Activity Finder page with UTM codes attached, for example:
https://example.com/activity_finder?step=results&selectedAges=24&selectedLocations=1541437&selectedActivities=2786027,2786083&utm_source=promotional_member&utm_medium=email&utm_content=button_register_now&utm_campaign=fall_group_swim_lessons_2021
and see that the codes are maintained as the filters are changed.
Sometimes called “Group Exercise” or “Group Schedules”, the Repeat Schedules block provides a similar view to Activity Finder, but focuses on recurring, often drop-in classes. You can see an example of this on our sandbox site.
Developers can find more information in
ynorth-project/openy_repeat
and
Program Event Framework.
As of August 2024, the Schedules have an updated design with improved functionality and user experience. The improved design will also respond to the selected colorway and page styles.
openy_repeat
2.2.0 and above via the Repeat (Group) Schedules (lb_repeat_schedules
) module.After you add the Paragraph or Block to a page, configure the options:
Data from Sessions, Classes, and Activities are all used to form the Repeat Schedules. Here’s what shows up where. Fields are noted with their relationships, so session.class.activity.title
means “the title of the Activity referenced by the Class referenced by the Session”.
Fields used in the table view:
Fields used in the popup view:
See PEF Schedules for installation instructions.
Once you install the PEF Schedules module, you will be able to build schedules and add sessions via a calendar-based builder.
The Schedule editor allows Content Editors to create Sessions on a “WYSIWYG” calendar interface. As described in the PEF data model, Sessions require Classes, which require Activities, which require Program Subcategories, which require Programs.
flowchart LR subgraph "PEF Relationships" direction LR Session -- requires --> Class Class -- references --> Activity Activity -- references --> PS PS -- requires --> Program PS["Program Subcategory"] end
You will need to create at least a Class and Activity to start adding events to the calendar. Go to Admin > Content > Add Content (/node/add
) to start adding items.
If you have preexisting content for any of these content types you can use them here. You may first need to configure the Activity Color for existing Activities.
PEF Schedules adds a new Color field to Activities which is used to style the categories on the calendar.
The Color field takes a hex value (#XXXXXX
where X
is a hexadecimal character (0-9
, a-f
)). We recommend using colors from the
Brand Standard Color Wheel. The default color is configurable in the Calendar Settings. We recommend selecting dark tones from the color wheel. as the item titles are displayed with white text.
Settings for the calendar are configurable at Admin > YMCA Website Services > Settings > Schedules calendar settings (admin/openy/settings/schedules-calendar
).
Options include:
Once everything is configured, you can start managing schedules. See a list of available schedules at Admin >
Content > Schedules Calendar (admin/openy/branch-schedules
). Click on one of the options to open the editable schedule.
When in the schedule, you can:
When creating a session from the schedule, you’ll see a simplified version of the Add Session (/node/add/session
) form.
Once content is added to the schedule, you have several options for showing it to users: