Forum OpenACS Q&A: askme.com style modules?

Collapse
Posted by Anthony Barker on
Askme.com has a rating system for users and answers along with a
discussion style forum.

Are there any modules in ACS that implement this functionality?

Thanks

Anthony

Collapse
Posted by David Kuczek on
No, there is nothing like that implemented inside ACS 3.2.5 as far as I know. Pretty sure there isn't...

We have enhanced general-comments with this kind of feature, though. We basically used the rating system of general-links and copied it to general-comments.

This is supposingly close to the solution that the ACES is using for Slashdot.org style bboards...

Collapse
Posted by Pascal Scheffers on
David, thats GC in 3.2.x where you added the rating thing?
Collapse
Posted by Michael Feldstein on
I have never seen anything remotely like a Slashdot-style bboard
in ACES, although their threaded bboard is, AFAIK, a (bad) hack
of general comments.

I'd be very interested in seeing an askme-style system built into
OpenACS. This is essentially a knowledge management feature,
and I believe it would be very marketable. Ideally, I'd like to be
able to attach ratings to any item in the content repository.

Collapse
Posted by Michael Feldstein on
Here's a rather timely article about AskMe.com:

http://seattletimes.nwsource.com/html/businesstechnology/1343
18433_askme16.html

If you read the article, you'll see that AskMe has become very
successful by focusing on exactly the sorts of problems that the
ACS was designed to solve.

This should be a great market for OpenACS.

Collapse
Posted by David Kuczek on
Yes, Pascal, we added it to GC and the new-file-storage of 3.2.x

Basically, users can rate every comment and every uploaded file.

Like in general-links a trigger calculates the average rating and n-ratings out of a mapping table and stores it inside the altered general_comments and fs_files (avg_rating, n_ratings)

Collapse
Posted by David Kuczek on
Michael, your link contained a space...

It should be

http://seattletimes.nwsource.com/html/businesstechnology/134318433_askme16.html

They even named Siemens ShareNet as a working KM solution. Not bad.

I think that we should definitely open up a FAQ for a working KM solution inside openacs.

askme.com is not as complex for what I have seen by now.

Civilution was working on a KM solution, but I never heard anything of their efforts for quite a while.

Carl, will you guys be allowed to let your ShareNet-clone find it's way into openacs 4.x?

Collapse
Posted by Don Baccus on
Michael's got it right, i.e. a rating system should be built around the CR. A separate package, perhaps, that exports an API that other packages could use to display ratings, offer links for users to rank content, etc?

He's also right that bboards in the ACES (which have a horrible threaded UI, about as bad as it gets) don't have a rating system of this sort.

The stuff you guys did for 3.2.x was based on the general links rating stuff, which I've worked with a little bit. It does seem that this might be a good place to begin.

Collapse
Posted by David Kuczek on
I actually have never seen the ACES bboard myself.

I thought it was a better solution, well...

A separate package for 4.x sounds good. Could be named general-ratings or something like that.

Collapse
Posted by Don Baccus on
Better?  Heh ... it's really ugly as first implemented.

"general-ratings" - any chance you'd be interesting on working on such a thing?

Collapse
Posted by Pascal Scheffers on
I asked about GC 'cause Dirk from aD Munich mentioned that they are going to work on GC-openacs. It seems that they have switched to OpenACS-Oracle entirely. They want to add various nice things to GC, among them... rating pages - and contribute those additions to OpenACS. I'm not sure ratings should be in GC tho, the other things sounded good (I forgot what they were, silly me) (and no, loggy didn't catch it :( ). Anyway, I have contacted the person who is supposed to start working on it - see if we can coordinate something.
Collapse
Posted by Pascal Scheffers on
Hmm, loggy did catch it:
14:44:17 <djg> well, some basic stuff will be added:
  • page rating
  • feedback options
  • gc will be parametrized
  • comments will be indexed
  • Collapse
    Posted by Michael Feldstein on
    If a  "general ratings" module is built, then it would be a good
    idea to build in hooks to allow tracking of who is doing the rating.
    Not everyone will want this functionality, and in some cases they
    most emphatically will want to keep things anonymous, but it is
    useful sometimes for KM purposes to know whether the person
    doing the rating is, for example, an identified expert in the topic or
    a novice. In other words, when somebody rates something as
    useful, it's often worth asking "Useful for whom?"
    Collapse
    Posted by David Kuczek on
    If you only let registered users do the ranking, the ranking_map table knows exactly who rated what...

    If you would like unregistered users do some ranking, you will run into problems with repeated rankings, I suppose.

    Don, the general-ranking module would be for openacs 4.x. I have not yet touched any of 4.x as we are still working with 3.2.5. But basically, yes...

    Collapse
    Posted by Michael Feldstein on

    David, if it would be useful, I'd be delighted to help with functional specs, end user testing, and so on. KM consulting is one of the things that I do, so this is right up my alley.

    If we had this module plus something like the categorization system that aD is building into ACS Java, then OpenACS would have all the critical ingredients to for a really compelling KM system--with or without the Sharenet code to work from. In fact, you could argue that, with these ingredients, OpenACS would effectively be a compelling KM system.

    Collapse
    Posted by Don Baccus on
    OK ... someone should e-mail Dirk, David, would you be willing to do this?  I'd be interested in why they're doing this in GC rather than on CR objects since the GC uses them.  Perhaps it's just a UI thing, i.e. that's where they want it so that's where stuff would show up, but the datamodel to support it will reference objects built by the CR.

    Generalizing this as David's talking about shouldn't be difficult.

    Of course the Content Management System needs to allow ratings, too - I have *no* idea if there's already something in there that does this.  Does anyone else?

    Michael - your last post raises an excellent idea and makes an excellent point.  Thinking about categorization in this context makes sense, too - ratings are in a sense just a particular way to categorize things.

    Collapse
    Posted by David Kuczek on
    The categorization system at the first glance looks a little bit like categories of 3.2.x, enhanced by more advanced permission abilities.

    Is there a pendant to categories in OpenACS 4.x? Could you use the 4.x permission system on a 4.x categories module?

    Collapse
    Posted by David Kuczek on
    The datamodel looks very similar, but there is one thing I forgot:

    They have cat_object_category_map to map obejcts to a certain categories. 3.2.x is missing that...

    Collapse
    Posted by Dan Wickstrom on
    CMS supports categories, so, as Don suggests, it should be possible to rate content items.
    Collapse
    Posted by Michael Feldstein on
    Think about how useful these two features together could be at
    OpenACS.org. Suppose, for example, that you were interested in
    learning more about how XML works in OpenACS. You pull up
    everything in the "XML" category. You'd get web pages, FAQs,
    discussion board threads, wimpypoint presentations, file
    storage docs, etc.

    Now, you have a lot of stuff here to look at--probably too much, in
    fact. So next, you sort your results list by ratings to see which of
    these content items seem to be the most highly rated. Perhaps
    there are other ratings sorts you could use, too. For example,
    maybe you want to sort by those items that have been highly
    rated by the core development team. Or maybe you want to see
    which ones have been rated (or written by) the community's XML
    guru.

    Or maybe somebody new to the community wants to find out
    who to ask about an XML question. It would be great to search
    on community members and sort them by the number of highly
    rated content items they have submitted in a given category. They
    could find out that, say, Dan's postings on XML are very highly
    regarded.

    For those proponents of self-organizing systems (like Wikki, for
    example), I think categories + ratings gives the community much
    more powerful, interesting, and orderly ways to evolve the
    semantic connections on the site than does an "edit this page"
    feature. If you add general comments, bboard, FAQ, file storage,
    and wimpypoint into the mix, you have plenty of ways for
    community members to contribute and, perhaps even more
    importantly, plenty of ways for the community to self-organize.
    Rating a content item is, in fact, making a significant contribution
    to the community's knowledge by helping other community
    members place relative values on the various pieces of content
    that grow on the site.

    Collapse
    Posted by Don Baccus on
    Another, alternative way one may want to sort through content would be  based on how many times a particular paper, FAQ or similar thing has been read...
    Collapse
    Posted by Michael Feldstein on

    Another, alternative way one may want to sort through content would be based on how many times a particular paper, FAQ or similar thing has been read...

    Yup. That would be useful both to people searching for valuable information but also for site managers who want to see if important information is actually being found by the users.

    The general idea with KM is to try and squeeze as much knowledge as you can from each individual while demanding as little from them as possible. Ratings and categorization are generally one-click operations, but it still can be a challenge to get users to do their part. Gathering knowledge based on user behaviors like pageviews is even better, because the users don't have to do anything they weren't going to do anyway.

    There are a gazillion things we could do in this area, but I think general ratings and categorization are nice, low-hanging fruit.

    Collapse
    Posted by Steve Peterson on

    Ratings, rankings, categories and pageview tracking coupled with profile/preference matching are the building blocks for a personalization module; A very attractive service for use by the Ecommerce module as well as the rest of OpenACS.

    Collapse
    Posted by Talli Somekh on
    This would be great functionality to roll into the new openacs.org. It would be, as Michael says, a great way to get the best and most appropriate info to the top of the of the site.

    Michael and David, would you be interested in helping to build it for openacs.org, with the view towards releasing it for general upon full implementation or maturity?

    talli

    Collapse
    Posted by Michael Feldstein on
    Talli, I'd be happy to do whatever I can as a non-programmer.
    Collapse
    Posted by Michael Feldstein on
    This is exciting, but it's feeling a little blue-sky to me. We now
    have four new modules here--ratings, categorization, pageviews,
    and profile matching. I agree that these four add up to something
    pretty beefy. How much work is involved with each one?
    Collapse
    Posted by Michael Feldstein on
    It sounds to me like we're getting close to a specification for a
    KM/community of practice system, which is something that a
    number of people have been requesting. Let's try to spec out
    these modules and line up some volunteers. I'm willing to write
    up requirements docs, etc., to move us in the direction of an
    ACES-like solution.
    Collapse
    Posted by David Kuczek on
    For one, we have also implemented n_readings that works pretty much like n_ratings into general-comments and new-file-storage...

    I think that starting some non-tech specs on those modules (keep it short and simple) would be a good start.

    Then we could ask for some more volunteers to work out something for

    "Ratings, rankings, categories and pageview tracking coupled with profile/preference matching"

    and additionally Don mentioned to capture skills and willingness to contribute, which would also fit nicely into this concept...

    Note that in order to make useful matching, we need a high degree of categorization concerning member skills. This is the basis of the so called "yellow pages" in KM.

    I know that this is over the hill, but as some people remember we had some discussion of how "hard" it is to contribute other than on bboard. We should maybe also work out a module called projects where community members can open up a colaborative space like http://www.groove.net where they can work with others (flexible permissions) on a certain project. I was working a little bit with Lotus Quickplace recently, and I thought it wasn't too bad either, although groove is a lot more mature, but therefore you have to download an application, while Quickplace is completely webbased. I always prefer completely webbased...

    To check out more about Quickplace, you can get yourself registered and build one of your own. Webbased of course.

    At http://www.lotus.com/quickplace

    Collapse
    Posted by Michael Feldstein on

    I know that this is over the hill, but as some people remember we had some discussion of how "hard" it is to contribute other than on bboard. We should maybe also work out a module called projects where community members can open up a colaborative space like http://www.groove.net where they can work with others (flexible permissions) on a certain project. I was working a little bit with Lotus Quickplace recently, and I thought it wasn't too bad either, although groove is a lot more mature, but therefore you have to download an application, while Quickplace is completely webbased. I always prefer completely webbased...

    David, you're heading down exactly the path I've been thinking about. I've worked with Quickplace a bit too, and although I think it has some serious flaws, it's not a bad starting point. Alternatively, if you look at the class and group spaces you can create in ACES, they are also a reasonably good starting point for project spaces.

    Ideally, you'd enter the system from one of two views. Either you'd be coming into a project portal view, as described above, or you'd be coming into knowledge base view, where content is laid out taxonomically (if that's a word). In either case, you should have easily accessible links to create a wimpypoint presentation, start an FAQ, start a bboard thread, post a file to file storage, and so on. Likewise, all existing relevant content items would be listed in either the project portal view (e.g., the OpenACS XSLT compatibility project portal) or the knowledge base category view (e.g., the XML category). In both cases, content contributions would be linked to rich contributor profiles.

    I'll write up some functional specs for these pieces, though I won't be able to do it until next week.

    Collapse
    Posted by Talli Somekh on
    David, is Groove really a project we want to even *try* to emulate? From my experience with Groove it's really a P2P app for small synchronous project teams communication. The ACS is a more powerful tool for asynchronous communication and collaboration among large groups of people. I'll check out Quickplaces, though. I've never seen that.

    IMO, programming this functionality is the easiest part of the project. Writing up good specs, doing the debugging, maintenance, that's the problem, as is often the case.

    I think really good, powerful requirements, specs and features would be a big step in the right direction. Michael, I look forward to what you put together!

    talli

    Collapse
    Posted by David Kuczek on
    Talli,

    while mentioning Groove I majorly thought of the "empowerment" and the feeling that you get while working in such a virtual space.

    With empowerment I mean that every member of a virtual space group has a bunch of tools that he can use to communicate. They even have a drawing tool for example. Simple, but could be useful sometimes. And I think it wouldn't be too bad to have some tool for integrated instant communitcation (like Jabber), although most of the time work would be done asynchronously.

    Sometimes the feeling to be empowered to many different kinds of integrated communication tools fosters communication.

    Virtual open-source communities might not need the small-group-synchronous-communication, but geographically spread people that work together full time on a project could need it. I think it would be nice to slowly and parallely step into this direction, because work will switch a little bit towards remote working in the future.

    Does anyone have a working ACES site running that I could check out? As Michael mentioned, we might lean towards the ACES infrastructure and see if there is some clever people on the specification side at MIT Sloan that we could integrate in the thought process 😉

    Collapse
    Posted by Anthony Barker on
    I have been working with so called "groupware" for a while.

    I like the askme.com style of usenet/discussion with email notification. The ranking and email drive participation.

    Data is classified according to the forum and the creation and classification of "experts" allows for better information sharing.

    Does anyone have a list of knowledge types/categories? I grabbed a list a while back from a head hunter's website. But that was only valid for IT skills or knowledge. More usefull would be a listing of all types of cascading skillsets and knowledgetypes.

    quickplace is more for document management. I have found more typical corporate users take to Lotus' "Teamroom" application faster than Quickplace. Teamroom was development based on some very high level research at mit.

    Most knowledge is currently transfered by email. Making a system that is as easy as email can be a challenge. Grove is cool, but is simply too difficult for your average computer user.

    The average askme.com user has about the skillset of an AOL user. Not much - but that is the target.

    Another challege is Word document to html on the fly. I have used some of the opensource tools (wvWare) but it isn't always the highest fidelity.

    Collapse
    Posted by Michael Feldstein on

    Does anyone have a list of knowledge types/categories? I grabbed a list a while back from a head hunter's website. But that was only valid for IT skills or knowledge. More usefull would be a listing of all types of cascading skillsets and knowledgetypes.

    If you're asking this question because you think it will have an impact on the module design, then my experience with these knowledge taxonomies is that they're really too generic to be of much use in most practical, concrete situations. Besides which, if we need to deal with this level of detail at all, it will be much later in the process. As long as we design a system that can deal with a taxonomy, it really doesn't matter which taxononomy we have in mind. On the other hand, if you're just asking for your own information, that's a different story. (Unfortunately, in either case, I don't personally have an answer for you.)

    Most knowledge is currently transfered by email. Making a system that is as easy as email can be a challenge. Grove is cool, but is simply too difficult for your average computer user.

    Again, my experience is somewhat different. While I agree it is hard to design a system that people will use, this often has as much to do with habits and culture as it does with the technology itself. If you build it, they still may not come. But the corellary is that underutilization of a given knowledge sharing technology in a given community or organization doesn't necessarily mean that there is a problem with the technology. For example, there are some organizations that would simply never use web-based bboards, even though this community finds them to be enormously useful.

    I think if we stay focused on the kinds of knowledge sharing tools we would find useful in the OpenACS.org environment or other environments with which we are familiar (as a group or as individuals), we'll do OK. We run into danger when we start getting too abstract.

    Collapse
    Posted by Don Baccus on
    Talli - IMO this stuff is *way* too ambitious to include in your current "improve openacs.org" project.

    Another way of saying it is in various threads and e-mail discussions folks have mentioned a set of easy stuff that could be done that would  make the site tremendously more useful, so my thinking is "let's pick  the low fruit for this first round of openacs.org-the-web-site and get it out quickly".

    I'm not trying to slow down the pace of this thread - this is all exciting stuff.  It's just not stuff that's going to get done in time to roll into our community's website in the next handful of weeks.

    Obviously when thinking has matured and implementation has been completed we'll want it right here real quick.

    Collapse
    Posted by Deane Mathewson on
    You can try out our stab at this if you like:

    civ-ratings

    This was written by Scott Lantz

    Collapse
    Posted by David Kuczek on
    Don,

    I don't think that Talli wants to create a KM or a project module before he launches the new openacs.org... This would *really* be of the hill.

    The starting question by Anthony was pointing to a KM tool (askme.com) so I abused the thread to get a discussion going on KM improvements inside openacs.

    Another nice article is:

    ftp://ftp.lotus.com/pub/lotusweb/product/kstation/115596.pdf

    Anthony, I suppose that the teamroom has been merged into quickplace, because nobody is talking about it at Lotus anymore. The articles that I found on it were dated back to 1998!!!

    K-station by Lotus is basically a combination of:

    Sametime (could be Jabber), Quickplace (could be openacs projects based on OpenACES), Lotus Discovery Server (we have no pendant for a Knowledge Miner in openacs, could be a project for our search gurus) and IBM's Enterprise Information Portal (could be openacs portals)...

    There we go... All we need is some nice skin and a out-of-the-box ability and we could charge $120 per user as Lotus does 😉

    Collapse
    Posted by Carl Coryell-Martin on
    Scott Lantz put together a general permissions module for OpenACS3.2.5 available here: https://openacs.org/new-file-storage/one-file.tcl?file_id=156. It calculates nice statistics on rated contents, allows admins to define axes on which to rate contents and provides an API for rating content and displaying the ratings fairly convieniently. It requires the ArsDigita Templating System to work. If its not explicitly said, its licensed under the GPL.

    Cheers,

    Collapse
    Posted by Michael Feldstein on
    I've fallen a bit behind. I'll try to have the spec together early next
    week.
    Collapse
    Posted by David Kuczek on
    Macromedia will also launch a new collaboration product called Sitespring:

    "Sitespring, the flexible Web-based application for managing all aspects of the Web site production process"

    http://www.macromedia.com/software/sitespring/

    We might copy some of their ideas on a OpenACS "projects" module...

    Collapse
    Posted by David Kuczek on
    Just stumbled over a flash demo of Lotus K-Station...

    It might be helpful for our upcoming KM-specs:

    http://www.lotus.com/products/discserver.nsf/b667c9fb8a8f59a0852569530049ce60/9a67d0ba64db9fb9852569ea006cb863?OpenDocument

    Collapse
    Posted by Dean Des Rosiers on
    I am new to ACS, and have a lot of experience in web-based KM development.  The ideas in this thread sound great.  The design and development of a "general-ratings" module is something I'd like to work on.

    I think the idea would be to allow the creation of "rating-dimensions."  Each dimension would have it's own "scale," "description," and "instructions."  The scale would be a numeric range or a list of "phrase value pairs."  The description would be the "title." The instructions could be additional help text available to a user.  Each rating-dimension could be associated with one or more objects in the system.  A rating would be a relationship among a user, an object, a rating-dimension, and a point on the rating-dimension's scale.

    This could be an object-level service.  Users could rate other users, themselves, a bboard answer, or an entire bboard instance.  It would depend upon the application.

    I'd be interested to know what my next steps should be.  Should I post my ideas here or start a package where the documents can grow collaboratively?  If the latter, how do I get CVS permissions?

    Looking forward to it.