nextcloud / contacts

📇 Contacts app for Nextcloud
https://apps.nextcloud.com/apps/contacts
GNU Affero General Public License v3.0
569 stars 173 forks source link

Global Categories Needed #3612

Open drankinatty opened 1 year ago

drankinatty commented 1 year ago

Global Categories Would Be an Asset for Nextcloud

When importing contacts (or calendar entries), categories are also imported. (say from eGroupware). However, Nextcloud has no concept of Global Categories so the relationships between that contact, tasks, calendar entries, projects, etc.. are lost. Currently Nextcloud has categories for contacts, but no global relationships can be made based on those categories. This is a powerful tool to relate information across Nextcloud that simply does not exists. It should.

Describe the solution you'd like

Nextcloud should provide a table of global categories in addition to the per-application categories in contact, etc.

This need only be a single additional table in Nextcloud. By way of example, you can look at the current eGroupware egw_categories table which in the current release is as follows:

MariaDB [egroupware]> describe egw_categories;
+-----------------+---------------+------+-----+---------+----------------+
| Field           | Type          | Null | Key | Default | Extra          |
+-----------------+---------------+------+-----+---------+----------------+
| cat_id          | int(11)       | NO   | PRI | NULL    | auto_increment |
| cat_main        | int(11)       | NO   |     | 0       |                |
| cat_parent      | int(11)       | NO   |     | 0       |                |
| cat_level       | smallint(6)   | NO   |     | 0       |                |
| cat_owner       | varchar(255)  | NO   |     | 0       |                |
| cat_access      | varchar(7)    | YES  |     | NULL    |                |
| cat_appname     | varchar(16)   | NO   | MUL | NULL    |                |
| cat_name        | varchar(150)  | NO   |     | NULL    |                |
| cat_description | varchar(255)  | NO   |     | NULL    |                |
| cat_data        | varchar(8192) | YES  |     | NULL    |                |
| last_mod        | bigint(20)    | NO   |     | NULL    |                |
+-----------------+---------------+------+-----+---------+----------------+

Describe alternatives you've considered

This is the frustrating part. I've tried to find a way to provide or add global categories in Nextcloud, but that capability simply does not exist. After using several webapp/DAV type packages over the past 15 years, eGroupware being the primary one, the use of global categories really helps in the management of large data sets.

Additional context

That's pretty much it. I am relatively new to Nextcloud, coming for long time use of eGroupware. Other than fighting with APCu/Redis setup, the lack of global categories is the only shortcoming I've run into (that and the much increased load on the server Nextcloud requires comparatively) On the upside, Nextcloud has done a very good job with the look of the interface. The default is quite pleasing. Keep up the great work!

drankinatty commented 1 year ago

A prime example. Tonight I went to notes and the categories created in notes are there. However, going to Files -> Notes accessing the very same content, the categories information is no longer present. The lack of global categories means notes created in notes and assigned categories (tags) in notes are uncategorized when you access the very same notes through Files -> Notes.

This dramatically limits the functionality of Nextcloud. Global categories would solve the entire problem. Categories assigned in notes would be the same categories shown in Files -> Notes and vice versa. Without global categories there is no Relation between data entered and tagged in different apps frustrating the purpose of using a Relational database to begin with.

When entering categories (tags) in any application, the user should be given the option of creating/tagging with a global category or applications specific (local) tag with the default being to create global tags.

After having used several FOSS groupware packages over the past two decades, this is a feature that is not present in Nextcloud -- and it is immediately apparent it is not present when you attempt to correlate your data among the various applications.

The framework needs to mandate that apps respect and provide for using global categories and they should exist in a separate global category table in the database. In fact all categories, global and local could exist in the same table keyed by global and application ID.

Keep up the good work.