Activity Finder
Provides an interactive tool to help members find and book activities.
“Program Event Framework” (PEF) refers to the entire ecosystem of content and modules in YMCA Website Services that work together to build Activity Finder, Group Schedules, and more. PEF provides a structured approach to managing program-related content, ensuring consistency and ease of use.
These content types provide the containers for PEF content in Drupal:
These modules provide integrations to pull content from external systems into the content types listed above. They automate the process of importing data from various platforms into the YMCA Website Services ecosystem.
drupal/openy_daxko2) - Integrates with Daxko Operations using their API.drupal/daxko) - Deprecated. An earlier integration with Daxko, now superseded by the Extended Daxko API Integration.drupal/activenet) - Integrates with the ActiveNet recreation management system.drupal/personify) - Integrates with the Personify member management system.drupal/groupexpro) - Integrates with Daxko’s GroupEx Pro scheduling software.ynorth-projects/openy_pef_gxp_sync) - Syncs GroupEx Pro data specifically for the Program Event Framework.drupal/yusaopeny_ymca360) - Integrates with the YMCA 360 virtual platform.ycloudyusa/openy_traction_rec) - Integrates with the Traction Rec platform.These modules and features display the content entered into the content types, allowing users to discover and engage with programs and activities.
ycloudyusa/yusaopeny_activity_finder) - this repo contains in-depth developer documentation.ynorth-projects/openy_repeat) - contains the “Repeat Schedules” block which is the basis for Group Schedules.The network of data structures in PEF can be complex. This diagram illustrates the relationships between the main content types and their key fields.
---
title: PEF Relationships
---
erDiagram
program {
entityRefTerm field_program_color
paragraph field_content
paragraph field_header_content
paragraph field_sidebar_content
textFormattedLong field_program_description
entityRefMedia field_program_icon
entityRefMedia field_program_image
layout layout_builder__layout
meta field_meta_tags
bool field_use_layout_builder
}
program_subcategory {
paragraph field_bottom_content
entityRefTerm field_category_color
paragraph field_content
paragraph field_sidebar_content
textFormattedLong field_category_description
paragraph field_header_content
entityRefMedia field_category_image
layout layout_builder__layout
meta field_meta_tags
entityRefProgram field_category_program
bool field_use_layout_builder
}
program_subcategory }|--|| program : field_category_program
activity {
textFormattedLong field_activity_description
entityRefProgSub field_activity_category
}
activity }o--|| program_subcategory : field_activity_category
class {
entityRefActivity field_class_activity
paragraph field_bottom_content
paragraph field_content
textFormattedLong field_class_description
paragraph field_header_content
meta field_meta_tags
paragraph field_sidebar_content
}
class }o--|| activity : field_class_activity
session {
listText field_activity_type
entityRefClass field_session_class
textFormattedLong field_session_description
dateRange field_session_exclusions
listText field_session_gender
numberInt field_availability
bool field_session_in_mbrsh
textPlain field_session_instructor
entityRefLoc field_session_location
numberInt field_session_max_age
listText field_session_max_grade
numberDec field_session_mbr_price
numberInt field_session_min_age
listText field_session_min_grade
numberDec field_session_nmbr_price
bool field_session_online
entityRef field_session_plocation
numberInt field_productid
link field_session_reg_link
textPlain field_session_room
paragraph field_session_time
numberInt field_wait_list_availability
}
session }|--|| class : field_session_class
session ||--o{ session_time_paragraph : field_session_type
session_time_paragraph {
dateRange field_session_time_date
listText field_session_time_days
textPlain field_session_time_override
}
branch {
}
camp {
}
facility {
}
session }o--|| branch : field_session_location
session }o--|| camp : field_session_location
session }o--|| facility : field_session_location
session }o--|| facility : field_session_plocationMore information on how this data is displayed in each component will be added soon.
Provides an interactive tool to help members find and book activities.
The PEF Schedules module allows Ys to create and manage schedules with a simple, calendar-based view. It leverages the FullCalendar library for a rich, interactive experience.
Instructions for configuring and importing data from Traction Rec into the Program Event Framework.