Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wip/new to nl 2 #658

Draft
wants to merge 334 commits into
base: main
Choose a base branch
from
Draft

Wip/new to nl 2 #658

wants to merge 334 commits into from

Conversation

rsmithlal
Copy link
Member

@rsmithlal rsmithlal commented Sep 25, 2024

Changes made as part of the Wayfinder Project in partnership with Collective Interchange.

https://github.com/collective-interchange-coop/new-to-nl

Summary: Wayfinder Enhancements and Fixes

This pull request introduces a comprehensive set of updates, optimizations, and new features for the Wayfinder Project in partnership with Collective Interchange. The changes include enhancements to navigation, content blocks, caching, localization, and accessibility, as well as various bug fixes and performance improvements.


Key Changes:

1. Navigation Improvements:

  • Improved sidebar and top navigation usability and performance.
  • Optimized SQL queries for navigation rendering, reducing database load times.
  • Cached sidebar, header, and footer navigation items for enhanced performance.
  • Enhanced dropdown menu styling and active state behavior.
  • Added scroll indicators to large hero blocks for better user experience.

2. Content Block Enhancements:

  • Introduced new content block types, including hero blocks and translatable HTML blocks.
  • Improved background image support with optimized rendering and caching.
  • Added a customizable CSS content block for platform-wide theming.
  • Enhanced page builder functionality with independent CRUD operations for blocks.

3. Caching and Performance Optimization:

  • Cached frequently accessed data such as navigation items, blocks, and permissions.
  • Preloaded associations to improve rendering times for navigation and profile pages.
  • Introduced instance-level caching for roles and CSS blocks.
  • Drastically improved load times for navigation and page blocks through caching.

4. Localization and Translation:

  • Completed Spanish and French translations for key views and features.
  • Added automated translation tasks using OpenAI API for translatable attributes.
  • Ensured consistent capitalization and localization of translated attributes.
  • Scoped routes and dispatch helpers to respect locale settings.

5. Notifications and Messaging:

  • Added the noticed gem for in-app notifications.
  • Introduced initial versions of messaging and conversations functionality.
  • Enhanced notification management actions and UI.

6. Metrics and Analytics:

  • Added tracking for page views, link clicks, and downloads.
  • Implemented background jobs to process social share and metrics data.
  • Excluded bot user agents and specific links (e.g., Trix editor links) from tracking.

7. Accessibility and UI Enhancements:

  • Improved accessibility for navigation, forms, and buttons.
  • Enhanced profile images and social share button layout.
  • Added password visibility toggles to login forms.
  • Improved structure and spacing of UI elements for a more user-friendly experience.

8. Bug Fixes:

  • Resolved issues with navigation item visibility checks and link generation.
  • Fixed problems with route generation in localized contexts.
  • Addressed caching issues for user navigation and content rendering.

Technical Improvements:

  • Added default profile images for people and communities.
  • Enhanced performance profiling tools for platform managers.
  • Resolved Rubocop and Brakeman warnings for code quality and security.
  • Simplified Stimulus controller handling under the better_together namespace.

Future Considerations:

This PR establishes a solid foundation for upcoming features, including:

  • Expanded page builder capabilities with additional block types.
  • Improved metrics tracking and analytics reporting.
  • Further enhancements to automated translation for rich text attributes.

Show share buttons on pages#show, communities#show, and people#show if their privacy is set to public
Dispatch page view metric background job in show action of communities, people, and pages controllers
dispatch job in controller after intercepting link clicks in the body
allow dispatching using background job
…rl request to main_app

For some reason, the controllers from the main_app are experiencing problems with the route lookup when rendering the locale_switcher. This fixes it for now by catching teh error and delegating it to the main_app helper
…itcher url request to main_app"

This reverts commit cc5c2e2.
@rsmithlal rsmithlal added the enhancement New feature or request label Sep 25, 2024
@rsmithlal rsmithlal self-assigned this Sep 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant