generate valid default app discussion URL by default
majority of the apps in the store don't have valid "discussion" URL
Follow up of #1246. While the previous bug was addressing one specific app this is about the whole app store. if the dev doesn't provide a discussion URL in the app metadata the store generates default URL pointing to non-existing category in help.nextcloud.com forum.
As result:
- from 266 apps compatible with NC28
- only 26 apps have valid URL
- 13 of the 26 use custom URL outside of the forum
root cause
Apps can provide custom discussion URL using info.xml app metadata. But the "discussion" value is optional and in case the value is not populated the store generates a discussion URL pointing to the https://help.nextcloud.com/c/apps/ + %appid% but there is no process to create the category in the forum. additionally the forum team is going to get rid of the categories and moving to more modern "tags" approach.
from App metadata — Nextcloud latest Developer Manual latest documentation
discussion
- optional
- must contain a URL to the project’s discussion page/forum
- will be rendered on the app detail page as the “ask question or discuss” button
- if absent, it will default to our forum at https://help.nextcloud.com/ and create a new category in the apps category
Solution
To address the situation there are two option
- adopt the default discussion URL to modern forum approach and target app-specific "forum tag" e.g.
https://help.nextcloud.com/tags/%appid%-app - change the default discussion URL to the forum main page
https://help.nextcloud.commy personal preference is the second as it seems to be much leaner and allows restructuring the forum without app store changes.
First approach will not work for Talk app, as it's ID is spreed but looks like it is tagged on forum as talk
Second approach will break discussion urls for Memories, Talk and all other apps that does not set url, but already has discussion page at forum.
the question was to adopt the default URL for apps without custom discussion URL included in the manifest - this definitely should remain untouched.
using tags we have the flexibility to address "special" apps like talk=spreed by defining tag aliases. this would a manual task but for some high-value apps like talk we can do this.
using tags we have the flexibility to address "special" apps like talk=spreed by defining tag aliases. this would a manual task but for some high-value apps like talk we can do this.
Maybe we can go this way, with a custom exception list for apps like Talk.
There is not much work to be done on the code itself, the most difficult thing is to create a list of exceptions and make sure that everything will be in order
Both ways would work better than existing solution (240 of 266 apps don't have valid dicusstion URL now). In my eyes from the app store point of view you don't need to care about exceptions. It should be a task of the developer to provide valid discussion URL and if he doesn't default fallback option must "one size fits all". This is why I prefer generic help.nextcloud.com over individual tags/categories to avoid another dependency and in case there are changes in forum structure or forum software app store must me adopted again.
hi @bigcat88 is there any chance to progress with this topic? current situation when most of the apps don't expose invalid discussion URL is not really professional..
Issue has been addressed to @tobiasKaminsky .