Search DominoPower's 11,422 Lotus-related article archive 
Home
EasyPrint
News details Click here for the RSS feed's XML code. This is not a browser URL.
Articles-only Click here for the RSS feed's XML code. This is not a browser URL.
Twitter Feed Click here for the Twitter feed.
BASIC SERVER TASKS
Coding Domino server tasks in C
By Ian Cherrill

You have to admit it, there's a certain disdain low-level programmers have for the rest of us. One time I worked for a small software company in England as a Lotus Notes consultant, helping them design a Domino version of their product. The C programming team matched the stereotype--unwashed and uncommunicative. Their working day consisted of linked lists, pointers to structures, and state machines. They didn't think much of those of us who designed groupware systems. To them, it wasn't proper programming.

Programming in C doesn't have to be like that. If you make your living as a programmer, there's no reason to think writing a C program that works on a Domino server is too difficult. And once you get a C program written, you'll be amazed at the raw speed at which it runs. @formulas and Java were never like this. And there are certain things you can only do in C or C++. One of these is create your own server addin tasks that can be loaded from the Domino console.

In this first article in a series, I'll show you how to create the basic server task in a programmer-friendly interface--none of that command line stuff--and debug it just like you would step through a LotusScript agent. In the next article I'll take you through the source code for a real addin program called ACLHelp, and I'll also talk a little about porting it to LINUX. But let's not get ahead of ourselves.

The sample programs in the toolkit Lotus supplies are all set up to compile from a command line. If you're writing a server task, there's no guidance on how to debug it. When I first started writing server task applications, it was a case of trying to debug them from print statements, but this isn't a good method for more complex problems. Visual C++ has a good interactive debugger, and it's possible to change the code of the sample program to allow its use. There's a whole section on this below, after I've taken you through the installation and compilation of the basic sample "server addin" program.

Software requirements and installation
The tools you'll need to write a server "add-in" program are as follows:

  • Windows (95, 98, NT or 2000);
  • Lotus Domino server;
  • Microsoft Visual C++ 6.0 compiler (professional edition is enough);
  • Lotus C API Toolkit (free download from http://www.lotus.com/rw/dlcapi.nsf).

The version of API toolkit must be lower than the version running on your server. Don't use the R5.03 toolkit if your server is running R4.67. However, the R4.62 toolkit will work to produce programs that function fine with R5.05, you just won't be able to use all the new R5 features in your program, such as transaction logging.


1  ·  2  ·  3  ·  4  ·  Next »
Other articles you might like
Home > Lotus Technologies > Domino (77 articles)
   More about Domino log files
   Why your log.nsf might not be purging properly
   Sloppy analysis at the core of another Domino vs. SharePoint report
Home > Lotus Technologies > LotusScript (64 articles)
   When the debugger won't debug hidden code that isn't hidden
   What to do if the LotusScript debugger won't single-step over code
   Little known traps about Lotus Notes fields
Home > Lotus Technologies > Application Development (48 articles)
   An application for scanning physical mail and distributing it virtually
   How hide-whens in Rich Text can ruin your whole day (and what to do about it)
   Little known traps about Lotus Notes fields
Get Weekly Email Updates
Subscribe to our regular weekly email newsletter. It's packed with tips, reviews, deep analysis, and the latest news.
 
Recent DominoPower Articles
Application development, William Shatner, and the origin of the universe
Learn Domino Designer 8.5 for free
The (near) future of Sametime, Quickr, Connections, and Symphony
Inside the IBM Innovations lab
Lotusphere 2010: Hot fixes and cool news for Notes, Domino, and LotusLive
Lotusphere 2010: mobility and collaboration
2010: A Lotusphere of change
Latest Lotus Headlines
New Notes/Domino Technotes published about Chile's extended daylight saving time
SnnT: How to prevent Google from listing your Sametime Server
How to send someone an email that shows your calendar availability
"The collection has become invalid"
More XPages onclick event weirdness...
Domino 8.5.1 Fix Pack 1 Interim Fix 1 (8.5.1 FP1 IF1) - DAOS Fixes
Domino Designer 8.5 Tip: Where Working Sets Are Stored
>> Read all the news
More from the ZATZ journals
Computing Unplugged: The iPad defenders have spoken
David Gewirtz Online: CNN commentary and analysis
OutlookPower: More about disappearing text
-- Advertisement --

Learn Notes and Domino 8 at your place and pace!
Learn Notes and Domino in your office and/or home! TLCC's highly acclaimed distance learning courses for users, developers, and admins will enhance your career and your resume.

The many included activities and demos will make you a pro! Expert instructor help is a click away.

Click here to try a FREE demo course!!

-- Advertisement --

Integrate your Notes Applications with Microsoft Office and Symphony
Integra for Notes Integrates Microsoft Office and/or IBM Lotus Symphony
Requires NO change to the design of the appliation or Installations of DLL's and EXE's
  • Integra is a ready to use solution, enhance static reports with Excel data analysis, pivot tables, macros
  • User friendly aproach, using a point and click access to features
  • Reports from any Lotus Notes databases
  • Runs reports through a Notes client, web browser and scheduled basis
  • Allows use of LotusScript for advanced data manipulation
  • Enables self service reporting capabilities to end-users


Learn more at www.integra4notes.com.
ZATZ Home  ·  News  ·  Back Issues  ·  Credits/Trademarks ·  Link To Us
Copyright © 1998-2010, ZATZ Publishing. All rights reserved worldwide.
Editor's Login