Free Software – Password Reset for Notes/Domino

Earlier this year I was asked to research some alternatives for a web-based password reset function at my work. One of the larger support burdens are users who forget the passwords, especially in the first few days after changing it. We have a 90 day password lifespan, then a new password need to be picked. Some users wait until the last minute, which usually is Friday afternoon right before they go home, making it very likely that they will forget the new password over the weekend. Another big group is auditors, who may come in every 6 months or so, and by then their passwords have of course already expired. I first looked at some COTS solutions from HADSL (FirM) and BCC (AdminSuite). They were both very competent, and in addition have several other functions that I really would like to have in my environment (like synchronization between Domino Directory and Active Directory). However, as my company is in a cost saving phase, I was asked if I could build something myself, so I played around a little, and came up with a small and simple application. The application contains two web pages. The first page (Setup) is where the user will setup the security questions used for password recovery as well as entering an external email address that they have access to even if locked out from the Domino account at work. This page is protected by regular Notes security, so the users need to set this up before they lose access to their account. The second page (Request)is where the user can request the password to be reset. After entering their Notes name, the user is presented with one of the security questions. If the question as answered correctly, the user can now enter a new password. If the question is wrong, another of the questions is presented to the user. I am also using regexp to make sure that the password match the requirement our organisation have for password strength. Both pages are built using Bootstrap (v3.2.0),  jQuery (v1.11.0), and for the icons I use Font Awesome (v4.2.0), all loaded from BootstrapCDN. I also use a few local CSS and Javascript files to handle older versions of Internet Explorer. The process steps were created using code by jamro and you can find the code here. By the way, Bootsnipp is a great resource to avoid having to invent the wheel again. There are hundreds of free snippets of code there to build neat Bootstrap functionality. When the user fill out and submit the setup page, a document is created in a Notes database. When the user need to reset the password, the security questions and answers are retrieved from that document. To prevent unauthorised access to the Notes documents, they use Readers fields to prevent them from being visible to anyone but the signer of the agents running on the server. This application can of course be updated with more functionality. Instead of allowing the user to pick a password, one could be generated by the server and sent through email to the address entered during setup. There…

7 Comments

More on IBM ConnectED 2015

This morning Kristin Keene, Events Manager for ConnectED,  talked more about the upcoming IBM ConnectED 2015 in January at the monthly ICS Community webcast. IBM realized that the last few years they been swinging over too much to the business side, and is now going back to a much more technical conference. As I mentioned the other day, some tracks are new, some are renamed and some are gone. As an example, ChalkTalks replaces the old Birds of a Feather, but will take place throughout the day, not just morning and evening. The keywords mentioned was "smaller and more intimate". The conference will be at Swan only, to condense it and make it all in one place to make it easier to connect with IBMers and other attendees. Opening General Session will be Monday morning as normal, but in the Swan Ballroom. As opposed to previous years, the number of IBM attendees will be greatly reduced, to around 300. Most of them will be subject matter experts, speakers or staffing the labs. All IBMers will be invite only, not coming as regular attendees as in the past. The lab decisions are still a little bit up in the air, according to Kristin, but the Meet the Developer lab will be there as usual. The special event (previously an evening at one of the local them parks) will this year be more of a special party, as she put it. Registration for connect is already open, the call for abstracts just opened this week and close on October 10 (probably extended to October 15). The full agenda will be finalized on November 15, and the presentations are due on January 1 from the speakers who were chosen. Kristin also said that IBM does not consider this the last Lotusphere/Connect/ConnectED, but she does not know exactly what will happen after the contract with Dolphin and Swan expires after the 2015 conference. You can read more details here. Hope to see you in Orlando in January!

0 Comments

Survey about Notes and Domino directions

PSC is doing a community survey about the direction of IBM Notes and Domino. John Head, Director of Enterprise Collaboration at the Chicago-based consulting company PSC Group explains that it's not about gathering data, the (optional) email address collected will only be used to notify about the result.PSC promises to share the full results publically. I am personally looking forward to see the result of the survey. You can take the survey at http://bit.ly/PSCXPagesSurvey.

0 Comments

Two more days to thank someone

It is now just two days left to nominate IBM Champions. So if you know someone who have been helping the community, perhaps through video tutorials, blogs, presenting at (or organizing) conferences or answering questions on different forums, submit a nomination. This is how IBM explains what a Champion is: An IBM Champion is someone who makes exceptional contributions to the technical community. Contributions can come in a variety of forms, and popular contributions include blogging, speaking at conferences or events, moderating forums, leading user groups, and authoring books or magazines. So hurry up. There are many worthy champions out there!

0 Comments

IBM ConnectED agenda published

The agenda for IBM ConnectED (the conference formerly known as Lotusphere and IBM Connect) has now been posted. As previously announced, the conference is one day shorter than before, ending already on Wednesday. There are no jumpstart sessions listed for Sunday, but the Master Class sessions are returning that  day. The individual sessions have not been announced yet, the call for abstracts have not even ben sent out. So it will probably be at least a month or two until the list of sessions is announced. But expect a more technical conference and less marketing that the last few years. A new item on the agenda is TechnOasis. The way it is listed (together with the name) makes me believe this is the solutions showcase with a different name combined with the social café. If you look at the tracks, it seems like BoF (Birds of a Feather) has been renamed Chalktalk: Come one, come all! Chalktalk sessions are informal, interactive discussion groups for attendees to share ideas and experiences in an small group,  and open forum setting. Feel free to submit topics that interest you, either those you would like to lead, or topics and discussions that you'd like to participate in! As a reminder, attendees build the agenda by voting on all submissions and ultimately select the sessions that will appear on the agenda. So you'll be sure find something that's well worth your while! The Wednesday special event was moved to Tuesday evening in 2014, and it will again take place that day in 2015. The event is shorter, 7pm to 9pm, which could indicate that it may not be one of the parks like previous years. On the other hand, since the conference will be smaller the park may not need to stay open as late to allow everyone to ride all the rides. I have (in the past) left the Wednesday party around 9 or 9.30, so if a majority been doing that, it may save IBM some money closing the park earlier. I guess we have to see. Personally I am hoping for Universal Studios with the new extension to The Wizarding World of Harry Potter that was opened this summer. Read more here.  

1 Comment

#ThrowbackThursday – My old HP calculators

I have previously here on my blog mentioned my preference for HP calculators. Our first calculator at home was the HP-21, with a red LED display, which we got in late 1975 (if I remember correctly), soon after it was released. My parents used it for all different kinds of calculations, especially taxes (back then the Swedish tax system was much more complicated than it is today). My cousin who worked at HP (and got us the calculator) explained RPN (Reverse Polish Notation) to me, and it made sense to me to use that system for calculations.   Fast forward to 1983. I was now in 8th grade and we were allowed to use calculators in school. In 7th grade I had learned to use a slide rule (it was already outdated at this time) just to irritate my math teacher, but now I got my very own calculator, the HP-15C. This scientific calculator, often called the best calculator ever made, was programmable with 448 program steps. I wrote all kinds of programs for it, and used it heavily in math and physics classes in school.   In 1987, HP released the graphing calculator HP-28C, with 2kB of memory, a display that could show not only graphs but all four levels of the stack, and a flip-open or "clamshell" case, with two separate keyboard sections. I got one as soon as it came out, as well as an infrared thermo printer (HP82240A). My dad took over my HP-15C, and he kept it until his death in 2001.   A year later HP-28S was released, with 32kB memory and support for directories and custom menus, as well as a few new fucntions like symbolic expressions. So I sold the HP-28C and purchased the newer model, even if I was almost done with high school at this point.   In 1990 HP released the great HP-48SX, with a large graphics display, two expansion ports for memory cards of up to 128kB, a two-way infrared port, a serial port with support for the Kermit file transfer protocol and 32kB build-in user memory. The processor had a clock frequency of 2 MHz and the display had a resolution of 131 x 64 pixel. I got this calculator in April 1990, while I served in the Swedish Air Force. I really had no use for the calculator right then, but I knew that I wanted the latest and greatest in HP handheld calculators. I don't remember what I did with my HP-28S, I think I may have sold it to an old classmate. I kept the printer, despite the fact that a newer model (HP82240B) had been released. The few changes did not motivate me to spend that extra money. I have kept my old trusty HP-48SX ever since, for 24 years now. It still works, and in the last 20 years I probably only had to replace the batteries a couple of times.   A few weeks ago I happened to search for HP-28S on eBay, and found that there were several of them…

5 Comments

#ThrowbackThursday – World War 1

OK, this is a pretty extreme #ThrowbackThursday, but I wanted to promote a blog I have been reading since the beginning of the year. Arthur Linfoot, who took part in World War 1, wrote a diary every day from January 1 1914 to December 31 1918. It was written in Pitman's shorthand, and his son Denis Linfoot translated the diary and is now publishing it as a blog, each entry posted to the day 100 years after it was written. This is a fascinating way to follow World War 1, especially since my grandfather also served in it (but on the German side). So if you haven't visited http://www.arthurlinfoot.org.uk yet, take a look at it and perhaps you get hooked just like me.

0 Comments

#ThrowbackThursday – JMP 101 from Lotusphere 2012

I recorded this video of the session JMP101 IBM Lotus Domino XPages JumpStart at Lotusphere 2012 in Orlando. The conference, later renamed IBM Connect and now renamed again to IBM ConnectED, will take place again in January 2015. Perhaps this video will get you inspired to do some XPages development, or you can show it to your boss as a good example of what you can learn at ConnectED. Hope to see you in Orlando in January!

0 Comments

Nominations for IBM Champions are now open!

The nominations for IBM Champions for 2015 is now open. If there is someone in the ICS (IBM Collaborative Solutions) community whom you want to show appreciation for their work, go here and nominate him or her. You can only nominate non-IBMers. So who is deserving to be an IBM Champion? Well, you can see the a list of qualifications here. It could be people helping out on Stack Overflow or in the developerWorks forums, or people evangilizing ICS products and solutions by speaking at conferences or sharing their knowledge through blogs, videos or other means. If someone in the community have been helping you in the past, consider thanking them by submitting a nomination, if you think they match the qualifications. You can see the list of current champions here. Remember, existing Champions don't get renewed automatically, they need to be nominated again. You don't have to fill out all the information on the submission form. Fill out as much as you can, better an incomplete nomination than none at all! Nominations close on September 17 at 5pm Eastern time. So get yrou nominations in before that.    

0 Comments

Is the break-through for smart watches almost here?

In a few days, Motorola will present their highly anticipated Moto 360 smart watch, and at the IFA trade show in Berlin next week LG will show off their latest entry in the battle for the hearts (and wrists) of geeks everywhere, the G Watch R. Both watches are round, as opposed to previous entries (including LG's previous model, the original G Watch) and the Samsung Gear series of smart watches.   There are some differences between Moto360 (left) and G Watch R (right). LG is going with a more traditional watch look, with a bezel around the edge to hide the small blank section at the bottom of the screen that is more visible on the slightly larger (1.5 inch vs 1.3 inch) screen on Moto360. That blank section is where some of the screen components are located, and this "flaw" has been critized by many, even before the watch has been released. Both watches are protected against water (so you can wear it in the shower), features a heart rate monitor, a touch screen and running Android Gear. Moto36 will use a wireless charging station and also contains a pedometer, and s expected to cost $249 when it is realeased in the near future. No price have yet been announed for the G Watch R, which is expected to be available later this year. Samsung is also rumored to present something at IFA, probably a round smart watch as well, but no details about it is known. They are also expected to present a new square model in the Samsung Gear family. I think we are now getting close to the break-trough for smart watches. They look more like regular watches, with a round shape instead of the boxy square look of the first generations of smart watches. Personally I think that G Watch R is more attractive than Moto360, and to me the slightly smaller size is a plus. I think we have an interesting fall ahead of us, especially with the Apple event coming up on September 9, where their smart watch is expected to be announced. The Android Gear watches from LG, Motorola and Samsung only work with Android phones, not with iPhones.

1 Comment

jQuery – A flexible way to show/hide sections

Yesterday Stephen Gainer blogged about a small Javascript problem he had. Brilliant!  I gave my customer exactly what he wanted!  No muss no fuss!  I’m sure you see where I’m going with this.  As soon as this was done, my customer came back to me and said he needed four more of these. My solution, which is terrible, was to duplicate the above four more times (me2Show, me2Hide, me3Show, me3Hide and on and on and …..)  Now I realize how stupid this is, but remember how I said above that there are certain simple things that I never really learned because I never had to?  Well this is one, and this is where I would like YOUR help! I know there has to be some way to loop through all of my element ID’s with a simple piece of JavaScript, but I can’t for the life of me figure out how to do that.  Can anyone help me out here? I commented on Stephen's post and suggested that he use jQuery to easily loop though all elements with a specific class and add a listener function to them to detect a click. Since it is hard to get all information into a comment, I decided to post a simple code sample here instead. My code is easy to expand on, e.g by adding more sections. There are of course many different ways to do this. You can of course use .toggle(), but I prefer to have better control of when to hide and show the sections. You can break out the lines $(".mySection").hide(); into a separate function and call it from the two locations. This is of course not saving anything in this particular code sample, but in more complex code it would make sense to break down the code into separate functions if they are called from multiple lines. Hopefully this code will help someone, or inspire someone to start playing with jQuery. I like jQuery, as it easily integrates with classic Domino web applications, and even can be used with Xpages. <html> <head> <title>jQuery hide/show</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(document).ready(function () { // Hide all sections when the page is first loaded $(".mySection").hide(); // Setup all elements with class "myButton" to react on click $(".myButton").click( function() { // Check if the section is already displayed if ($(this).html()=="Hide") { // Hide the current section var sectionID = $(this).attr("data-showsection"); $("#"+sectionID).hide(); // Set the button label to "Show" $(this).html("Show"); } else { // Hide all sections, using the class mySection $(".mySection").hide(); // Set all button labels to "Show" $(".myButton").html("Show"); // Show the section we want to display var sectionID = $(this).attr("data-showsection"); $("#"+sectionID).show(); // Set the button label to "hide" $(this).html("Show"); } }); }); </script> </head> <body> <button id="btnOne" class="myButton" data-showsection="sectionOne">Show</button> <div id="sectionOne" class="mySection" data-btnID="btnOne">This is the 1st section.</div> <br> <button id="btnTwo" class="myButton" data-showsection="sectionTwo">Show</button> <div id="sectionTwo" class="mySection" data-btnID="btnTwo">You are now seeing the 2nd section.</div> <br> <button id="btnThree" class="myButton" data-showsection="sectionThree">Show</button> <div id="sectionThree" class="mySection" data-btnID="btnThree">This is the 3rd section.</div> <br> <button id="btnFour" class="myButton" data-showsection="sectionFour">Show</button> <div id="sectionFour" class="mySection"…

0 Comments

IBM ConnectED 2015 – registration open

IBM ConnectED, the conference formerly known as Lotusphere and Connect, has now opened the registration for the 2015 event. The "early bird" conference fee is $1,595 and on October 4 it goes up to the full price, $1,795. This is less than Lotusphere/Connect in the past, but the conference is also 20% shorter at 4 days instead of 5. The cost per day is actually less than previous years, if you look at the full price (if I did the math right).  

1 Comment

I am a victim of identity theft

This weekend I found out that I am a victim of identity theft. It is very unsettling, and feels like a total violation of my privacy. My girlfriend Chrissy and I were discussing the potential of me getting a new car in the next few months. I am having some repairs coming up on my current car, like the air conditioning leaking refrigerant, fixing a small oil leak and a few other little but annoying things that will add up. It would be nice to avoid those repairs and getting a new car where I don't have to worry about service for a few years. We looked around online for cars that could be interesting and I found some good deals. I started working on a budget to figure out what I could afford and Chrissy asked me what my credit score was. I had to admit to her that I had no idea. After my divorce in 2003 I took some bad hits to my credit, as I was not able to keep up with all the bills for the house by myself plus my car payment, utilities and other expenses in addition to paying child support all of the sudden. So I had been scared of even looking at my credit score. Chrissy had used Credit Karma before for herself so Sunday I started setting up a new account there. I entered my social security number, address and some other information to setup the account.  I selected a password and submitted the form. To my surprise the reply from the site said that I already had an account, but using another email address. It did not show the address in clear, it was masked so I could only see the domain (@att.net), but I have never had any address in that domain. I sat there shocked for a while and tried to think of what could be going on.  Chrissy and I talked about it and worried that it might be identity theft.  So we called a lawyer who is a relative of hers who also works in this field.  We found out quickly that the act of someone accessing my credit report without my permission is a felony at the state and federal level. If they tried to take out credit or did take out credit in my name it is another felony.  Doing these things over the computer is yet another charge. So to figure out the truth I had to make copies of my id and fill out a form that we sent through the mail to Credit Karma, to prove my identity and get access to "my" account. This will probably take a little while though.  :-( But I am furious that someone managed to find out enough about me to be able to setup an account to monitor my credit. The person must have my social security number, my date of birth and probably also my address. A lot of people have this information, actually. This article mention some ways people can get unauthorized access to someones credit report, for example a rogue employee in HR or a company or law firm otherwise allowed to…

6 Comments

The joy of programming

I have been programming since the beginning of 1983. I started over 30 years ago with Basic, then went to Pascal after about 3 years. I then in fairly quick succession went to C, Visual Basic, VBA and then a few years later (in 1996) to Lotusscript. Along the way I also picked up Javascript, as well as web design with HTML and CSS (even if it may be questionable to call the latter two "programming languages"). During June and most of July this year, I did not do much/any programming, due to me recovering from surgery. At work I also do more administration work and research, leaving less time for actual programming and even less time to pick up new skills like XPages.  Coming back and starting writing code again made me realize how much I enjoy programming. I miss writing code and solving problems by writing a program that help our users (or me) accomplish something faster and better than before. I enjoy posting code here on my blog, as well as on Stack Overflow and in the developerWorks forums. If I can help someone, like so many have been helping me in the past, at the same time as I get to write code and have fun, that is a double whammy. But even writing code for myself, just for fun and to learn new things is enjoyable to me even after all these years. In a way it is me against the computer. I get to make the machine do what I want by taking a problem or process and breaking it down in smaller and smaller pieces until I have a working solution. Every time I come up with a smarter or more clever way to do something, I get excited and happy. I love learning new things, and in the field of programming (as in the rest of IT), learning never ends. Hopefully I soon will have time to sit down and view some courses at Lynda.com as well as watch some of David Leedy's excellent Notes-in-9 tutorials, to improve my skills and add more/new tools to my toolbox. And to have fun. Happy coding!

0 Comments

Lotus Notes at my work threatened by Microsoft bug

  The company I work for is owned by a large multinational corporation, and we are one of the few places not using Outlook/Exchange, but Lotus Notes. We have a substantial investment in custom applications written for the Notes platform, and with the deep integration between applications and email, we want to stay on the platform. However, earlier this year, a threat against Lotus Notes reared it's ugly head. Executives at my company were sent meeting invitations from Outlook by other executives in other companies in the group. Some executives received the invitatiosn fine, and could accept/decline, while other got just a plain text email or even blank email. I was tasked to research this, and it seems to be an issue on the sending side. If the sender have the recipients address in their Outlook contacts, the invitation is sent in one format (rich text), if the recipient is not found, it is sent as MIME. So the mail with the invitation is sent in different format by Exchange, with different MIME types (text/calendar vs. text/plain). It is actually easy to replicate the issue. Send a meeting invitation from Outlook to a Notes user not/never listed in the Outllok contacts. It comes across perfectly: Then add that same address to the Outlook contacts and send another invitation. It comes across as a balnk mail, with only the message disclaimer from Exchange visible: There is an IBM technote about this, but there is no solution listed. IBM simply suggest contacting Microsoft. There is a workaround, but that involves all Outlook users changing the default outgoing mail format from rich text to plain text, or to edit this on each single contact. I even had a couple of users here (who also had Outlook mail accounts) try that. It worked in some cases, but not always. And this is not going to work, thousands of users (or at least several dozen executives) will not make all those changes just to accomodate a small Lotus Notes shop like us... I am continuing to look for a solution, but it has to be one that we can implement on the Domino mail server(s) here. I found a suggestion to add TNEFEnableConversion=1 to notes.ini, I am having my administrator implement that right now, so we will see if that helps. But if that does not fix it, or I can't come up with some way to process the incoming meeting invitations and fix the MIME type, I can see a number of executives working really hard on getting rid of Notes (at least for mail) here. And that will happen soon... So, anyone got any ideas?   Update 08/07/2014: I found out that TNEFEnableConversion=1 was already enabled on our mail server, and had been for several years. It seems to also be related to winmail.dat being attached to incoming Outlook mail. I have opened a support ticket with IBM as well. Update 2 08/07/2014: Within a couple of hours I got the following response from IBM regarding my support ticket (PMR…

7 Comments

ConnectED 2015 – Smaller and shorter but more technical

If you read the official IBM announcment for ConnectED 2015 posted by Mat Newman, you will notice a few interesting details. First of all, the event is shorter than previous years. It starts on Sunday and ends on Wednesday instead of Thursday. On Sunday IBM has scheduled the Leadership Alliance meeting, which previously been held in the late fall in Boston. This is of course much more cost efficient for business partners, esxpecially international ones, who only have to pay one airfare and one hotel cost. But it also means that business partners who are invited to LA have to choose between presenting at the Sunday JumpStart sessions and attend the Leadership Appliance meetings. In the past, Sunday has also been the day for the Business Partner Day, hopefully IBM is not putting that on the same day as well. Second, the conference will be held only at Walt Disney World Swan, not at both Swan and Dolphin as in previous years. This indicates a somewhat smaller conference. The Swan ballrooms combined can seat about 2700 people, with the other meeting rooms seating an additional almost 1000. So a qualified guess is that the number of participants will be limited to around 3000 or just above, assuming the keynote/OGS will still take place in the Dolphin. However this is not that much less than Lotusphere/Connect in the last few years. The labs and the sessions we all come to love ("Ask the Developers", "Ask the Product Managers", "Gurupaloza") will be back, and I would be very surprised if there will not be a product showcase of some kind. There are also more interactive elements planned, like roundtables. Third: ConnectED will be more of a technical conference, similar to the developer conferences IBM had back in the 1990's. It will be bigger than a LUG (Lotus User Group) conference, but have a much more technical agenda than Lotusphere and Connect in the last few years. In my mind, this is a good thing. Perhaps less catering to press/analysts, "suits" (CEO/CFO type managers), project managers and similar non-technical crowds and more to the hard-core developers and admins who actually use the products. Personally I think this is a good move by IBM. Separate out the non-technical attendees and focus on the technical side, instead of mixing technical and strategic sessions in a big messy conference. I am excited about ConnectED 2015, even if I am suspecting it will be the last conference in Orlando. Some years ago (2006? 2007?) IBM announced that they had renewed the contract for the conference (back then still called Lotusphere) until 2015. With so many other IBM conferences merging together and taking place in Las Vegas, I would not be surprised if Lotusphere/ConnectED will suffer the same fate in 2016. I hope not, as Dolphin/Swan is a more intimate setting, where people can meet and socialize in the evening (as well as a day or two before the conference). With IBM pretty much taking over "Swolpin" (Swan and Dolphin) during that last week…

8 Comments

Recover lost SSL keyring password

About two years ago, our Network (as well as Domino) administrator left the company after 10 years. The other day our SSL certificate for one of our websites expired, and we wanted to use a newer wildcard certificate instead of a server specific certificate. The problem was that we did not have the password for the keyring file (keyfile.kyr) used on the server, either the admin did not document it (which does not sound like him) or the document with the password was lost/we could not find it. So what to do? We thought about creating a new keyfile and start over, but these days the certificate authorities (like Verisign, Thawte and Go Daddy) use 4096 bit SHA2 certificates as root certificate, which IBM Domino does not support (and don't plan to support). The recommended solution is to use the IBM HTTP server as a proxy in front of the Domino HTTP server, since that one supports SSH2. So we could not go this way right away (we probably will do it eventually, though), as we just need the SSL certificate up and running on the server right away. Our administrator came up with a way to get the password for the keyfile, assuming that you have the corresponding .sth file (which we fortunately had). The instructions are below, in case anyone need them in the future. To recover a Lotus Domino keyring password you need a Lotus Domino server where you have admin access to and the *.sth file which fits the *.kyr file. If you have both you can perform the following steps: Bring down the HTTP task via: tell http quit Open the domino console and enter: set config DEBUG_SSL_ALL=3 set config SSL_TRACE_KEYFILEREAD=1 If you now bring back your http task via: load http you should see a line similar to: ReadKeyfile> Recovering password from stash file ReadKeyfile> Password is xxxxxxxxxxx You now have the password. You can now simply restart the server to remove the temporary notes.ini settings.

3 Comments

End of content

No more pages to load