Tuesday, May 7, 2019

SnTT: What if You Only Want Sametime, Meetings or Connections but NOT Mail in IBM Connections Cloud?

For years, since it was a wee little LotusLive, we, the greater Business Partner community, have told customers they could go to the Cloud one step at a time, or everything at once. Easier said than done sometimes. The hybrid or on premises decision, which IBM imposes on your organization BEFORE you start out, is just the tip of the iceberg.

Maybe your preference is Connections or Meetings or Traveler(well you could, not sure why you would) or Verse or Docs...anything BUT mail.

You see, mail is of course the big one, the main reason usually why people want to go to the cloud.

So when one of our clients realized a bit late in the day that they needed to do something fast for their Sametime servers, we suggested the IBM Connections Cloud.

Why build a whole Sametime infrastructure when you can have one permanently in the Cloud and updated all the time and it costs you less than a license fee a year? Seems like a good deal, right?

As someone who builds out Sametime infrastructures, this is much cheaper than having me build you one, that is, presuming you can or want to go to Cloud.

Well, it has been at least 3 years since I loaded a customer into the IBM service, while some of the process has stayed the same, the rest was a new thing for me. And now you get the benefit of my sleepless nights.

For this post, we will presume you have Cloud licenses, of some sort, either dual entitlement or purchased or some other IBM named license that grants you Cloud usage and access.

Once you request from IBM your login credentials (most people get an email about it when the dual entitlement went out, but easier to ask IBM to resend it then find it) you can start the process of setting up your cloud domain.

For this project, because we thought it would be a possible migration down the road we recommended a Hybrid approach. The truth is no matter which way you chose, the details below will work for you.

Once chosen, one has to detail the Domino passthru server name, ID, cert.id files, passwords, mail directory name, directory name itself, etc. and reach a point where IBM's server talks to your server, and with some DNS changes, everyone gets along real well. Note usually any issues at this point are Firewall and/or DNS related as we presume you know your Domino infrastructure and how to create IDs and passthru servers,

Now comes the fun part.

If you have a small organization(between 1-50), you may want to just create everyone manually, but when you are a few thousand people, that is not practical. Oh and remember this is WITHOUT email.

How do you do this? Normally when you register people, it starts the whole mail file and directory process, oh you can selectively add/remove parts manually but how do we bulk process people?

Well you will need to do a few more things with IBM before you start this process. Note to IBM, a nice flowchart of what to do, when, how for each option(Cloud or Hybrid) would be REALLY nice and helpful.

First thing to do is to request from IBM an Integration Server (about this here) account to provide FTP uploads of .csv files. This request, for a LLIS (Lotus Live Integration Server) account includes the steps as follows from here:
  • Send an email to support@collabserv.com with Integration server enablement request - Your Customer Name in the subject line. The email must contain the items in the following list. The first three pieces of information can be obtained from the Organization Account Settings page for your organization.
  • Organization name
  • Customer ID
  • Organization contact email address
  • Email address that is to be used to access the integration server. This account must already exist in the cloud and have the Administrator role. This account does not need a user role or any subscriptions assigned to it.
  • You can request additional email addresses that are to be set up as integration server users, as long as they are existing accounts with the Administrator role.
  • You are notified when enablement is complete and you can use the integration server. Note that your CSR might need several days to complete your enablement. This enablement account is known as the integration server user account.
Once this is done you will get a reply with details to login and set up your FTP links.

The MOM tool will not be used because that is for Mail Migrations/integration with the Cloud in case you were wondering.

Now comes the part that drove me crazy for a while, the .csv file.

You can read about it and see example pages here, here and here among other page of the documentation online.

Suffice it to say, because I know if you are reading this, and in the process of trying this, you probably said TL:DR for the documentation or like me tried it a few ways and felt like breaking a baseball bat on some tech writers head.

And to you, lucky winners, I am providing the exact syntax and details.

You need to understand IBM envisioned people only using Mail, or only using Connections as the primary reasons for moving to the Cloud so  there are actually 2, yes, two, .csv files you need to create to get any user registered as a Sametime user.

Got that? Neither do I but this will become HCLs issue to correct soon enough.

The 1st .csv needs to create the user, and thus a Connections account. 

DO NOT JUST MAKE A MAIL ACCOUNT THAT WILL NOT BE USED. IT WILL TAKE OVER THE USERS RECORDS AND POINT THEM TO THE CLOUD. 

You have been warned.

Here is what I did, you may have better luck with different ways to create the .csv file, but this is how I did it.

Once you get the list of users from the customer, you will need to break the list down to 200 people at a time. Why? Because that is what IBM has the system set to handle currently. If you put in 201, it will provide a failure report and not process. Again, you have been warned.

Open Excel and create a header row with each column for one item and they look like this, syntax matters so check the docs if you are not sure!
emailAddress  action subscriptionid givenName  familyName  language  timeZone  country

Details to be put in each column under the heading:
Emailaddress - put in the users email address
action - Add (Add is used for new people to be registered/provisioned, see here for the other choices)
subscriptionid - Found once you login to Connections Cloud and go to Admin-Manage Organization from the top right side, then click on Subscriptions from the left side and get the Connections
Subscription Entitlement ID


givenName - First Name
familyName - Last Name
language - en_US for US English (Language list here)
timeZone - America/Atikoka (This is EST, Time Zone list is here)
country - US (Country list here)

(Originally IBM also included password, but since the system automatically sends the user an email with a temporary password with the links to Connections Cloud and to change their password, we figured we did not need this option. If you think you need more options or more specifics in registering people, here is the complete list of field options.)

Sounds so simple, right? So you fill in the spreadsheet, then click Save As, find the basic .csv option and save the file. Oh, but you need a specific name as well, see here for more details.

Format of the .csv file name is: customerId_prv_seqnum.csv

customerid -  Found once you login to Connections Cloud and go to Admin-Manage Organization from the top right side, then click on Organization Account Settings from the left side
prv - leave as prv
seqnum - you need to go to http://www.epochconverter.com for the UNIX time that the file needs. Keep in mind all future csv files must have a time stamp after the prior one or they will not get read. A bit of a PITA but understandable for an automated process.

so an example might look like this: 22792279_PRV_1556820735.csv

Now login to your ftp client and the LLIS and upload the file. My efforts showed the file was picked up by the server every 7-10 minutes. 200 people would be registered in about 10 minutes.

Once the file is picked up, the ftp site will add 3 new folders to your login location, error, report and processed.

If all goes well your file will be in processed and your report will show a new file for each upload and a code of 463.

If it did not go well you will see your file and a trace file in the error folder and the report will tell you which line failed and why. Usually syntax, I had some cut and paste spaces in a few cases that caused me issues

Great, moving along now we need to create .csv #2 and get all these fake Connections users real Sametime accounts.

This one is much simpler because we only really need 3 columns:
emailaddress action subscriptionid

emailaddress - put in the email address
action - AssignSeat (this is so the existing registered person gets Sametime added to their account)
subscriptionid - Found once you login to Connections Cloud and go to Admin-Manage Organization from the top right side, then click on Subscriptions from the left side and get the Chat 
Subscription Entitlement ID


Name the file as above but change the timestamp and upload the saved .csv.

You can login at anytime to your Cloud instance and check the users have been created and have Sametime included in their options.
And that is how to register users that are not using Mail into Connections Cloud and you can do this for the other options or when you need to migrate their mail later on:Connections, Docs, Email, Traveler, Meetings, Verse, Chat

Good luck and remember, syntax matters!







2 comments:

  1. So true. I faced the same challenges sometime ago. Alternatively you can make use of the BSS API as well. This is some more straight forward and more flexible, if you are familiar with handling APIs.

    The good news is, that IBM always gives enough space to build your own solution.

    I ended up in developing a small solution, which syncs local LDAP entries into IBM Cloud via BSS API and make use of the CSV uploads for managing the IBM Connections profiles.

    Volker

    ReplyDelete
    Replies
    1. Thanks Volker for another way to do it. I am not a developer so would not have thought of this.

      Delete