All the talk of single stash v Treehouse set has me thinking hard about the whole "Category paradigm" in use at Icehousegames.org. I mean, is there even an "All Categories" page, for instance? How would a new player know to search on various categories? How do designers know exactly which categories work best for their games? And then it HIT me... this is a plug-in waiting to happen: == THE CanPlay APPLET == PLAYER ENTRY: - Imagine a "What Can I Play" form (on the Main Page) that any registered user can filled out and Submit. -- The form is just a a slew of checkboxes and spinners: ---- # of each type of Treehouse set: -------- #/Rainbow, #/Xeno ---- # of each color of stash: -------- #/Black, #/White, #/Gray, #/Red, #/Orange, #/Yellow, #/Green, #/Cyan, #/Blue, #/Purple ---- # of Martian Coasters sets -------- # of Black Coasters - When you Submit the form to the plug-in, it parses out what you've told it into a complete "audit" of every piece, color, and type you own (e.g. # of red smalls; # of black larges, etc; number of each color of single Martian Coaster). -- It then formats a query of the new "CanPlay" database and submits it (continues below). DESIGNER ENTRY: - On the game page editing side of things, there's a new, not-rendered "ProductsNeeded" widget--like an invisible InfoBox--which is a more extensive form. -- The form allows you to specify *precisely* what the game needs: ---- # of stacks of a PARTICULAR color ---- # of stacks of ANY color ---- # of stacks OPAQUE ---- # of stack TRANSPARENT ---- # of individual pieces, in an array of spinners organized by size and color ---- # of MCs sets ---- and anything else I'm not considering at the moment -------- Basically, the player form from above, exploded out into every reasonable data entry field worth programming. -- When you Save a page with a "ProductsNeeded" widget, the widget contents are parsed into an "audit" much the same way as when a player does it. ---- The parsing is written as a single record in the "CanPlay" database. PLAYER RESULTS: - So, when a player Submits a form (from above): -- A database query will take the parsed audit and test it against the game database's parsed records, compiling a hyperlinked list for each TRUE result. ---- When done, it generates a new wiki page--"[user_name] Can Play"--that lists the collection of hyperlinked games in as fiddly a presentation as we can do. -------- A proper table output view with sortable columns is ideal and is probably a MySQL default. -- At any time, players can go to their "[user_name] Can Play" page--which includes the "What Can I Play" form--and just add to the values and click Submit. ---- Their pages are refreshed with the TRUE games, with changes tracked like any wiki page edit, and they see new games! ... No, it's not a one-day code job. But, no, it's not a pipe dream, either. The database format is not that big a deal--it's a single table: + Each game is one record: ++ Title string (record key, unique) + Wikilink string + Description string + 33 integer fields: ++++ 33 Integers = 11 colors + 3 sizes (44 Integers, if we want to be forward-compatible with eventual zero-pip pieces). + The "auditing" process is simple math, run by a server script (or maybe by MySQL itself--not an expert on the various apps): ++ Based on form field populated, simple multiplication, parsing (#/stacks -> #/SMs, MDs, & LGs), and addition (final fields) will complete the audit. + The tricky part could come with the wiki integration: ++ Forms in a wiki page? ++ Form Submit -> SQL -> new wiki user page/update existing wiki user page ++ ProductsNeeded code scanning (module) -> SQL -> new record in database ... Sorry so long, but I wanted to get as much out there as I could, in one shot, rather than plopping back into the list repeatedly with "Oh, yeah, and...!" The above is is pseudo-code; it would go on the wiki fine (IIRC), if someone on the list is an admin and wants to promote this as a possible avenue for the wiki's development. You'd know better than I what's possible with our setup, how to "reach out" via the wiki functionality to those who might help, and if there's any real demand for this (i.e. search log analysis, basically). I feel confident that this would be a GREAT thing for growing the overall brand. One TH stash, and the customers are quickly informed of what they can play; every time they buy more, the number of other games they can play ramps up visibly, viscerally. When I have the Single Stash games PDF out, I will turn to this as a Major Project. David