当ブログに掲載しているサンプルは、すべて利用者の自己責任とします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。
記事そのもののリンクについてはご自由に行っていただいてよいです。
xxのようなサンプルを作って欲しいとかxxxの作り方を教えて欲しいというお問い合わせには応じていません。
このようなお問い合わせは、株式会社エフまでご一報ください。

2020年3月19日木曜日

Implemented the ID switching application for HCL Nomad

I am an Android user, so I can use HCL Nomad at last.
I usually use HCL Nomad, I noticed that I can NOT switch ID.
Since I have only one smartphone, I inconvenience verification test.
So, I thought about 'how to switch ID'.

This time, I will write the research results.

1.I tried to overwrite ID File.

In the previous article, I found that HCL Nomad's user ID file name is 'user.id'.
I can get and check 'KeyFileName' in notes.ini.
I also know that the location of the data directory can be searched.
So, I thought about whether I can save another user's ID file there.

I created the Notes Application, I created the document and attached ID File.
I actually tried to download the attached ID file from the document...
HCL Nomad can no longer be ran! It cannot be restarted too.

launch error...

Apparently, it seems bad to overwrite another user's ID file.
* After this, I will be uninstalled HCL Nomad.
So, what about that having multiple ID files?
If I can store multiple ID files, that can be switching the location.

2.I tried to stored ID file.

So, I tried to save the file.
I created sample code below and saved ID file to HCL Nomad's data directory.

Sub Click(Source As Button)
    On Error GoTo ErrProc
    
    Dim session        As New NotesSession
    Dim strDirectory   As     String
    Dim strIDFilePath  As     String
    Dim db             As     NotesDatabase
    Dim docs           As     NotesDocumentCollection
    Dim doc            As     NotesDocument
    Dim ritem          As     NotesRichTextItem
    
    strDirectory   = session.GetEnvironmentString( "Directory", True )
    
    Set db   = session.CurrentDatabase
    Set docs = db.UnProcessedDocuments
    If docs.Count <> 1 Then
        Error 1000, "Please select only one document."
    End If
    Set doc   = docs.GetFirstDocument
    Set ritem = doc.GetFirstItem( "IDFile" )
    
    If doc.HasEmbedded Then
        ForAll x In ritem.EmbeddedObjects
            If x.Type = EMBED_ATTACHMENT Then
                strIDFilePath = strDirectory & "/" & x.Name
                Call x.ExtractFile( strIDFilePath )
            End If
        End ForAll
    Else
        Error 1001, "There is no ID file."
    End If
    
    Msgbox " The ID file was saved successfully.", 0 + 64, "Download ID"
    Exit Sub
    
ErrProc:
    MsgBox _
    "Error line:"    & CStr(Erl) & Chr$(10) & _
    "Error number:"  & CStr(Err) & Chr$(10) & _
    "Error content:" & Error, _
    0 + 16, "Download ID"
    
    Exit Sub
End Sub


The result of execution is below. Apparently, it seems to succeed to save it.

successful ID file saved



3.I tried to switch the location.

In the case of Notes client, switching the location can execute by [file] - [location] - [change location] menu or click the location name at the bottom right of the screen.
In the case of HCL Nomad, what do I should be how to do it?
After investigating, it seems that it can be executed by @ command or LotusScipt.
The question is whether these functions can execute on HCL Nomad?
I tried immediately.

@Command([SetCurrentLocation])
Sub Click(Source As Button)
    Dim uiws As New NotesUIWorkspace
    
    Call uiws.SetCurrentLocation( "" )
End Sub


Both was normally execution and same result.

Select location
It can certainly change the location.
I thought about that if the ID file was prepared, I can switch ID file by changing the location.

That is, it can be done by the following procedure.
1.    Create ID file document.
2.    Save the ID file to HCL Nomad's data directory.
3.    Create location document to names.nsf.
4.    Set the saved ID file path to "UserID" filed.
5.    Execute @Command ([SetCurrentLocation])
6.    A dialog is displayed, select a location

System configuration diagram

Based on this, I created a sample program.


4.Sample program


At first, it launches Notes application on HCL Nomad.

Notes application in Notes client

Click [Create] for create ID file document.

Create ID file document

Select user and attach the person's ID file. At this time, attached file's name must be unique in Notes application.
If it creates the required number of documents, it is ready.

Next, it launches HCL Nomad on smartphone or tablet.
Open the Notes application on HCL Nomad.

Notes application in HCL Nomad
First, tap [Ready]. This sets the 'user.id' path in the 'online' location document.
This operation must be do only once.
If it succeeds, it will be displayed dialog below.

Edit base location document
Next tap [DL]. It is displayed user list view.

User list view
Select the user for download ID file and tap [Download ID File].
If it succeeds, it will be displayed dialog below.

successful download ID
Tap [Go back menu] to return to the top screen, then tap [Switch] to switch locations.
It is created location by the user name that download ID file, select it and tap [OK].

Select user location
It displays input password dialog.

Input password

It has now switched the ID file.

If you want to know more about the Notes application introduced here, please contact us.





That’s all. Thank you for reading.







Notes/Dominoで困ったことがあれば、弊社にお問い合わせください。
HCL Masterの私が承ります!
お問い合わせはこちらから→Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント: