| The problem is probably due to the mismatch between ALL-IN-1 and VMS
account names. We have had quite a few bug reports about this and have
modified the whole checking scheme for V3.0. Instead of referencing the
OAN$MEMBER data set we now use a special symbol called
OA$NOTES_KEYWORD_PRIVILEGE, which is computed when a user accesses a
conference.
On any system equipped with GPC you can see the contents of membership
records with the following:
FOR OAN$MEMBER DO GET .MEMBER " " .CREATE_KEYWORD
Note the details reported - you'll see a lot of member names plus the
privilege flag for keyword creation. The problem arises when code like
.IF OAN$MEMBER.CREATE_KEYWORD[OA$USER] EQS OA$Y....
You can immediately see that if OA$USER (the ALL-IN-1 account name)
does not match a membership record then the user won't be able to
proceed. Sites where member records are created using the VMS account
name, or any other format (it's legal to create a member record called
"Tony - having fun", but GPC V2.4 won't like it) will have problem
checking against OAN$MEMBER because we depend on OA$USER as the key of
reference. That's why we changed the checking scheme in V3.0!
Can you do something about it? Probably yes, and maybe even by
changing OAN$WRITE.SCP. I've just had a quick look at a V2.4 script and
keywords are added with NOTES ADD_KEYWORD call. Try and perform a check
there to see if the user has the privilege to add keywords.
Perhaps something like this:
.LABEL CHECK_KEYWORD_PRIV
! Are we a moderator? If so, pass on regardless
.IF #OAN_MODERATOR EQ 1 THEN .GOTO ALL_DONE
! Make sure that we have a good access point to check against
.IF #OAN_USER EQS "" THEN -
GET #OAN_USER = OAN$USER_NODE "::" OA$PROFIL_VMSUSR
! Fill the variable
GET #OAN_KEYWORD_OK = OA$N
! Check membership records to see if one contains our access string
FOR FIRST OAN$MEMBER WITH (.ACCESS CONTAINING #OAN_USER) -
AND (.CREATE_KEYWORD EQS OA$Y) -
DO GET #OAN_KEYWORD_OK = OA$Y
! Check to see if we managed to find a good record
.IF #OAN_KEYWORD_OK NES OA$Y THEN .GOTO FINISH
.LABEL ALL_DONE
! Add keywords
A couple of caveats:
The code given above is clearly handcrafted, but has not been tested at
all.
The code in OAN$WRITE.SCP has been changed dramatically in V3.0 so make
sure that any customization is removed to the development area before
the upgrade commences. Actually, I think OAN$WRITE.SCP ended up as a
mandatory change, so that should be OK.
The time taken to execute this check expands as network links decrease
in speed.
Anyway, it's been fun hacking. Have a wonderful time at your customer
site.
Best Regards, Tony
|
| we have GPC on the customer site here and are experiencing
some strange behaviors. when a moderator tries to CT (create
topic) in an existing conference, they get as far as the question
"Do you want to add this topic [Y/N] " The moderator hits Y and
then gets this error -
%NOTES - I - INVITMCOD, invalid item code
%NOTES-E-NOWRITE_CONF, no privledge to write or modify this
conference
%OA-I-LASTLINE, Unable to add note to conference - Filing note..
Now before you ask -
1. This is NOT a RESTRICTED conference.
2. The moderator has the WRITE REGARDLESS flag Y
3. The note does have NO NOTES allowed
4. The note does have NO REPLIES allowed
5. I did modify the script (OAN$WRITE) according to a STARS articl
to allow WRITE REGARDLESS to work.
The moderator is able to do CT correctly, if we do a MCP first
and set the note to NOTES ALLOWED.
Is this proper for GPC?
thanks - ann
|