MWLUG Schedule Announced

The session schedule for the upcoming MWLUG conference in Austin has been published. My session, AD114 - Think Outside the Box - Part 2, will be on Wednesday at 4.30pm. I am currently putting the finishing touches on the presentation and the demo database. I hope to see you in less than 2 weeks!

0 Comments

Are you in Texas? Do you work with ICS products? Then you should read this!

If you are located in Texas and work with the IBM Collaboration Software products (Notes, Domino, Sametime, Connections and BlueMix) either on-premises or in the cloud, you now have a unique opportunity on August 17-19. MWLUG is coming to Austin. The conference is only $75 to attend, for 2 1/2 days of session and networking. There are 52 session scheduled, many of them presented by IBMers, top business partners and IBM Champions. So if you are local, take this opportunity to learn what is coming in the ICS area, and perhaps learn a few new things about the products you already use. There will also be vendors present showing tools and products as well, giving you a convenient overview of what tools are available on the market. I hope to see a number of fellow Texans in Austin in four weeks!

0 Comments

How fascinating! On to new ventures!

This last Tuesday was my last day as Sr Application Developer at Deep South, my workplace for the last 14 years. My position was somewhat -- but not totally -- unexpectedly eliminated. I want to thank my manager John St Andria for the opportunity to work with him all these years. I had a great time, and I think we worked really well together. This was not his decision, it was a directive from higher up. I consider him a good friend. This was probably as hard for him as it was for me. I have taken a few days to consider different options. My current plan is to spend some time learning a couple of new technologies and improving others. Finally I have the time to spend on learning new technologies, either on my own or by taking some classes. During the last year I already started this, by taking some college classes in C# and ADO.net. Now I will keep building on that foundation. I think the best way forward for me is to diversify and learn additional technologies and platforms, and me being terminated might be the kick-in-the-butt I needed to get out of my comfort zone and venture into something new. While I branch out I will obviously be looking for Domino related development jobs, either using the Notes client or Domino web applications. Feel free to pass my name, contact info and resume around.  

13 Comments

Updated MailNotification class – Now with HTML email support and web links

I have updated my MailNotification class with some additional functionality I needed at work. Since our mail system now is Outlook/Exchange, and therefore the Notes doc links don't work anymore, I am in the process of converting all my email notifications into HTML email. The doc links are now made into HTML links, pointing to a notes:// or http:// address. I simply added a new class, HTMLmail. It is based on the old NotesMail class, but I override a few functions that are different. This makes it very easy to update the emails I am generating in my Lotusscript agents, in most cases I only have to replace NotesMail with HTMLmail in the declaration and instantiation: Dim maildoc As HTMLMail Set maildoc = New HTMLMail() When I had doc links in the email I also had to modify the code where I generate it. The method takes three arguments: the NotesDocument to link to, the Alt/Title attribute for the link (to be displayed when hovering over the link) and the text of the link: Call maildoc.AppendDocLink(doc,"Click to open",doc.ClaimNumber(0)) In order to generate the links I created a Link class, where you can set what protocol you want to use ("notes" or "http") you want the link to use, you can change the port from the default of 80, and you can even force the link to point to a different server. I use this class in the AppendDocLink method in the HTMLmail class. Here is a short code sample, it is just a function to create a mail notification for an insurance claim. The claim document is passed to the function and a mail is sent to the adjuster and his/her manager. Sub SendNotification(doc as NotesDocument) '*** Create a new object and set the sender, recipients and subject Set maildoc = New HTMLMail() maildoc.Principal = |"System Notification" <noreply@example.com>| Call maildoc.AddMailTo(doc.GetItemvalue("Adjuster")(0)) Call maildoc.AddMailCC(GetManagerName(doc.GetItemValue("Adjuster")(0))) maildoc.Subject = "30 DAY ALERT - " & doc.GetItemValue("ClaimNumber")(0) '*** Build body content, including a link to the document Call maildoc.AppendText("Claim number ") Call maildoc.AppendDocLink(doc,"Click to open",doc.GetItemValue("ClaimNumber")(0)) Call maildoc.AppendText(" was received on ") Call maildoc.AppendText(Format$(doc.GetItemValue("Received_Date")(0),"mm/dd/yyyy") & ". ") Call maildoc.AppendText("This claim has been opened for 30 days. ") Call maildoc.AppendText("Please confirm all appropriate actions has been performed.") Call maildoc.AddNewLine(2) '*** Add no-reply notification to the end and send the email maildoc.NoReply = True Call maildoc.Send() '*** Flag the NotesDocument as processed and save it to avoid duplicate notifications doc.Warning30daySent = "Yes" Call doc.Save(True,True) End Sub That's pretty much it.  Enjoy the code, and as usual I do not guarantee anything. Use on your own risk, as always. If you like this code and use it, let me know. Option Public Option Declare Class NotesMail Public maildoc As NotesDocument Public body As NotesRichTextItem Private p_subject As String Private p_sendto List As String Private p_copyto List As String Private p_blindcopyto List As String Private p_principal As String Public NoReply As Boolean Public mailbox As NotesDatabase Public Sub New() Dim session As New NotesSession Dim mailservername As String ' We must use mail.box on current server. mailservername…

2 Comments

MWLUG in Austin – I will be presenting again

I have been selected to present at MWLUG in Austin on August 17-19. My presentation will be kind of part two of my presentation last year in Atlanta. It will focus less on the basics and go more into the fun and more advanced stuff. Kind of an extended version of my Connect 2016 presentation. The title is "Think Outside The Box - Part 2", and I will discuss and show how you can build a modern web front-end using standard techniques like Javascript/jQuery and frameworks like Bootstrap and jQuery Mobile and have it work against a Domino backend. I will demonstrate how to easily read data from and write data to the Domino database, and how to consume data using free plugins like BootstrapTable and FullCalendar. I will also discuss the difference between JSON and JSONP and why the latter usually is better when building this type of integration. You will leave with a sample database containing the source code all the demos I will be showing as well as Lotusscript script libraries with classes I built to easily build agents that will interact with the website. The idea is that you should be able to attend my session in Austin even if you haven't seen any previous presentation. I will assume you have basic web design skills (HTML, CSS and a working understanding of Javascript) but you don't have to be an expert at all. I also recommend some Lotusscript knowledge, as I will be providing all attendees with plenty of code to bring home and start using yourself. I hope to see you in Austin in August! If you haven't registered yet, go ahead and do it now! There are still seats left.

0 Comments

Review – Ytria consoleEZ

Recently I wrote about the great customer service I received from Ytria, and that made me realize that I haven't been writing about one of their newer tools yet. The tool is consoleEZ, and it has actually been out for over a year. A new version was recently released. As the name indicates, it is a Domino server console on steroids. You can load a number of consoles into one window, have them neatly tiled and get a great overview of what's happening on your servers. Just like all other Ytria tools it runs in it's own process, which means that it does not lock up your Notes, Administrator or Designer client. This is of course very convenient. Each console window has a field where console commands can be entered. A nice feature here is auto-complete/type-ahead. You also have a drop-down button that will give you any previous commands you sent to any console, it does not have to be the one you are working on. And the commands are saved, as opposed in Domino Administrator where you lose your command history when you close the client. You can also launch a task viewer, where you can see what tasks are running on a specific server. It updates every 3 seconds, so you can stay updated for example on views being updated, somethings I sometimes need. I would highly recommend consoleEZ for any Domino administrator, as well as for the more advanced developer who need to see what's happening on the servers. Contact Ytria for a current price quote in you region.  

3 Comments

MWLUG – Abstract submission deadline approaching

The deadline for session abstract submissions to MWLUG is this Friday,  May 27. You have until 5pm that day to submit any session you like to present at the conference, which takes place in Austin August 17-19. Even if you don't plan to present, you can of course register for the conference. There is a limited number of seats, so don't miss out on this conference!  

0 Comments

Good vs bad customer service

Today I experienced some very good customer service, and that made me think about how important that is when it comes to how a company is seen by customers (current and prospective). What happened was that I downloaded the latest version of Ytria's developer tools (scanEZ, toolBarEZ, viewEZ, designPropEZ and signEZ). I been using those tools for year, and was very excited when I found out they had just released a major new version. So I downloaded it as normal, installed it and then logged in to our account to get the new license keys. I then found out that the license had not been renewed last fall. I got the invoice and passed it on within my company, but somewhere on the way it got dropped. So now I had the new version installed, but could not use it as I did not have any valid license keys. I found the old invoice, mailed Ytria and they told me that we could just pay that invoice and the license would be reinstated. They even gave me temporary license keys so I could get up and working even before that payment was sent out from our accounting department. I had not expected that, and this little thing really impressed me. I have always liked their tools and their customer service and support is excellent. Then we have the opposite. Recently my wife broke her phone, a Samsung Galaxy Note5. She is dependent on it and uses it every day, not only for calls and internet but also to sign things with the pen (that's the reason she got the Note). She contacted the insurance/replacement company AT&T is using for this kind of exchanges/insurance claims and started the process online. Then when she talked to them they told her that the Note5 was back-ordered and they did not knwo when they would get one in for her. They could not tell if it would be a day or two weeks. My wife was using her old Galaxy S4 temporary, and she was not happy to hear this. So we all switched our family plan (with 5 phones, a tablet and a hotspot) to T-Mobile withing a couple of days. We are even saving some money after switching (if you sign up for three lines you get one without any extra cost), plus we all got brand new phones (Samsung S7 Edge) with a "buy one get one free" offer. We also got a few other goodies (one VR headset and one year free Netflix per phone). So in one case the company made an existing customer happy and gained long-term loyalty, in the other case the company lost a customer spending $400+ on their services and pushed us to a competitor. PS. If you are a Notes/Domino developer or admin, Ytria will have a webcast on Wednesday, May 11 where they will demonstrate the new version and it's features.  

2 Comments

Registration for MWLUG is open!

MWLUG ( Mid-West Lotus User Group) is a user group event that thakes place in different cities every year. They started in the Mid-west, hence the name, but in 2016 the conference will take place in Austin, TX on August 17-19. Registration is now open, and the fee for this 3-day conference is only $75. Yes, you read that right, the conference is practically free. You just pay for your travel and lodging. So go ahead and register! I was able to attend MWLUG for the first time 2015 in Atlanta, and Richard Moy and his team delivered a first rate event. I have no doubt that the 2016 conference will be at least as good. So if you can go, take this opportunity. I expect that there will be many excellent presentations again this year.

0 Comments

Save the date – IBM Connect 2017 announced!

Earlier today Inhi Cho Suh, the General Manager of ICS (IBM Collaborative Services), was speaking at the user conference Engage in the Netherlands. There she announced the dates and new location of IBM Connect, the conference previously called Lotusphere and until this year taking place in Orlando, FL. The dates are February 19 to 22 and the location is going to be San Francisco, CA. More details will emerge later this year. I hope that European attendees will still come, despite the little bit longer (about 2 hours longer) flights. I am excited about this move, I think this will work out well despite the changes. Good-bye Florida, hello San Francisco!

0 Comments

Star Wars – 40 years ago today

Today (March 22) it is exactly 40 years since prinicipal photography started on Star Wars (later known as Episode IV - A New Hope) in Tunisia. When it was released in Sweden at Christmas 1977 it was released with the age restriction 11 years and older (unless accompanied by a parent, then it was from 7 years old). Since I was 8 years old at the time and my parents were not interested in seeing the movie, I did not get to see it until years later. I did however borrow the book from the library and read it around that same time. It was actually not until Return of the Jedi came out in 1983 that I was able to watch it. A movie theatre in Stockholm showed the two first movie as a double-feature with just a short break inbetween about a week or two before the premiere of the third movie in the original trilogy. I was already a sci-fi fan at this time, and I was amazed by the adventures and the special effects on the movies. I even had some plastic models from the movies, for example an X-Wing and an R2-D2 model. I think I got them for Christmas in 1977 or possibly 1978. I was of course excited when Episode I was coming out back in 1999, but I have to admit I was disappointed with the whole prequel trilogy. The latest installment, Episode VII, was okay. I did enjoy it and it will be interesting to see where Disney is taking this in the next few years. But the original trilogy is still the best, in my opinion.    

0 Comments

IBM gave me another badge

This is actually pretty cool. The badge is using Mozilla OpenBadges technology to let people display verifiable acheivements. A digital badge is an online representation of a skill you’ve earned. Open Badges take that concept one step further, and allows you to verify your skills, interests and achievements through credible organizations. And because the system is based on an open standard, you can combine multiple badges from different issuers to tell the complete story of your achievements — both online and off.

1 Comment

Some upcoming conferences

IBM Connect is not the only conference that you should attend if you are interested in the IBM collaboration/social platforms, there are many other spread out over different continents, and many of them are even free. You just pay your travel and hotel. Next one up is Engage (formerly BLUG) arranged by Theo Heselmans and his team. This year it takes place in Eindhove, the Netherlands on March 23-24. There are less than 20 seats left for this free event with world class speakers, many of them are IBM Champions. Inhi Cho Suh, the new GM of IBM Collaboration Solutions, will be speaking at the Opening General Session together with Suzanne Livingston, Christ Crummey and Sarah Gibbons, all from IBM. There are five tracks with sessions, and if you look at the agenda I am sure you will find plenty to choose from. Theo always put on a great conference, I really wish I was able to attend! Update: there will be 43 IBM Champions attending, 33 of which will be presenting! On April 11-13 you have EntwicklerCamp in Gelsenkirchen, Germany. This conference, which has been taking place for many years and I have heard much good about, is arranged by Rudy Knegt and the cost is €1499 for the three day conference. If you look at the agenda, you will see that there are sessions not only in German but also in English. Many of the sessions are presented by IBM Champions. ICON US (formerly IamLUG) did not take place last year, but in 2016 Chris Miller and his team is back with a two day vertual conference. It takes place May 9-10 and you can register here. Seats (even if they are virtual) are limited. Social Connections 10 is taking place in Toronto, Canada this year, June 6-7. Keynote speakers are Luis Suarez and Alan Lepofsky. As the name indicates, this conference focuses on IBM Connections. Early bird registration ends on April 1, and the cost is CA$229.00 while the regular price is $CA269.00. Then there is MWLUG, this year taking place in Austin on August 17-19. Richard Moy and his team did a great job in Atlanta in 2015, and I am looking forward to this years conference. This is an "almost free"  conference, the fee is $75 but don't be fooled to think it is a cheap conference. Don't miss out on some excellent content! So go to some user conferences, be social and learn amazing new things!    

2 Comments

IBM Connect 2016 – My impressions

When I attended IBM Connect 2015, I thought it would be the last time I got to attend the conference that for most of it's running was called Lotusphere. I attended Lotusphere 1997 in Nice but from January 1998 I attended the conference at Walt Disney World Dolphin and Swan in Orlando every single year. After the 2015 conference the contract between IBM and Walt Disney World was up, and everyone expected the 20 year run to be over. But something happened. IBM decided to do another IBM Connect in 2016, this time at a new location in Orlando, the Hilton. And people came. I have heard a number of about 2,200 attendees. Yes, just a fraction of what it was at it's pinnacle, with 10,000+ attendees. But still more than previous years. The hotel and conference area was great. You still had to walk between conference rooms like in the Swolphin but you did at least not have to run over to another hotel. The dining tents reminded me of the first 10+ years of Lotusphere, but the food was a notch or two above when we were used to at Swolphin. And it was great to be able to sit outside and eat if I wanted to. The conference was great. There is always room for improvements, but in general the conference team had done a great job. The scheduling was better than in many years, I was able to attend a number of great sessions and I even liked the new simpler badges. The check-in process was automated, and I used a combination of the conference app and the printed conference paper to find my session. I actually liked that, even if I did miss the convenient little agenda booklet one kept in the badge holder. I also did my first presentation at IBM Connect this year, a 20 minute Lightning Talk in the Expo Showcase Theatre. This was a bit of a challenge, as I had all the exhibitors right there, and the noise from everybody talking to the vendors made the presentation more difficult, both for the presenters and the audience. I hope that everyone that attended (thank you!) got something out of it. The IBM Champions were represented strong at Connect 2016, and we got a lot of exposure. Champions were featured on the screen before the opening session and also in many other places during the conference. Many sessions were also presented or co-presented by IBM Champions. When it came to the sessions, I noticed a theme. For the last 4-5 years we have seen a massive number of sessions geared towards XPages. This year the big theme was Bluemix and integration between different services, including XPages. This is where the broad portfoilio of IBM really is beneficial, you can connect different systems with each other. Using Bluemix you can connect XPages to a SQL database or a Domino NoSQL-databas, you can throw in Angular.js or even cool new technologies like Node-Red and then use services from Watson to…

3 Comments

My Connect 2016 presentation & demo database

As I promised, I would post my IBM Connect 2016 presentation on my blog. Presentation (PDF): {link}  Demo database (ZIP): {link} You can also find the presentation on SlideShare.net. To the right you see the database design, you want to look in the Agent section for the agents and in the Pages section for the HTML pages. Note: You need to sign the database with an ID that have the proper rights. Otherwise the code will not work. Enjoy!  

6 Comments

IBM Connect 2016 – Receptions and parties

Henning Schmidt have a great overview of the many social events going on at IBM Connect 2016, starting this Saturday with BALD (Bloggers Annual Lotusphere Dinner) at 3pm. If you are going to the conference, read the list here: http://www.schmhen.de/2016/01/26/ibm-connect-2016-reception-and-party-overview/. Hope to see you in Orlando, it is now only 24 hours until I head to the airport for my flight.

1 Comment

IBM Connect 2016 – Travel Tips

Many of you going to IBM Connect 2016 in Orlando in a just two weeks are coming from other countries. There are a few things you may want to be aware of. First of all, if you need a visa to enter the US you have hopefully already arranged that. If you are covered by the Visa Waiver Program (VWP) you don't need a visa but need to fill out an electronic ESTA application. Normally you find out at once if you are eligible. The ESTA application is valid for two (2) years, assuming you haven't changed passport, name or something has happend that makes you ineligible for ESTA (for example arrested for a drug related offense). You may want to look up your old ESTA to make sure it is still valid. I have been told that the ESTA form has changed and now requires more information than before. You also need a passport with a machine-readable zone on the biographic page and it must be an electronic passport with a digital chip containing biometric information about the passport owner in order to be allowed to use the VWP. It is also a good idea to make sure your passport is valid for at least six months after you intend to leave the US.  . After you get to Orlando and pick up your luggage, you need transportation to the hotel. Mears Shuttle is $33 for a round-trip ticket to Hilton Orlando, or $29.70 if you order on their website using the promo code WEB10. If you need a rental car I can recommend Turo (formerly RelayRides). It is a peer-to-peer car rental, usually much cheaper than a traditional rental car. You need to create an account ahead of time, since you must send copies of your drivers license to the site before you can rent. I have used the service several times, I rented two cars for 10 days in Hawaii in 2014, a SUV in Denver for an extended weekend and several times I rented a car locally for a day for some transportation. You can see it as Uber for car rentals. If you haven't got a hotel room yet, and if the Hilton is over your budget (perhaps you pay for the conference yourself), Days Inn across the street has much more reasonable rates. I got a room for $59/night. Hope to see you in Orlando!

0 Comments

IBM Connect 2016 Special Event

The traditional Lotusphere/Connect Special Event (a.k.a. Wednesday Party or Party in the Park) is back after last years on-premises "party" which scored even lower than the infamous 2001 event at Disney's Wide World of Sports. The event was moved from Wednesday to Tuesday back in 2014, so it will be taking place Tuesday, February 2. The event is back at the 2011 location, The Wizarding World of Harry Potter - Hogsmead. Since then Universal have opened a second section, Diagon Alley. It is located in the next-door park, and connected with a train, the scarlet painted Hogwarts Express. As a park visitor you need a park-to-park ticket to take the train and experience both parks, but my guess is that the Connect 2016 attendees will be confined to the Hogsmead side. It's nothing wrong with that, the ride inside Hogwarts is great, I personally like it better that the Gringotts ride in Diagon Alley. Last year I visited the parks the days before the conference, and below are some pictures I took then. Enjoy, and perhaps we will share a butterbeer in Hogsmead in a month!   Update: The Special Event moved from Wednesday to Tuesday back in 2014, I updated the text above to clarify this.

0 Comments

My session at IBM Connect 2016

As I mentioned before, I will be presenting at IBM Connect 2016. My session will be on January February 2 at 5.00 pm and the location is the Solution EXPO Theater. Last night I finished the slides for my session. The sample database with code is also done, but I plan to add some bonus stuff in it. How much I will add depends on my workload at home and at work. But I hope you will feel it worth coming to my session and downloading the sample database. I hope to see you in Orlando. You can still register if you haven't yet!

2 Comments

Free Code – Clean groups in Domino Directory

The other day I had to clean up the groups in our Domino Directory. Many groups still contained names of terminated users, they had not been cleaned/maintained properly. We also removed some groups over time, but some of them were still listed as members of other groups. So I wrote a small Lotuscript agent to perform this cleanup. I am posting it below in case someone needs it. As always: no guarantees, use at your own risk, etc. Update: As some commenters pointed out, there are some issues with the code. First of all, I was using a view my company added to name.nsf. The view PeopleByFirstName has the following selection formula: SELECT Type = "Person" & TerminationDate="" The field TerminationDate is one we added to the person document. This field is either blank (for current employees) or contains the date they were terminated (and then they are filtered out of most views). Also as Christian points out, any groups that contains external users would be clenaed out. In the past when I worked at a company that used mail groups with external users, those groups were kept in a separate (secondary) Domino Directory, names_ext.nsf. So this is something to keep in mind if you choose to use this code. Finally I have updated the code with a few more lines. It will now ignore server groups, and also get a list of all servers and make sure they are included as group members when the groups are processed. Thanks for pointing out the problems with the code!   Dim session As New NotesSession Dim db As NotesDatabase Dim view As NotesView Dim doc As NotesDocument Dim userNames List As String Dim groupNames List As String Dim serverNames List As String Dim groups List As NotesDocument Dim tmp As String Dim tmpname As NotesName Set db = New NotesDatabasesession.CurrentDatabase.Server,"names.nsf") '*** Get all existing groups and put in a list Set view = db.getView("Groups") Set doc = view.GetFirstDocument() Do Until doc Is Nothing Set groups(doc.UniversalID) = doc    tmp = doc.GetItemValue("ListName")(0)    groupNames(tmp) = tmp    Set doc = view.GetNextDocument(doc) Loop '*** Get all active users and put in a list Set view = db.getView("PeopleByFirstName") Set doc = view.GetFirstDocument() Do Until doc Is Nothing    tmp = doc.GetItemValue("FullName")(0)    Set tmpname = New NotesName(tmp)    userNames(tmpname.Common) = tmpname.Common    Set doc = view.GetNextDocument(doc) Loop '*** Get all servers and put in a list Set view = db.getView("Servers") Set doc = view.GetFirstDocument() Do Until doc Is Nothing    tmp = doc.GetItemValue("ServerName")(0)    Set tmpname = New NotesName(tmp)    serverNames(tmpsname.Common) = tmpname.Common    Set doc = view.GetNextDocument(doc) Loop '*** Loop though list of groups and process each one ForAll g In groups '*** Check that not server group If g.GetItemValue("GroupType")(0)<>"4" Then    tmp = ""        '*** Store existing list of group members in a backup field       Call g.ReplaceItemValue("MembersBackup",g.GetItemValue("Members"))        '*** Loop through all members of the group       ForAll m In g.GetItemValue("Members")          Set tmpname = New NotesName(m)           '*** If the…

8 Comments

End of content

No more pages to load