Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Top-level “Author” or “Developer” component #244

Closed
cassidyjames opened this issue Jul 29, 2019 · 5 comments
Closed

Top-level “Author” or “Developer” component #244

cassidyjames opened this issue Jul 29, 2019 · 5 comments
Milestone

Comments

@cassidyjames
Copy link
Contributor

cassidyjames commented Jul 29, 2019

In AppCenter, we've been discussing adding a developer page (elementary/appcenter#148) where we show some information about a dev like an avatar, website, contact info, etc. and then all of their apps in the store. While we can currently do some string matching between the RDNNs and/or the developer field on individual apps, it doesn't provide a way to get any more information about the developer.

Would it make sense to have a new top-level developer component in AppStream that could be downloaded and cached alongside the apps' metadata, giving distros, app stores, etc. a place to provide more rich information about the developers behind the apps?

@hughsie
Copy link
Collaborator

hughsie commented Jul 30, 2019

My gut instinct is that this information doesn't belong in AppStream -- it's about describing components (i.e. apps) rather than companies or people. I think an ID for a developer would make sense perhaps, but not everything that comes with that, e.g. a photo, company, email address etc.

@ximion
Copy link
Owner

ximion commented Jul 30, 2019

Indeed, what @hughsie said. I found myself in need of a developer/author ID multiple times now though, and toyed around with something like this:

<creator id="acme_inc">
  <name>ACME Inc.</name>
</creator>

Reason for this layout is that we need the name to be translatable, and I want to avoid having an id tag anywhere else but at the toplevel for the component-ID. This layout would also allow for adding designer/other specific creator names (as requested in #168 ) if we ever decide to have those in the future, while preserving one creator ID per component.
(I haven't really fleshed out this idea yet, though)

@cassidyjames
Copy link
Contributor Author

cassidyjames commented Jul 30, 2019

Would that creator tag be on an app's component? If so, the problem with that approach is the deduplication that would be required to support a modern app store approach of having a developer page showcasing all of their apps. And how does that substantially differ from the existing developer_name tag?

But if a top-level approach doesn’t make sense, we can just implement this ourselves with a JSON server or something, and just rely on the RDNN and/or existing developer_name tags to match the developer info to the apps' appstream data.

(In case folks browsing here are not familiar, here's an example of a developer page from the Google Play store):

image

@ximion
Copy link
Owner

ximion commented Jul 30, 2019

Well, I think specifying developer info pages is out of scope for AppStream, but as you may have noticed, the creator tag has an id property to specify a non-translatable, hopefully unique ID to group all apps belonging to one vendor together. That would make you not rely on strange heuristics when associating apps and developers.

@ximion ximion added this to the AppStream 1.0 milestone Oct 3, 2023
ximion added a commit that referenced this issue Oct 3, 2023
@ximion ximion closed this as completed in c3f5db4 Oct 3, 2023
@ximion
Copy link
Owner

ximion commented Oct 4, 2023

developers

You can now use this:

<developer id="freedesktop.org">
  <name>FreeDesktop.org Project</name>
</developer>

This gives a unique ID for the developer, as well as a human-readable name (and it's even extensible, if we ever need to extend it).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants