Sunday, January 31, 2010

Update on new Software List

Well, I now have the "import" working on the new Software List, and I've cleaned up the code and moved common functions to a separate file. I'll leave any further changes until next weekend, but in the meantime I've released this to a few folks for testing. We're finally getting there!

Later, I'm going to add some fields to the database, to keep the name of the binary package (on ibiblio) and the corresponding source package. This won't show up in the Software List, and it will be optional to add them, but (if present) they'll get sent to FDUPDATE automagically.

Also later, I'll add some fields for the URL (on OpenSource.org) for the license, and an indicator for whether or not the FSF considers this a "Free" license. These won't be used by the Software List, so they won't normally be visible, but whoever puts together the next FreeDOS distribution can use these for reporting.

As part of the above, I intend to write a report utility to check for errors in the data, and otherwise show some useful statistics.

Some answers to questions you may already have:

Q: Why make the Software List into a database?

A: Using a database (with a web front end) means we can automatically make sure things get entered in a consistent way. This will make the Software List better for everyone. This also means we can export the data in any number of ways. For example, FDUPDATE can get a list of all programs in XML format. End users see the normal html version of the Software List. Developers can export an LSM version of program information.

Q: Who updates the data?

A: We can set up "Software List administrators" (for lack of a better term) who can import and edit data. These people do not (necessarily) need to be web site admins, or news admins. It's a different role.

Q: How will it get backed up?

A: I plan to create an automated job that will export all the data (probably weekly) into LSM format, and keep that copy on ibiblio as a backup of the data. If the worst happens, at least we'll still have the program data.

Q: What happens if we lose the data in the database?

A: If the database just gets deleted (or corrupted) then a "Software List admin" can import all the LSM files from ibiblio. It's a slow way to do it, but it works for disaster recovery. We can also make some sort of remote backup using mysqldump, so you can just re-import that file.

No comments:

Post a Comment