Forum OpenACS Q&A: Merge Users Function & Other Nits

Collapse
Posted by Robin Felix on
I discover new capabilities in OpenACS regularly, but I also discover strange artifacts. Merging users had always brought up an error screen for me, but with a growing user base of over 800 I finally had to do something about it.

It was a surprise to find that not only was the basic logic broken, but that the function scrubs tables one-by-one for occurences of the user_id being merged -- it misses nine tables that I can find, and probably a few I haven't.

I've put a note into the SDM, but am I missing the boat here? Using the latest CVS code for comparison it would seem that this function has been broken forever. I would think that someone would have complained about it by now, but I can find nothing in the bboard archives. With the number of references I see to commercial and professional non-profit groups using this system, has no one seen this? Or have they seen it, fixed it, and not bothered to feed the fixes back to the OpenACS project? Is this true of the many other small glitches I see?

I'm just trying to get a sense for the community. I use OpenACS to run a company intranet, and my interest is efficiency and smooth operation, not development and bug-fixing for its own sake. I want to make sure I'm not reinventing the wheel by spending my own time on these issues, though I'm happy to feed the results back into the process.

Any comments from others?

Collapse
Posted by Don Baccus on
Well...part of the problem here is our legacy position in regard to
the ArsDigita code base.  With aD was actively developing the Tcl
toolkit, and with available OpenACS resources being miniscule, our
early strategy was to port from the existing aD code base and to avoid
forking the code.  We did fix minor bugs as we ran across them but
little else beyond porting.

Our strategy at the time was to hammer on aD to put together a
reasonable process for folks to submit patches to the ArsDigita code
base.  We made little headway on this issue for a very long time, and
frankly many of us just stopped trying to communicate bug fixes to aD.

That's what I did.  So, yes, I fixed bugs for client sites that never
got into aD's code base (ACS Oracle clients, that is), as did other
contract web hackers in the ACS and OpenACS communities.

Of course, aD left 3.2 behind a long time ago and as you've probably
noticed here folks have been fixing bugs more agressively and we're
fixing them directly in our code base.

In terms of the specific problems with merging users, I can assure you
this bug still exists in aD's latest Oracle-based ACES 3.4 version.  I
know because an ex-aD client has asked me to fix this in their ACES
installation.

What should you do?  If you've identified nine tables that are being
missed by the merge code *please* submit a patch to the SDM that adds
these nine tables to those being scrubbed for the old user.  You can
be 100% certain that your patch will make it into 3.2.6.

As for the future ... as I'm sure you know most of our effort is going
into the OpenACS 4 project (OpenACS 3.2.6 will be released, and it
won't be that far in the future, think hot summer days and you'll be
on the mark, despite this OpenACS 4 effort).

We've got MANY more people involved in development, bug fixing,
putting together RPMs, documentation, testing - you name it, we've got
it and it isn't just 4-5 people trying to do it all.  It's now a
matter of a couple dozen or more folks asking "what can I do next?".

Life's sweet, let me tell you!

We've also broken with the aD code 4.x code base, no big deal since
they're abandoning it, and plan to extend the functionality and
usability of that version of the toolkit as well as agressively fix
bugs.  We have the resources to tackle these more ambitious goals.

One editorial comment - we encourage the use of real names here.  How
can we praise you far and wide for your bug fixes if we don't know
your name?

Collapse
Posted by Carl Coryell-Martin on
I started a thread about this problem in the 4.x design forum here:htt p://openacs.org/bboard/q-and-a-fetch-msg.tcl?msg_id=0001RS &topic_id=OpenACS%204%2e0%20Design&topic=. I am trying to collect a list of related services that a good module should provide to the core admin tools so we can at least have a documented API for dealing with this in the future.

Cheers,