-
Notifications
You must be signed in to change notification settings - Fork 156
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
[full-ci] new url format #6137
[full-ci] new url format #6137
Conversation
Thanks for opening this pull request! The maintainers of this repository would appreciate it if you would create a changelog item based on your changes. |
4a7b581
to
cf5a856
Compare
packages/web-app-files/src/components/SideBar/Links/PublicLinks/LinkInfo.vue
Outdated
Show resolved
Hide resolved
packages/web-app-files/src/components/SideBar/Shares/Collaborators/ShowCollaborator.vue
Outdated
Show resolved
Hide resolved
packages/web-app-files/src/components/SideBar/Links/PublicLinks/LinkInfo.vue
Outdated
Show resolved
Hide resolved
New schemaI don't know how deep you have to dig here. I checked only opening new url
public-link and public-drop require logins |
303ea0d
to
cdb227d
Compare
@ScharfViktor many thanks for testing and find the broken pathes, i missed a redirect from old to the new route. this is done now and can be re-tested. |
I tried to run smoke tests: This needs to change:
But the tests were failed because of this problem (MOVE or COPY buttons were not found) Untitled.mov |
5b9e373
to
c3bb828
Compare
thank you for digging into it, the move, copy etc. actions where missed due the problem that web right now is not able to wait with rendering till the user is fetched (only right after the first login), that is known and as a temporary workaround i removed the user name from storage (/files/spaces/personal/alice) and use home instead (/files/spaces/personal/home). Thats not cool but the only workaround i could think of till we update the boot mechanism to support this. I hope, i catched all other problems too, lets see what ci is saying now :) |
Results for oC10SharingAccept https://drone.owncloud.com/owncloud/web/21096/15/1
|
ddc1d8a
to
65c2487
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
as discussed: lgtm
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the heavy lifting and attention to detail. I have some things that we should discuss:
- the PR lacks a changelog item. As of now it needs to be a
change
as existing applications need to adapt (also see below) - can we have the route names in constants? It feels repetitive that they are all over the place as strings
- could you think of a mapping of old route names to new route names as a kind of compatibility layer? I think it is needed in the
fileActions
mixin only (line 89). With that this PR could be anenhancement
instead of achange
afaict - a note: I like that
isLocationSpacesActive(this.$router)
checks with the default route, but I don't like the readability of it when placed side by side with explicit route checks. I'd be in favour of making the check explicit as well (files-spaces-storage-personal
, I know that we don't have it but the readability would be much better). - could you explain/remind me again why the personal files have to be in the
spaces
namespace? Technically shares are spaces as well and they don't live in thespaces
namespace either. From a user perspective I'd expect to havefiles/personal/home
and later on when project spaces are alivefiles/spaces/marketing
and the like.files/spaces/personal/home
is confusing to me. files/shares/public/files/uGtt0VAc7hyu9Ts
looks repetitive as well. Would be much nicer to have justfiles/shares/public/uGtt0VAc7hyu9Ts
would look better (without the secondfiles
segment).
(Some more smaller things in the comments)
new files routes and route helpers refactoring of the breadcrumb to not rely on static pathes anymore route active detection now is based on vue router resolve instead of pure string matching preparations for spaces namespace and storage deprecation path for old routes
…users in initial state is possible
replace response check with navigation check in smoke tests add workaround to wait for share to be ready after accepting it
update url schema and extract public urls into own namespace update route spaces helper to have personal namespace written out add changelog
6cc7b94
to
6a4d5df
Compare
@kulmann i hope I haven't missed a point on your list, please have a look. As we had additional feedback which could break things we need to re-run all tests done before. Cc.: @ScharfViktor |
SonarCloud Quality Gate failed. |
Results for oCISSharingBasic https://drone.owncloud.com/owncloud/web/21475/53/1
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hooooray! 🥳 🎈 💯 🥇 Awesome piece of work, thank you @fschade ! ❤️
Preface
CI will fail with integration tests, and maybe on e2e tests too.
It is meant as a preview to get test early and see what ci says.
The new route naming (we used string matching to identify routes) must be adopted in vendor applications.
Description
this pr introduces the new URL design, it also touches some parts that are not discussed yet.
The technical design makes all url paths interchangeable without touching the logic.
To get a better background please read #6085 and https://github.com/owncloud/ocis/blob/master/docs/ocis/adr/0011-global-url-format.md.
Following things are included:
please read the routes overview section to get a better understanding of which parts have changed.
Related Issue
Motivation and Context
prepare web to support spaces and introduce a clear mental cluster of what route should go where.
How Has This Been Tested?
Types of changes
Checklist:
Open tasks:
Routes overview
Old schema
New schema
Detailed design
New schema
/files/spaces
/files/spaces/:namespace
/files/spaces/:namespace/:storage/:item*
personal
current user id
/files/shares
/files/public/show/:item*
/files/public/drop/:token
/files/shares/with-me
/files/shares/with-others
/files/shares/via-link
/files/trash
/files/favorites
/files/ops/location-picker/:context/:action/:item*
/files/ops/resolver/public-link/:token
/files/ops/resolver/private-link/:fileId
Old schema
/files/list
/files/list/all/item*
/files/list/favorites
/files/list/shared-with-me
/files/list/shared-with-others
/files/list/shared-via-link
/files/list/trash-bin
/files/public/list/:item*
/files/public-link/:token
/files/private-link/:fileId
/files/location-picker/:context/:action/:item*
/files/files-drop/:token