Integrating FormCheck and Domino forms

I have been working with the MooTools framework for the past week or so.  I am realyl starting to like not having to code everything by hand and am thinking it might save quite a bit of labor in the near future.  A tool that extends the MooTools 1.2.1 framework is FormCheck.  It makes client side validation of forms an absolute snap.

While everything worked great in IE 7, I was having serious issues getting the FormCheck code to fire when working in FireFox 3.  After lots of testing and beating my head against the keyboard, I figured out that the problem was caused by Domino not generating an ID attribute for the FORM tag.  I was able to finally work around it by setting the ID to be the same value as NAME before trying to validate the form. 

To me, this is an extra step that shouldn't have to be done by deverlopers.  I have created an ideaJam entry to have the Domino server do this automatically.

Latest 1352 Report has been released
Post production work has been completed on Episode 11 of the 1352 Report entitled (Lotus) Marketing 101.  The 4 of us take turns beating the dead horse that is the Lotus Marketing department.  Of course, none of us have any absolute answers as to how to solve the perceived issues, but I think we had some good ideas.  It was really nice of Colette to make a guest appearance on the show to give us a non-Lotus point of view.
Issues with LDAP and Sametime/Domino 8.0.2

Been running into issues lately with Sametime and LDAP.  The Sametime is version 8.0.2 running on Domino of the same version.  The issue occurs whenever the LDAP server gets rebooted.  The LDAP service on the Domino server isn't able to re-establish the connection to the LDAP server when it comes back up.  Restarting the LDAP service on Domino doesn't re-establish the connection either.  To solve the issue, the entire Domino service needs to be restarted.

This can't be the norm for working with LDAP.  Is there something I am missing that will resolve the issue?  I will keep investigating.

LS Function to get ACL entries have have a role enabled

Here's a simple LS function that returns a list of ACL entries that have a specific role enabled:

Function GetEntriesByRole(rolestring As String) As String
  Dim session As New NotesSession
  Dim db As NotesDatabase
  Dim acl As NotesACL
  Dim aclentry As NotesACLEntry
  
  On Error Goto errorproc
  
  Set db = session.CurrentDatabase
  Set acl = db.ACL
  Set aclentry = acl.GetFirstEntry
  
  While Not(aclentry Is Nothing)
  If aclentry.IsRoleEnabled(rolestring) Then
    If GetEntriesByRole = "" Then
     GetEntriesByRole = aclentry.Name
    Else
     GetEntriesByRole = GetEntriesByRole & "~|~" & aclentry.Name
    End If
   End If
   
   Set aclentry = acl.GetNextEntry(aclentry)
  Wend
  
finish:
  Exit Function
  
errorproc:
  Call LogError()
  Resume finish
 End Function

The list of acl entries is returned in a string that uses "~|~" to separate the multiple entries.  You can use the Split function to expand the list into an array.  The role passed must contain the [] charaters.

SnTT: Upgrading from Quickr Entry to Quickr Standard

Although this is documented in the Quickr InfoCenter, I thought that it was important for me to remember in the future.

To upgrade Quickr Server from Entry to Standard, just modify the value of QRD_InstallType in the Notes.ini to be 2 instead of 1.

That is about as simple an upgrade as I could ever imagine.

Is SharePoint missing an ACL entry?

I have been working with another "developer" who is building a SharePoint site based on requirements that I have gathered from an end user.  In going through the security settings for the site, something seemed to be missing and it took me a minute to figure out what it was.  From what I could see, it looks as though the Author level of access has been left out of SP.

To me, the status level of Author goes hand in hand with the idea of ownership.  I have always considered the Author of a document in Notes to be the owner of the document at that point in time, regardless of whether or not that person created this particular document.  Author access only works with Author and Reader field values, so I am guess that equivalent field types don't exist in SP.

This idea of Authorship is central to every workflow application I have ever built.  I'll be damned if I am going to "trust" my users to only edit a document when it's their turn in the review cycle.  They are lucky if they can even see things that aren't ready for them to approve/edit.

While SP easily gives you the ability to allow users to edit any document on the site, I couldn't see how to set a user's access to only allow them to edit documents that they have created.  You could modify the rights for a document to only allow specific people to edit the document, but then the connection to the central ACL is severed forever.  The model employed by SP seems eerily similar to the model employed on a file server and we all know how much fun it is when 2 people try to edit a file at the same time.

Now to be totally fair, I only looked at SP for a few minutes, so I might have missed something totally obvious.  The server is currently running WSS, so this might be a feature that you get when you upgrade to MOSS.  Or this might be one of those core Notes features that seems necessary to us, but isn't that important to other vendors.

Will someone who has more experience with SP care to comment and set me straight?

SnTT: Sametime 8.0.1 limitation hits home

For those of us who remotely support multiple clients, it's a comfort to our clients when they see our status icon is green when they log into their Sametime server.  Unfortunately, this is going to be an issue if your client has deployed the Entry version of Sametime.

One of the unspecified requirements of the Sametime Entry server is that it requires users that connect to it have that server set as their default Sametime community.  For user's at the client site, it's no big deal since they will probably only connect to their Sametime server.  But it really puts a crimp in those of us trying to add the server as yet another community we are a part of.  In fact, it's doesn't even show up as a choice in the Sametime Default Policy.

And before you very enterprising people try to circumvent things by changing the policy document via the Notes Client, know that I tried it already and it didn't work.  The Sametime server denied all connections once I set the valuer to 0.

I don't expect this issue to be resolved at any time by IBM since this is yet another of my issues that only seems to effect the .0001% of Notes users who are consultants.  Just like my issue with multiple location documents that use different IDs.....but that's a whole different story. 

New Bookmark Link to AddThis
John Head asked me for some help in getting a new third party service integrated into the the IBM Domino Blog template.  The new service, AddThis, aggregates your bookmarks to a large number of bookmark sharing sites like del.icio.us and Digg.  In addition, it tracks how many people use your button to share your page.  To add this to your own blog, use the following code:

<!-- AddThis Button BEGIN -->
<a title="Bookmark and Share" href="http://www.addthis.com/bookmark.php" target="_blank" onclick="window.open('http://www.addthis.com/bookmark.php?wt=nw&pub=Phigment&url='+encodeURIComponent('<$DXURL$>dx/<$DXDocumentLink$>')+'&title='+encodeURIComponent('<$DXSubject$>'), 'addthis', 'scrollbars=yes, menubar=no, width=620, height=520, resizable=yes, toolbar=no, location=no, status=no, screenX=200, screenY=100, left=200, top=100'); return false;"><img height="16" alt="Bookmark and Share" src="http://s9.addthis.com/addthis16.gif" width="16" border="0" /></a>
<!-- AddThis Button END -->

The Blog specific changes are in bold. The only thing you need to change when putting it on your site is to replace the pub attribute in the link URL with your account name at AddThis.  There are other icons to choose from besides the red and white plus sign I am using, so take a look on their site and choose the one that's the best for you.
Watch out when updating Eclipse-based applications

The move of the Notes Client to an architecture based on Eclipse is seen as a good move by most people.  Recently, though, I ran into an issue that you might need to be aware of.  One of the other applications I use to develop web applications is Aptana Studio, which is also built upon Eclipse.  I hadn't been in it recently, so when I fired it up last week, it asked me to download a bunch of new updates.  Halfway through the installation, it failed because it wasn't able to access/update a certain .jar file.  The worst part was that the failure completely hosed my configuration and caused the application to be unusable.

After much debugging, I determined that the install failed because I had Notes 8.0.1 running at the same time.  After blowing away the configuration and shutting down Notes, I was able to successfully upgrade Aptana to the latest release.

So the lesson learned is to make sure all your Eclipse based applications are shut down before you try to upgrade one of them.

ILUG 2008 Agenda released
Paul has released the agenda for ILUG 2008.  I guess that my offer of letting him use the wife as he wants is the cause of Bruce, Matt, and I getting a prime time slot.  I would have started offering her up earlier if I would have known the benefits it would get me.
ASND Export Facility 2.0.2 Released

I have just posted the 2.0.2 version of the ASND Export Facility.  This version fixes a number of really, silly bugs.  I wish I had more time to do testing the right way, but such is life when you are writing code for free.

There is one bug that is currently unresolved that I would love some help on.  The crux of the problem is this:  When doing sorting a collection by multiple fields, the secondary sorts are opposite what they should be.  For example, if I want to sort the results by Person in ascending order and then by Date in descending order, the results are return with Person in ascending order and Date in ascending order.  This did not happen when I was using a Bubble Sort, so I must have screwed up something in the Merge Sort code.  If you have experience with these things and want to take a crack at solving the problem, by all means download the latest release and take a look at my spaghetti code.

Job Posting for the Sweetest Place on Earth

This position will be primarily responsible for all technical aspects of Lotus Notes application development and application support.  The person in this position will work with other departments in the company and the Manager of Web Development to develop and maintain the technical specifications and all appropriate applications in Lotus Notes.  The position may also include development work in other programming languages.

Job Functions:

Functions include developing the technical specifications and implementing the appropriate code to support Lotus Notes development. The person will assist in troubleshooting and debugging issues with existing and developed systems.  This position will maintain all applications so that they function on the most current version of Lotus Notes client and server.  They will maintain proper security and programming best practices when building applications.

Basic Qualifications:

  • BS in Computer Science or equivalent experience.
  • Minimum 1 year work experience with development for Lotus Notes client and Lotus/Domino on the web.
  • Minimum 1 year work experience in web-enabling existing and future Lotus Notes applications.
  • Minimum 1 year work experience in developing workflow applications in Lotus/Domino.
  • Minimum 1 year work experience with Domino Designer
  • In-depth knowledge and work experience in relevant technical areas such as LotusScript, Formula Language, Java, Javascript, D/HTML, CSS and DB2.
  • Knowledge of Lotus/Domino development for mobile devices.
  • Knowledge of Notes security model.
  • Knowledge and experience in the following: PHP, ASP, XML, VBScript, SQL/Other DBMS.
  • Design and development skills working with applications in versions 6, 7 and 8 of Domino.
  • Solid understanding of Internet technologies: HTTP, FTP, security and encryption on the Internet, basic networking concepts, etc.

Additional Qualifications:

  • Must have good analytical skills, excellent communication skills at all organizational levels.
  • Must show initiative, be self motivated and have a willingness to learn.
  • Have the ability to work as part of a team and independently.
  • Must posses a valid driver’s license.
Working Conditions:
  • Physical requirements include finger dexterity, viewing a computer screen, detailed work at close distances, and sitting for prolonged periods of time.
  • Office environment with occasional evening and weekend hours.
  • Sporadic local and out of town travel.

Hershey Entertainment & Resorts is an Equal Opportunity/Affirmative Action Employer

TO APPLY: Please visit HersheyJobs.com to apply on-line or contact Mary Faris at Msfaris@hersheypa.com for more information. We offer Medical, Dental, Vision, 401K, Profit Sharing, Competitive Salary, and MORE!

Sometimes, the recruiters are really nice and you just want to help them find a good person.  Which is why the job above is posted here.  Can you imagine how much weight could be gained with all that chocolate around?

<< Past Blog EntriesFuture Blog Entries >>