Thanks Yaron, that sounds great to me; not sure why I didn't think of
simply adding a namespace for voting pages.  That merges the best aspects
of my first and third options.  The things I didn't know before were how to
use a popup form (I'll look up #formlink), and I probably would have run
into the {{CURRENTUSER}} thing.

Argbert, it sounds like I'll end up making something similar to
SemanticComments, but just through existing SMW capabilities rather than
writing a new extension.  Thanks for the reference :)

Thanks again!
--Ben


On Fri, May 16, 2014 at 8:41 AM, Yaron Koren <ya...@wikiworks.com> wrote:

> Hi Ben,
>
> It's not clear to me that this would require any development work. It
> seems to me that you could have an approach like the following:
>
> - Have a separate page for each vote; it could be structured as a subpage
> of the user page, or a subpage of the canyon page, or something else - so
> it could be called "User:Joe User/Big Canyon rating", or "Big Canyon/Joe
> User rating", or "Rating of Joe User for Big Canyon" or some such.
>
> - Each such page would hold a template with a single field, representing
> the rating number. The user and canyon wouldn't have to be stored on the
> page, because the template could extract those from the page title. The
> template would store all three values (canyon, user, rating) as semantic
> values.
>
> - On each canyon page, the template would display the average rating for
> that canyon, using a semantic query (with the "average" format), and might
> also show the number of votes (using "count"). It would then have a link to
> a popup form, to let the current user either submit a new rating (if they
> haven't voted already) or change their rating. You could do that using
> #formlink, plus the {{CURRENTUSER}} variable from the MyVariables extension.
>
> - The ratings input within the popup form, and the average rating display,
> could both be done using the familiar "stars" interface, using the Semantic
> Rating extension (https://www.mediawiki.org/wiki/Extension:Semantic_Rating
> )
>
> This whole thing is somewhat of a hack (a new page for every rating), but
> maybe not that bad. Of course, it means that users can change each others'
> ratings, which is not ideal, but then again malicious users can cause all
> sorts of mischief within a wiki, if they want to - there are already ways
> of dealing with that.
>
> -Yaron
>
>
> On Thu, May 15, 2014 at 10:47 PM, Benjamin Pelletier <bjpcalt...@gmail.com
> > wrote:
>
>> I have a Semantic MediaWiki installation <http://ropewiki.com/> that has
>> a large number of Canyon 
>> pages<http://ropewiki.com/index.php/Category:Canyons>,
>> where each of those pages describes a different hiking trip.  These 
>> pages<http://ropewiki.com/index.php/Havasu_Canyon>have a number of 
>> properties on them, one of them being Quality (how "good"
>> of a trip it is).  Currently, editors can edit the wikitext to change this
>> property.  I would like make a feature that allows people to vote on what
>> Quality they think a particular Canyon is, and then the overall Quality
>> (based on the votes received) would be displayed on the page.  I can think
>> of a few different ways this might be done, but I was hoping to get some
>> advice from people who are really familiar with Semantic MediaWiki for
>> which method is likely to produce the best results with the least effort.
>>
>> == Single "Voting data" wiki page ==
>> I could make an extension that automatically edits a particular wiki page
>> (perhaps "Voting data") in response to a click.  It would read the existing
>> content, add the new vote, recalculate ratings, generate semantic
>> properties with those ratings, and save the new page version.  I'm not sure
>> if this is possible, but it seems like the best solution if it is.
>>  Although, there might be a problem eventually if, say, 300 people each
>> vote on 10 canyons, then my page size is going to be like 60k (which may
>> cause performance issues?)
>>
>> == Stand-alone widget ==
>> I could make an extension that injects custom PHP that talks to an
>> entirely separate (non-MediaWiki) database to store and report the voting
>> data.  This same approach would work on any website, even if it wasn't a
>> MediaWiki install.  The down side of this approach is that I have no idea
>> how I would (could?) integrate the voting results into a semantic search.
>>  Can semantic data be stored stably in the SMW database without being
>> defined in any wikitext?
>>
>> == Per-page voting data ==
>> I could maybe make an extension that automatically edits the current page
>> and injects an additional vote line so all the quality votes for a given
>> page are stored on that page.  But, this seems like the most difficult
>> option, and there would be a bunch of voting data junk in the wikitext
>> content.
>>
>> Any suggestions?
>>
>> Thanks!
>> --Ben
>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
>> Instantly run your Selenium tests across 300+ browser/OS combos.
>> Get unparalleled scalability from the best Selenium testing platform
>> available
>> Simple to use. Nothing to install. Get started now for free."
>> http://p.sf.net/sfu/SauceLabs
>> _______________________________________________
>> Semediawiki-devel mailing list
>> Semediawiki-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/semediawiki-devel
>>
>>
>
>
> --
> WikiWorks · MediaWiki Consulting · http://wikiworks.com
>
------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
Semediawiki-devel mailing list
Semediawiki-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/semediawiki-devel

Reply via email to