T.R | Title | User | Personal Name | Date | Lines |
---|
33.1 | CAB PUT_PENDING is all you really *should* do | SHALOT::HUNT | Is that a great new Pepsi can or what? | Tue Feb 18 1992 15:00 | 35 |
| Let's go slowly here ...
When you write an AMTS command procedure (MYMAIDES.COM in your case) and
assign it to an ALL-IN-1 account, it does *not* run within that account
when new mail arrives ... instead it runs within *your* account when you
send mail to it.
User: SMITH MAIDES: ALL-IN-1
User: BROWN MAIDES: MYMAIDES
When user SMITH sends mail to user BROWN, user SMITH's account runs the
MYMAIDES.COM DCL command procedure inside user SMITH's ALL-IN-1
subprocess. User BROWN may not even be logged on to the system at the
time user SMITH sends her some mail.
Thus, if you want a "normal" ALL-IN-1 style mail delivery to occur within
MYMAIDES.COM, you use the $ WRITE OAMAILBOX "OA CABINET PUT_PENDING ..."
subprocess function call to *PUT* the mail message into the PENDING file
so that user BROWN can pick it up sometime later at *her* convenience.
{Note: To be accurate, CAB PUT_PENDING does more than just update BROWN's
PENDING record ... it also moves the file to the Mail Shared Area, writes
an SDAF record, updates the Usage Count and so on ...}
If you try to do a CABINET GET_PENDING within MYMAIDES.COM, you won't get
very far because remember you're running MYMAIDES.COM within *your*
account. You can't *GET* her mail from your account. Your best bet is
to just leave things alone and let her "pick up" her mail later when she
logs in. She'll have the "1 mew mail message" alert signal waiting for
her.
I hope I haven't misread your request. Please let us know if there's more
you'd like to discuss.
Bob Hunt
|
33.2 | Automatic update of count | PAJERO::RHOTON | John Rhoton @TNO - DTN 871.7947 | Tue Feb 18 1992 15:17 | 17 |
| re: .0
I don't want to confuse Bob's eloquent explanation of how the AMTS command
procedure should work. But just in case you missed the answers to your
question:
>MYMAIDES.COM is my mail destination, and that DCL-command file should
>be able to "actually deliver the new message". I.e. put the incoming message
>from PENDING.DAT into the "UNREAD"-folder and increase UNREAD_COUNT.
The unread count is automatically updated when you (i.e. your AMTS
procedure) PUT the record to the pending file.
The messages are placed in the UNREAD folder automatically when the
recipient does an RN or II.
John
|
33.3 | tnx! works in batch mode too? | STKHLM::GYULAI | Who guards the actual guardians? | Wed Feb 19 1992 07:49 | 10 |
| Thanks, that seems to do it.
But I wonder what happends if you send the MAIL from a diferent node, (i.e.
delivery will be done by batch at a later time)? Your briliant replies suggest
that it would work anyway, and then all should be solved?!
And I'd be very happy, and thankfull to the net. Great working in a large
company, huh? I just love all knowledgeable people out there, (i.e. you:-),
who helps out!
/nik
|
33.4 | Done by the fetcher | PAJERO::RHOTON | John Rhoton @TNO - DTN 871.7947 | Wed Feb 19 1992 09:41 | 9 |
| re: .3
If you send a message to a different node then the ALL-IN-1 fetcher
on the recipient's node will execute the AMTS command procedure at the
time it delivers the message (when it would normally take it out of
the MAILbus mailbox and place it in the pending file and notify the
user).
John
|
33.5 | To add to .4 | SCOTTC::MARSHALL | Pearl-white, but slightly shop-soiled | Wed Feb 19 1992 18:07 | 4 |
| "Done by the fetcher" means it is exectued in the context of the POSTMASTER
account.
Scott
|
33.6 | Where do I get FOLDER/DOCNUM in PENDING.DAT? | STKHLM::GYULAI | Who guards the actual guardians? | Thu Feb 20 1992 08:44 | 33 |
| There is something elusive over this, that escapes me:
I try this PUT_PENDING-thing, but fail due to lack of understanding:
$! OA$LIB:MYMAIDES.COM
$! Gets called when recipient's OA$PROFILE_MAIDES = "MYMAIDES"
$!
$ write oamailbox "oa cab put_pending , 'MAIL', oa$user"
$ @dclmailbox
$ !
$ ! my stuff...
The ref manual says CABINET PUT_PENDING [doc-sym], appl-sym, user-sym
What I don't understand, and can find in the manual, is these symobols I must
include in the call. How do I know them?
/doc-sym/ Defaults to current message. How should I know the entry in
PENDING.DAT? I use default since the sender should have the
sent message as OA$CURMES when sending. If the sender is on
the same node, it should work, right? But if not?
/appl-sym/ A quoted MAIL. Quotology in VAX says it's easiest using "'".
/user-sym/ oa$user should work if we're on the same node as the sender.
but otherwise?
Anyway, this piece of code doesn't deliver the message! Which I thought
it should do. And I try sending to myself, and sending on the same node.
Would it be easier polling PENDING.DAT to find users with unread MAILs?
This would be less neat, but if I can't get MAIDES working...
/n
|
33.7 | A few things | SCOTTC::MARSHALL | Pearl-white, but slightly shop-soiled | Thu Feb 20 1992 10:03 | 25 |
| First, OA$USER is wrong. You don't want your (the sender's) name - you want the
recipient's name: you want to add a "Pending mail" record for that user. When
they do II, RN, etc, the code looks in PENDING, and transfers any new mail to
their inbox "on the fly".
If you're sending off node, then the AMTS stuff� isn't run on the sending node,
it's run on the receiving node, by the fetcher. To recap what I said in .5,
OA$USER will then be POSTMASTER.
Yes, the message is "current" when the fetcher calls the AMTS routine to
deliver incoming remote mail. I assume the same is true of the sender to
deliver local mail.
�To be more specific: the .CMU is run when you type in a local addressee which
has an AMTS MAIDES. This is run in the sending user's process, and is used
to validate the address. If there is no .CMU, the address is assumed to be
valid (as it matches a profile record). This has the slight disadvantage that
user SMITH could be validly addressed as SMITH_IS_AN_IDIOT, etc... Note the
.CMU isn't run if the addressee is remote. The .COM for the AMTS MAIDES is run
to deliver the mail: either in the sending user's process for first-class or
express local mail, in the sender's (POSTMASTER) process on the local node for
second class local mail, and in the fetcher's (POSTMASTER) process on the
receiving node for remote mail.
Scott
|
33.8 | Addressee is in #mailaddr | IOSG::SHOVE | Dave Shove -- REO-D/3C | Thu Feb 20 1992 11:02 | 10 |
| The address you're trying to deliver to will be in the ALL-IN-1 symbol
#mailaddr.
So your put-pending line should like:
$ write oamailbox "oa cab put_pending ,'mail',#mailaddr"
This ought to work, though I haven't tryed it.
D.
|
33.9 | Better, much better. But the beep...? | STKHLM::GYULAI | Who guards the actual guardians? | Thu Feb 20 1992 13:22 | 9 |
| You guys were right about #mailaddr being the thing.
I thought that since sender and sendee was both me, it wouldn't matter.
It did, and now I do get the MAILs.
But no beep, if I'm logged in on my account. Do I have to reset MAIDES
during those moments when the user actually running ALL-IN-1 in order to
give him beeps? Or is there another trick in anyones sleve?
/n
|
33.10 | Notification = beep | PAJERO::RHOTON | John Rhoton @TNO - DTN 871.7947 | Thu Feb 20 1992 13:57 | 13 |
| ================================================================================
Note 3090.6 Where is the MAIL delivery routine? Callable? 6 of 9
PAJERO::RHOTON "John Rhoton @TNO - DTN 871.7947" 8 lines 10-FEB-1992 10:29
-< Notification? >-
--------------------------------------------------------------------------------
Re: .0, .5
The only other thing you might want is user notification. I believe
there is/was an ASSETS package available to do that. Otherwise you
could write a small Install/Execute function to broadcast the message
to the user.
John
|
33.11 | More ... | SHALOT::HUNT | Is that a great new Pepsi can or what? | Thu Feb 20 1992 15:36 | 22 |
| Try this ...
$ woam = "write oamailbox"
$ dclm = "@dclmailbox:"
$ !
$ ! Process incoming ALL-IN-1 message normally ...
$ !
$ woam "oa cabinet put_pending ,"""MAIL""",#mailuser"
$ dclm
$ !
$ exit
There is no *BEEP* with an AMTS. You can either do without it or cook up
one on your own using the information reference in Jon's most recent
reply.
Personally, I have no problem doing without the beep. I've chosen to
run that way normally in ALL-IN-1 for years now. ALL-IN-1 updates the
MAIL field on menus at the slightest twitch anyway so the beep is just
noise to me. My opinion ...
Bob Hunt
|
33.12 | | PAJERO::RHOTON | John Rhoton @TNO - DTN 871.7947 | Fri Feb 21 1992 08:29 | 80 |
| I am not sure of its current status but for your beep you may be
interested in the following:
<<< POMPEO::DUA1:[NOTES$LIBRARY]EOASSETS.NOTE;1 >>>
-< EUROPEAN OFFICE ASSETS >-
================================================================================
Note 229.0 NOTIFY R1.1 ALL-IN-1 2.3 COMPLIANT NOW AVAILABLE 2 replies
POMPEO::MAINTAINER "Gabriella Palmero" 71 lines 28-JUL-1989 14:52
--------------------------------------------------------------------------------
NOTIFY, Release 1.1
Solution Tool
DESCRIPTION
The NOTIFY package makes it possible to send one line messages from
an ALL-IN-1 program to a users terminal. The NOTIFY package may
also be used as a standalone notification package. The
functionality is similar to the DCL REPLY command, but does not
require the user to have priveleges.
FEATURES
o The Notify function notifies a user with a message. The message
text followed by a BELL will be displayed on each terminal on
the system which is owned by the specified username. The syntax
is:
o NOTIFY usersymbol messagesymbol
o Usersymbol is the VMS username
o Messagesymbol is the text of the message
o It allows ALL-IN-1 applications to communicate simple messages
to users on the same node. It does not use cluster-wide
notification and it must be linked into ALL-IN-1.
o NOTIFY is CM compatible
DOCUMENTATION
The NOTIFY package includes the following documentation:
o INSTALL.DOC which explains the installation and usage of this
solution tool.
MINIMUM HARDWARE REQUIRED
Any valid VAX/VMS system that supports ALL-IN-1 Version 2.3.
PREREQUISITE SOFTWARE
The NOTIFY package has been tested with and will run with the
following software:
o ALL-IN-1 Version 2.3
o VAX/VMS Version 5.1
_________________________
Revision number: 0001
|
33.13 | Trying to solve BEEP easier, sys-wide OAINIT? | STKHLM::GYULAI | Who guards the actual guardians? | Mon Feb 24 1992 09:32 | 31 |
| Current status = complete solution within sight.
Simplicity is the first virtue, as you may know; so I dislike using
too much code in this small project. This goes for the BEEP too:
My current favourite idea, is to turn off Advertising New Mail when the
user is running ALL-IN-1. I mean, no point in sending to his watch what
he has on his screen. Turning it on again, when he leaves ALL-IN-1 is
peanuts: modifing DEFAULT-FRM does the trick, (LO, EXIT and BYE-options).
But which way is the easiest/best to turn it on with?
I thought of OA$LIB:OAINI.COM but /DEFER stops that.
I remember something like <user-dir.ALLIN1>OAINIT.SCP that runs every
time you enter ALL-IN-1; but since that is user-space, it may turn sour.
Is there a SYoainit.scp? (c.f. LOGIN.COM and SYLOGIN.COM)
Also, a minor detail:
My form does this upon turning on Advertising:
WRITE CHANGE PROFIL %KEY= OA$USER, MAIDES= "MYMAIDES"
This does the trick, but the symbol OA$PROFIL_MAIDES is harder to
update. I tried looking in Named Data for the SWC-form, (where you can
change MAIDES), but found no clue.
Does it matter? Who uses that symbol?
The manual says READ_ONLY, but is there workarounds?
/n
ps.
should I post the interesting parts of the code here, upon completion?
or is the answers you have given me enough?
|
33.14 | Make check in command procedure? | PAJERO::RHOTON | John Rhoton @TNO - DTN 871.7947 | Mon Feb 24 1992 10:05 | 10 |
| I believe you could do it as you suggest but I would think it would be
easier to implement (less chance of conflicts) if you just make the
check in the AMTS command procedure. Using the lexical functions
F$Context, F$PID and F$GetJPI it should be fairly easy and fast to
determine whether the user is logged in and running the ALL-IN-1 image.
Then you can either send the beeb to the watch or the terminal.
Is it worth considering this approach?
John
|
33.15 | OA$INI_GLOBALS | PAJERO::RHOTON | John Rhoton @TNO - DTN 871.7947 | Mon Feb 24 1992 10:09 | 4 |
| Also OA$PROFIL_MAIDES will be updated from the profile if you call the
function OA$INI_GLOBALS. If that is the route you want to go.
John
|
33.16 | Check_Account | PAJERO::RHOTON | John Rhoton @TNO - DTN 871.7947 | Mon Feb 24 1992 10:52 | 5 |
| I feel like I am talking to myself but with reference to what I said in
.14 you could also use the ALL-IN-1 Check_Account function to see if
the user is logged in.
John
|
33.17 | OA$LIB:OAINI.SCP??? Is there smthng like that? | STKHLM::GYULAI | Who guards the actual guardians? | Mon Feb 24 1992 15:53 | 11 |
| John,
I thank you for your zeal! But still I prefer shutting off Advertising when
the users run ALL-IN-1, (performance, anomaly risc, et.c.).
But I haven't succeeded in finding a global oaini.scp.
Shouldn't OA$LIB:OAINI.SCP run before <user.ALLIN1>oaini.scp?
If not, is there another mechanism that runs during initialization that I
could use?
/n
|
33.18 | OA$LIB:OAINI.SCP calling OAUSER:OAINI_USER.SCP | CESARE::EIJS | All in 1 Piece | Mon Feb 24 1992 18:36 | 15 |
|
Hi,
OA$LIB:OAINI.SCP is the global OAINI, however, as you might have
noticed, will be superceded if ALL-IN-1 finds a User OAINI.SCP. You
won't find it on the system untill you create it (OAINI SCP SHARE in
Customization Management, Live location OA$SITE_LIB_SHARE:).
What about if users will create a OAINI_USER.SCP instead, and the
OA$LIB:OAINI.SCP will call this Script? That means both will be
executed.
Ciao,
Simon
|
33.19 | Now it works! Is there any GIPish thing out there? | STKHLM::GYULAI | Who guards the actual guardians? | Tue Feb 25 1992 14:22 | 13 |
| Simon, thanks. I solved the oaini-thing by letting my .COM-file
search for oauser:OAINI.SCP and inserting a call to my OAINI-file.
And if they didn't have any OAINI.SCP, then I just created it.
(Using DCL-functions F$SEARCH and SEARCH).
Now my application actually works! But the worst still remains:
documentation and installation procedures.
Two years ago we used the GIP-procedure, but I don't have that installed
on my current system. Also I have heard rumours about it becoming
obsolete. So, what do I do to find a tool for packaging my customization?
/n
|
33.20 | GIP goes away with V3.0 | SIOG::T_REDMOND | Thoughts of an Idle Mind | Tue Feb 25 1992 16:37 | 5 |
| GIP is rendered obsolete by the package/restore/transfer functionality
in CM+ (ALL-IN-1 V3.0). In fact GIP served as a prototype for this
functionality...
Tony
|
33.21 | How read # unread mails in a batch-procedure? | STKHLM::GYULAI | Simplicity is the first virtue | Mon Mar 02 1992 15:55 | 12 |
| New customer demands requires new functionality...
I need to be able to read Number_of_New_Mails in batch.
This should be reasonably easy, using CAB-functions I'd guess.
I'd be very gratefull if anyone could show me how to do this!
(I.e.
I want a call that would work like:
GET PROFIL.MAIL_COUNT[user-symbol] <-- no such a field in PROFIL
This call would not execute in any message-delivering context.
N :-)
|
33.22 | CAB$PENDING.COUNT[key] | SIOG::T_REDMOND | Thoughts of an Idle Mind | Mon Mar 02 1992 16:32 | 9 |
| Get a copy of the Mail Filter from ASSETS. This includes a number of
scripts that do what you want.
GET #PENDING_KEY = "MAIL " OA$USER
GET CAB$PENDING.COUNT[#PENDING_KEY]
will retrieve the number of new messages for a user.
Tony
|
33.23 | Interactively! but in a procedure? | STKHLM::GYULAI | Simplicity is the first virtue | Tue Mar 03 1992 16:14 | 22 |
| It works interactively, but not in a procedure:
$ ALLIN1/ NOINIT/ USER=MANAGER
Enter CMD: GET CAB$PENDING.COUNT["MAIL userid"]
%OA-I-LASTLINE, 2
But in a PROC.COM, I get
%OA-W-INVGET, Symbol "cab$pending.count["MAIL userid"] not found"
My code is:
$ open/write fp inp.dat
$ write fp "get cab$pending.count['MAIL "+user_symbol+"']"
$ close fp
$
$ defi/user sys$command dev:<direct>inp.dat
$ defi/user sys$output dev:<direct>out.log
$ ALLIN1/NOINIT/USER=MANAGER
$
$ type out.log
I have set all privileges in DCL, before $ @PROC.
Why is this so? /n
|
33.24 | Try CLI symbols | CESARE::EIJS | All in 1 Piece | Tue Mar 03 1992 17:20 | 15 |
|
Try:
$ ALLIN1/NoInit
GET #PENDING_KEY = "MAIL " CLI$USER_SYMBOL
GET CLI$MAIL_COUNT = CAB$PENDING.COUNT[#PENDING_KEY]
EXIT
$ Write Sys$Output "''Mail_Count'"
$ Exit
and submit it.
Ciao,
Simon
|
33.25 | Remember to initialize the FC and MAIL | SIOG::T_REDMOND | Thoughts of an Idle Mind | Wed Mar 04 1992 08:21 | 9 |
| It might also help to execute
OA$INI_INITIALIZE
and
MAIL INITIALIZE functions
before attempting to use anything like CAB$xxxx data sets.
Tony
|
33.26 | Thanks. Autodelete simple? | STKHLM::GYULAI | Simplicity is the first virtue | Wed Mar 04 1992 09:02 | 12 |
| Thanks. Of course it works now.
The customer has an annoying employee, who keeps sending mails
every day to him, (5-10). He wants to auto-delete these.
Is it ok to just not CAB PUT_PENDING when that user is sender?
I.e. would anything (PENDING.DAT) fill upp, with unused entries?
I have my MYMAIDES.COM which delivers MAILs by CAB PUT_PENDING.
So I don't use the ordinary MAIL-delivery routine.
It can check sender's user id before PUTing Pending.
/n
|
33.27 | Just wondering? | SIOG::T_REDMOND | Thoughts of an Idle Mind | Wed Mar 04 1992 09:30 | 5 |
| Surely the solution to an annoying employee is a polite message saying
"don't send any more mail to me unless it is strictly necessary" rather
than having a manager worrying about automatic deletions?
Tony
|
33.28 | Beyond politeness; how about side effects? | STKHLM::GYULAI | Simplicity is the first virtue | Wed Mar 04 1992 09:40 | 6 |
| Yes, you'd think so. But this user is deliberately sending MAILs, even
though he knows his boss doesn't want them!
So, when politeness fails, you need stronger solutions.
Was it ok? To just not PUT_PENDING? /n
|
33.29 | Should be ok | FAILTE::LAAHS | Two Cute Celts are better than one | Wed Mar 04 1992 09:52 | 13 |
| Sounds like the salary non-continuation plan should come into effect
here :-)
It should be ok to just not PUT_PENDING but one thing I'd check is that
the usage counts are handled ok. To check this just ensure that the
actual file containing the body of the mail message is deleted after
everyone who ius referencingh it has deleted it and emptied their
wastebaskets.
Why can't the manager just do a multiple delete? Or better still
upgrade to V3.0 and let someone else to the multiple delete for him?
Kevin
|
33.30 | annoyer and annoyees, do they exist? | STKHLM::GYULAI | Simplicity is the first virtue | Wed Mar 04 1992 11:41 | 10 |
| I like your humor! But...
No, this is a govervental outfit, (the Swedish PTT), so you just don't
sack people. Also I do, not question, as DEC's humble programmer.
The reason for him not wanting to just delete the messages, is that they
keep reminding him of this annoyer, (is there such a construct?).
Then again maybe the annoyee, (how about that one?), just don't want to
be reminded about his failures?!
I'll check the usage count. /n
|
33.33 | Annoy the annoyer | IOSG::TALLETT | Mit Schuh bish hi | Wed Mar 04 1992 19:28 | 17 |
|
Continuing with the earlier topic...
I would like to turn the messages around and send them back to
the annoyer to annoy him...
Presumably, when you have fixed ALL-IN-1 not to deliver this hate
mail, the annoyer will move to a different node/account, or start
using VMS mail or something?
How about the Personal Assistant, you could set up rules for when
to delete the mail.
Maybe the annoyee could get an "ex-directory" mail address? :-)
Regards,
Paul
|
33.34 | What is 'Personal Assistant'? | STKHLM::GYULAI | Simplicity is the first virtue | Thu Mar 05 1992 07:42 | 0 |
33.39 | IOSG::APA_SUPPORT | HYTIDE::CREAMER | Keep a low profile | Thu Mar 05 1992 14:13 | 30 |
|
Re: .34
> -< What is 'Personal Assistant'? >-
Well, to quote from the SPD...
> PRODUCT NAME: ALL-IN-1 Personal Assistant, Version 1.0 SPD 37.53.00
>
> ALL-IN-1 Personal Assistant enables users to track new ALL-IN-1 mes-
> sages and locate documents within their ALL-IN-1 file cabinet using
> a variety of selection criteria. Use ALL-IN-1 Personal Assistant if
> receiving large amounts of mail or maintaining large numbers of doc-
> uments.
>
> The ALL-IN-1 Personal Assistant is an add-on subsystem to the stan-
> dard ALL-IN-1 IOS product. ALL-IN-1 Personal Assistant extends ALL-IN-1
> with a set of additional text searching and filtering functions. Ad-
> ditional forms are provided to assist users in dealing with the new
> capabilities.
You may wish to ask questions that are specific to
ALL-IN-1 Personal Assistant in the IOSG::APA_SUPPORT
conference...
HTH,
Jack
|
33.40 | Chaos reigns | IOSG::SHOVE | Dave Shove -- REO-D/3C | Thu Mar 05 1992 15:00 | 7 |
| This note is an awful muddle!
Any chance of moving some of its replies to a new note?
D (I'd do it myself, but I'm not a moderator).
|
33.41 | Notes moved to 180.* by moderator | IOSG::TALLETT | Mit Schuh bish hi | Thu Mar 05 1992 19:19 | 10 |
| Hi Dave!
I thought this was what was meant by Multi-Threading?
I was following it okay.... Just a bit wierd! :-)
I'll move the notes.
Regards,
Paul
|
33.42 | About sending ALL-IN-1-mail from batch mode | STKHLM::GYULAI | Simplicity is the first virtue | Tue Mar 17 1992 16:38 | 22 |
| > <<< Note 33.25 by SIOG::T_REDMOND "Thoughts of an Idle Mind" >>>
> It might also help to execute
> OA$INI_INITIALIZE and MAIL INITIALIZE functions
> before attempting to use anything like CAB$xxxx data sets.
I want to let my batch-job send a MAIL to manager when anything goes wrong.
Sending VMS-mail is easy, but isn't ALL-IN-1-mail also a piece of cake?
Don't want to use oa$ini_initialize since MANAGER may be running and then
I'd get %OA-E-NOREENTER...
__________________
$ ALLIN1/NOINIT/USER=MANAGER
oa$flo_open oa$lib:oaform
mail initialize
mail create/open/nosend/noedit/fname=MYFIL.TXT
%OA-W-CAB_NEED_FOLDER, When creating a document, you must specify a folder...
-------------------
Doesn't work, does it? I'm sure there is an easy workaround, and would be
gratefull for a hint!
/n (running V2.4)
|
33.43 | A subtle hint... | HYTIDE::CREAMER | Keep a low profile | Tue Mar 17 1992 16:47 | 17 |
|
> Don't want to use oa$ini_initialize since MANAGER may be running and then
> I'd get %OA-E-NOREENTER...
> __________________
> $ ALLIN1/NOINIT/USER=MANAGER
> oa$flo_open oa$lib:oaform
How about:
$ ALLIN1/NOINIT/USER=MANAGER/REENTER
OA$INI_INITIALIZE
oa$flo_open oa$lib:oaform
MAIL INITIALIZE
etc.
HTH,
Jack
|