Richard Steinmetz
7bb0e0de7a
Merge pull request #54405 from nextcloud/perf/custom-properties-default-value
...
perf: delete commonly used custom properties instead of setting the default value
2025-08-15 13:34:29 +07:00
Carl Schwan
9df79bae10
perf(caldav): Only prefetch published properties
...
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-15 09:57:58 +07:00
Carl Schwan
46f0c6ebb5
perf(caldav): Cache calendars in CustomPropertiesBackend
...
We already do that for files, we are now also doing for calendars.
With relatively small amount of calendars, I managed to reduce the
number of DB requests by 35% and from 23 DB requests touching the
oc_properties table to only 3.
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-15 09:57:58 +07:00
Robin Appelman
06aa7035db
Merge pull request #54420 from nextcloud/disable-custom-props-events
...
perf(calendar): Disable custom properties for individual calendar events
2025-08-14 15:55:36 +07:00
Carl Schwan
90cc0454a7
perf(calendar): Disable custom properties for individual calendar events
...
Save a query per event stored in the calendar and at least on the
production instance, there is no entries in the table for the events.
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-14 11:27:44 +07:00
Richard Steinmetz
7c0ffc0759
perf: delete commonly used custom properties instead of setting the default value
...
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-13 20:07:43 +07:00
Robin Appelman
46b5ff7467
perf: ignore any customer property in the nc/oc namespace that isn't explicitly allowed
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-13 19:32:45 +07:00
Ferdinand Thiessen
5981b7eb51
chore: apply new CSFixer rules
...
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
# Conflicts:
# apps/settings/lib/SetupChecks/PhpOpcacheSetup.php
2025-07-01 16:26:50 +07:00
Julius Knorr
24f3b15acc
perf: Skip photos app related property in custom properties
...
Signed-off-by: Julius Knorr <jus@bitgrid.net>
2025-05-20 11:56:26 +07:00
Robin Appelman
5c66fead67
fix: fix preloading files with no custom properties
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-04-09 15:04:35 +07:00
SebastianKrupinski
c1dd8ddf59
fix: replace null character when serializing
...
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2024-12-13 11:46:26 +07:00
provokateurin
381077028a
refactor(apps): Use constructor property promotion when possible
...
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-10-21 12:37:59 +07:00
Robin Appelman
1363e142d8
fix: make preload custom proterties sharding compatible
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-08-28 10:27:14 +07:00
Richard Steinmetz
cbea787233
fix(caldav): stricter default calendar checks
...
Reject calendars that
- are subscriptions
- are not writable
- are shared with a user
- are deleted
- don't support VEVENTs
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-07-22 15:24:39 +07:00
Joas Schilling
e9bfaf31b8
fix(db): Don't use deprecated 3rdparty constant: `Doctrine\DBAL\Connection::PARAM_STR_ARRAY`
...
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-07-19 11:21:13 +07:00
Andy Scherzinger
9d4b944098
chore: Add SPDX header
...
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-27 20:11:22 +07:00
Richard Steinmetz
53ef6c5f71
feat(dav): update a principal's schedule-default-calendar-URL
...
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2024-02-28 14:51:10 +07:00
Hamid Dehnavi
7bf31df0bc
Refactors "substr" calls to improve code readability
...
Signed-off-by: Hamid Dehnavi <hamid.dev.pro@gmail.com>
2024-02-23 15:54:10 +07:00
Louis Chemineau
6aa2d2daee
Don't query oc_properties for metadata props
...
Signed-off-by: Louis Chemineau <louis@chmn.me>
2023-12-18 13:09:20 +07:00
Daniel
aa5dcb0952
Merge pull request #38397 from nextcloud/enh/contacts/hide-adressbook-option
...
enh(contacts): show/hide addressbooks for all
2023-07-18 17:05:12 +07:00
Johannes Merkel
bb802956a2
enh(contacts): show/hide addressbooks for all
...
Signed-off-by: Johannes Merkel <mail@johannesgge.de>
2023-07-10 13:39:15 +07:00
Robin Appelman
95c3b8131a
preload custom properties when propfinding folders
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2023-07-09 02:55:57 +07:00
jld3103
7e58aa1a05
Fix DAV types
...
Signed-off-by: jld3103 <jld3103yt@gmail.com>
2023-04-05 07:06:50 +07:00
Arthur Schiwon
ec09605109
catch any exception for transaction control
...
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-07-06 16:14:51 +07:00
Arthur Schiwon
794177e753
DAV custom props: catch Exception and rollback transaction in case
...
- before exceptions were not caught, a started transaction might not have
been finished
- also resolve depractions and use IQueryBuilder
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2022-07-01 22:44:20 +07:00
Thomas Citharel
bd8b2137e2
Allow DAV Object properties
...
The current implementation only saves them as string. It seems they can
be more complex than that, and that objects were saved directly.
You may find such objects saved in some production databases by
executing:
```sql
SELECT * from oc_properties where propertyvalue = 'Object';
```
This commit adds a repair job to clean all of these "broken" properties
values, adds a new database column to save the type of the property, and
handles converting from and to correct values.
Implementation is very similar to SabreDAV's own PDO backend: 4921806dfb/sabre/dav/lib/DAV/PropertyStorage/Backend/PDO.php
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
2022-05-16 15:02:00 +07:00
Julius Härtl
a54fc45311
Add known dav properties to ignore list
...
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-04-21 17:01:42 +07:00
Côme Chilliet
40cdc54ae8
Convert properties value to string before passing them to database
...
This avoids an error when passing a complex property to PROPPATCH under
PHP >= 7.4.
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-01-20 15:08:04 +07:00
Christoph Wurst
baf4ad1774
Allow certain custom DAV props to be readable by everyone
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2021-06-08 13:57:00 +07:00
John Molakvoæ (skjnldsv)
215aef3cbd
Update php licenses
...
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +07:00
Christoph Wurst
caff1023ea
Format control structures, classes, methods and function
...
To continue this formatting madness, here's a tiny patch that adds
unified formatting for control structures like if and loops as well as
classes, their methods and anonymous functions. This basically forces
the constructs to start on the same line. This is not exactly what PSR2
wants, but I think we can have a few exceptions with "our" style. The
starting of braces on the same line is pracrically standard for our
code.
This also removes and empty lines from method/function bodies at the
beginning and end.
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 14:19:56 +07:00
Christoph Wurst
1a9330cd69
Update the license headers for Nextcloud 19
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-31 14:52:54 +07:00
Christoph Wurst
74936c49ea
Remove unused imports
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-03-25 22:08:08 +07:00
Robin Appelman
15a21ee19a
remove the detour trough node and work with path directly
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-03-18 13:41:04 +07:00
Robin Appelman
451c8761a7
use INode instead of Node for custom properties
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-03-18 13:41:04 +07:00
Robin Appelman
7819a904d7
handle long property paths to hasing paths >250 chars
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-03-18 13:41:04 +07:00
Robin Appelman
95cd44c41e
remove unused code
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-03-18 13:41:04 +07:00
Robin Appelman
ce398cf7bd
merge the two almost identical custom property backends
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2020-03-18 13:41:04 +07:00
Christoph Wurst
5bf3d1bb38
Update license headers
...
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-05 15:38:45 +07:00
Robin Appelman
3806ecb242
use the same ignored properties list for both CustomerPropertiesBackends
...
Signed-off-by: Robin Appelman <robin@icewind.nl>
2018-08-28 18:27:53 +07:00
Morris Jobke
31c5c2a592
Change @georgehrke's email
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 20:38:59 +07:00
Morris Jobke
0eebff152a
Update license headers
...
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +07:00
Georg Ehrke
242bb746b9
OCA\DAV\Files\CustomPropertiesBackend -> OCA\DAV\DAV\CustomPropertiesBackend
...
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2017-03-27 19:15:51 +07:00