On Thu, Nov 12, 2009 at 12:31 PM, H. Langos <henrik-...@prak.org> wrote:
> Hi there,
>
> Like most wikis of the linuxtv wiki is plagued with duplicate
> and out-of-sync information. It is most apparent for devices,
> their features, their hardware, and most of all their status
> in regard to linux support.
>
> If you need an example of the mess take a look at
> http://www.linuxtv.org/wiki/index.php/TerraTec or
> http://www.linuxtv.org/wiki/index.php/DVB-T_PCI_Cards
> and try to find devices where the information on the
> page is consistent with the information on the device
> specific page.
>
> I've collected and concentrated data on about 150 devices
> (mostly DVB-T USB) in one place and experimented a lot
> with "wiki template voodoo". The result is a kind of minimalistic
> database application within the wiki (retaining the advantages
> of the wiki, like mature history and undo function,
> low entry threshold for new users....)
>
> Having _one_ article that holds the data means that there is
> just one place to update and maintain while the information
> can be shown in lots of articles (or inside the same article
> with different levels of detail).
>
> That article can be thought of as one big table with columns
> for attributes and rows for devices.
>
> Selection of columns is done by choosing the appropriate
> table templates (there are currently three different ones
> for different levels of detail).
>
> Selection of rows is done by passing selection
> attributes and selection values.
>
>
> It is roughly the equivalent of this sql statement:
>  SELECT a1,a2,a3... FROM datatemplate
>  [ WHERE s1 LIKE '%v1%' [ AND s2 LIKE '%v2%'
>    [AND s3 LIKE '%v3%' [AND s4 LIKE '%v4%' ]]]];
>
>
> Recently I expanded the "database schema" to contain
> the host interface(s) and the supported broadcasting standard(s).
> This way the same infrastructure can be used to hold information
> on anything from PCIe DVB-S2 to ISA NTSC devices and even
> fm radio devices.
>
> The current "database schema" is documented in
> http://www.linuxtv.org/wiki/index.php/Template:DVB-T_USB_Devices_ListData#Syntax_and_Semantics
>
> It is still geared towards DVB-T USB devices but I am sure
> it can be expanded/modified with little effort to support
> other types of hardware with the level of detail needed.
>
> What I'd like to get is
>
> A) Some feedback from users and developers in regard to
>   additional attributes needed or attributes (or
>   values) that can be merged.
>
>   E.g. I don't have a clue
>   * if satelite receivers have special attributes, or
>   * if ANALOG-PAL /-NTSC /-SECAM should be listed separately or
>   * if it would make sense to include links from a device
>   straight to the linux kernel's driver blob via
>   kernel.org's gitweb.
>
>   Please, keep in mind that the table is not there
>   to replace device specific pages with all their
>   detail but definetly should be part of the device's
>   page.
>
> B) Ideas about how to handle oem devices (clones). My
>   idea is to include them with just the "vendor" and
>   "device" attribute (so that users can easily find the
>   device in the table looking for the vendor) and to
>   use the "supported" attribute to indicate that this
>   device is just a clone of some other device. Problem
>   here is that you can't really link to that other
>   device directly or use data from that other device.
>   (Sorry, no sql JOIN operation on tables :-))
>
>
> Here are some examples of stuff that already works:
>
> Differnet views on same device in one article.
>
>  http://www.linuxtv.org/wiki/index.php/MSI_DigiVox_mini_II_V3.0
>  http://www.linuxtv.org/wiki/index.php/Pinnacle_PCTV_nano_Stick_(73e)
>
>
> Selection on demodulator af9015
>
>  http://www.linuxtv.org/wiki/index.php/Afatech_AF9015
>
>
> Selection on hostinterface USB and stadard DVB-T
> (still a rather messy page as lots of old devices still
> need to be merged/moved into the "database")
>
>  http://www.linuxtv.org/wiki/index.php/DVB-T_USB_Devices
>
>
> Some more examples and experiments:
>
>  http://www.linuxtv.org/wiki/index.php/HLPlayground2
>  http://www.linuxtv.org/wiki/index.php/HLPlayground2/doubleselection
>
>
> I hope the outlook of having just one place to update
> will inspire and motivate developers and wiki users alike
> to keep information on their device/driver up to date.
>
> cheers
> -henrik

Hello Henrik,

I have to wonder if maybe we are simply using the wrong tool for the
job.  Perhaps it would make sense to make a really simple web frontend
to a simple database for devices.  At least initially it would only
really need two tables.  Something along the lines of the following

VENDOR_TABLE
  int     vendor_id (index)
  text   vendor name

PRODUCT_TABLE
  int    product_id (index)
  text  product_name
  int    bus_type (0=usb, 1=pci, 2=pcie)
  text   usb id
  text   pci id
  int   vendor_id (links to vendors table)
  text  full_article_page_url
  bool  hardware_supports_dvb_t
  bool  hardware_supports_dvb_c
  bool  hardware_supports_atsc
  bool  hardware_supports_qam256
  bool  hardware_supports_pal
  bool  hardware_supports_ntsc
  bool  hardware_has_mpeg_decoder
  bool  hardware_has_ir
  bool  linux_supports_dvb_t
  bool  linux_supports_dvb_c
  bool  linux_supports_atsc
  bool  linux_supports_qam256
  bool  linux_supports_pal
  bool  linux_supports_ntsc
  bool  linux_has_mpeg_decoder
  bool  linux_has_ir

A simple db frontend like the above would allow users to search on
most of the relevant properties they care about (seeing all devices by
a single manufacturer, looking up devices by USB ID or PCI ID, looking
for devices that support a certain standard, etc)

I feel like the freeform nature of wikis just lends to the information
not being in a structured manner.  I don't doubt that a wiki can be
mangled to do something like this, but a real database seems like such
a cleaner alternative.

Devin

-- 
Devin J. Heitmueller - Kernel Labs
http://www.kernellabs.com
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to