Forum OpenACS Q&A: Categorization of users

Collapse
Posted by Malte Sussdorff on
Has anyone done categorization of users? I imagine a system where users could click on categories (e.g. Area of work, interests and so on), thereby circumventing the fact that we do not have a user profiling system yet.

What would be the best way to tackle this (do we have a package_id for users to which we could mount the category tree) ?

Collapse
Posted by Richard Hamilton on
Malte,

I am just about to start working to help Mattew Geddert with his contacts package and it seemed to me that acs categories were probably the correct way to allow for categorisation of contact details within the contacts package.

If categories are used in that way for contacts (a matter of policy to decide), it would be logical for a category to be considered a valid attribute for filtering in many other packages including the Weblogger and the Project Manager.

I am sure that there will be many generic applications for categories so maybe we should begin by creating a top line set of root categories which are pre-set in a shipped open-acs. This would provide both initial functionality 'out of the box' and also some guidance on usage by example.

Regards
Richard

Collapse
Posted by Malte Sussdorff on
You may be aware that we do have a categories package in OpenACS which works on every acs-object, thereby allowing us to categorize even users, as they are objects as well.

I'm just wondering how to best integrate this from a UI point of view and if it is possible to mount a category tree of the category system to a special subsite, linked with the acs-object type "user" (well, okay, I guess the type is called differently, but it is before breakfast on a sunny day....).

Though I like the idea of root categories, I'm not sure what these categories would be, so that they are generic enough for all sites to use.

Either way I'm happy to have found someone interested in this topic, so let's continue this thread and talk about our ideas.

Collapse
Posted by Richard Hamilton on
I see what you mean. If I understand you correctly you are thinking along the lines of having a set of queries that select data filtered on the category attribute which can be mounted on the site map to enable admins to set up customisable category navigation.

My first thought would be that this would be confusing and not very fuctional. I assumed that the implementation of categories would be something that would be provided within each application that uses categories. On that basis it might make sense to define a service contract that provides basic filtering functionality to any application. That way each application could use the service contracts api to develop implementations. Though it is unlike the payment gateway in that there will not be multiple services to interface, there are similarities with the search service contract. In fact, maybe categories is a subset of the search service contract functionality?

R.

Collapse
Posted by Dave Bauer on
Richard,

I think the best way to implement category listing like you describe would be to add a category option to the search service contracts.

I am experimenting with this, as well as other ways to use search with the newly created tsearch2-driver. What I learn should be able to go back into the search package to allow new ways to query for search using any search driver.

Collapse
Posted by Ben Koot on
Slightly off topic, but reading about the categrories option I wonder how I would go about adding subcategrories to Larsblogger. I have a main category : sales promotion, and would like to add different topics under that header.

Any thoughts?

Ben

Collapse
Posted by Malte Sussdorff on
We are going to implement this now (using the categories package linked to the acs_object = user_id). Any objections? Furthermore, is this considered useful, as we will have to change at least acs-subsite to enable this? If yes, I'd submit it on oacs-5-1 once it is finished.

I assume that Jeff already has something like this working as part of the COP code, though I'm not sure if you added the KM tools bar from dotknow.org with users as well.

Collapse
Posted by Jeff Davis on
How were you going to decide which trees to use to categorize users?
Collapse
Posted by Jeff Davis on
btw, I am no longer merging to head from 5.1 so you would need to merge the code yourself.
Collapse
Posted by Frank Bergmann on
Hi Malte,

there is work going on at "one of the companies using OpenACS as a base system" (not us! 😊 ) to release a brushed-up version of "ACS Attributes" as GPL.

This module integrates with the category module and stores the category values by modifying the actual SQL table (the mechanism foreseen with acs_attributes). This has a considerable performance advantage, compared with the "skinny table" storage of the category package.

Bests,
Frank