[FEATURE REQUEST] Sharing NG: Create new link
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 4.2k
- Forks
- 3.1k
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 7
Description
In case of an oCIS server, using the Graph API to create a link over any item. Similar to the link creation over an space.
1. Permission:
same as share with user/groups. No specific permission for links, to show the + option
2. Create Link
Link is conformed by:
- Name: optional. If empty
Unnamed Link(with translations). Max 255 chars - Permission: mandatory. Check screenshot below
- Password: depends on server parameters and capabilities (password policy)
OCIS_SHARING_PUBLIC_WRITEABLE_SHARE_MUST_HAVE_PASSWORD-> mandatory password forCan editandSecret file dropOCIS_SHARING_PUBLIC_SHARE_MUST_HAVE_PASSWORD-> mandatory password for everyone
- Expiration date: optional
As the spaces, password and expiration date will be displayed once one of the permissions is selected.
Permissions, to be hardcoded like the spaces
| Files | Folders |
|---|---|
3. Submission
POST https://<url>:9200/graph/v1beta1/drives/<drive-id>/items/<item-id>/createLink
with body
{
"password": "UX}H[8Uq/%'Mz-lq4HUin:e{|G46&Rttjt,WT7Y[u6&,",
"displayName": "A",
"type": "view",
"expirationDateTime": "2026-08-26T11:53:08.664Z"
}
type: view, edit, createOnly
"expirationDateTime" only if it was set.
Response body like:
{
"createdDateTime": "2026-08-19T11:55:13.45495517Z",
"hasPassword": true,
"id": "IAfiUVqqpslHpNK",
"link": {
"@libre.graph.displayName": "",
"@libre.graph.quickLink": false,
"preventsDownload": false,
"type": "edit",
"webUrl": "https://<url>:9200/s/ioRkSIBBVDTKzxy"
}
}
Link id will be used for editing and deleting the link
4. Link
In every row, the chain icon should open the sharing link, like in space management.
TASKS
- Research (if needed)
- Create branch feature/feature_name
- Development tasks
- Implement whatever
- ...
- Implement unit tests (if needed)
- Code review and apply changes requested
- Design test plan
- QA
- Merge branch feature/feature_name into master
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the Android sharing and space-management flows that call the Graph API. Implement link creation through POST /graph/v1beta1/drives//items//createLink, including the listed permissions, password rules, optional name and expiration, and the chain icon in each row. Done means creation, link opening, and the specified response data work with unit tests and a QA test plan.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- mobile-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100