Author: <span class="vcard">Kenio Carvalho</span>

Below are some basic points that one should remember as best practices to manage and maintain DAOS feature in IBM Notes Domino environment.

  1. Domino server must be 8.5.x and onwards. All database ODS must be 48 and onwards.
  2. Transaction Logging must be enabled on server and it is recommended to keep transaction log directory outside of domino/data folder, in a separate drive.
  3. DAOS Directory path should be kept out of Domino/Data directory, in a separate drive.
  4. Make sure DAOS Catalog Status always remain in SYNCHRONIZED status. You can monitor DAOS Catalog status using command ‘Tell DAOSmgr Status’. As far as DAOS Catalog remains in SYNCHRONIZED status, DAOS functionality will work fine.
  5. If DAOS Catalog status shows ‘NEEDS RESYNC’ then you should get DAOS Catalog in SYNCHRONIZED status using command ‘Tell DAOSmgr Resync’. You can also using ‘force’ switch with this command to synchronize DAOS Catalog forcefully. The command would be ‘Tell DAOSmgr Resync force’
  6. You can create a scheduled program document to run ‘tell daosmgr resync’ command periodically if you DAOS Catalog frequently goes in ‘NEEDS RESYNC’ status.
  7. Regularly check disk space in Transaction log as well as DAOS drives and make sure there’s enough disk space available on server.
  8. Make sure there’s a proper backup mechanism implemented to backup DAOS and Transaction log directories.
  9. Exclude DAOS and Transaction log directories from OS Anti Virus Scanning.
  10. Disable Transaction logging on System Databases like log.nsf, busytime.nsf, clubusy.nsf.
  11. Never delete daoscat.nsf and daos.cfg file in order to resolve catalog resync problems. Deleting these files will reset DAOS calculations and deletion of NLO files may take longer time causing disk space issues on server.
  12. Review your company’s regular attachment sending policy via mails and set DAOS attachment size accordingly to take optimum benefit of DAOS feature storing attachments.
  13. Review your backup schedule and accordingly set DAOS deferred deletion interval which will delete NLO files with 0 references.
  14. Enable DAOS on mail.boxes. Enabling transaction logging and DAOS on mail.box will enable the Router to optimize the delivery of DAOS based attachments. This can result in significant I/O savings for the case where the same attachment is sent to multiple recipients on the same Domino server.
  15. On an AIX/Linux platform, never create DAOS Directory at root level. Always create DAOS directory as a sub directory of any other directory at root level. Please check below examples

DAOS base path:  /daos/xxxxx => Not Recommended
DAOS base path: //daos/xxxxx => Recommended

The information above is from TN 1683254

When people leaves the company i always put the user on a deny access group, remove the account and delete the mail database.

But if you do not delete the account…

Once the user added in Deny access group to Deny Traveler access you need to enable “Enforce server access setting” to Yes in the server document under Ports -> Internet Ports -> Web tab.

Follow the below steps to enable the ‘Enforce server access setting’ to Yes in Server document:

1) Open the Domino Administrator client.

2) Chose the Traveler Server document .

3) Go to Ports -> Internet Ports -> Web tab and set the value for the below field to “YES”.

 Enforce server access setting
4) Restart the HTTP task to take affect the changes

Found the information above on the TN 1634205

Yesterday a portal cluster stops to respond requests after 4 months of work without a restart.

I found a lot of messages on systemout.log

8/25/14 10:13:21:418 BRT] 00000171 exception     E com.ibm.ws.wim.adapter.ldap.LdapConnection DirContext reCreateDirContext(String errorMessage)
                                 com.ibm.websphere.wim.exception.WIMSystemException: CWWIM4520E  ‘javax.naming.CommunicationException:  [Root exception is java.net.SocketException: No buffer space available (maximum connections reached?): connect]’

This Microsoft TechNote explain the problem with Windows 2008 R2

IBM published a TN about Notes and the upcoming Apple’s OS X 10.10 Yosemite

This issue is fixed in 9.0.1 Fix Pack 2 via the new INI parameter described below.

Fix Details: SPR# MJON9GQHLL – Fixes potential performance degradation in LDAP search when there are many nested groups.  This fix introduces the new ini: LDAP_COMPLEX_FILTER.  

  • When this ini is set to 1, the code path for the fix for SPR# CAHT959LQG is enabled and the performance degradation could result.  
  • Setting this ini to 0, disables the code path and no performance degradation will be seen.

This week i am working on a migration project.  Everything was fine until i ran

 ./WASPostUpgrade.sh /waspreupgradebackup -profileName wp_profile -oldProfile wp_profile -username wpsadmin -password ****** -includeApps true -backupConfig false -javaoption -Xmx3056m

JVMDUMP032I JVM requested Java dump using ‘/opt/IBM/WebSphere/AppServer/bin/javacore.20140729.090005.3839.0009.txt’ in response to an event
JVMDUMP010I Java dump written to /opt/IBM/WebSphere/AppServer/bin/javacore.20140729.090005.3839.0009.txt
Java heap space
JVMDUMP032I JVM requested Snap dump using ‘/opt/IBM/WebSphere/AppServer/bin/Snap.20140729.090005.3839.0010.trc’ in response to an event
JVMDUMP010I Snap dump written to /opt/IBM/WebSphere/AppServer/bin/Snap.20140729.090005.3839.0010.trc
JVMDUMP013I Processed dump event “systhrow”, detail “java/lang/OutOfMemoryError”.
MIGR0272E: The migration function cannot complete the command

I run again the command with Xmx4096m but the command doesn´t run anymore and the logs show that the parameter -includeApps is not valid.

The solution was

1 – Delete the wp_profile
2 – Delete the JCR index collections
3 – Run WASPreupgrade on the source portal
4 – Recreate the wp_profile on the target machine
5 – Run the WASPostUpgrade with Xmx510m

This is a cool tool. It is free and runs on Linux, Mac and Windows.
Pencil is built for the purpose of providing a free and open-source GUI prototyping tool that people can easily install and use to create mockups in popular desktop platforms.

Go to the Pencil Website and look for more details and download options.

Image:The Pencil Project for prototyping mobile applications

A costumer yesterday ask the exact question i found on this link http://www-01.ibm.com/support/docview.wss?uid=swg1LO43023

If a DWA message disclaimer is set and a DWA user sends an email where the recipient is an internal user – i.e. address is Notes mail format not internet format, the Notes user receives the message disclaimer.

This is a known behavior in Notes/Domino and reported to Quality engineering in SPR # KBRT67FN7B as an Enhancement request and currently there are no plans to address it in R8 and R8.5

A few days ago i was in charge do remove some users from IBM Connections. The case was  to delete the inactivated users.

The users was removed from the corporate LDAP a few months ago and no one know the DN or CN of the users. The only information was the Display Name

I need to know the user_dn and user_uid  to create the file delete_or_inactivate_employees.in and then run delete_or_inactivate_employees.sh script.

The only way i found was to export some data from PEOPLEDB. Reading the table EMPINST . Inactivated users does not have the PROF_MAIL data.

I created an java program using Eclipse, connect to PEOPLEDB and export all users without the PROF_MAIL.

I was able to see the user list and compare with the display name.

The java program print the results on eclipse console.

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
 
public class DAO {
 
    public static void main(String[] args) {
        String jdbcClassName=”com.ibm.db2.jcc.DB2Driver”;
        String url=”jdbc:db2://mydb2server:50000/PEOPLEDB”;
        String user=”lcuser”;
        String password=”password”;
 
        Connection connection = null;
        try {
            //Load class into memory
            Class.forName(jdbcClassName);
            //Establish connection
            connection = DriverManager.getConnection(url, user, password);
           
            Statement stmt = connection.createStatement();
            ResultSet rs = stmt.executeQuery(“SELECT PROF_UID, PROF_SOURCE_UID, PROF_DISPLAY_NAME FROM “EMPINST”.”EMPLOYEE” WHERE PROF_MAIL IS NULL”);
            while (rs.next()){
                    String x = rs.getString(“PROF_SOURCE_UID”);
                    String y = rs.getString(“PROF_UID”);
                    System.out.println (“$dn:”+x);
                    System.out.println(“uid:”+y);
                    System.out.println(“.”);
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally{
            if(connection!=null){
                System.out.println(“Exported successfully.”);
                try {
                    connection.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
 
    }
 
}

If you use IBM Notes and do not saw this error, don´t panic, soon or late you will see.

1. Create a new Location Document in the local names.nsf.
 This forces Notes to not use the cached “last known good address” which is kept even with a reboot.

2. Use a simple formula agent to clear the fields in the Location Document, as follows:

FIELD $SavedAddresses := "";
FIELD $SavedPorts := "";
FIELD $SavedServers := "";
FIELD $SavedDate := "";
FIELD $SavedTriedDate := "";

NOTE: For testing purposes, you can insert the following parameter in the notes.ini file: dont_use_remembered_addresses=1

This parameter is read by the Notes client ONLY during startup. Its purpose is to test server searches. The parameter does not clear the address cache and is not designed to do so. It causes Notes to not load remembered paths stored in the cache. Use this for testing purposes only since it is not a permanent solution to these errors.

The information is from TN 1100207

With Digital Data Connector, your website designers can use Web Content Manager presentation components to generate the web page markup for your external data. They can use all the Web Content Manager data management facilities for managing your external data visualizations. These facilities include content syndication, version handling, workflow, and targeting. They can manage the design components in the same way as your other Web Content Manager content and design components. The major benefits of this approach include the following:

  • Your Web Content Manager designers can fully control the visual appearance of the integrated data.
  • They can visualize the external data in the same way in which they visualize data that is stored in Web Content Manager.
  • As a result, they can visualize the external data in a way that is consistent with the corporate design of your overall website by reusing existing Web Content Manager components.
  • To quickly adjust existing visualizations of your data or create new visualizations for new kinds of external data, you no longer need the help of software developers or the IT department. Your website designers can start working on the presentation templates directly from your portal pages that show the data. They use the inline editing capabilities of Web Content Manager.
  • Your website designers make updates to the Web Content Manager design components in project scope. This way, they can keep updates in draft stage until all updates to the project are completed, approved, and finally published.

Documentation on V8.0.0.1 Wiki

Sample on OpenNTF

Just for me (beginner using Notes on MAC) this TN show basic things