My opinion is that Nextcloud is fundamentally a file sharing and storage app.
I don’t think at all it should include project management or there to be need of a next step.
I do however think metadata about the files and folders is missing and a logical step overlooked.
The files and folders are central to all apps and we should be able to link app entities against a file or folder.
Its just a foreign key of entity_id & entity_type against filesystem_id and the simplistic base structure needs to be in the core.
If its not a common method in the core then any metadata/linkage developer will have to interface to all other apps and know there data structure.
Its not going to happen as it would be a nightmare to implement and support.
If it was part of the core and a requirement for app developers to register entities types and provide a json for iteration and retrieval, then it all becomes standard and quite easy to accomplish.
Each app currently provides bespoke methods for file system relationships and each app is an an island of excellence, but poorer because of the isolation.
An app developer will never be able to dictate to the other app developers how this should be done and I can only see it ever happening if the basics are implemented in the core.
Simple things like linking a contact to a folder or files, should be the same as an event, task, user, contact or note and its the same mechanism and it just doesn’t make sense for each app developer to provide this.
Its the same method to link a contact to an event, task or note and because it is a common method, that is the reason it should be in the core.
All we are missing is a table of left_entity_id, left_entity_type, right_entity_id, right_entity_type.
The app provided json for entity iteration and field retrieval dictated for next release and it would open up the app market and create a more extensible system with lower development overheads when creating linkages between entities and reducing the isolation between apps.
There is very little core work to be done, apart from dictating a common method for linkage.
If there was a linkage method (metadata) then the project management entities could be added by an app developer as a large part of project management is collating metrics against entities, this is try of a plethora of apps.
Currently tags are part of the core but actually they are purely another entity type, but for some reason have preference and difference over the others as they are core, I just don’t get it as the app is provided rather than the common method.
The exclusions are closing extensible options, that don’t need to be part of the core.