Forum OpenACS Development: Categorization in 5.x

Collapse
Posted by Martin Bernd Schmeil on
Can someone please point me to any related documentation (categorization in 5.x), i.e. requirements, current state, road map, etc.?

Timo has been telling me that Lars is or will be working on categorization (including integration in Bboard). As I told you here and on IRC I first need to get back into ACS development before I can contribute, but since I need categorization (urgently) I'm interested in helping / working on it.

Thanx!

Collapse
2: Re: Categorization in 5.x (response to 1)
Posted by Jade Rubick on
I believe once you install it, it's under the /doc directory. I found it fairly easy to use, with some minor caveats. The docs are a very good place to begin with. And the categorization package seems very well designed. I'm happy to be using it!
Collapse
3: Re: Categorization in 5.x (response to 1)
Posted by Lars Pind on
Martin,

I did make some UI cleanup on the categories package, and I'm planning on integrating it into logger shortly, as the first application I try to integrate it into. But I haven't gotten beyond the UI cleanup at this point.

/Lars

Collapse
4: Re: Categorization in 5.x (response to 1)
Posted by Martin Bernd Schmeil on
Hi Lars!

After installing Fedora from scratch I didn't reinstall ACS yet, thus haven't been able to look what the current state of categorization is.

Timo and I are currently working on some very simple categorization (very ugly data model, for example types stored as root nodes in the categories table), but with some features added: synonyms and "fuzzy search". (Curently it doesn't have any explicit indexes, no transactions and the naming probably doesn't correspond to ACS standards.)

The reason for is that we need zillions of geographical categories (locations) and fuzzy search and synonyms are mandatory for that.

I'll post a reference to what we have during the next days,
it would be nice to have this integrated. As I said, I (or we)'d be interested to help with that.

Oh, and please call me Bernd, not Martin (remember the ugly dude from Octoberfest / Substanz-Club).

Thanks

Collapse
5: Re: Categorization in 5.x (response to 1)
Posted by Martin Bernd Schmeil on
Ok, here it is (just the SQL, postgres only). As I said before, this is far from being complete and not very nice. But you can play with it (just add stuff to the TEST section).

As you'll notice I'm a little bit out of practice with SQL and I have zero experience with Postgres / plpgsql. So don't blame me for that.

NOTE: All database objects are prefixed cat_ or cat__, so it may destroy whatever you have if you're using a non empty database.

http://www.thebernd.de/thebernd/categories-create.sql
http://www.thebernd.de/thebernd/categories-drop.sql

Next thing Timo and I want to do is to add some geospatial stuff.

I'll add more comments later.

Thanks for any comments and references (geospatial, etc.)!

Collapse
6: Re: Categorization in 5.x (response to 1)
Posted by Malte Sussdorff on
Can you explain me, why you do not add your stuff to the Categorization Package of OpenACS, now that we finally managed to get it there :) ? It was hard enought to get *ONE* categorization module into OpenACS and there is still way to go to support it in all packages and not have each of them use their own one.

If you now go ahead and write *yet another* categorization system, what is the use? Could you add your features to the existing one and if you are unhappy with the UI, change it.

OTOH, if you see fundamental flaws in the current categories implementation that prevent it from beeing a generic solution usable by all packages, fix it or state it is not fixable, so we can take it out of the core again and prevent others from amending packages to run with this category package.

Collapse
8: Re: Categorization in 5.x (response to 6)
Posted by Joel Aufrecht on
On a related note, here are the four basic features I think any categorization package should provide to OpenACS:
  • UI to manage categories. This is fully implemented in the current package.
  • Documented code snippet to add to any OpenACS object's UI to associate the object with categories. (This is analagous to putting an "add/view comments" blurb, as documented in General_comments in Advanced Tutorial). As far as I know, this is not done.
  • Documented code snippet to display category info per object. Also analagous to comments. Also not done, AFAIK.
  • By adding a flag to list-builder, automatically filter objects by category. Not implemented.
Collapse
10: Re: Categorization in 5.x (response to 8)
Posted by Walter McGinnis on
Joel,

Dave Hill and I will probably be building some of what you are asking, for a site we are developing for pps.org.  We'll keep you posted.

Walter

Collapse
7: Re: Categorization in 5.x (response to 1)
Posted by Martin Bernd Schmeil on
It wasn't my intention to write another categorization service (see above) and I'd prefer to contribute to make the existing categorization better (see above).

The problem I have is I need synonyms and fuzzy search NOW and it's completely fine for me to populate the tables without usage of ACS at all (for now).

Anyway, now we have a discussion and once I have ACS installed (again) and am able to look at what's there I/we can help with that (or even take it over).

There are a few things here to be asked:

- Besides the need of making the synonyms-part smarter, does anyone agree this is a usable feature? (I hope this isn't already in the existing categorization service)

- Anyone interested in a general "fuzzy search" feature*?

*) I didn't check what Postgres and FTS are capable of, I think regexps and sound() and the like just don't do it.

Collapse
9: Re: Categorization in 5.x (response to 1)
Posted by Martin Bernd Schmeil on
Since November I have had a very few days were I have been trying to install ACS and get the modified demo app to run. I succeded, but it took me so much time, that I finally gave up and wrote the quick hack (see links above). I first want to get into ACS-development again by reading docs and code before writing new or changing existing code.

The quick hack we have now works fine for us (to build a categorization tree), I posted the link just to demo the features and start a discussion.

Currently I think there are three options:

- integrate the features we need into the existing categorization service
- separate them in a general thesaurus/fuzzy-search service (and add a few minor features to the cat. service)
- develop our own categorization service, if our features can't be integrated (for whatever reason)

Of course I would prefer the first or second option.

Maybe I should briefly explain what we need (and again, I have no clue what's already been possible in ACS). A user needs to be able to ask a query like: Give me all objects which are in distance X from location Y and match my interests.