Hwdb notes

From LinuxMCE
Jump to: navigation, search

hwdb refers to the web application I am developing for LinuxMCE to provide a web accessible place to put hardware compatibility lists for things that work in LinuxMCE.

Basic UI principles:

  • No deliberate page refreshes.
  • Anything you drill down into, shows up right where you are, pushing other page elements out of the way.

Schema

schema: the additional rails bits for timestamps etc are not shown.

manufacturer

id
manufacturer name
url
(taggable)
created_at date
modified_at date 

hardwareentry

manufacturer_id integer
model string
description text
mfgurl string
wikiurl string
workrating integer (0-5, 1 DOESN'T, 5 WORKS WELL)
created_at date
modified_at date
acts_as_taggable

Items to show on the main screen

  • Search Box, which expands to show newest entries.
  • Recently Created Hardware Entries (10 newest entries)
  • Recently Modified Hardware Entries (10 most recently modified entries)
  • Add a New Hardware Entry

Partials

Partials refer to snippets of commonly rendered items across the application. The most common bit, being a hardware entry partial.

Hardware Entry

  • Icon
  • Name
  • Rating (Both # and color)

Clicking on name, expands hardware entry to show:

  • Description
  • Manufacturer's URL
  • Wiki Page URL
  • Notes
  • Attachments

Note about rating

Rating is an integer from 0 to 5, 0 meaning not rated yet. Descriptions of each rating taken from the code:

	def rating_text_for(entry)
		ratingText = case
			when entry.rating == 0: "0 - Not Rated"
			when entry.rating == 1: "1 - Not Working"
			when entry.rating == 2: "2 - Almost Working"
			when entry.rating == 3: "3 - Works, Lots of features missing"
			when entry.rating == 4: "4 - Works, Few features Missing"
			when entry.rating == 5: "5 - Works Perfectly"
		end
	end

Why Do this?

I've already had the question, of why do this project?

  • Provide side-by-side comparisons of hardware.
  • Provide a way to interface LinuxMCE so that successful hardware configurations can easily be imported.
  • Provide links into the wiki for more detailed information.

Gems Installed

The following gems need to be installed

  • ferret - for full text searching.


More to come.