TexasSwede
texasswede@gmail.com
  • About this blog
  • My Website
  • My Resume
  • XML Export Tool
  • Photos

Category Archives: Notes/Domino

October Community Webcast – Wednesday October 15

Posted on October 13, 2014 by Karl-Henry Martinsson Posted in Cloud, Connections, IBM/Lotus, Notes/Domino Leave a comment

This Wednesday it is again time for the monthly ICS community webcast. This month’s guest speaker will be Luis Guirigay, IBM SME for Social, Mobile and Cloud.

Below is the description of the webcast agenda.

Never before has there been more opportunity for IBM Notes Domino Enterprises! Join Luis Guirigay to learn about the latest tools that will help your company get the most of the Domino platform and increase your ROI. Step through all of the latest user experience options in IBM Notes, Domino, and iNotes, and Traveler that will take your company to the next level of social email. Step through the benefits and options to access mail and apps in the cloud and get the lowdown on the IBM Connections Cloud (formerly IBM SmartCloud) offering. Get the latest information on IBM Mail Next and how the Design Advisory Program is going.

Read more here and register here.

Free Software – Password Reset for Notes/Domino

Posted on September 24, 2014 by Karl-Henry Martinsson Posted in Administration, Bootstrap, HTML/CSS, IBM/Lotus, jQuery, Notes/Domino, Open Source, Software 7 Comments

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 are probably other things that can be done to adapt this application to the needs of your organization. And you probably want to change the logo on the pages to fit your organisation.

You can download the application here. It is licensed under Apache 2.0. I will try to get it up on OpenNTF.org soon as well.

Read the “About” page for instructions on installation and setup, as well as full license and attribution. Enjoy!

#ThrowbackThursday – Worst Practices at Connect 2013

Posted on September 18, 2014 by Karl-Henry Martinsson Posted in Administration, Connect, IBM/Lotus, Lotusphere, Lotusscript, Notes/Domino, Programming Leave a comment

Paul Mooney and Bill Buchan returns with a brand new Worst Practices at IBM Connect 2013.

This session alone is almost worth the cost to attend Lotusphere/Connect/ConnectED.

There is a slight skip towards the end, when I had to switch batteries. Otherwise you have the whole session, including the warm-up performance.

Survey about Notes and Domino directions

Posted on September 16, 2014 by Karl-Henry Martinsson Posted in Notes/Domino, Software Leave a comment

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.

“Migrate from legacy systems like Outlook/Exchange to IBM Notes”

Posted on September 3, 2014 by Karl-Henry Martinsson Posted in Connect, IBM/Lotus, Lotusphere, Notes/Domino 2 Comments


At Connect/Lotusphere 2013 IBM was showing up a migration tool for Notes/Domino 9.0, used to move users “from legacy systems like Outlook/Exchange to the world class mail and collaboration platform Notes/Domino”.

I don’t think I posted this recording on my blog before. Enjoy!

Lotus Notes at my work threatened by Microsoft bug

Posted on August 5, 2014 by Karl-Henry Martinsson Posted in Administration, IBM/Lotus, Notes/Domino 7 Comments

 

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:

MeetingInvitationSuccess

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:

MeetingInvitationFailed

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 91606,004,000):

The TNEFEnableConversion=1 parameter was created to extract attachments from a winmail.dat file using the conversion process.  However, this is only used to extract attachments within emails.  This parameter is not intended to extract calendaring information.  The TNEF converter detaches the winmail.dat file, scans it looking for object types that indicate there is file attachment data present, and extracts the data as needed.

According to the RFC standards for SMTP calendaring (icalendar), messages must be formatted in MIME and not MS Rich Text.  As such, this issue is considered a third party bug by our development team because the
MS Rich Text format generates winmail.dat attachments which do not comply with the RFC standards for calendaring.

 At this time, there is no way to address this issue on the Domino side. However, the development is considering in creating an enhancement request not a fix because the issue relies on Exchange/Outlook. The functionality is expected to be in the next release of Domino version 9.0.2.

Meeting invites sent in an HTML or Plain text format work just fine with external applications such as Notes/Domino.

 This sounds promising, now it is just a question how long we have to wait, and if the executives are going to want to wait.

 

Code snippet – DateClass

Posted on July 21, 2014 by Karl-Henry Martinsson Posted in Lotusscript, Notes/Domino Leave a comment

Here is a small Lotusscript class I wrote some years ago. I use it in a number of other classes where I need to use date functionality of different kind. For example, I have a class that communicates with a FoxPro database, using a COM object. Some of the methods in that class uses XML while other just pass a few arguments to the COM object. The COM object expects the date values to be in ISO 8601 format (yyyy-mm-dd). In addition, sometimes the date comes from a field in a Notes document where they usually are stored in US format (mm/dd/yyyy), sometimes it is the current date.

So I decided to create a this class to just make the code cleaner and to avoid having to do the same conversions over and over again. This class can of course be extended with more functionality if you like.

I simply put the class in a script library called “Class.Date” and then use that script library in my other classes or agents.

Class DateClass 
  Private dt As NotesDateTime	
  Public ErrorMsg As String

  Public Sub New(value As Variant)
    Dim datestring As String
    ' *** Check what data type was passed and take actions.
    ' *** If value is blank or Nothing, use today's date.
    Select Case Typename(value)		
      Case "EMPTY" : datestring = Format$(Today(),"Short Date")
      Case "STRING" : 
        If Fulltrim(value) = "" Then
          datestring = Format$(Today(),"Short Date")
        Else
          datestring = value
        End If
      Case "DATE" : datestring = Cstr(value)
    End Select
    ' *** Also check that the value is a valid date
    If Isdate(datestring) = False Then
      ErrorMsg = "Class.Date:New() - '" & datestring & "' received is not a valid date."
      Set dt = Nothing
      Exit Sub
    End If
    ErrorMsg = ""
    Set dt = New NotesDateTime(datestring)	
  End Sub
	
  Public Function DateOnly As String
    ' *** Return date-part only, in format selected by the system
    DateOnly = dt.DateOnly		
  End Function

  Public Function DateOnlyISO As String
    ' *** Return date-part only, in ISO 8601 (big endian) standard format
    DateOnlyISO = Format$(dt.dateOnly,"yyyy-mm-dd")
  End Function
	
  Public Function DateOnlyUS As String
    ' *** Return date-part only, in US (middle-endian) format
    DateOnlyUS = Format$(dt.dateOnly,"mm/dd/yyyy")
  End Function

End Class

And this is how I use the class, this is the first few lines of a function in another script library:

Public Function GetPolicyData(Byval policynumber As String, Byval lossdate As Variant) As Integer
  Dim DoL As DateClass
  Dim result As Integer
  Set DoL = New DateClass(lossdate)
  If DoL Is Nothing Then
   '*** Display message, including error message from DateTime class
    MsgBox = |Failed to initialize New DateTimeClass with LossDate "| & _
    lossdate & |". | & DoL.ErrorMsg  
    Exit Function
  End If
  '*** Call COM object with policy number and date of loss in ISO 8601 format
  result = object.GetPolicyData(policynumber, DOL.DateOnlyISO())
  ...

There you have it. Easy, isn’t it?

Code snippet – Disable agent using external file

Posted on May 1, 2014 by Karl-Henry Martinsson Posted in Lotusscript, Notes/Domino, Programming Leave a comment

Yesterday I was asked to create a way to let us disable agents running on a Domino server in an easy way before the Domino server comes back from a crash.

The reason for this request is that for a while we have been having one particular agent crash, taking the whole Domino server down with it. It only happens occasionally, and seems to be related to the document being processed. When the server comes up after a crash like that, a consistence check is done, then the agent manager launches the agent again, causing the server to go down again. I added code to the offending agent, so it would flag the document before processing and un-flag after processing is done. This way, when the agent encounters an already flagged document, it will be skipped as it was processed during a previous crash.

For some reason this did not work yesterday morning, when one of those rare corrupted(?) documents was encountered. The logic in the code was faulty, because the document was of a new type, so it was never flagged as being processed. The same document was processed over and over again, taking the server down every time.

So I simply created two functions, put them in a global script library where I keep utility functions used in many places, and added 3 lines of code to each agent where I wanted this functionality.

The first function is simply to check if a specified file exists. I am using en error handler to catch any error (for example missing directory).

Function FileExists(filename As String) As Boolean
    On Error GoTo errHandler
    If Dir$(filename)<>"" Then
        FileExists = True
    Else
        FileExists = False
    End If
exitFunction:
    Exit Function
errhandler:
    FileExists = False
    Resume exitFunction
End Function

The second function is the one where I check for the existance of a file named the same as the agent, with an extension of .disabled. If that file does not exist, I check for a file with the extension .enabled. If that file is missing, I simply create a blank file with that name. This way, the first time any agent is executed, the file will be created for us, and I don’t have to sit and manually create them all.

Function DisableAgent() As Boolean
    Dim session As New NotesSession
    Dim agentname As String
    Dim filename As String 

    agentname = session.CurrentAgent.Name
    filename = "D:\NotesAgentControlFiles\" + agentname + ".disabled"
    If FileExists(filename) Then
        DisableAgent= True
    Else
        filename = "D:\NotesAgentControlFiles\" + agentname + ".enabled"
        If Not FileExists(filename) Then	
            Open filename For Output As #1
            Print #1, ""
            Close #1
            Print "Created control file " & filename
        End If
        DisableAgent= False
    End If
End Function

Finally, in each agent I want to be able to disable like this, I add this code in the beginning:

'*** Check if disable-file exists, exit in that case
If DisableAgent() Then
    Exit Sub
End If

Just a few lines of code, but hopefully it will save someone a few minutes of work. Of course, you ca use this technique for many other things, your imagination is the limit.

Code snippet – jQuery

Posted on March 15, 2014 by Karl-Henry Martinsson Posted in HTML/CSS, jQuery, Lotusscript, Notes/Domino, Programming 6 Comments

This morning I was working on a web application, and I came up with a pretty neat and simple little solution. So I just wanted to share it, in case anyone else need something similar.

I have a webpage with an HTML form. Each input tag has an attribute called notesfield, matching the name of the field in Notes where the value is stored:

<div class="col-md-3">
    <label>First Name</label>
    <input class="form-control" type="text" notesfield="FirstName" value="" />
</div>
<div class="col-md-2">
    <label>Initial</label>
    <input class="form-control" type="text" notesfield="MiddleInitial" value="" />
</div>
<div class="col-md-3">
    <label>Last Name</label>
    <input class="form-control" type="text" notesfield="LastName" value="" />
</div>

Then I created a simple function that will call an agent on the Domino server, which will return all the fields on the specified document as JSON. This function is called after the HTML page is fully loaded.

function loadNotesFields(docunid) {
	var notesfieldname = "";
	$.ajax({
		url: "/database.nsf/ajax_GetNotesFieldFields?OpenAgent", 
		data: {"NotesUNID":docunid},
		cache: false
	}).done(function(data) {
		$('input[notesfield]').each(function() {
			notesfieldname = $(this).attr("notesfield");
			$(this).val(data[notesfieldname]);
		});
	});
}

The function is actually extremely simple, and here you can see the power of jQuery. What I do is to perform an Ajax call to a Domino URL, passing a UNID to the agent to use in the lookup. I set cache to false, to avoid the browser from reusing previously retrieved data (this is a good thing to do if the data retrieved can be suspected to change frequently).

The jQuery .ajax() functions returns the JSON in the data object, and when the call is done, the callback function loops through each input element with an attribute of notesfield, reads the value of said attribute and then sets the value of the input element to the corresponding Notes value.

The only thing left is to write the agent that will return the JSON. It could look something like this:

Dim urldata List As String

Sub Initialize
	Dim session As New NotesSession
	Dim webform As NotesDocument
	Dim db As NotesDatabase
	Dim doc As NotesDocument
	Dim urlstring As String
	Dim urlarr As Variant
	Dim urlvaluename As Variant
	Dim i As Integer
	Dim json As String

	Set webform = session.DocumentContext
	'*** Remove leading "OpenAgent" from Query_String
	urlstring = StrRight(webform.Query_String_Decoded(0),"&")
	'*** Create list of arguments passed to agent
	urlarr = Split(urlstring,"&")
	For i = LBound(urlarr) To UBound(urlarr)
		urlvaluename = Split(urlarr(i),"=")
		urldata(urlvaluename(0)) = urlvaluename(1)
	Next
	Set thisdb = session.CurrentDatabase
	'*** Create content header for return data
	Print "content-type: application/json"
	'*** Get Notes document baed on NotesUIND argument
	Set doc = db.GetDocumentByUNID(urldata("NotesUNID"))
	'*** Build JSON for all fields in document except $fields
	json = "{" + Chr$(13)
	ForAll item In doc.Items
		If Left$(item.Name,1)<>"$" Then
			json = json + |"| + item.Name + |":"| + item.Text + |",|+ Chr$(13)
		End If
	End ForAll
	'*** Remove trailing comma and line break
	json = Left$(json,Len(json)-2)	
	json = json + "}"
	'*** Return JSON
	Print json	
End Sub

Happy coding!

Happy New Year – My Year in Review

Posted on January 1, 2014 by Karl-Henry Martinsson Posted in Blogging, Connect, Generic, IBM/Lotus, Lotusphere, Notes/Domino, Personal, Travel 2 Comments

2013 has been a very interesting year for me.

It started with a trip to Connect in Orlando that almost did not happen. The company I work at was in a money-saving mode, and denied my request to attend. I had already resigned myself to this and come to terms with the fact that I would be missing Lotusphere for the first time since I stared going in 1997. It was made even harder as I heard several of my friends in the community saying that they feared this would be the last Lotusphere, either for them or for the conference itself, in the shape we knew it.
But suddenly out of the blue I was offered a press pass to cover Connect, like I had been doing in the past for a few publications (as well as a blogger, during the now-cancelled blogger attendance program). With the conference fee covered, and with a kind offer from a friend in the community to share his room, I purchased my own airline tickets, requested vacation days at work and headed to Orlando for what I thought might be the last time.

Connect 2013 was, despite the name change, better than I expected. It was a great conference, my schedule was full of excellent sessions and I got to meet many of my friends again. There were a few faces missing, but many of the familiar faces and voices were seen and heard during the week.

Unfortunately, one voice was silenced forever the Sunday before Lotusphere. Kenneth Kjærbye was killed in a motorcycle accident, during a yearly ride with other attendees and presenters. This of course affected many in the community, but my opinion of IBM increased more than a few notches from hearing how well they responded to the tragedy.
This was not the only familiar face in the community that we lost. Rob Wunderlich and Jens Augustiny both passed away, also way too early,  in 2013. You will all be missed.
There were also some other emotional farewells at Connect 2013, with long-time attendees being there for the last(?) time.

On a more personal level, things changed as well in 2013.
I still haven’t started working very much with XPages, but with the release of Notes and Domino 9.0 in 2013, it feels like XPages are more solid and ready for prime time. My workplace is still on Notes 8.5.2 Basic client, which limits me to classic Notes development. I use Notes/Domino 9.0 at home, though, and I am very impressed with the stability.
I also started on a web application, developed using Bootstrap and jQuery, working with a Domino-based backend. I can’t talk too much about this project yet, but it has a lot of potential to help children in need, and I am very happy to be in a position to work on it.

I also moved, something that if you know me is a big deal. I don’t like to move. I actually loathe moving, which is why I had been living at my apartment for 9 1/2 years when I finally moved. But the reason I moved was to move in with my girlfriend in Dallas. In the end of 2012, I was lucky enough to meet Chrissy, and during 2013 the relationship developed to a level where we decided that I should move in. It is wonderful, but also sometimes annoying, to be in a relationship with someone who is on the same level as oneself when it comes to intelligence, logic and knowledge. Sometimes I wish her mind was not as sharp, like when she manages to out-logic me in a discussion. :-)

Work have been steady busy. I have been involved in a couple of projects where we provide data from Domino databases to external applications. In one case it was to create a nightly export in CSV format to be used in a SalesForce application, other one was to create a RESTful web service to return JSON used in a web application being developed for our underwriters. I have of course also been busy keeping up with the requests from different department heads to modify their different mission-critical Notes application, based on new business requirements and regulatory demands as well as department reorganizations.

The end of 2013 was the pinnacle of the year. Not only did I get moved in with Chrissy, I also received a surprise email telling me that I had been selected IBM Champion. Professionally, this is huge for me. I feel very flattered and humble to be on the same list as so many of the great names in the community, people who I looked up to and learned from for years.

Looking forward to 2014, I have a busy year ahead. Connect 2014 is coming up in just over 3 weeks, and this time work approved and paid for the trip. Despite some missing faces, I hope that Connect 2014 will be as good as previous years, and that I will learn new technologies, learn more about what I already know, and connect with new people.
I also have some additional trips planned. Hawaii in the end of March for a conference (hopefully with some personal time available, as I have never been there before), London in May to visit my best friend who lives there with his family, and perhaps a quick trip over to Holland to visit Chrissy’s cousin who is living there, a real life (well almost) Indiana Jones. :-)

I am also planning to step up my blogging some in 2014. 2013 was the first full year of my blogg being hosted on WordPress, but I did not setup the statistics to save more than the last 120 days, so I don’t have a full years worth of statistics, something I realized just the other day. I wrote 60 entries this year on my blog, as well as seven on SocialBizUG.org, but I hope to be able to create even more content in 2014.

So in closing, I want to wish everyone reading my blog a Happy New Year, may 2014 be a great year for you and your families.

Stack Exchange

profile for Karl-Henry Martinsson on Stack Exchange, a network of free, community-driven Q&A sites

Recent Posts

  • Domino 14 is now available
  • Domino 14 Early Access Program
  • Announced: Engage 2024
  • Integrate Node-RED with Notes and Domino
  • Notes and Domino v12 is here!

Recent Comments

  • Theo Heselmans on Announced: Engage 2024
  • Lotus Script Multi-thread Message Box [SOLVED] – Wanted Solution on ProgressBar class for Lotusscript
  • Viet Nguyen on Keep up with COVID-19 though Domino!
  • Viet Nguyen on Keep up with COVID-19 though Domino!
  • Mark Sullivan on Looking for a HP calculator? Look no further!

My Pages

  • How to write better code in Notes

Archives

  • December 2023 (1)
  • October 2023 (2)
  • September 2023 (1)
  • June 2021 (1)
  • April 2021 (2)
  • March 2021 (1)
  • August 2020 (3)
  • July 2020 (2)
  • April 2020 (2)
  • March 2020 (1)
  • December 2019 (2)
  • September 2019 (1)
  • August 2019 (2)
  • July 2019 (2)
  • June 2019 (3)
  • April 2019 (2)
  • December 2018 (1)
  • November 2018 (1)
  • October 2018 (5)
  • August 2018 (2)
  • July 2018 (3)
  • June 2018 (2)
  • May 2018 (1)
  • April 2018 (2)
  • March 2018 (1)
  • February 2018 (2)
  • January 2018 (4)
  • December 2017 (3)
  • November 2017 (2)
  • October 2017 (2)
  • September 2017 (1)
  • August 2017 (2)
  • July 2017 (6)
  • May 2017 (4)
  • February 2017 (1)
  • January 2017 (2)
  • December 2016 (2)
  • October 2016 (3)
  • September 2016 (4)
  • August 2016 (1)
  • July 2016 (2)
  • June 2016 (2)
  • May 2016 (3)
  • April 2016 (1)
  • March 2016 (4)
  • February 2016 (2)
  • January 2016 (4)
  • December 2015 (3)
  • November 2015 (2)
  • October 2015 (1)
  • September 2015 (2)
  • August 2015 (1)
  • July 2015 (5)
  • June 2015 (2)
  • April 2015 (2)
  • March 2015 (3)
  • February 2015 (2)
  • January 2015 (10)
  • December 2014 (1)
  • November 2014 (3)
  • October 2014 (3)
  • September 2014 (13)
  • August 2014 (6)
  • July 2014 (5)
  • May 2014 (3)
  • March 2014 (2)
  • January 2014 (10)
  • December 2013 (5)
  • November 2013 (2)
  • October 2013 (5)
  • September 2013 (4)
  • August 2013 (7)
  • July 2013 (3)
  • June 2013 (1)
  • May 2013 (4)
  • April 2013 (7)
  • March 2013 (8)
  • February 2013 (9)
  • January 2013 (5)
  • December 2012 (7)
  • November 2012 (13)
  • October 2012 (10)
  • September 2012 (2)
  • August 2012 (1)
  • July 2012 (1)
  • June 2012 (3)
  • May 2012 (11)
  • April 2012 (3)
  • March 2012 (2)
  • February 2012 (5)
  • January 2012 (14)
  • December 2011 (4)
  • November 2011 (7)
  • October 2011 (8)
  • August 2011 (4)
  • July 2011 (1)
  • June 2011 (2)
  • May 2011 (4)
  • April 2011 (4)
  • March 2011 (7)
  • February 2011 (5)
  • January 2011 (17)
  • December 2010 (9)
  • November 2010 (21)
  • October 2010 (4)
  • September 2010 (2)
  • July 2010 (3)
  • June 2010 (2)
  • May 2010 (3)
  • April 2010 (8)
  • March 2010 (3)
  • January 2010 (5)
  • November 2009 (4)
  • October 2009 (7)
  • September 2009 (1)
  • August 2009 (7)
  • July 2009 (1)
  • June 2009 (4)
  • May 2009 (1)
  • April 2009 (1)
  • February 2009 (1)
  • January 2009 (3)
  • December 2008 (1)
  • November 2008 (1)
  • October 2008 (7)
  • September 2008 (7)
  • August 2008 (6)
  • July 2008 (5)
  • June 2008 (2)
  • May 2008 (5)
  • April 2008 (4)
  • March 2008 (11)
  • February 2008 (10)
  • January 2008 (8)

Categories

  • AppDev (10)
  • Blogging (11)
    • WordPress (5)
  • Design (5)
    • Graphics (1)
    • UI/UX (2)
  • Featured (5)
  • Financial (2)
  • Food (5)
    • Baking (3)
    • Cooking (3)
  • Generic (11)
  • History (5)
  • Hobbies (10)
    • LEGO (4)
    • Photography (4)
  • Humor (1)
  • IBM/Lotus (178)
    • #Domino2025 (14)
    • #DominoForever (8)
    • #IBMChampion (46)
    • Administration (7)
    • Cloud (7)
    • CollabSphere (9)
    • Community (49)
    • Connect (33)
    • ConnectED (12)
    • Connections (3)
    • HCL (15)
    • HCL Master (1)
    • IBM Think (1)
    • Lotusphere (46)
    • MWLUG (25)
    • Notes/Domino (99)
      • Domino 11 (7)
    • Sametime (8)
    • Verse (14)
    • Volt (3)
    • Watson (6)
  • Life (8)
  • Microsoft (7)
    • .NET (2)
    • C# (1)
    • Visual Studio (1)
  • Movies (3)
  • Old Blog Post (259)
  • Personal (23)
  • Programming (84)
    • App Modernization (11)
    • Formula (4)
    • Lotusscript (47)
    • NetSuite (4)
      • SuiteScript (3)
    • node.js (4)
    • XPages (4)
  • Reviews (9)
  • Sci-Fi (4)
  • Software (24)
    • Flight Simulator (2)
    • Games (4)
    • Open Source (2)
    • Utilities (6)
  • Technology (37)
    • Aviation (3)
    • Calculators (2)
    • Computers (6)
    • Gadgets (7)
    • Mobile Phones (7)
    • Science (3)
    • Tablets (2)
  • Travel (7)
    • Europe (1)
    • Texas (2)
    • United States (1)
  • Uncategorized (16)
  • Web Development (50)
    • Frameworks (23)
      • Bootstrap (14)
    • HTML/CSS (12)
    • Javascript (32)
      • jQuery (23)
  • Prev
  • 1
  • …
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • Next

Administration

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org

Tracking

Creeper
MediaCreeper
  • Family Pictures
© TexasSwede 2008-2014