Open DubeySandeep opened 4 months ago
Hi @DubeySandeep, Can I work on this issue?
@jnvtnguyen I've assigned you to Moderator
, you can start working on it! Also, I've sent you a message on Google Chat to keep in touch (send me an email in case you are not on google-chat).
@DubeySandeep Alright, do I create a pull request when I finish the Moderator migration?
Hey @DubeySandeep, can I work on a page too?
@DubeySandeep Alright, do I create a pull request when I finish the Moderator migration?
@jnvtnguyen Yes! Also, you can create a draft PR if after completing all the steps mentioned above you are not able to fix any issue raised during testing! (This will help me check the changes and guied you better!)
Hi @Vir-8 Thanks for showing interest in this issue! :)
I've assigned you to Blog admin
, you can start working on it! Let me know if you have any questions or need any help! :)
Sure thing, thanks!
Assigning Creator dashboard
to @jysin330
@jysin330 You can start working on it, let me know if you need any help! :) (Also, you can use #19449 for reference.)
Hi, I will work on the Contributor Dashboard
Migration.
Sure @DubeySandeep .Thank you for assigning me to issue #19453.
Hi @DubeySandeep can I be assigned something?
@retrogtx I've assigned you to Email Dashboard
, you can start working on it! Let me know if you have any questions. Good luck! :)
Hi @DubeySandeep ,
I am new to open source. I would like to contribute to the community and I would like to start from here. Can I be assigned with something?
Also, Is there any other way I can communicate with you? As github discussion is kinda confusing for me. Thank you in advance.
Hi @DubeySandeep , can I be assigned something?
@DubeySandeep Sure thing, I'd love to work on migrating another page
@shivanandan17 @arnavchhokra Thanks for showing interest in this issue, as this issue is critcal and needs to be resolved quickly, I'm only assigning it to someone completed devlopment env setup. Can you please share a screenshot presenting a running development env?
@Vir-8 I've assigned you to Learner dashboard
& Curriculum admin
, feel free to initiate one PR with both the section. I hope that's fine, let me know in case you only want to work on one at a time! :)
Note: Learner dashboard
is simple and won't need any new route gaurd.
@DubeySandeep ,
@arnavchhokra Thanks for sharing the screenshot, I've assigned you to Blog Dashboard
, you can start working on it. Also, you can take #19471 for reference (if needed). Let me know if you have any questions, I'll be more than happy to help. Good luck!
@DubeySandeep
Hey @DubeySandeep, the current route for the curriculum admin page is /classroom-admin
, are we changing it to /curriculum-admin
?
No -- let's still keep it as classroom-admin. Thanks for checking!
Hey @DubeySandeep, the current route for the curriculum admin page is
/classroom-admin
, are we changing it to/curriculum-admin
?
Sorry, I had added the wrong route in the issue, please use the existing one! (I've updated the issue now!)
@shivanandan17 Thanks for sharing the screenshot. I've assigned you to the Contributor dashboard admin
section, please check the assigned part of the issue for more details. Let me know if you have any questions.
For some reason http://localhost:8181/learn/math shows error 404
Don't worry that's expected, you'll have to populate the classroom data.
@DubeySandeep , should I also do the blog post editor?
@arnavchhokra I'll be more than happy to assign you to other parts of this issue, just to avoid overloading and complicate your first PR experience, I'll suggest creating the first PR with one section.
Do let me know once you initiate your first PR, I'll go ahead and assign you 2 more that you can work togther. I hope that's fine! (and thanks again for helping with this issue!)
EDIT:
@arnavchhokra Where do you see the blog-post-editor page? I couldn't find it, making sure I'm not missing anything.
@DubeySandeep
@DubeySandeep I am getting this after pull request. Is this common?
@shivanandan17 That's not expected, looks like you have not signed the CLA and oppiaBot has reported the same on your PR. Can you please do that and make sure to fully read and follow the getting started wiki page?
@DubeySandeep Okai sir.
@arnavchhokra Thanks for sharing the screenshot, I'm not sure why it's not in the issue, I'll check and update the issue accordingly. Feel free to initiate your PR for Blog Dashboard
and let's focus on other pages in a separate PR!
@DubeySandeep , I was having some issues with chrome headless tests, can I contact you?
@arnavchhokra Feel free to reach out to me on my email (provided above)! Also, you can report setup issues on discussions.
Hi, @DubeySandeep . Is there any page that I can work on. Thanks.
Hello @DubeySandeep and @seanlip sir, I think some parts of Contributor dashboard admin
page is still in the Angular Js format and I am facing frontend issues while migrating using above instructions. Can you please let me know if there are any changes that has to be done before doing migration to Lazy-Loaded Angular Modules for the Contributor dashboard admin
page?
Update (Found this to be possible reason for frontend errors while migrating to Lazy-Loaded Angular Modules):
Can I get another page to work on?
Hey @DubeySandeep can you also assign me a page. I have oppia server running on docker.
@DubeySandeep if there any page where i can work. Thank You. 🙂
Unassigning @retrogtx from Email dashboard
because of lack of activity.
@sagar-subedi @vaishnavi192 @rahat2134 , I've assigned you to Email Dashboard
, Diagnostics test player
& Topics and skills dashboard
respectively. You can start working on it!
hi @DubeySandeep , i have sent you a mail regarding an issue.
@shivanandan17 Thanks for reporting the issue, will it be possible for you to migrate the code to angular? I can help in case needed!
This might get complicated and I'm fine assigning you to another part, let me know as needed!
@DubeySandeep I am willing to migrate it to Angular sir. But a little guidance will be helpful for me sir.
@shivanandan17 That's great, you can find multiple PRs in this issue which migrates component to angular: https://github.com/oppia/oppia/issues/9749 Let me know if you need anything else.
Hey @DubeySandeep I would like to migrate Topic editor. Can I get assigned to do it ?
Hi @DubeySandeep . Encountered a 404 error on the Creator Dashboard. Need your guidance to resolve. Could you please guide me on how to resolve this issue?
Hi @DubeySandeep , can I be assigned Topic editor?
Hi @DubeySandeep, Can I get assigned to any of the pages for migration? : )
Hi @DubeySandeep is there any page that I can get assigned to for migration? It's my first issue here.
Hello @DubeySandeep I am interested in working on this issue is there anything particular that you can assign to me too. I'd love to contribute
hello @DubeySandeep, could you please assign me topic editor?
Hi @Happyashbunny @PointBreak600 @abhisheksatpathy @alyaa999 @amaanlari
Sorry for the delay, unexpectedly most of the tasks were blocked and we couldn't assign anyone! Now, it's unblocked and ready for pick! :)
If you are still interested and have completed setting up the development environment, please share a screenshot of the local webpage, and I'll assign you to a task! Also, let me know if you have any other questions!
Description:
This issue aims to move individual page compilations from using Webpack (as AngularJS modules) to lazy-loaded Angular modules. This migration ensures each page has its own Angular module and is loaded only when needed, enhancing application performance. It also facilitates the shift from the AngularJS compilation process to Angular modules. Completing this migration will allow for the removal of Webpack and AngularJS-related code from our codebase.
Routes requiring these changes:
Ready for work:
[ ] exploration_editor (@srijanreddy98)
[ ] Story Editor (webpack section)
[ ] Topic Editor (webpack section)
[ ] email_dashboard_result (webpack section)
Assigned(0):
In-review(5):
- [ ] Subtopic Viewer ([webpack section](https://github.com/oppia/oppia/blob/b2584523e4eacb67f08bea027de5b600051cc680/webpack.common.config.ts#L469)) - PR: https://github.com/oppia/oppia/pull/20295 - [ ] Review Test ([webpack section](https://github.com/oppia/oppia/blob/b2584523e4eacb67f08bea027de5b600051cc680/webpack.common.config.ts#L437)) @Ahmed-Bhouri https://github.com/oppia/oppia/pull/20117 - [ ] Topic Viewer ([webpack section](https://github.com/oppia/oppia/blob/b2584523e4eacb67f08bea027de5b600051cc680/webpack.common.config.ts#L504)) @abhisheksatpathy https://github.com/oppia/oppia/pull/20050 - [ ] Skill Editor ([webpack section](https://github.com/oppia/oppia/blob/b2584523e4eacb67f08bea027de5b600051cc680/webpack.common.config.ts#L446)) @shivanandan17 https://github.com/oppia/oppia/pull/19882 - [ ] Topics and Skills Dashboard ([webpack section](https://github.com/DubeySandeep/oppia/blob/b2584523e4eacb67f08bea027de5b600051cc680/webpack.common.config.ts#L490-L502)) @jnvtnguyen https://github.com/oppia/oppia/pull/19819 - Use[ isCurriculumAdmin for rights](https://github.com/DubeySandeep/oppia/blob/28c396663b6616e38e42d558d829dad897064f68/core/templates/domain/user/user-info.model.ts#L93-L99) - Title: Topics and skills dashboard - Route: [/topics-and-skills-dashboard](https://github.com/oppia/oppia/blob/a3919935f2bc40f915814e981a86db60f4ba8a23/main.py#L430-L433) - [ ] Creator dashboard ([webpack section](https://github.com/DubeySandeep/oppia/blob/b2584523e4eacb67f08bea027de5b600051cc680/webpack.common.config.ts#L270-L280)) @jnvtnguyen https://github.com/oppia/oppia/pull/19819 - Use [IsLoggedIn](https://github.com/oppia/oppia/blob/bb0eeeed0e109443e3ad9c3488db07379f7754c1/core/templates/domain/user/user-info.model.ts#L142) - Title: Creator Dashboard - Route: [/creator-dashboard](https://github.com/oppia/oppia/blob/a3919935f2bc40f915814e981a86db60f4ba8a23/main.py#L332-L334)
Completed(15):
- [x] Collection Editor ([webpack section](https://github.com/oppia/oppia/blob/b2584523e4eacb67f08bea027de5b600051cc680/webpack.common.config.ts#L228)) @pritam2317 https://github.com/oppia/oppia/pull/20116 - [x] Facilitator Dashboard ([webpack section](https://github.com/oppia/oppia/blob/b2584523e4eacb67f08bea027de5b600051cc680/webpack.common.config.ts#L515)) @sagar-subedi https://github.com/oppia/oppia/pull/20022 - [x] Diagnostic test player ([webpack section](https://github.com/DubeySandeep/oppia/blob/b2584523e4eacb67f08bea027de5b600051cc680/webpack.common.config.ts#L196-L209)) https://github.com/oppia/oppia/pull/19811 - Open access, so no auth guard is needed! - Title: Diagnostic test player - Route: [/diagnostic-test-player](https://github.com/oppia/oppia/blob/a3919935f2bc40f915814e981a86db60f4ba8a23/main.py#L430-L433) - [x] Voiceover admin @Nik-09 https://github.com/oppia/oppia/pull/19884 - [x] Collection Player ([webpack section](https://github.com/oppia/oppia/blob/b2584523e4eacb67f08bea027de5b600051cc680/webpack.common.config.ts#L243)) @amaanlari https://github.com/oppia/oppia/pull/19901 - [x] Learner Group Creator ([webpack section](https://github.com/oppia/oppia/blob/b2584523e4eacb67f08bea027de5b600051cc680/webpack.common.config.ts#L526)) @AFZL210 https://github.com/oppia/oppia/pull/19826 - [x] Contributor dashboard Admin([webpack section](https://github.com/DubeySandeep/oppia/blob/b2584523e4eacb67f08bea027de5b600051cc680/webpack.common.config.ts#L281-L291)) @shivanandan17 [16th Jan] #19703 - Use [isTranslationAdmin OR isQuestionAdmin](https://github.com/DubeySandeep/oppia/blob/28c396663b6616e38e42d558d829dad897064f68/core/templates/domain/user/user-info.model.ts#L93-L99) - Title: Contributor Dashboard Admin - Route: [/contributor-dashboard-admin](https://github.com/oppia/oppia/blob/a3919935f2bc40f915814e981a86db60f4ba8a23/main.py#L312-L314) - [x] Blog Dashboard ([webpack section](https://github.com/DubeySandeep/oppia/blob/b2584523e4eacb67f08bea027de5b600051cc680/webpack.common.config.ts#L216-L226)) @AFZL210 #19815 - Use [IsBlogAdmin OR IsBlogEditor](https://github.com/oppia/oppia/blob/bb0eeeed0e109443e3ad9c3488db07379f7754c1/core/templates/domain/user/user-info.model.ts#L90-L96) - Title: Blog Dashboard - Route: [/blog-dashboard](https://github.com/oppia/oppia/blob/a3919935f2bc40f915814e981a86db60f4ba8a23/main.py#L1015-L1017) - PRs for reference: https://github.com/oppia/oppia/pull/19589 - [x] Learner Group Editor ([webpack section](https://github.com/oppia/oppia/blob/b2584523e4eacb67f08bea027de5b600051cc680/webpack.common.config.ts#L537)) @AFZL210 https://github.com/oppia/oppia/pull/19761 - [x] Classroom Admin ([webpack section](https://github.com/DubeySandeep/oppia/blob/b2584523e4eacb67f08bea027de5b600051cc680/webpack.common.config.ts#L178-L195)) @Vir-8 https://github.com/oppia/oppia/pull/19508 - Use [isCurriculumAdmin](https://github.com/oppia/oppia/blob/bb0eeeed0e109443e3ad9c3488db07379f7754c1/core/templates/domain/user/user-info.model.ts#L98) - Title: Curriculum admin - Route: [/classroom-admin](https://github.com/oppia/oppia/blob/a3919935f2bc40f915814e981a86db60f4ba8a23/main.py#L438-L440) - [x] Email Dashboard ([webpack section](https://github.com/DubeySandeep/oppia/blob/b2584523e4eacb67f08bea027de5b600051cc680/webpack.common.config.ts#L303-L313)) @sagar-subedi https://github.com/oppia/oppia/pull/19627 - Use [isSuperAdmin](https://github.com/oppia/oppia/blob/bb0eeeed0e109443e3ad9c3488db07379f7754c1/core/templates/domain/user/user-info.model.ts#L122) - Title: Email Dashboard - Route: [/email-dashboard](https://github.com/oppia/oppia/blob/a3919935f2bc40f915814e981a86db60f4ba8a23/main.py#L941-L942) - [x] Learner dashboard ([webpack section](https://github.com/oppia/oppia/blob/a3919935f2bc40f915814e981a86db60f4ba8a23/main.py#L497-L499)) @Vir-8 https://github.com/oppia/oppia/pull/19508 - Use [IsLoggedIn](https://github.com/oppia/oppia/blob/bb0eeeed0e109443e3ad9c3488db07379f7754c1/core/templates/domain/user/user-info.model.ts#L142) - Title: Learner Dashboard - Route: [/learner-dashboard](https://github.com/oppia/oppia/blob/a3919935f2bc40f915814e981a86db60f4ba8a23/main.py#L500-L502) - [x] Contributor dashboard ([webpack section](https://github.com/DubeySandeep/oppia/blob/b2584523e4eacb67f08bea027de5b600051cc680/webpack.common.config.ts#L281-L291)) @jnvtnguyen https://github.com/oppia/oppia/pull/19467 - No route guard is needed as this page can be accessed by any user. - Title: Contributor Dashboard - Route: [/contributor-dashboard](https://github.com/oppia/oppia/blob/a3919935f2bc40f915814e981a86db60f4ba8a23/main.py#L312-L314) - [x] Blog admin ([webpack section](https://github.com/DubeySandeep/oppia/blob/b2584523e4eacb67f08bea027de5b600051cc680/webpack.common.config.ts#L161-L177)) @Vir-8 #https://github.com/oppia/oppia/pull/19471 - Use [isBlogAdmin](https://github.com/oppia/oppia/blob/develop/core/templates/domain/user/user-info.model.ts#L90) to check rights - Title: Blog Admin - Route: [/blog-admin](https://github.com/oppia/oppia/blob/a3919935f2bc40f915814e981a86db60f4ba8a23/main.py#L994) - [x] Moderator ([webpack section](https://github.com/DubeySandeep/oppia/blob/b2584523e4eacb67f08bea027de5b600051cc680/webpack.common.config.ts#L395)) @jnvtnguyen #19449 - Use [isModerator](https://github.com/oppia/oppia/blob/bb0eeeed0e109443e3ad9c3488db07379f7754c1/core/templates/domain/user/user-info.model.ts#L86) - Title: Moderator - Route: [/moderator](https://github.com/oppia/oppia/blob/a3919935f2bc40f915814e981a86db60f4ba8a23/main.py#L618)
Required changes:
Before making any changes, please navigate to the relevant page on your local machine (on the develop branch) and check that you understand how to reach it. Try out the behaviour of that page to get some idea of how it works, so that you can verify that the page continues to work fine after the changes below.
Backend changes:
Register the Page:
PAGES_REGISTERED_WITH_FRONTEND
. ReferenceRemove Backend Handler:
<page-name>.mainpage.html
. ReferenceRemove URL-to-handler linkage in
main.py
:main.py
, remove the line that links url to the old handler which is removed in the above step. Reference Note: For each task, a link to the relevant URL-to-handler linkage in main.py is provided under the 'Route' bullet.Add access validator
Frontend changes:
Delete Redundant File:
<page-name>.mainpage.html
file. ReferenceCreate Route Guard:
canActivate
function make a call to the newly created access-validator function and returntrue
if the user has permission else route to the error page and return false. ReferenceComponent Upgrade:
downgradeComponent
from thepage
component. ReferenceCreate Root Component Files:
<module-name>.root.component.ts
with title and meta. Reference<module-name>.root.component.html
. The template should use the relevant page-component. ReferenceUpdate Main Module:
providers
, Browser*Module, any HTTP module, and everything related to the router module. ReferencengDoBootstrap
from the module class and all code below the module class. ReferenceUpdate Components in Module:
declarations
of<module-name>.module.ts
:downgradeComponent
from the bottom. ReferencessmartRouterLink
torouterLink
. ReferenceAdd Module to App Routing:
app.routing.module.ts
withIsLoggedInGuard
[if required]. ReferenceUpdate Webpack Configuration:
How to test all the changes:
Helpful Tips
Reference Pull Request (PR): While working on your changes, refer to the PR at #18855. Your updates may not require all the modifications in that PR, but they will likely overlap.
Seeking Help: If you encounter persistent errors after applying your changes and can't resolve them despite multiple attempts, you can seek assistance from @DubeySandeep and others. To do this effectively:
Prepare a Draft PR: Initiate a draft pull request on GitHub incorporating all your changes.
Need help with #19435
"In addition, please leave a comment on this issue thread with the above details as well.
To remove webpack requirements for the codebase, firstly we need to get #19435 resolved though even after this we will be left with some pages which cannot be removed using the steps mentioned in #19435. This issue list outs all the remaining tasks (excluding #19435) required to be completed before removing webpack:
error_iframed
/console-errors
page as it's no more needed./maintenance
page via OppiaRootHandler nad move the maintenance page to angular.