Opened 8 years ago
Last modified 6 years ago
#3734 closed enhancement
[PATCH] Improve AppData file — at Version 20
Reported by: | Erik Johansson | Owned by: | |
---|---|---|---|
Priority: | Nice to Have | Milestone: | Alpha 21 |
Component: | Build & Packages | Keywords: | patch |
Cc: | Itms | Patch: |
Description (last modified by )
Got the below email to the webmaster email:
First, apologies for the direct email. I'm emailing you directly as you've been listed as the update contact in one or more AppData files. In the software center we allow the user to search using case-insensitive keywords, for instance searching for 'excel' could match Libreoffice Calc or many other free software spreadsheet applications. At the moment we use the translated keywords set in the desktop file, any extra <keyword> entries in the AppData file, and then fall back to generating tokens from the name, summary and description using a heuristic. This heuristic works most of the time, but a human can often do much better when we know what the most important words are. I've noticed your application does not have any manually set keywords and thought I should bring this to your attention.
So, what do I want you to do? Basically, I would like you to add some keywords in the 0ad.desktop file or the 0ad.appdata.xml AppData file. If you want the keywords to be used by GNOME Shell as well (which you probably do), the best place to put any search terms is in the keywords section [1] of the desktop file. This can also be marked as translatable so non-English users can search in their own language. This would looks something like Keywords=3D;printer; (remember the trailing semicolon!)
The alternative is to put the keywords in the AppData file so that they are only used by the software center and not the desktop shell. You can of course combine putting keywords in both places. The AppData keywords can also be translated, and would look like this:
<keywords> <keyword>3D</keyword> <keyword>printer</keyword> </keywords>
Of course, you don't have to do a release with this fix straight away, and if you have a stable branch it would be a good thing to backport this as well if it does not add translated strings or you have no string freeze policy. Nothing bad will happen if you ignore this email, but please be aware that matches from keywords are ordered higher in the search results than other partial matches from the name or summary. You also don't have to add keywords that are the same as the application name or package name, as these are automatically added as case insensitive search tokens.
When you've changed the file(s) and committed, please email me back and I'll mark your application as completed. If you don't want to hear from me ever again just edit the <update_contact> in the AppData file and change it to somebody else. I'm not planning on emailing more than once every 6 months, so don't worry about me spamming you with even more work to do. If you don't add the keywords then your application will still be visible in the various software centers, but it may be harder to find.
Thanks,
Richard
[1] http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#recognized-keys
Change History (24)
comment:1 by , 8 years ago
Component: | Core engine → Build & Packages |
---|---|
Priority: | Should Have → If Time Permits |
comment:2 by , 8 years ago
comment:3 by , 8 years ago
Further additions:
Hi again! First, apologies again for the direct email. I'm emailing you directly as you've been listed as the update contact in one or more AppData files. We've been busy building an awesome software center, and we've been adding more and more metadata fields that upstream authors can set. The software center is now being used in Fedora, Opensuse, Ubuntu, Debian and Arch, with many millions of happy users. The latest feature we want to support is age classifications for games. As your application is listed in the games category we wanted to ask if you could generate some OARS metadata and add it to the 0ad.appdata.xml file. It's really as simple as visiting http://apps-xdgapp.rhcloud.com/oars then answering about 20 questions with multiple choice answers, then pasting the output inside the <component> tag. Using the <content_rating> tag means we can show your game with an appropriate age rating depending on the country of the end user. If you have any comments about the questions on the OARS page please do let me know. Of course, you don't have to do a release with these enhancements straight away, and if you have a stable branch it would be a good thing to backport this as well as it does not add translated strings. When you've changed the file(s) and committed, please email me back and I'll mark your application as completed. If you don't want to hear from me ever again just edit the <update_contact> in the AppData file and change it to somebody else. I'm not planning on emailing more than once every 6 months, so don't worry about me spamming you with even more work to do. Thanks, Richard
comment:4 by , 8 years ago
<content_rating type="oars-1.0"> <content_attribute id="violence-cartoon">none</content_attribute> <content_attribute id="violence-fantasy">none</content_attribute> <content_attribute id="violence-realistic">intense</content_attribute> <content_attribute id="violence-bloodshed">moderate</content_attribute> <content_attribute id="violence-sexual">none</content_attribute> <content_attribute id="drugs-alcohol">none</content_attribute> <content_attribute id="drugs-narcotics">none</content_attribute> <content_attribute id="drugs-tobacco">none</content_attribute> <content_attribute id="sex-nudity">none</content_attribute> <content_attribute id="sex-themes">none</content_attribute> <content_attribute id="language-profanity">none</content_attribute> <content_attribute id="language-humor">none</content_attribute> <content_attribute id="language-discrimination">none</content_attribute> <content_attribute id="social-chat">intense</content_attribute> <content_attribute id="social-info">intense</content_attribute> <content_attribute id="social-audio">none</content_attribute> <content_attribute id="social-location">none</content_attribute> <content_attribute id="social-contacts">none</content_attribute> <content_attribute id="money-purchasing">none</content_attribute> <content_attribute id="money-gambling">none</content_attribute> </content_rating>
comment:8 by , 8 years ago
https://wiki.gnome.org/Initiatives/GnomeGoals/DesktopFileKeywords
Some samples:
bluefish.desktop:Keywords=programming;code;html;php;python; bluefish.desktop:Keywords[ca]=programació;codi;html;php;python; bluefish.desktop:Keywords[cs]=programování;kód;html;php;python; brasero.desktop:Keywords=disc;cdrom;dvd;burn;audio;video; ca.desrt.dconf-editor.desktop:Keywords=settings;configuration; cheese.desktop:Keywords=photo;video;webcam; deja-dup-preferences.desktop:Keywords=déjà;deja;dup; display-im6.desktop:Keywords=Image;Slideshow;View;Transform;Enhance;F/X;Special Effects display-im6.desktop:Keywords[fr]=Image;Diaporama;Visualiser;Transformer;Améliorer;Effets spéciaux display-im6.q16.desktop:Keywords=Image;Slideshow;View;Transform;Enhance;F/X;Special Effects display-im6.q16.desktop:Keywords[fr]=Image;Diaporama;Visualiser;Transformer;Améliorer;Effets spéciaux easytag.desktop:Keywords=mp3;tag;audio;music; easytag.desktop:Keywords[bs]=mp3;tag;audio;music; easytag.desktop:Keywords[cs]=mp3;štítek;tag;audio;zvuk;hudba;skladba; empathy.desktop:Keywords=chat;talk;im;message;irc;voip;gtalk;facebook;jabber; eog.desktop:Keywords=Picture;Slideshow;Graphics; etr.desktop:Keywords=game;tux;3D;pinguin;race;arcade; evince.desktop:Keywords=pdf;ps;postscript;dvi;xps;djvu;tiff;document;presentation; file-roller.desktop:Keywords=zip;tar;extract;unpack; firefox.desktop:Keywords=Internet;WWW;Browser;Web;Explorer firefox.desktop:Keywords[hr]=Internet;WWW;preglednik;Web funguloids.desktop:Keywords=space;flying;mushroom;picking;simulator;game; gedit.desktop:Keywords=Text;Editor;Plaintext;Write; ghex.desktop:Keywords=binary;debug; gltron.desktop:Keywords=tron;lightcycle;3D;action; gnome-calculator.desktop:Keywords=calculation;arithmetic;scientific;financial; gnome-mahjongg.desktop:Keywords=game;strategy;puzzle;board; gnome-mines.desktop:Keywords=minesweeper; gnome-power-statistics.desktop:Keywords=battery;consumption;charge; gnome-sudoku.desktop:Keywords=magic;square; gnome-system-log.desktop:Keywords=logs;debug;error; gnome-system-monitor.desktop:Keywords=Monitor;System;Process;CPU;Memory;Network;History;Usage;Performance;Task;Manager; gnome-system-monitor-kde.desktop:Keywords=Monitor;System;Process;CPU;Memory;Network;History;Usage; gnome-terminal.desktop:Keywords=shell;prompt;command;commandline;cmd; gnome-tweak-tool.desktop:Keywords=Settings;Advanced;Preferences;Extensions;Fonts;Theme;XKB;Keyboard;Typing; gnome-user-share-webdav.desktop:Keywords=share;files;bluetooth;obex;http;network;copy;send; gparted.desktop:Keywords=Partition; gqrx.desktop:Keywords=SDR;Radio;HAM; gramps.desktop:Keywords=Genealogy;Family History;Research;Family Tree;GEDCOM gucharmap.desktop:Keywords=font;unicode; ibus-setup.desktop:Keywords=keyboard;input; im-config.desktop:Keywords=keyboard;input kazam.desktop:Keywords=screenshot;screencast;videorecord;desktop recording; kde4/okularApplication_comicbook.desktop:X-KDE-Keywords=cbr, cbz, cbt, Comic Book kde4/okularApplication_dvi.desktop:X-KDE-Keywords=dvi kde4/okularApplication_pdf.desktop:X-KDE-Keywords=PDF, Portable Document Format kde4/okularApplication_xps.desktop:X-KDE-Keywords=XPS kde4/okularApplication_ghostview.desktop:X-KDE-Keywords=PS, PostScript kde4/okularApplication_mobi.desktop:X-KDE-Keywords=mobipocket kde4/okularApplication_plucker.desktop:X-KDE-Keywords=plucker kde4/okularApplication_txt.desktop:X-KDE-Keywords=txt kde4/okularApplication_fb.desktop:X-KDE-Keywords=FictionBook, e-book, fb2 language-selector.desktop:Keywords=Language;Input method;Region;Format; libreoffice-calc.desktop:Keywords=Accounting;Stats;OpenDocument Spreadsheet;Chart;Microsoft Excel;Microsoft Works;OpenOffice Calc;ods;xls;xlsx; libreoffice-draw.desktop:Keywords=Vector;Schema;Diagram;Layout;OpenDocument Graphics;Microsoft Publisher;Corel Draw;cdr;odg;svg; libreoffice-impress.desktop:Keywords=Slideshow;Slides;OpenDocument Presentation;Microsoft PowerPoint;Microsoft Works;OpenOffice Impress;odp;ppt;pptx; libreoffice-math.desktop:Keywords=Equation;OpenDocument Formula;Formula;odf;MathML; libreoffice-writer.desktop:Keywords=Text;Letter;Fax;Document;OpenDocument Text;Microsoft Word;Microsoft Works;Lotus WordPro;OpenOffice Writer;CV;odt;doc;docx;rtf; lifeograph.desktop:Keywords=journal;note;to-do;tag;statistics; lyx.desktop:Keywords=WYSIWYG;WYSIWYM;TeX;LaTeX;GUI;frontend;editor; m64py.desktop:Keywords=Emulator;Nintendo64;Mupen64plus; nautilus.desktop:Keywords=folder;manager;explore;disk;filesystem; openjdk-8-java.desktop:Keywords=java;runtime openjdk-8-policytool.desktop:Keywords=java;security;policytool openscad.desktop:Keywords=3d;solid;geometry;csg;model;stl; orca.desktop:Keywords=screen reader;speech;braille; org.gnome.baobab.desktop:Keywords=storage;space;cleanup; org.gnome.Cheese.desktop:Keywords=photo;video;webcam; org.gnome.Contacts.desktop:Keywords=friends;address book; org.gnome.DiskUtility.desktop:Keywords=disk;drive;volume;harddisk;hdd;disc;cdrom;dvd;partition;iso;image;backup;restore;benchmark;raid;luks;encryption;S.M.A.R.T.;smart; org.gnome.FileRoller.desktop:Keywords=zip;tar;extract;unpack; org.gnome.font-viewer.desktop:Keywords=fonts;fontface; org.gnome.gedit.desktop:Keywords=Text;Editor;Plaintext;Write; org.gnome.Nautilus.desktop:Keywords=folder;manager;explore;disk;filesystem; org.gnome.Screenshot.desktop:Keywords=snapshot;capture;print;screenshot; org.gnome.Totem.desktop:Keywords=Video;Movie;Film;Clip;Series;Player;DVD;TV;Disc; poedit.desktop:Keywords=Translate;po;gettext; qbrowser.desktop:Keywords=map;globe;postgis;wms;wfs;ogc;osgeo; qgis.desktop:Keywords=map;globe;postgis;wms;wfs;ogc;osgeo; qsynth.desktop:Keywords=audio;sound;jackd;midi;synth; rapidsvn.desktop:Keywords=subversion;svn;revision control system remmina.desktop:Keywords=remote desktop;rdp;vnc;nx,ssh;VNC;XDMCP;RDP; rhythmbox.desktop:Keywords=Audio;Song;MP3;CD;Podcast;MTP;iPod;Playlist;Last.fm;UPnP;DLNA;Radio; seahorse.desktop:Keywords=keyring;encryption;security;sign;ssh; shotwell.desktop:Keywords=album;camera;cameras;crop;edit;enhance;export;gallery;image;images;import;organize;photo;photographs;photos;picture;pictures;photography;print;publish;rotate;share;tags;video;facebook;flickr;picasa;youtube;piwigo; simple-scan.desktop:Keywords=scan;scanner;flatbed;adf; software-properties-drivers.desktop:Keywords=Drivers; software-properties-gnome.desktop:Keywords=Drivers;Repositories;Repository;PPA; software-properties-gtk.desktop:Keywords=Drivers;Repositories;Repository;PPA; sol.desktop:Keywords=solitaire;cards;klondike;spider;freecell;patience; stellarium.desktop:Keywords=astronomy;planetarium; system-config-printer.desktop:Keywords=Printer;Queue;Print;Paper;Ink;Toner; thunderbird.desktop:Keywords=Email;E-mail;Newsgroup;Feed;RSS totem.desktop:Keywords=Video;Movie;Film;Clip;Series;Player;DVD;TV;Disc; transmission-gtk.desktop:X-AppInstall-Keywords=torrent ubuntu-software-center.desktop:Keywords=Sources;PPA;Install;Uninstall;Remove;Purchase;Catalogue;Store;Apps; unity-activity-log-manager-panel.desktop:Keywords=privacy;activity;log;zeitgeist;diagnostics;error reports; unity-appearance-panel.desktop:Keywords=Wallpaper;Background;Screen;Desktop;Theme;Appearance;Launcher;Unity;Menus; unity-color-panel.desktop:Keywords=Color;ICC;Profile;Calibrate;Printer;Display; unity-control-center.desktop:Keywords=Preferences;Settings; unity-deja-dup-panel.desktop:Keywords=déjà;deja;dup; unity-display-panel.desktop:Keywords=Panel;Projector;xrandr;Screen;Resolution;Refresh; unity-info-panel.desktop:Keywords=device;system;information;memory;processor;version;default;application;preferred;cd;dvd;usb;audio;video;disc;removable;media;autorun; unity-keyboard-panel.desktop:Keywords=Shortcut;Repeat;Blink; unity-mouse-panel.desktop:Keywords=Trackpad;Pointer;Click;Tap;Double;Button;Trackball; unity-network-panel.desktop:Keywords=Network;Wireless;IP;LAN;Proxy; unity-power-panel.desktop:Keywords=Power;Sleep;Suspend;Hibernate;Battery; unity-region-panel.desktop:Keywords=Language;Layout;Keyboard;Input Method;Text Entry; unity-screen-panel.desktop:Keywords=Brightness;Lock;Dim;Blank;Monitor; unity-sound-panel.desktop:Keywords=Card;Microphone;Volume;Fade;Balance;Bluetooth;Headset; unity-universal-access-panel.desktop:Keywords=Keyboard;Mouse;a11y;Accessibility;Contrast;Zoom;Screen Reader;text;font;size;AccessX;Sticky Keys;Slow Keys;Bounce Keys;Mouse Keys; unity-user-accounts-panel.desktop:Keywords=Login;Name;Fingerprint;Avatar;Logo;Face;Password; unity-wacom-panel.desktop:Keywords=Tablet;Wacom;Stylus;Eraser;Mouse; vlc.desktop:Keywords=Player;Capture;DVD;Audio;Video;Server;Broadcast; grep: vlc.desktop.save: Permission denied webbrowser-app.desktop:Keywords=Internet;WWW;Browser;Web;Explorer xsane.desktop:Keywords=scannerfrontend xzoom.desktop:Keywords=screen magnifier; yelp.desktop:Keywords=documentation;information;manual; zsnes.desktop:Keywords=emulator;snes;nintendo;super nintendo;super famicom;
by , 8 years ago
Attachment: | appdata_v1.patch added |
---|
comment:9 by , 8 years ago
Keywords: | patch rfc added |
---|---|
Summary: | Improve AppData file → [PATCH] Improve AppData file |
Type: | defect → enhancement |
Not sure how to test the results, whether I spammed too many keywords or whether that atlas entry will work out.
comment:10 by , 8 years ago
IIRC the game has a translate link pointing to a wfg address, which in turn redirect to transifex. It would be nicer to use the wfg link also there, this way if we'll change translation platform we just have to update the wfg redirect and it will just work everywhere, even on older release.
comment:12 by , 7 years ago
Keywords: | rfc removed |
---|
Not all operating systems do what gnome wants them to, but do something similar with it. For example Ubuntu 16.04 adds only a rightclick option for atlas as far as I can see.
- Russian translation by Vladislav
- Dutch translation by bb
- French translation by Itms and fatherbushido
- German translation by FeXoR, Imarok and me
- Polnish translation by arcadius
- Spanish translation by Ser3195
- Portuguese translation by MacWolf
comment:13 by , 7 years ago
Milestone: | Alpha 21 → Alpha 22 |
---|---|
Priority: | If Time Permits → Nice to Have |
Resolution: | fixed |
Status: | closed → reopened |
ricotz found some more things to improve in the appdata file:
$ LANG=CC appstream-util validate-strict 0ad.appdata.xml 0ad.appdata.xml: FAILED: ? tag-missing : <project_license> is not present ? tag-missing : <translation> not specified ? value-missing : <!-- Copyright [year] [name] --> is not present ? tag-invalid : <updatecontact> should be <update_contact> ? attribute-invalid : <screenshot> width too large [http://play0ad.com/wp-content/gallery/screenshots/athenian_gymnasion.jpg] ? attribute-invalid : <screenshot> height too large [http://play0ad.com/wp-content/gallery/screenshots/athenian_gymnasion.jpg] ? tag-missing : <name> is not present ? tag-missing : <summary> is not present ? translations-required : <description> has no translations ? attribute-invalid : <licence> is deprecated, use <metadata_license> instead Validation of files failed
The screenshots could be rescaled and uploaded to the webserver if we don't find new better ones (probably with the wfg logo).
comment:14 by , 7 years ago
Reported by: i.gnatenko.brain
:
desktop-file-validate 0ad-0.0.21-alpha/build/resources/0ad.desktop
:
key "URL" is present in group "Desktop Entry", but the type is "Application" while this key is only valid for type "Link"
Looks like the URL keyword has just to be removed from the desktop file, because the only way it can be used is by creating a desktop shortcut going to that URL and we don't really want to annoy players with that, like:
[Desktop Entry] Encoding=UTF-8 Name=Link to Ask Ubuntu Type=Link URL=http://www.askubuntu.com/ Icon=text-html
by , 7 years ago
Attachment: | athen_screenshot_small.jpg added |
---|
Resized screenshot - should not be added to the gallery directory unless hidden, since we'd have it twice in the gallery then
by , 7 years ago
Attachment: | appdata_v2.patch added |
---|
Shouldn't be committed before fixing the image URLs
comment:16 by , 7 years ago
Keywords: | review added |
---|
Someone should upload one or both images, either replace the old athen screenshot, use a non-gallery path or hide the duplicate screenshot from the gallery and update- or alternatively remove the link to that screenshot; potentially upload the mauryan screenshot, review my summary proposal and commit it.
It were nice to extend extractors.py
for these 2 file formats, though a lot of work for something that isn't that important.
comment:18 by , 7 years ago
Cc: | added |
---|
comment:19 by , 7 years ago
Owner: | removed |
---|---|
Status: | reopened → new |
comment:20 by , 7 years ago
Description: | modified (diff) |
---|---|
Milestone: | Work In Progress → Alpha 22 |
Some more additions: