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: the additional rails bits for timestamps etc are not shown.
id manufacturer name url (taggable) created_at date modified_at date
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 refer to snippets of commonly rendered items across the application. The most common bit, being a hardware entry partial.
- Rating (Both # and color)
Clicking on name, expands hardware entry to show:
- Manufacturer's URL
- Wiki Page URL
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.
The following gems need to be installed
- ferret - for full text searching.
More to come.