Pages

Monday, October 12, 2009

What are implicit objects?

What are implicit objects?

To simplify code in expressions and scriptlets, we can use automatically defined variables, called implicit objects.

1)out JspWriter
2)Request HttpServletRequest
3)Response HttpServletResponse
4)session HttpSession
5)page Object
6)PageContext PageContext
7)Application ServletContext
8)Config ServletConfig
9)Exception JspException

Monday, March 9, 2009

Internet Message Header Fields

The following is the list of the header fields that may be used in a mail header, so these can be parsing fields that may be needed to search to create a needed parser for the header.


Header field name Description
Abuse-Reports-To E-mail address for reporting abuse
Also-Control Usenet control message and a normal article at the same time
Alternate-Recipient Controls whether the message may be forwarded to alternate recipients
Apparently-To Recipients derived from message envelope when there is no To header
Approved Moderator of the Usenet newsgroup, or marks certain control messages
Approved-By Moderator of a mailing list, who approved the message
Article-Names Reference to specially important articles for a particular Usenet newsgroup
Article-Updates Similar to Supersedes but does not cause the referenced article to be physically deleted
Autoforwarded Has been automatically forwarded
Auto-Forwarded Misspelling of Autoforwarded
bcc Recipient(s) not to be disclosed to other recipients ("blind carbon copy")
cc Secondary, informational recipient(s)
Comments Text comments added to the message
Content-Alias Used in addition to Content-Location if this content part can be retrieved through more than one URI
Content-Alternative Information on where an alternative variant of this document might be found
Content-Base Base to be used for resolving relative URIs within this content part
Content-Class Type information of the content in some class hierarchy
Content-Conversion Whether the body may be converted from a charset to another
Content-Description Description of a particular body part of a message
Content-Disposition Whether MIME body part is to be shown inline or as an attachment; may also suggest a file name
Content-Features More detailed information about the Content-Type
Content-ID Unique ID of one body part of the content of a message
Content-Identifier A text string which identifies the content of a message
Content-Language Code for natural language used in the message
Content-Length Size in bytes of the message text
Content-Location URI with which the content of this content part might be retrievable
Content-MD5 Checksum of content
Content-Return Whether the content of a message is to be returned with non-delivery notifications
Content-SGML-Entity Information about the SGML entity declaration corresponding to the body
Content-Transfer-Encoding Coding method used in a MIME message body
Content-Type Data type and format of content
Control On Usenet, indicates a control message
Conversion Whether the body may be converted from a charset to another
Conversion-With-Loss Whether the body may be converted from a charset to another if information will be lost
Date The time when the message was written (or submitted)
Delivered-To Used for loop detection
Delivery-Date The time when a message was delivered to its recipient
Discarded-X400-IPMS-Extensions X.400 IPM extensions which could not be mapped to Internet mail format
Discarded-X400-MTS-Extensions X.400 MTS extensions which could not be mapped to Internet mail format
Disclose-Recipients Controls whether recipients are to be told the names of other recipients
Disposition-Notification-Options Options for notifications to be sent when the message is received
Disposition-Notification-To Requests for notification when the message is received, and specifies the address for them
Distribution Limitation on where the Usenet article can be distributed
DL-Expansion-History-Indication Trace of distribution lists passed
Encoding Mixed usage: content type encoding, length, or boundary information
Errors-To Address to which notifications are to be sent and a request to get delivery notifications


Expires Suggested expiration time
Expiry-Date Time at which a message loses its validity
Fax Fax number of the originator
Fcc Name of file in which a copy of the message is stored
Followup-To Usenet group(s) to which followups to the article should be sent
For-Approval Primary recipients, who are requested to approve the information in this message or its attachments
For-Comment Primary recipients, who are requested to comment on the information in this message or its attachments
For-Handling Primary recipients, who are requested to handle the information in this message or its attachments
From Author(s) or person(s) taking responsibility for the message
Generate-Delivery-Report Whether a delivery report is wanted at successful delivery
Importance A hint from the originator to the recipients about how important a message is
In-Reply-To Reference to message which this message is a reply to
Incomplete-Copy Body parts are missing
Injector-Info Information about article's injection to Usenet
Keywords Keywords to be used as an aid in determining if the message is interesting to the reader
Language Code for natural language used in the message
Lines Number of lines in the body of the message
List-Archive URL to use to browse the archives of the mailing list
List-Digest URL to use to subscribe to the digest version of the mailing list
List-ID URN of the the mailing list expander
List-Owner URL to use to send E-mail to the owner of the mailing list
List-Post URL to use to post to the mailing list


List-Software Information about the software uses in the mailing list expander
List-Subscribe URL to use to subscribe to the mailing list
List-Unsubscribe URL to use to unsubscribe the mailing list
List-URL URL for various information about the mailing list
Mail-Copies-To Special address for copies of posted followups
Mail-Reply-Requested-By Address to which notifications are to be sent and a request to get delivery notifications
Mail-System-Version Client software used by the originator
Mailer Client software used by the originator
Mailing-List Information about mailing list
Message-ID Unique ID for the message
Message-Type Indicates that this is a delivery report gatewayed from X.400
MIME-Version Specifies the version of MIME that the message format complies with
Newsgroups Usenet group(s) to which the article was posted
NNTP-Posting-Date Time of posting to Usenet
NNTP-Posting-Host Host that posted the article to Usenet
NNTP-Posting-Time Time of posting to Usenet
NNTP-Proxy-Relay Host that relayed the message to Usenet
Obsoletes Reference to previous message being corrected and replaced
Organization The organization to which the sender belongs, or to which the machine belongs
Original-Encoded-Information-Types Which body part types occur in this message
Original-Recipient Original recipient information for inclusion in disposition notifications
Originating-Client Client software used by the originator
Originator Used the same way as Sender
Originator-Info Information about the authentication of the originator
Path List of MTAs which the (Usenet) message has passed
Phone Phone number of originator
PICS-Label Ratings label to control selection (filtering) of messages according to the PICS protocol
Posted-To Newsgroup to which the message has been posted /td>
Precedence Mixed usage: priority value, control of automatic replies or return-of-content faciliries, prevention of mailing list loops
Prevent-NonDelivery-Report Whether non-delivery report is wanted at delivery error
Priority Priority for message delivery
Read-Receipt-To Address to which notifications are to be sent and a request to get delivery notifications
Received Trace of MTAs which the message has passed
References In E-mail: reference to other related messages; in Usenet: reference to replied-to-articles
Replaces Specifies previous message being corrected and replaced
Reply-By Latest time at which a reply is requested
Reply-To Suggested E-mail address for replies
Resent-bcc The bcc of a forwarded message
Resent-cc The cc of a forwarded message
Resent-Date The Date of a forwarded message
Resent-From The From of a forwarded message
Resent-Message-ID The Message-ID of a forwarded message
Resent-Reply-To The Reply-To of a forwarded message
Resent-Sender The Sender of a forwarded message
Resent-Subject The Subject of a forwarded message
Resent-To The To of a forwarded message
Return-Path Data passed from MAIL FROM: envelope
Return-Receipt-Requested Address to which notifications are to be sent and a request to get delivery notifications
Return-Receipt-To Address to which notifications are to be sent and a request to get delivery notifications
See-Also References to related articles (other than precursors) in Usenet
Sender The person or agent submitting the message to the network, if other than shown by the From header
Sensitivity How sensitive it is to disclose this message to other people than the specified recipients
Speech-Act Speech act categorization of the message
Status Status of delivery for the message when stored
Subject Text that provides a summary, or indicates the nature, of the message
Summary Short text describing a longer article
Supersedes Specifies previous message being corrected and replaced
Telefax Fax number of the originator
To Primary recipient(s)
Translated-By Mailbox of the person who made the translation
Translation-Of Reference to a message which the current message is a translation of
User-Agent Client software used by the originator
X-Abuse-Info Information for reporting abuse
X-Accept-Language Language preference(s)
X-Admin E-mail address of news server administration
X-Article-Creation-Date Time of original creation of the article
X-Attribution The name under which the sender would like to appear in attributions when the message is quoted
X-Authenticated-IP Apparently the IP address of the host of the sender
X-Authenticated-Sender Apparently some identification of the sender
X-Authentication-Warning Some warning
X-Cache Information about caching server software
X-Comments Comments, usually some disclaimer
X-Complaints-To An E-mail address for sending complaints on the adequacy of the Usenet message
X-Confirm-reading-to Address to which notifications are to be sent and a request to get delivery notifications
X-Envelope-From Sender, as extracted from the envelope
X-Envelope-To Recipient, as extracted from the envelope
X-Face Picture of sender's face (a 48×48 bitmap)
X-Folder Folder for saving the message
X-Http-Proxy Information about using Deja for posting, including the sender's IP address
X-Http-User-Agent Web browser used for posting
X-IMAP UID as defined in IMAP
X-Last-Updated Time of most recent update
X-List-Host As List-Software
X-Listserver As List-Software
X-Loop Used for loop detection
X-Mailer Client software used by the originator
X-Mailer-Info URL for info about client software used by the originator
X-Mailing-List Information about mailing list
X-MIME-Autoconverted Information about conversion of this message on the path from sender to recipient
X-MimeOLE Information about client software used by the originator
X-MIMETrack Info about the message passing through a router
X-MSMail-Priority Yet another priority indication
X-MyDeja-Info Internal user id
X-Newsreader Cient software used by the originator
X-NNTP-Posting-Host Posting host
X-No-Archive Do not archive the message in publicly available archives
X-Notice A comment on reporting abuse
X-Orig-Message-ID Original Message-ID
X-Original-Envelope-From E-mail address of original sender
X-Original-NNTP-Posting-Host Name or IP address of the original posting host
X-Original-Trace Information (host, time, etc.) about the original posting
X-OriginalArrivalTime Time when the message was delivered into the message transport system
X-Originating-IP Apparently the IP address of the host of the sender
X-PMFLAGS Internal flags indicating message status
X-Posted-By Attempted identification of the sender
X-Posting-Agent Client software used by the originator
X-Priority Priority for message delivery
X-RCPT-TO Indication of recipient on the SMTP envelope
X-Report Information about reporting abuse
X-Report-Abuse-To Information about reporting abuse
X-Sender Used similarly to Sender but often indicating that you may not be able to send E-mail to this address
X-Server-Date Some time denotation
X-Trace Information about posting
X-UIDL Unique ID for the message, local to a particular local mailbox store
X-URI Sometimes used with the same meaning as Content-Location, sometimes to indicate the Web home page of the sender or of his organisation
X-URL Similar usage as X-URI
X-X-Sender Similar to X-Sender
X400-Content-Return Possible future name for Content-Return
Xref Identification of a message within a server

Thursday, September 4, 2008

Usefull Code Links

1. How to Get CPU Usage Per Thread
You provide the class a native thread id or just Dim it within the thread you want to watch. The CPUtimer.CPUusage variable is a short representing the percentage of CPU used by this thread. . . . . . . . .
2. IE Button using VB.Net
Create a button in IE........

Monday, August 4, 2008

Lotus Notes Development> Lotus Script >LS2J

For using an agent developed in java but needed to be used in the LotusScript to enable benefit in Lotus Notes I've found some useful (may be not complete) factors to configure various settings in the and coding as discussed below:

For using the java class in LotusScript LS2J is the way to use it. For this purpose developer is needed to add a string in the start of the lostus script code of the module.
i.e.
1. Add line : - Uselsx "*javacon"
2. Create a java based script library under the 'Script Library' in the template and click on the button 'Edit Project' and browse the location containing the needed class files and then add files to current script library.
3. Add line Use "your java based script library" in the lotusscript code like (1).
4. Also create a jar file with all the classes to be used and the corresponding other jar files used in those classes and add to the directory "......\Lotus\Notes\jvm\lib\ext", where notes is the directory containing the Lotus Notes Executable. The jar files in 'ext' folder will cause all the needed classes to be loaded when lotus notes started.

Above steps are used to configure the environment to use the java based agent, now to use the java based module in lotus script, first a session to java is needed to be established then objects of type JavaClass and Java Object are needed to be created and all these objects can be for java based agent. the following are the code step examples that can be used to facilitate the call to the java agent:

Dim myJSession As JavaSession
Dim myClass As JavaClass
Dim myObject As JavaObject

Set myJSession = New JavaSession
Set myClass = myJSession.getClass("your class name")

Set myObject = myClass.CreateObject("(Ljava/lang/String;I)V", stringArgument,IntegerArgument)

'Ljava/lang/String' and 'I' are the signature of the data type of the argurment of the called constructor of the class.

returnVal = myObject.fnName(arg1, arg2, arg3)

where returnVal is the result obtained from the java agent that can be used as required.

Lotus Notes Development> Lotus Script >Eclipse Configuration

Update Site for LotusScript editor for Eclipse

This is an update site for LotusScript editor plugin for Eclipse. In order to install this plugin in Eclipse, follow these steps:
  1. Open Eclipse
  2. Open Install/Update dialog from menu Help | Software Updates | Find and Install...
  3. Select "Search for new features to install" and click Next button
  4. Add new remote site and click Ok
  5. Select new remote site for site search and click Finish
  6. Select feature you want to install (LotusScript Editor Feature x.x.x) and click Next
  7. Accept terms of licence agreement and click Next
  8. Select folder to install plugin (default selection is Eclipse's root folder) and click Finish
  9. Accept Feature Verification for unsigned plugin and click Install or Install All
  10. Restart Eclipse
The plugin is tested on Eclipse version 3.2.0, but it should also work on version 3.1.

References:
1. Information taken from: http://lsseditor.sourceforge.net/
2. Plug-in can be downloaded from : http://sourceforge.net/projects/lsseditor

Friday, August 1, 2008

Various Developments Tools and Tutorial Links

1. CodeProject IBM DeveloperWorks. Free source code and programming help

The IBM DeveloperWorks brings together resources and articles from all around The Code Project into a single report.

IBM's premier technical resource for software developers, providing a wide range of tools, code, and education on AIX and UNIX®, IBM Systems®, Information Management, Lotus®, Rational®, Tivoli®, WebSphere®, and Workplace, as well as on open standards technology such as Java™ technologies, Linux®, SOA and Web services, XML, and more.

2. Accessing Open XML Document Parts with the Open XML SDK

About a month ago the Open XML SDK 1.0 (June 08 update) was released. The SDK provides strongly typed document part access to Word 2007, Excel 2007 and PowerPoint 2007 documents. The SDK has been a CTP for a while, but last month version 1.0 was finally released. So I installed this baby last week and started playing around with it and found it really easy to use after briefly looking at the documentation. The How Do I section is a great place to start......

3. Configure Eclipse 3.4 (release candidate) for Notes 8.5 public beta

Eclipse IDE configured by piecing together different pieces of information is a description on how to configure the latest build of Eclipse Ganymede (3.4 RC2) for Notes 8.5 plug-in development and debugging. Only caveat discovered so far is that it requires manually update of the classpath for SWT libraries (e.g. org.eclipse.ui.swt) every time restarting Eclipse........

4. IBM Lotus Expeditor 6.1.x Information Center

BM® Lotus® Expeditor software is a service oriented architecture (SOA)-based, server-managed client platform that helps improve responsiveness and increase productivity by extending composite applications to laptops, desktops, kiosks, and mobile devices..........

5. Regular Expression Cheat Sheet

6. Useful Stuff related to Lotus Notes Client and LotusScript

7. 30 Common String Operations in C# and VB.NET

In this article, I have compiled some common String operations that we encounter while working with the String class. In Part I, I have covered 15 common string operations. In the next article, I will continue this article and cover 15 more. ...

8. How to run only a Single Instance of the Application using Windows Forms

If you are looking out for a quick solution to prevent the user from opening up multiple instances of the application, this article is was for you. We will explore how to use Mutex to check for the running instance of the application and prevent creation of multiple instances..................

9.Introducing the Singleton : "The Single Java Object"

No, this isn't a dating guide for the romantic Java developer, but an introduction to the singleton design pattern.................................

10. Decoding the new Notes/Domino 6 agent features

Notes/Domino 6 makes many changes in agent security, programmability improvements, and other agent functionality. This article covers accessing remote servers, saving agents on the server, and specifying the person on whose behalf the agent is running.................

11. Variable and Method Scope in Microsoft .NET

In this document, you can learn different rules of scope as they apply to variables and procedures. There are many different rules that you need to keep in mind as you develop your applications. A general guideline for scoping variables is that you want to keep the scope of variables as local as possible. Avoid global variables as much as you can, as this will lead to fewer errors in your programs. As far as procedures go, you simply need to decide which scope to use based on your particular needs. . . . . . . . . . . . . . .

12. ADO.NET For Beginners

Introduction

This course aims to introduce ADO.NET to developers who are new to database programming. This course assumes that you have very little or no prior experience with ADO.NET but does assume that you know what a database is and how to work with the tools provided with your database of choice.

During this course we will look at working with both Microsoft Access and Microsoft SQL Server databases. There are a number of reasons for this, first of all . . . . . . . . . . .

13. Band Objects: A beginners tutorial from scratch

Band Objects: A beginners tutorial from scratch

This tutorial explains about what is band objects.How to implement them? This is a modified version of MSJ and MSDN samples. A simple tutorial with examples and sample code attached. . . . . . . . . . . . . . . . . . . .

14. (A)Customizing Internet Explorer : Part I

Customizing Internet Explorer : Part I

This article describes how to customize internet explorer. . . . . . . . . . . . . . . . . . . . . . . .

(B) Adding Toolbar Buttons
This tutorial explains how to add a toolbar button to the Windows Internet Explorer user interface. The toolbar button can either run a Microsoft Win32 application, run a script, or open an Explorer Bar. If you also want to create a menu item for the Win32 application or script, see the Adding Menu Items tutorial. . . . . . . . . . . .

Thursday, July 31, 2008

A Good Developer

The knowledge of technology is not the key for any one to be a good developer but there are many other factors also exists that can distinguish a developer from a good one. Here we will discuss some of the factors that play a big role.

Good means desirable and distinguishable quality qualifier and if we see with the development point of view then it can be related to both technical as well as non technical qualities. Here are some the qualities that a developer should possess if he/she aims at becoming a 'good' developer.

1. Good Communication skills : A first and most important fundamental requirement of the development. As anything that is to be developed is best known by the who require the product and but it doesn't know how to develop it but the person that knows it don't have the clear requirement. But if a developer have a good quality communication skills then a product that is actually required will be produced as every requirement will be clear though good skills. So As a 'good' developer, you should be able to express yourself well, listen well, as well as manage the communication process well.

2. Positive Attitude - 'Attitudes - ways of responding to people and situations that we have learned, based on the beliefs, values and assumptions we hold.'

3. Good analysis skills - The quality of to be able to look at a issue or feature request and figure out exacly what is going on is one of the quality that can make developer to distinguishable from other.

4. Think as a Tester - A thinking like tester results a good esearch and modeling and come to realize that regardless of how disciplined his code is, there are probably situations in the world that will cause Bad Things to happen in his system. Often, he suspects that such things are possible, but doesn't have the perspective to recognize the exact problem. In fact it helps to reduce bugs/defects in the code.

5. Jack of all or Master of One? - Well that's a difficult one to answer. In today's scenario, you have to master more than one technology. Practically it is quiet difficult to do so, but the good ones do it. However the key is adaptability over here. If you are good at any one technology and confident in it, given an opportunity, it would be easier for to relate to a new technology in a short period of time. Try it out as it enables you to compare technologies and make decisions, once you have worked with them.


6. Follow nomelclature and Best Practices - The habit to follow a Code Design Guideline and always to use code analysis tools that evaluate and analyze the code is one of the requirement of the quality code of the product and that also influence the resulting product to be developed.

7. Discussion/Newsgroup - Participating in communities develops the quality of leadership and contribution, both ingredients of success. Having participated in a good technical discussion on the community leaves you with a feeling of self-satisfaction. It also increases your knowledge, as you find smart people who can validate your solutions, as you validate theirs. It also teaches you to appreciate suggestions. Do not forget to 'pat someone on the back' if he/her has made a positive contribution. Believe me it makes all the difference.

8. Technology seminars and events - Don't miss any if you get a chance to attend. Make sure you take out time to attend one. Most of them are free and provide a valuable source of information about new technologies.

9. Blog/ Write Articles - How many of us can remember everything? I cannot. So I document them. It helps me to reference stuff when I need them. Over and above, it also helps me get some good feedback from readers and shows me multiple approaches to do the same stuff. I have received a lot of feedback about my work, some good and some not so good. However, I do validate them and learn from this process. It develops the developer in you.

10. Implementation Approach - Keep Implementations/Approaches Short and Simple. Do not over complicate things by using jargon s, which people find it hard to understand. The key is to simplify your designs and avoid over-engineering things.

11. Practice, Practice and Practice - Reading lot of books and technical material is not enough to be a good but applying what you gain is the fundamental need for any type of work to be qualified as good. A lot of practice makes more effectiveness and efficiency in the work and is the only thing that can make anyone good skilled.

12. Curiosity - A good developer is interested in how things work. When they see some new technology they want to understand it and play with it. A curious developer will continue to find the best solution for you, while an incurious one will keep using what they've always used until the ship runs aground.

13. Abstract Thinking - A person who spends all day dealing with abstract data has to be good at it to be effective. A good developer needs to be able to take an instance of a problem and abstract it into a general type of problem. They need to take the solution to that problem and abstract it into a solution that will on problems like it. And they need to do it largely in their head on theoretical models. Developers who aren't good at abstract thinking will tend to solve the problem at hand, very well even, in a very rigid manner. That code gets to be a nightmare during maintenance, when one change breaks up the rigid structure of the code. Good abstraction pushes specific solutions out towards the edge of the code, making changes easier.

14. Patience - Sometimes solutions are hard to find. Sometimes users are hard to deal with. Sometimes management is hard to deal with. You need your developers to be able to be able to deal with them. An impatient developer will rush into the first idea that looks promising, a patient developer will wait until they know they've found the right path.