nextcloud / nextcloud/contacts
Global Categories Needed
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 642
- Forks
- 220
- Avg merge
- 14h 39m
- Merged PRs (30d)
- 51
Description
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.
- The global categories are set by the site admin (or delegated group) and are available to all applications.
- By default there would be a global category for each applications (could be hidden) which would serve as the default parent for any per-application categories created.
- An application could assign other categories in addition to the default to any entry (contact, etc.) created in the application.
- (a one-to-many relationship, for example a contact could be associated with the default global category, the DallasBranch global category, and then ManagementTeam global category, as well as any contact application sub-categories)
- Users should be able to configure a default category for new entries (e.g. new contacts) made by them.
- Admins should be able to configure default global categories for users or user-groups to help segment the information a user or group enters or is presented with when viewing data on Nextcloud.
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!
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
The issue names no files, tests, or entry points. Start by reviewing how Contacts currently stores categories and how shared data could support cross-application relationships. Done means defining global categories, admin and user defaults, and relationships spanning contacts, calendar entries, tasks, and projects.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- backend, databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100