User:Mikelietz/working groups/extras directory

From Habari Project

Jump to: navigation, search

Contents

Introduction

The (yet-to-be-named) extras directory will house information and downloads of plugins, themes, locales, and other addons.

There will also be licenses in the directory, allowing for not only a search by license, but also a very, very brief (hopefully impartial) summary of the license in addition to a link to its full legal text. See [1]

Work to be done (taxonomy, taxonomy, taxonomy)

In order to make the items as flexible as possible without making them too complicated, I see taxonomy as a way to create posts of type "extra_version" that belong to a specific "extra" post, such that it is possible to show the five most recently updated plugins, even if there are nine new versions for the same plugin more recent than any other. Also, the parent "extra" post would contain the tags.

This is counter to how the plugin_directory had been designed prior to the current (broken) version, but in that previous incarnation it was impossible to make any changes to an existing version of a plugin other than in the database itself.

In the old version an additional table was required to store the versions, even though they were more or less posts with different info fields.

By doing it this way, though, there's the potential for some extra overhead when adding a new plugin. The first time a plugin is added two posts need to be created - the generic/parent "extra" and also the specific/child "extra_version".

Data Model

(This isn't really a schema since these are postinfo fields, right?)

extra

  • id
  • guid
  • tags
  • type

extra_version

  • id
  • type (or is that duplication?)
  • version
  • habari release
  • download_url
  • description
  • author
  • author_url
  • source_url (can be null, but it would be really nice to have, especially when required by license)
  • license
  • instructions
  • status
  • provides
  • requires
  • recommends
  • screenshot(s)
  • video(s)

license

  • id
  • shortname
  • simpletext
  • link

screenshot

  • id
  • url/file

video

  • id
  • url/file

(maybe just a generic 'media' table?)

Interfaces

There should be a couple ways for content to get into the directory.

  1. Anything housed in -extras should be automatically pulled in based on organized branches and tags. They would be zipped up in a cron job.
  2. Zip uploads. Should be able to upload a zip file that will be parsed and put into a moderation queue.
    As a side note, we should probably standardize on an archive format. Not that everything isn't more or less zipped right now, but it might not hurt to make that a requirement.
  3. Manual entry. Tedious, but doable. Would be done with the regular publish form potentially customized for each addon type.
Personal tools