Skip to content

Migrate/tasks#457

Open
Thirus224849242 wants to merge 5 commits intothoth-tech:10.0.xfrom
Thirus224849242:migrate/tasks
Open

Migrate/tasks#457
Thirus224849242 wants to merge 5 commits intothoth-tech:10.0.xfrom
Thirus224849242:migrate/tasks

Conversation

@Thirus224849242
Copy link
Copy Markdown

Description

This PR migrates the tasks module from CoffeeScript and AngularJS to TypeScript and Angular as part of the ongoing Doubtfire migration effort.

The original tasks.coffee was an empty parent module definition that grouped three child sub-modules together. Since tasks.coffee contains no logic of its own and all child modules are already loaded independently in doubtfire-angularjs.module.ts, it is safe to migrate this module without migrating the child modules first. Each child module loads itself via its own individual import statement, meaning they do not depend on tasks.coffee to function.

Changes made:

  • Created tasks.component.ts as the Angular replacement for tasks.coffee
  • Registered TasksComponent in doubtfire-angular.module.ts declarations
  • Downgraded TasksComponent in doubtfire-angularjs.module.ts using downgradeComponent to maintain hybrid app compatibility
  • Removed doubtfire.tasks module reference from doubtfire-angularjs.module.ts
  • Deleted old tasks.coffee

Dependent child modules — future tickets required:

  • modals.coffee — parent module for task modals, contains grade-task-modal.coffee and upload-submission-modal.coffee
  • project-tasks-list.coffee — contains project tasks list directive logic
  • task-ilo-alignment.coffee — parent module for ILO alignment, contains editor, rater, viewer and modal sub-modules. Note: all task-ilo-alignment sub-components are currently marked as not in use

Fixes # (issue)

Type of change

  • New feature (non-breaking change which adds functionality)

How Has This Been Tested?

The app was loaded and tested locally after each change to ensure nothing broke. All child modules continue to work correctly as they are loaded independently in doubtfire-angularjs.module.ts.

Testing Checklist:

  • Tested in latest Chrome
  • Tested in latest Safari
  • Tested in latest Firefox

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have requested a review from @macite and @jakerenzella on the Pull Request

Evidence

The app was tested locally after the migration and confirmed to be working correctly with no breaking changes. All existing functionality including child modules continues to work as expected after the removal of tasks.coffee.

image

@Thirus224849242 Thirus224849242 marked this pull request as ready for review April 13, 2026 12:43
Copy link
Copy Markdown

@WaelAlahamdi WaelAlahamdi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @Thirus224849242 ,

Reviewed locally and tested key task-related views (dashboard, planner, task list). Everything works as expected with no regressions.

The migration looks correct. Approved.

Copy link
Copy Markdown

@faithque faithque left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @Thirus224849242,

I have tested access and functionality of various screens (Dashboard, tutorials, portfolio, group list) in the application and most of them had no error associated with it. Just check on the below 2 issues to ensure the application is running well. They occur when accessing an assignment with a course and accessing the planner

Image Image

@SteveDala
Copy link
Copy Markdown
Collaborator

Hi @Thirus224849242, I'm no Angular expert but don't the child modules need to be migrated before the parent module? I'm not sure if src/app/tasks/tasks.coffee can be migrated before all the modules listed within are also migrated...

I may be wrong.

@Thirus224849242
Copy link
Copy Markdown
Author

Hi @Thirus224849242, I'm no Angular expert but don't the child modules need to be migrated before the parent module? I'm not sure if src/app/tasks/tasks.coffee can be migrated before all the modules listed within are also migrated...

I may be wrong.

Hi @SteveDala
Thanks for the review and pointing this out. I agree and looked into this before migrating.
In a typical AngularJS setup you it be correct child modules would need to be migrated before the parent. But in this case the three child modules are being loaded individually (in doubtfire-angularjs.module.ts) by each of their own import statements and therefore do not depend on tasks.coffee for loading.
tasks.coffee was simply a grouping module with no logic, controllers, services or directives. It just grouped the three child modules together to register as doubtfire.tasks. With the child modules being loaded anyway, this grouping is now redundant.
Locally the app was tested and is functioning as expected. The child modules are still working as before.
The child modules that are dependent have been noted in the PR description and will be migrated in a separate tickets.
Hope this helps!

@Thirus224849242
Copy link
Copy Markdown
Author

Thirus224849242 commented May 1, 2026

Hi @Thirus224849242,

I have tested access and functionality of various screens (Dashboard, tutorials, portfolio, group list) in the application and most of them had no error associated with it. Just check on the below 2 issues to ensure the application is running well. They occur when accessing an assignment with a course and accessing the planner

Image Image

Hi @faithque Thanks for the review, I have tested it extensively and was able to replicate the issue you mentioned can you specify any replication steps. Thanks.

image

Copy link
Copy Markdown

@Sujay-Deakin Sujay-Deakin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @Thirus224849242
Tested locally, and the migration looks clean. The justification for migrating the parent before child modules makes sense, given that the child modules load independently.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants