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

☂️ Merge Course and CoursePage #301

Closed
1 of 14 tasks
elbotho opened this issue Nov 27, 2023 · 2 comments
Closed
1 of 14 tasks

☂️ Merge Course and CoursePage #301

elbotho opened this issue Nov 27, 2023 · 2 comments

Comments

@elbotho
Copy link
Member

elbotho commented Nov 27, 2023

intro

similar to moving solutions into the editor state of the parent exercise we want to move the course pages into the editor state of the parent course.

why?

  • simplify backend and entities
  • simplify reviewing
  • hopefully less bugs

impact

Last entity with entity children. Finishing this will unlock a lot of simplifications across our codebase

potential problems

  • we use the coursePage urls directly quite a bit
  • we have to handle SEO
  • editing experience might be annoying for long courses (solved here)

plan/unclear

  • find a way to link to page directly after migration (like GroupedEx)
  • Note: not supporting injections is probably ok (source) (but could be supported like we do with GroupedEx)
  • change existing links and relatedContent (db-migration)
  • improve edit UI so it's not overwhelming for long courses? (solved here)

migrate

  • update course editor state in frontend
  • build migration to move all course pages into the parent courses editor state
  • adapt frontend
    • show pages from state
    • change how urls are created
    • change author menus
    • remove CoursePage entity code
  • add redirect in cf-worker to 301 previously existing coursePage links and remove existing course redirects
  • test changes

cleanup

  • remove code from api
  • remove code from db layer
  • delete coursePages from db (migration)

links

We need to think about way to directly
we should def. update existing links

@Entkenntnis
Copy link
Member

SEO would be the biggest task: About 9% of our total traffic are course pages and most of the time it's not the first page, but some other page like https://de.serlo.org/mathe/20322/addition-und-subtraktion-ungleichnamige-brüche. Course pages are de-facto "mini articles".

The most painless path here would be to keep all urls backward compatible - the very least to redirect them so that google can find them.

@elbotho
Copy link
Member Author

elbotho commented Apr 29, 2024

closing in favour of serlo/db-migrations#338

@elbotho elbotho closed this as completed Apr 29, 2024
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

No branches or pull requests

2 participants