-
Notifications
You must be signed in to change notification settings - Fork 19
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
Slugify Collectives and Pages #1424
base: main
Are you sure you want to change the base?
Conversation
1cc11f7
to
e179382
Compare
Hey @Koc, thanks for looking into this. Definitely a good idea to slugify collectives and page titles for cleaner URLs. Without looking into all the details, I wonder if we could implement this in a way that doesn't need the sluggified string to be persisted in the database. Why not make calculate the slug of titles/names on demand in the backend and add them as attribute to the collectives and pages in the API responses? Then the frontend could always check for name/title match first and for slug match second. What do you think about this approach? |
@mejo- we have a lot of pages in collectives, so I would like to reduce amount of runtime operations to speedup backend endpoints. |
24eca7a
to
6eb5ed6
Compare
I've achieved some progress. Now it more or less works, we have even redirects if slugs have been renamed. You can observe how it works in the video that attached to PR description |
Hello there, We hope that the review process is going smooth and is helpful for you. We want to ensure your pull request is reviewed to your satisfaction. If you have a moment, our community management team would very much appreciate your feedback on your experience with this PR review process. Your feedback is valuable to us as we continuously strive to improve our community developer experience. Please take a moment to complete our short survey by clicking on the following link: https://cloud.nextcloud.com/apps/forms/s/i9Ago4EQRZ7TWxjfmeEpPkf6 Thank you for contributing to Nextcloud and we hope to hear from you soon! (If you believe you should not receive this message, you can add yourself to the blocklist.) |
4941808
to
f8372d7
Compare
@mejo- there is one more reason to persist |
4f66821
to
122a2b3
Compare
This comment was marked as outdated.
This comment was marked as outdated.
c9fd222
to
7d50cb3
Compare
21ca8b9
to
1a4c573
Compare
hey @mejo- ! It seems like
It doesn't matter have I removed collectives/pages or not. The fact is the same code works fine with That's why I've moved slugs generation into separate console command. So, after upgrade old pages/collectives would have same urls like before. Details
|
ca439ad
to
ddcb0c4
Compare
f6201fd
to
074f66b
Compare
I don't know why cypress is failing with |
Cypress failures were unrelated, should be fixed after a rebase to latest main by #1623 |
@juliusknorr I've already rebased few times 😄. Mentioned PR fixes Behat tests but not Cypress. |
Ah sorry, seems I mixed up repos and have not pushed a fix for collectives yet. We'll need to adapt nextcloud/text#6819 for this repo as well then |
1f3e553
to
dd350b2
Compare
@juliusknorr I've opened PR with backport: #1625. But now there is another error 🤷♂️ :
|
Signed-off-by: Kostiantyn Miakshyn <molodchick@gmail.com>
…onsole command) Signed-off-by: Kostiantyn Miakshyn <molodchick@gmail.com>
dd350b2
to
893a5c8
Compare
Signed-off-by: Kostiantyn Miakshyn <molodchick@gmail.com>
8cae6e6
to
408616e
Compare
Signed-off-by: Kostiantyn Miakshyn <molodchick@gmail.com>
408616e
to
dffe309
Compare
📝 Summary
This is a very beginning of my PR to slugify urls for Collectives and Pages. For now urls are too long and hard to understand if using cyrylic in this entities.
Here an example of some of them:
http://localhost/index.php/apps/collectives/%D0%A3%D0%BA%D1%80%D0%B0%D1%97%D0%BD%D1%81%D1%8C%D0%BA%D1%96%20%D1%84%D1%83%D1%82%D0%B1%D0%BE%D0%BB%D1%96%D1%81%D1%82%D0%B8/%D0%AF%D1%80%D0%BC%D0%BE%D0%BB%D0%B5%D0%BD%D0%BA%D0%BE%20%D0%90%D0%BD%D0%B4%D1%80%D1%96%D0%B9%20%D0%9C%D0%B8%D0%BA%D0%BE%D0%BB%D0%B0%D0%B9%D0%BE%D0%B2%D0%B8%D1%87?fileId=187
. Just compare it with slugified version:http://localhost/index-php/apps/collectives/ukrayinski-futbolisti-1/page-1-yurchenko-andriy-mykolayovich
. Easy to read, 3 times shorter.🖼️ Video
Screencast.from.2024-09-01.17-18-46.webm
🚧 TODO
🏁 Checklist
npm run lint
/npm run stylelint
/composer run cs:check
)