Move the Scheduler to its own project

Created on 12 February 2025, 3 months ago

Problem/Motivation

The event_platform_scheduler submodule currently includes a drag-and-drop scheduler. As part of the work in ✨ Move the Event Platform to a set of recipes Active , the recipes will no longer be able to contain PHP, CSS, or JS code.

Proposed resolution

Create a separate project for assigning entity relationships via drag-and-drop. Although the current scheduler only allows one entity per grid slot, this could be configurable, along with which fields/taxonomies to use for the grid.

πŸ“Œ Task
Status

Active

Version

1.0

Component

Miscellaneous

Created by

πŸ‡¨πŸ‡¦Canada mandclu

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

  • Issue created by @mandclu
  • πŸ‡ΊπŸ‡ΈUnited States mradcliffe USA

    If you want to keep git histories, we can use a tool like git-filter-repo to do this. It will have an extra commit to move files.

    I think that these instructions could be worked on at MidCamp as long as you create the new projects exist by then.

    1. Clone a fresh copy of event_platform.
    2. Create and clone clone {submodule} issue fork and checkout the issue fork branch.
    3. Change directory into event_platform.
    4. Run git-filter-repo --path {submodule} --to-subdirectory-filter {submodule}
    5. Change directory into {submodule}.
    6. Run git remote add -f event_platform ../event_platform
    7. Run git merge --allow-unrelated-histories event_platform/2.0.x
    8. Remove any tags git tag | xargs git tag -d
    9. Run git mv {submodule}/{submodule}/* .
    10. Remove the {submodule} directory.
    11. Commit
    12. Add default files if they do not exist yet (e.g. .gitignore, gitlab-ci.yml, composer.json, README.md)
    13. Commit
    14. Cleanup namespaces, dependencies and any other files.
    15. Commit
    16. Push
    17. Create a merge request from the issue fork branch

    This will essentially give the history (for event_platform_scheduler):

    * fdd4530 (HEAD) Moves files into place (6 seconds ago) <Matthew Radcliffe>
    *   feca34c (2.0.x) Merge branch '3366560-create-events-as' into 2.0.x (6 weeks ago) <Martin Anderson-Clutz>
    |\  
    | * ff45c57  Code changes and first pass on content architecture changes (6 weeks ago) <Martin Anderson-Clutz>
    * | 1582ea9  Issue #3366560 by mandclu: Create Events as entities to allow for multiple years (6 weeks ago) <Martin Anderson-Clutz>
    |/  
    * c16a289  (1.1.x, 1.0.x) Issue #3451068 by Project Update Bot, mandclu: Automated Drupal 11 compatibility fixes for event_platform (11 months ago) <Martin Anderson-Clutz>
    * 03c23b2  Fix for stuck scheduler spots (1 year, 10 months ago) <Martin Anderson-Clutz>
    * 21cf0e1  Issue #3372171 by mandclu: Add a session moderator role (1 year, 10 months ago) <Martin Anderson-Clutz>
    * 88e9ca0  Issue #3372042 by mandclu: Make Scheduler table full width (1 year, 10 months ago) <Martin Anderson-Clutz>
    * 38d9263  Issue #3372038 by mandclu: Remove console.log call in scheduler.js (1 year, 10 months ago) <Martin Anderson-Clutz>
    * e5cfd77  Issue #3372036 by mandclu: Notice: Only variables should be passed by reference in Scheduler->buildRows() (1 year, 10 months ago) <Martin Anderson-Clutz>
    * 80a270a  Issue #3357829 by apaderno, mandclu: Fix the issues reported by phpcs (1 year, 10 months ago) <Martin Anderson-Clutz>
    * 7518861  Issue #3371933 by mandclu: In Scheduler highlight scheduled sessions matching filters (1 year, 10 months ago) <Martin Anderson-Clutz>
    * 81d46b3  Issue #3371942 by mandclu: Update empty messaging in scheduler interface (1 year, 10 months ago) <Martin Anderson-Clutz>
    * 7d123fe  Issue #3371940 by mandclu: Error: Call to a member function get() on null (1 year, 10 months ago) <Martin Anderson-Clutz>
    * dda89ff  Issue #3371930 by mandclu: Drupal\Core\Entity\Query\QueryException: Entity queries must explicitly set whether the query should be access checked or not (1 year, 10 months ago) <Martin Anderson-Clutz>
    * 5d19f54  Issue #3371896 by mandclu: Fix code standards issues (1 year, 10 months ago) <Martin Anderson-Clutz>
    * 02f8787  Issue #3371708 by mandclu: Provide session filters in scheduler view (1 year, 10 months ago) <Martin Anderson-Clutz>
    * c480527  Issue #3366558 by mandclu: Scheduler Validation: Don't allow more than one session by the same presenter in the same time slot (1 year, 10 months ago) <Martin Anderson-Clutz>
    * a973ebf  Issue #3366556 by mandclu: Allow sessions to be filtered by workflow status in the Scheduler (1 year, 10 months ago) <Martin Anderson-Clutz>
    * 82f3047  Issue #3360405 by mandclu: Use Smart Date's updated format service method (2 years ago) <Martin Anderson-Clutz>
    * 51756b1  Issue #3360403 by mandclu: Round the corners in sessions in the Gin Admin Theme (2 years ago) <Martin Anderson-Clutz>
    * e2dfa5d  Issue #3360401 by mandclu: Provide a tool to generate time slots (2 years ago) <Martin Anderson-Clutz>
    * d6c19ac  Issue #3355872 by mandclu: Provide a scheduler interface to quickly assign time slots and rooms (2 years ago) <Martin Anderson-Clutz>
    
  • πŸ‡ΊπŸ‡ΈUnited States mradcliffe USA

    Also realized there's probably some thorough instructions here (core-related) that can be extrapolated to contrib. Either a subtree split or git-filter-repo is suggested: https://www.drupal.org/about/core/policies/core-change-policies/how-to-d... β†’

Production build 0.71.5 2024