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 #628

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

Wip/new to nl #628

wants to merge 96 commits into from

Conversation

rsmithlal
Copy link
Member

@rsmithlal rsmithlal commented Sep 3, 2024

Working branch for changes targeting the New to NL project

Summary: New to NL Enhancements and Features

This pull request introduces a comprehensive set of updates and improvements targeting the New to NL project. The changes focus on enhanced invitation management, content block capabilities, navigation refinements, localization, and search functionality. These updates aim to improve usability, performance, and customization for platform managers and end users.


Key Changes:

1. Platform Invitations:

  • Added PlatformInvitation model, table, and controller.
  • Implemented email invitations with customizable locale support.
  • Enabled invitation resending and status updates, including expiry handling.
  • Improved user registration process by allowing invitation acceptance during signup.
  • Introduced mailer specs and configured premailer-rails for text version generation.

2. Content Block Enhancements:

  • Introduced an expanded page builder using blocks for rich content editing.
  • Added support for independent CRUD operations on blocks.
  • Included new block types such as image and rich text blocks.
  • Improved block positioning logic and added ActiveStorage validations.

3. Navigation and UI Improvements:

  • Enabled dynamic routing for navigation items.
  • Added multi-column editor UI for pages.
  • Updated tabbed section styling for people and community views.
  • Enhanced platform and membership cards for improved layout and functionality.
  • Configured global Bootstrap tooltips for consistent UX.

4. Localization and Routes:

  • Improved locale handling in generated routes and controller actions.
  • Set the default locale to English while supporting multi-language capabilities.
  • Added translations for dynamic fields using reusable translated_text_field partials.

5. Search and Elasticsearch:

  • Added Elasticsearch 7.17 support to enable full-text search functionality.
  • Configured search indexing for pages, including integration with Elastic's ecosystem.

6. Notifications and Messaging:

  • Added noticed gem for in-app notifications.
  • Implemented the initial version of the conversations and messaging feature.
  • Designed notifications UI and integrated management actions.

7. Performance and Development Tooling:

  • Configured Sidekiq queues for background jobs.
  • Updated docker-compose.yml and added vendor assets to paths for streamlined development.
  • Improved ElasticSearch service configuration for development and production.

8. Bug Fixes and Code Quality:

  • Addressed Rubocop issues and ensured consistent code quality.
  • Removed unused attributes and routes for better maintainability.
  • Resolved issues with Devise forms, flash message z-index, and route collisions.

Technical Improvements:

  • Enhanced Devise handling for Turbo forms and redirects.
  • Eager loaded block subclasses in development for faster performance.
  • Updated constants for available page layouts.

Future Considerations:

This PR lays the foundation for future features and enhancements, including:

  • Additional block types for page builder expansion.
  • Further improvements to notifications and user messaging.
  • Enhanced analytics and metrics tracking.

…and setting accepted and declined timestamps
Create their associated person record and a community membership for the host community.

Unsure yet about what to do about platform memberships.
Fixes issue that prevented successful redirect after sign-in
Avoid predicate method names and ensure consistent method name for permission checking
…g consisten with platform show view

Use bootstrap card for tabbed section and render community membership details for member and joinable via partials.
…rotected on creation.

They should not be able to be deleted.

Also, set person as the creator of their primary community.
… that people are authorized to view.

These includes public communities and communities that a person has either created or is a member of.
…panded page builder functionality.

Main fields are now in a smaller left column and the content is alone in a larger right column.
…locale tabs.

Add translation stimulus controller to syncronize translateable field active locales and presence status checks.
…artial, and rich text block partial.

Can now render rish text and image blocks, though they still need polish and customization options implemented.
Allows rendering available block types in page block editor.

Classes are already eager-loaded in prod.
This will allow platform managers to survey total list of blocks and their contents as well as create unattached blocks for use as dynamic content partials to be placed outside the contenxt of a BetterTogether::Page.

Prevent deletion of blocks that are attached to pages. They are managed from the page editor form.
Can search pages through their titles and block attributes
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