owncloud / owncloud/android

[TECHNICAL] OCS sharing and space members refactor

Open
#4,949 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Estimation - 3 (M) Sprint Technical
Dominant language
Kotlin
Stars
4.2k
Forks
3.1k
Avg merge
1d 12h
Merged PRs (30d)
7

Description

With the new implementation for OCIS shares listing (https://github.com/owncloud/android/issues/4876), it's necessary to refactor all classes and methods related to the legacy sharing implementation to keep the codebase consistent.

OCS implementation → Use the Ocs prefix.
Graph API implementation → Use the Graph prefix (already done) ✅

Moreover, an additional check is needed in the XML files used for space members and shares to ensure that the ids are generic and consistent.

TODOs
  • Refactor OCS classes adding the Ocs prefix
  • Refactor XML files used for space members and shares
  • Move the adapter and the recycler view setup for roles in AddMemberFragment to onViewCreated method
  • Add a delay to the members search to avoid repetitive requests when user types quickly
  • Use extension functions to bind roles, date picker and other UI elements
  • Refactor the members filter to match the implementation in AddGraphShareFragment
TASKS
  • Research (if needed)
  • Create branch technical/ocs_sharing_refactor
  • Development tasks
    • Implement whatever
    • ...
    • Implement unit tests (if needed)
  • Code review and apply changes requested
  • Design test plan
  • QA
  • Merge branch technical/ocs_sharing_refactor into master

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing the legacy OCS sharing classes with the implementation from issue 4876 and the already-prefixed Graph API classes. Inspect AddMemberFragment, AddGraphShareFragment, and the XML files used for space members and shares, including their adapters, filters, and role setup. Done means the OCS prefixes, generic XML ids, delayed search, extension-function bindings, and matching member-filter behavior are implemented and verified through the planned tests and QA.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.