Editing CSV in LibreOffice


While the overall plan is to make app listings editable directly (such as this page is by its link on the button), for maintenance purposes this has not been enabled yet. We also want third parties to build upon data MGLapps, LINMOBapps and now LinuxPhoneApps.org contributors have amassed, and for that the .csv lists have to stay.

Opening the file in LibreOffice

CSV are a bit underspecified, therefore import options matter.

Just set them as they are set in the following screenshot:

Import settings in LibreOffice: Only tick the checkbox on Comma

In theory, you can start editing now. However, it's way easier if you follow two more steps:

First, click into the B2 field and then go into the "View" menu and select the "Freeze Rows and Columns" field.

Fixing the layout

If you just want to add apps, you can add it into the first empty row at the bottom of the list for apps.csv (or add it in where it would go alphabetically for games.csv).

If you want to edit apps, finding the correct row can be annoying. Filters can help here.

Turn on auto-filters by clicking the icon or, going to the "Data" menu and select "Auto Filter" (or hit Shift+Ctrl+L if your LibreOffice is set up the way mine is).

Filter settings in LibreOffice: Turning on auto filters

If you hit one of the little arrows in the top columns a menu will come up that allows you to search the content of that column. With the A column that means you're filtering through app names: E.g. if you type Amberol, and hit OK, you'll be editing the Amberol entry and only that one.

Using the filter to narrow down

You can also scroll through the filter list and select a few apps if you e.g want to edit a few similar apps at once. After you've selected what you want to edit and hit done, you'll only see the app(s) you've selected and can now edit them without accidentally drive-by editing the wrong column.

Results of filtering

There's one issue left: Typographic Quotes. We need non-typographic quotes for quotations in the summary and description fiels. If you rarely edit for LinuxPhoneApps, just copy paste a non-typographic quote and paste it four times in these two fields. Otherwise, you can go to "Tools" and select "AutoCorrect Options". Then select "Localized options" and uncheck the checkboxes below "Single Quotes" and "Double Quotes". Hit OK, and you're done :)

AutoCorrect Options

Alternatively: Add apps with Vim

You can also edit with Vim. While in normal mode and on the first line, hit yy to copy the line that specifies the contents of each column. After that, navigate to the bottom of the file by hitting L, (or the navigate to the alphabetical position for games.csv), and then paste the line once or twice by hitting p. Now you just need to replace the words by the appropriate contents for the app you want to add with vim. Depending on whether you pasted a helper line, delete that again before saving (:w) by hitting dd.

Fields and contents

No matter whether you edit with LibreOffice or not, here's what kind of contents is supposed to go into the different columns:

fieldvalue / formnote
namenametry to write it as it's written on its project page
bugtrackerURLonly fill if not Gitea/GitHub/GitLab issues
donationsURLoptional, link to donations
translationsURLoptional, link to translation project
more informationURLshelpful links seperated by space
licenseidentifierSPDX 3 identifier,mandatory
metadata licenseidentifierSPDX 3 identifier, optional
categoryvaluecheck existing values, if multiple seperate by comma
summarytextmandatory, keep it short
summary sourceurl or no quotationmandatory
descritptionusually a quote, markdownshould explain the app well
descritption sourceurl or no quotationmandatory if description is filled
screenshotsurlif multiple seperate by space
mobile compatibilitynumbercheck existing values, mandatory
statusvaluecheck existing values, if multiple seperate by comma
noticetext, markdownadditional facts regarding the app, explaining shortcomings or features
frameworkvaluecheck existing values, if multiple seperate by comma
backendvaluecheck existing values, if multiple seperate by comma
servicevaluecheck existing values, if multiple seperate by comma
appidvaluee.g. org.gnome.GHex
scale-to-fitvalueoften the app id, details
flatpakURLflatpak URL, often flathub URL
repologypackage termfind on repology.org, if multiple seperate by space
aurpackage name(s)if multiple seperate by space
postmarketospackage name(s)if multiple seperate by space
debianpackage name(s)if multiple seperate by space
appstream linkappstream://appidonly fill when there's an appid
appdata.xml or metainfo.xml urlURLchoose the raw/plain-text option
freedesktop categoriesvalue,valuesee 1, 2 for values
main languagesvaluecomma separated for multiple
build systemvaluecomma separated for multiple
date addedyyyy-mm-ddmandatory
original reporteryour (nick)namemandatory
updatedyyyy-mm-ddonly fill when updating
updated byyour (nick)nameonly fill when updating

Edit this page on Framagit