nextcloud / nextcloud/server

Refactor CalDAV backend to use QBMapper

Open
#30,439 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop feature: caldav feature: dav technical debt
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

Is your feature request related to a problem? Please describe.

https://github.com/nextcloud/server/pull/30438 should not have happened. And the code is unnecessarily complex.

Describe the solution you'd like

Extract all DB concerns into a db layer, preferably using a QBMapper and entities.

Describe alternatives you've considered

Only extract and use raw query builder. But then we still have to do our own type juggling.

Additional context

n/a

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 locating the CalDAV backend and identifying its current database concerns. Read the existing query-builder usage and the QBMapper and entity patterns used nearby. The work is done when CalDAV persistence is extracted into a DB layer using QBMapper and entities, without retaining the unnecessary type handling described in the issue.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend, databases
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.