mySphere Posts

Share

It is not so frequent for me to build Windows 2008 images. Yesterday when i made the Windows VM an add a second disk the error message above was displayed

Windows Server: The operation failed to complete because the Disk Management console view is not up-to-date

Context:
 
I was trying to format a newly added disk on Windows Server 2008 R2 however, couldn’t format the disk or assign a drive letter to the disk.

The Server was a Virtual Machine hosted on a VMware Workstation 10. I tried to refresh the disk management console and even did restart the server however, same error persisted.

To my suprise, there were no warnings or erros in event viewer for this issue. Since it was a virtual machine, I removed the virtual disk and added a new virtual disk on the VM but in vain. No luck at all, error didnt vanish.

Finally to fix this issue, I had to use diskpart and format the disk.

Complete instructions here

Share

Moderation is a component in IBM® Connections  that allows moderators and Community owners to better control what is displayed in certain applications. Moderators can review Blogs, Forums, and Files content before it is posted to Connections, and manage content after it is added to IBM Connections. This article provides a detailed introduction to Connections Moderation configurations so you can better understand and use it.

http://www-10.lotus.com/ldd/lcwiki.nsf/dx/Using_the_Moderation_application_in_IBM_Connections_4.0

Share

One of our Connections customers has the following as a requirement:

Inactivate users based on LDAP GROUP

Solution

The solution I found was to create a text file based on LDAP group and run sync_all_dns.sh command and then run the command delete_or_inactivate_employees.sh

The java program

The class bellow read the LDAP and verify if the user is a member of the group. I not found good information on how to use the ITDS API to check if a user is a member of a group, so i need to do it “manually”.

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.Properties;
import javax.naming.ldap.InitialLdapContext;

import javax.naming.*;

import javax.naming.directory.*;

public class GroupSearch

{

     public static boolean compara(String nome, ArrayList grupo) {

             
             boolean blnFound = grupo.contains(nome.toUpperCase());
             
             return blnFound;
     }

     @SuppressWarnings({ “rawtypes”, “unchecked” })
     public static void main(String args[])

     {

             InitialLdapContext ctx = null;

             Hashtable hashtable null;
             
             Properties prop = new Properties();
               
                             
             try

             {
                     //load a properties file
                 prop.load(new FileInputStream(“config.properties”));

            //get the property value and print it out
       
                 String url = “ldap://”+prop.getProperty(“server”);
                 String username = prop.getProperty(“username”);
                 String password = prop.getProperty(“password”);
                 String base = prop.getProperty(“base”);
                 String groupName = prop.getProperty(“groupFilter”);
                 String userFilter = prop.getProperty(“userFilter”);

                     // Set up LDAP config settings

                     hashtable = new Hashtable();

                     hashtable.put(“java.naming.ldap.version”, “3”);

                     hashtable.put(“java.naming.factory.initial”,
                                     “com.sun.jndi.ldap.LdapCtxFactory”);

                     hashtable.put(“java.naming.security.authentication”, “Simple”);

                     hashtable.put(“java.naming.referral”, “follow”);

                     hashtable.put(“java.naming.provider.url”, url);

                     hashtable.put(“java.naming.security.principal”, username);

                     hashtable.put(“java.naming.security.credentials”, password);

                     // Make LDAP connection

                     ctx = new InitialLdapContext(hashtable, null);

                     System.out.println(“Connection established”);

                     // Set up Search Controls”

                     SearchControls sc = new SearchControls();
                     SearchControls gc = new SearchControls();

                     sc.setSearchScope(SearchControls.SUBTREE_SCOPE);
                     gc.setSearchScope(SearchControls.SUBTREE_SCOPE);
                     
                     sc.setReturningAttributes(new String [] { “uid”,”sn”,”cn”});

                     // perform search on directory
                     System.out.println(“Searching the directory please wait.”);
                     NamingEnumeration results = ctx.search(base,userFilter,sc);
                     NamingEnumeration groupResult = ctx.search(base,groupName, gc);
                     
                     // loop until we have gotten all entries returned by search

                     // Arraylist with group members

                     ArrayList members = new ArrayList();
                     while (groupResult.hasMore()) {

                             SearchResult gr = (SearchResult) groupResult.next();
                     

                             Attributes gattrs = gr.getAttributes();
                             NamingEnumeration gattrsList = gattrs.getAll();

                             while (gattrsList.hasMore()) {

                                     Attribute gatribute = (Attribute) gattrsList.next();
                                     NamingEnumeration values = gatribute.getAll();

                                     while (values.hasMore()) {

                                             members.add(values.next().toString().toUpperCase());

                                     }

                             }

                     }
                     // dump users to file
                     System.out.println(“File createdrn BUILD SUCCESSFUL”);
                     File file = new File (“delete_or_inactivate_employees.in”);
                     if (!file.exists()){
                             file.createNewFile();
                     }
                     FileWriter fw = new FileWriter (file.getAbsoluteFile());
                     BufferedWriter bw = new BufferedWriter(fw);
                     
                     while (results.hasMore())

                     {

                             // get the SearchResult object

                             SearchResult sr = (SearchResult) results.next();
                             Attributes attributes=sr.getAttributes();
                             Attribute shortName = attributes.get(“sn”);
                             //ouptput DN of entry
                             
                             
                             String nome = sr.getName().toString()+”,”+base;
                             Attribute userName = attributes.get(“uid”);
                         String usuario = userName.toString();
                         
                                //IF A USER ARE ON THE GROUP WRITE TO FILE                                
                             if (compara(nome,members)){
                                             
                                     String dn = usuario.replace(“uid: “, “$dn:uid=”)+”,”+base+”rn”;
                                     String cnshortName.toString().replace(“sn: “,”uid:”)+”rn”+”.”+”rn”;
                                     bw.write(dn+cn);                
                             }
                                     
                     }

                     bw.close();        
                                             
                     // Close the connection to LDAP

                     ctx.close();

             }

             catch (Exception ex)

             {

                     System.out.println(“EXCEPTION = ” + ex.toString());

             }

     }

}

Configuration

The file config.properties set the parameters. GroupFilter is the filter for the desired group and userFilter is the filter to search for users on the ldap server. This filter must be the same used on the profiles_tdi.properties to avoid problems.

This file must be on the same folder of ExportLdap.jar

The file must have the following lines:

Server=
username=
password=
base=
groupFilter=
userFilter=

I put the files ExportLdap.jar and config.properties on /Wizards/TDIPopulation/linux/TDI

For example :

server=yourldapserver:389
username=cn=root
password= base=
groupFilter=(&(objectclass=groupOfUniqueNames)(cn=DenyGroup))
userFilter=  (&(uid=*)(objectclass=inetOrgPerson))

Running the solution

Put the files config.properties and ExportLdap.jar in the folder:

/Wizards/TDIPopulation/linux/TDI

Run the  script sync_all_dns.sh

Run java –jar ExportLdap.jar

the program will genereate the file  delete_or_inactivate_employees.in

The final step run ./delete_or_inactivate_employees.sh script

Share

The IBM Web Content Manager Library Dependency Graph v1.0 (LDG1.0) is a portlet that visualizes your Web Content Libraries and their dependencies. The portlet allows you to see very quickly the relative size of a Web Content Library, as well as identify any interactions between your libraries. It even allows you to modify those interactions and dependencies between those libraries in place.

Features include:

  • Visualization of Web Content Libraries relative size.
  • Visualization of dependencies between Web Content Libraries.
  • View and alter references between libraries in place.
  • Delete multiple dependent libraries within a single operation.
  • Save Library Dependency Reports for later access.
Share

When trying to update a existing installation using IBM Installation Manager, the following message appears:
Error: The WebSphere® Application Server is currently in use. Please stop the server

I reboot the server and try again but no success.  Installation Manager show the message . I check the process using ps -ef | grep java and no java process are running.

The solution:

Delete the pid file on logsservername

Share

There are changes and enhancements to return receipt behavior on both outgoing and incoming mail messages.
For Notes client users, the administrator can configure the behavior through policies:

Image:What´s new in Policies for Domino 9.0

For Inotes clients the Return Receipt behavior is set via notes.ini settings:

 iNotes_WA_SendReturnReceipt=2  display prompt giving user the choice whether to acknowledge the return receipt
 iNotes_WA_SendReturnReceipt=1  always send return receipt – default behavior
 iNotes_WA_SendReturnReceipt=0  do not send return receipt

Share

Today i started my Domino server and the HTTP task doesn´t loaded. The console showed a message indicating the port 80 is in use.

I shutdown the server and search for a process listening on port 80 but how?

Use netstat -ano on the command pronpt.  

Image:How to find which process is using a TCP Port in Windows

You will see thad the PID 7152 is using the TCP port 80.  

Go to taskmanager and add a column to view the pid . I discover that skype was using the port 80. So i start skype after Domino starts.

Image:How to find which process is using a TCP Port in Windows

Share

In a default IBM® WebSphere® Portal V 8.0.0.1 full or upgrade installation, the social rendering features are not installed. Portal administrators can enable social rendering.

Note: This version of social rendering does not work with remote web content rendering by using WSRP. For more detailed information about performing remote rendering of web content see Performing remote rendering with WSRP and the web content viewer in the IBM Web Content Manager documentation.

  • Enabling social rendering
    If you ran the ConfigEngine enable-new-8001-features configuration task already, you do not need to perform this procedure. The social rendering feature and application objects are installed with IBM WebSphere Portal Version 8.0.0.1, but the feature is not enabled. To enable social rendering, you run the action-enable-social-rendering configuration task. By alternative, you can also enable all IBM WebSphere Portal Version 8.0.0.1 features by using a single, common configuration task.

Setting up social rendering

Share

WebSphere use a lot of ports. To avoid conflicts or just to remeber check this article

Share

I found this tip here. It´s simple just use the url  http:///homepage/web/jsp/about.jsp.

The version is in the footer of the page

Share

IBM Domino Web Administrator (webadmin.nsf) has two cross-site scripting vulnerabilities and one cross-site request forgery of low CVSS score.  These vulnerabilities do not exist in the Domino Administrator client. To prevent the potential for these attacks, use the Domino Administrator client or mitigations listed below.  Domino Web Administrator is deprecated.

IBM Domino Web Administrator (webadmin.nsf) has multiple cross-site scripting vulnerabilities of low CVSS score.  These vulnerabilities do not exist in the Domino Administrator client.  To prevent the potential for these attacks, migrate away from Domino Web Administrator.  Instead use the Domino Administrator client or the mitigations listed below.

Domino Web Administrator is being deprecated. No new functions will be added and IBM Support will not escalate issues reported.  Customers are advised to use the fully functional Domino Administrator client.

More information TN 1652988

Share

Last week i found this new feature. You need Portal/WCM  8.0.0.1

Inline editing enables users with edit access to a content item to edit that item from within the web page itself instead of using the authoring portlet. This feature is available when you display content with a web content viewer portlet.