~ldn/The_MagPi_Metadata

Community crowd-sourced bibliographic metadata for The MagPi magazine but unafiliated with the publisher Raspberry Pi Ltd.
normalize names
initial draft of 132
fix split line

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~ldn/The_MagPi_Metadata
read/write
git@git.sr.ht:~ldn/The_MagPi_Metadata

You can also use your local clone with git send-email.

#Metadata for The MagPi Back Issues

This repository is for the crowdsourced maintenance of machine-readable metadata for The MagPi magazine, published by Raspberry Pi Ltd. The metadata in this repository is published under the same license as the magazine itself, the Creative Commons Attribution-NonCommercial- ShareAlike 3.0 (CC BY-NC-SA 3.0).

Any source code in this metadata repository is licensed according to the GNU Affero General Public License (AGPL) v3.

This is a community driven project and not otherwise affliated with Raspberry Pi Ltd or The MagPi. Actual back issues of the magazine itself can be found or ordered at https://magpi.raspberrypi.com/

#File Editing

Git does not support locking so create an empty file in the CSV directory and add it to the repository to reserve it for work. Then commit the changes once it has been edited. The naming convention for the metadata files is "articles.nnn.csv" where nnn is the issue number.

Make a read-only clone with Git:

git clone https://git.sr.ht/~ldn/The_MagPi_Metadata

#File Format

Use UTF-8 "CSV" with tabs between columns, one record per line. The working format can be anything, such as OpenDocument Format, but the result must be exported as tab-delimited "CSV".

#File Contents

The metadata is collected one number / issue per file, so a separate file is needed for each published magazine.

The columns are:

  • Number
  • Page
  • Section
  • Title
  • Standfirst
  • Maker
  • Author

Month and year of publication can be looked up from the number.

#SQLite3 Database Structure

The metadata is gathered as tab-delimited text files above for import into an SQLite3 database table for searching via programs. That table is for the article-specific metadata, another table is edited manually to track the year and month for each issue. A third table would be needed for eventual fulltext searching. For now there is one table to track year and month and another for the article-specific metadata.

create table if not exists dates ( number int, month int, year int );

create table if not exists metadata ( number int, page int, section text, title text, standfirst text, maker text, author text );

create unique index issue on dates(number); create index number on metadata(number);

There is a script n the ./bin directory for bulk loading of the metadata. However, the gist is:

.mode csv .separator "\t" .import article.numbers.csv dates; .import articles.???.csv metadata;

#Reading The MagPi in PDF Form

The PDF index on the left often misses articles. It is essential to scroll through each page to ensure that nothing is missed.