|
It's not quite what you are asking for, but you might consider the
MAPI client for ALL-IN-1 . Assuming the people have moved to a MAPI
compliant platform like exchange, they can connect to their ALL-IN-1
server, and keep access to their file cabinet, without actually using
it for sending mail. THe mapi client also provides drag and drop
functionality from ALL-IN-1 to exchange, handling the document
conversion en route.
Might be worht looking into
|
| I thought I'd put the solution I'd used in here. It might help someone
in the future. Its something I thought I'd find in notes but couldn't.
I'm not an expert on ALL-IN-1 Programming so there are probably better
solutions - but it works !!!.
The mapi driver or exchangelink were not considered as they now use
Lotus notes. All-in-1 is hardly used anymore but they have some important
data they had to archive.
This will only work in a pure WPSPLUS/TEXT environment.The unshare will have a
problem with Binary files ie EXCEL/WORD.
The first script is SMUNSHARE this has been around for a while and will
"unshare" all the documents adding them them to the users directory. It
adds the attachments as part of 1 document, puting a page-break were where it
said attachment.
The second script CONVERT.SCP was created by making a few changes to the
SMUNSHARE.SCP. It should be run when you are sure smunshare has
been successfully. It will convert all WPSPLUS document to text and create
a list file when finished containing FOLDER, TITLE, DATE and FILENAME.
This is exactly what the customer wants. He'll target the key accounts, run
smunshare.scp then run the convert.scp script. When finnished he'll backup the
users directory. This way he can switch off ALL-IN-1 and if anybody wants a
document in the future they need, he can restore the directory and leave it
up to the user to get the document, referencing the user_documents.lis file.
John Walsh
---------------------------------------------------------------------------
!SMUNSHARE.SCP
!
DECIMAL I
! get hold of all unread mail messages
Cabinet Get_pending "MAIL" ,"INBOX"
! set the protection so the docdb and daf can definitely be accessed
Get oa$dcl="set prot=sys:rwed *.*;* "
! create data file of all unread documents and list it out for the SM
! write out the data file header (also open file on DCL stream UNREAD)
Get #SM_UNREAD_COUNT = "0"
Get oa$dcl = 'OPEN/WRITE UNREAD OAUSER:' OA$PARSED_USER '_UNREAD_DOCS.DAT'
For cab$ with .mail_status == "UNREAD" do -
Get #Record = 'WRITE UNREAD "' .Folder:30 .Docnum:10 .Filename '"'\\-
Get OA$DCL = #RECORD\\-
Compute #SM_UNREAD_COUNT = #SM_UNREAD_COUNT + 1
Get OA$DCL = "CLOSE UNREAD"
.IF #SM_UNREAD_COUNT EQS "0" THEN .GOTO No_Unread
Get Oa$function = 'Purge_file ' #Unread_docs
Get Oa$function = 'List <Merge Smunread.blp '
.GOTO Endif_Unread
.LABEL No_Unread
! Get Oa$function = 'Display User ' OA$USER ' has no unread mail messages '\-
Get Oa$function = 'Display ' OA$_SMUNSH_USER OA$USER OA$_SMUNSH_NOUNREAD\-
FORCE
.PAUSE 5
GET OA$DCL = 'DELETE OAUSER:' OA$PARSED_USER '_UNREAD_DOCS.DAT;0'
.LABEL Endif_Unread
.clear 1,24
! The paired quote characters in the RHS of the oa$function
! assignment cause a correctly formed literal to be formed after symbol
! substitution. The :30 after .folder causes the folder name to be
! padded on the right with the appropriate number of spaces.
get $$mail_last = ""
for cab$ with .dapointer eqs "s" AND .mail_status NES "UNREAD" do -
get oa$function = "cab current """ .folder:30 .docnum """" \\-
get oa$function = "display unsharing " .folder:30 .TITLE " \force" \\-
get oa$dcl="set prot=sys:rwed " oa$curdoc_filename \\-
get #oldtitle = oa$curdoc_title \\ get #file1 = oa$curdoc \\-
GET #OLD_AUTHOR = OA$CURDOC_AUTHOR \\ GET #OLD_DATE = OA$CURDOC_CREATED \\-
GET #OLD_MODDATE = OA$CURDOC_MODIFIED \\-
get #oldformat = oa$curdoc_format \\ get #olddsab = oa$curdoc_dsab\\-
get #oldext = Oa$dir:"*.*".TYPE[Oa$curdoc_filename]\\-
Make_file_name #tempname,,#oldext\\-
cab create .folder,#tempname,#file2 \\ get #create_status = oa$status \\-
cab add_attrib #file2,"TITLE",#oldtitle \\-
cab add_attrib #file2,"FORMAT",#oldformat\\-
cab add_attrib #file2,"DSAB",#olddsab\\-
CAB ADD_ATTRIB #FILE2,"AUTHOR",#OLD_AUTHOR \\-
CAB ADD_ATTRIB #FILE2,"CREATED",#OLD_DATE \\-
CAB ADD_ATTRIB #FILE2,"MODIFIED",#OLD_MODDATE \\-
get #newfile = cab$.filename[#file2] \\ copy "@#file1" #newfile \\ -
get #unshare_fn=cab$.filename[#file2] \\-
get oa$dcl="set file/own=parent " oa$curdoc_filename \\-
get oa$dcl= "set file/acl/like=" cab$.filename[#file1] " " #newfile \\-
.if #create_status EQ 1 THEN cab delete_doc #file1 \\-
get #create_status = 0
-------------------------------------------------------------------------------
!CONVERT.SCP !
Get oa$dcl="set prot=sys:rwed *.*;* "
.clear 1,24
for cab$ with .dapointer eqs "p" AND .DSAB:7 = "WPSPLUS" DO -
get oa$function = "cab current """ .folder:30 .docnum """" \\-
get oa$function = "display CONVERTING " .folder:30 .TITLE " \force" \\-
get oa$dcl="set prot=sys:rwed " oa$curdoc_filename \\-
get #oldtitle = oa$curdoc_title \\ get #file1 = oa$curdoc \\-
GET #OLD_AUTHOR = OA$CURDOC_AUTHOR \\ GET #OLD_DATE = OA$CURDOC_CREATED \\-
GET #OLD_MODDATE = OA$CURDOC_MODIFIED \\-
get #oldformat = oa$curdoc_format \\ get #olddsab = oa$curdoc_dsab\\-
get #oldext = Oa$dir:"*.*".TYPE[Oa$curdoc_filename]\\-
get #NEWext = ".txt"\\-
Make_file_name #tempname,,#oldext\\-
Make_file_name #temptxt,,#NEWext\\-
cab create .folder,#temptxt,#file2 \\ get #create_status = oa$status \\-
cab add_attrib #file2,"TITLE",#oldtitle \\-
cab add_attrib #file2,"FORMAT",#oldformat\\-
cab add_attrib #file2,"DSAB","ASCII"\\-
CAB ADD_ATTRIB #FILE2,"AUTHOR",#OLD_AUTHOR \\-
CAB ADD_ATTRIB #FILE2,"CREATED",#OLD_DATE \\-
CAB ADD_ATTRIB #FILE2,"MODIFIED",#OLD_MODDATE \\-
get #newfile = cab$.filename[#file2] \\ copy "@#file1" #NEWFILE \\-
.if #create_status EQ 1 THEN cab delete_doc #file1 \\-
get #create_status = 0
!
!Now create the list file
!
form auto sel for CAB$ with .FOLDER NES " " -
DO SEL_STYLE .FOLDER:25 " " .TITLE:30 " " .CREATED:11 " " .FILENAME " " -
/STYLE=FILE -
/LIST="USER_DOCUMENTS.LIS"
DUMP USER_DOCUMENTS.LIS
|