Wednesday, July 21, 2010

User could not connect to the selected database.

Description:


When installing repository 6.6 you receive following message: User could not connect to the selected database.


Environment:


- windows 64-bit 2008 std server
- SQL 64-bit 2008 std 
- EMC content server 6.6


Problem:


LAST_BEAN_MESSAGE=An exception occured in: DiWAServerTestDatabaseConnection, beanID: TestSqlAdminConnection - Error  - User could not connect to the selected database. Detailed error:
Connect failed!
Error code = -1
Status from database system is:  STATE=IM002, CODE=0, MSG=[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
ERROR(-1) 
 Please read error log C:\Documentum\product\6.6\install\dmadmin.ServerConfigurator.log for more information.

Resolution:

- Check if the database version is supported
- Install 32-bit version of command line utilities - even if you are using 64-bit installation of SQL 

Wednesday, June 30, 2010

How to send mail in java

The JavaMail API can found here.
You need 2 jars : mail.jar and activation.jar.
It's a good idea to read the JavaMail FAQ.


Simple email

import javax.mail.*;
import javax.mail.internet.*;

import java.util.Properties;

class SimpleMail {
    public static void main(String[] args) throws Exception{
      Properties props = new Properties();
      props.setProperty("mail.transport.protocol", "smtp");
      props.setProperty("mail.host", "mymail.server.org");
      props.setProperty("mail.user", "emailuser");
      props.setProperty("mail.password", "");

      Session mailSession = Session.getDefaultInstance(props, null);
      Transport transport = mailSession.getTransport();

      MimeMessage message = new MimeMessage(mailSession);
      message.setSubject("Testing javamail plain");
      message.setContent("This is a test", "text/plain");
      message.addRecipient(Message.RecipientType.TO,
           new InternetAddress("elvis@presley.org"));

      transport.connect();
      transport.sendMessage(message,
          message.getRecipients(Message.RecipientType.TO));
      transport.close();
    }
}
HTML Email

import javax.mail.*;
import javax.mail.internet.*;

import java.util.Properties;

class SimpleHTMLMail {
    public static void main(String[] args) throws Exception{
      Properties props = new Properties();
      props.setProperty("mail.transport.protocol", "smtp");
      props.setProperty("mail.host", "mymail.server.org");
      props.setProperty("mail.user", "emailuser");
      props.setProperty("mail.password", "");

      Session mailSession = Session.getDefaultInstance(props, null);
      Transport transport = mailSession.getTransport();

      MimeMessage message = new MimeMessage(mailSession);
      message.setSubject("Testing javamail html");
      message.setContent
         ("This is a test <b>HOWTO<b>", "text/html; charset=ISO-8859-1");
      message.addRecipient(Message.RecipientType.TO,
         new InternetAddress("elvis@presley.org"));

      transport.connect();
      transport.sendMessage(message,
         message.getRecipients(Message.RecipientType.TO));
      transport.close();
    }
}
Email with attachment

import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.FileDataSource;
import javax.activation.DataHandler;

import java.util.Properties;

class SimpleMailWithAttachment {
    public static void main(String[] args) throws Exception{
      boolean debug = false;
      Properties props = new Properties();
      props.setProperty("mail.transport.protocol", "smtp");
      props.setProperty("mail.host", "mymail.server.org");
      props.setProperty("mail.user", "emailuser");
      props.setProperty("mail.password", "");

      Session mailSession = Session.getDefaultInstance(props, null);
      mailSession.setDebug(debug);
      Transport transport = mailSession.getTransport();

      MimeMessage message = new MimeMessage(mailSession);
      message.setSubject("Testing javamail with attachment");

      MimeBodyPart textPart = new MimeBodyPart();
      textPart.setContent("<h1>Check attachment</h1>", "text/html");

      MimeBodyPart attachFilePart = new MimeBodyPart();
      FileDataSource fds =
          new FileDataSource("SimpleMailWithAttachment.java");
      attachFilePart.setDataHandler(new DataHandler(fds));
      attachFilePart.setFileName(fds.getName());

      Multipart mp = new MimeMultipart();
      mp.addBodyPart(textPart);
      mp.addBodyPart(attachFilePart);

      message.setContent(mp);
      message.addRecipient(Message.RecipientType.TO,
          new InternetAddress("elvis@presley.org"));

      transport.connect();
      transport.sendMessage(message,
          message.getRecipients(Message.RecipientType.TO));
      transport.close();
    }
}

Tuesday, June 15, 2010

Documentum 6.6 is relesed

Amongst visible new functionalities there are two important ones:
- SSO kerberos support
- 64bit Windows 2008 support

Other new functionalities are as follows:

Release Highlights
BAM
• Improved Queue monitoring
• New option for configuring Search filters
• Daylight Savings setting

Composer
• Version tracking
• XML Application editor
• Performance improvements
• Logging improvements
• Overwrite on import
• Improved error handling
• TCM Reference Project ships with Composer
• Improvements to import process for BAM Reports and TaskSpace Applications
• Change in behavior when installing Workflow Templates

Content Intelligence Services
• Support for new Intellisophic taxonomies

Content Server
• Support for ATMOS Stores
• Minimum object owner permissions
• Kerberos support
• True NULL support (Database Footprint Reduction)
• DQL language enhancements
• High-Volume Server enhancements
• Java Method Server high availability
• Improved shutdown and restart of Workflow Agent

Documentum Administrator
• Java Method Server configuration
• Graceful shutdown of a workflow agent
• Job scheduling improvements
• Administration methods for login tickets

IRM Services for Documentum 6.6
New certifications
• Red Hat Enterprise Linux 4.8 (IA32, x64)
• Red Hat Enterprise Linux 5.4 (IA32, x64)
• SUSE Linux Enterprise Server 10 SP3 (IA32, x64)
• SUSE Linux Enterprise Server 11 (IA32, x64)

New features available through IRM Server 4.7
• Outlook 2007 support
• Protect email attachments along with messages
• Windows 7 support for all plug-ins
• Enable print rights for owners
• Display effective policy in PDF plug-in
• Display offline permission and lease days remaining in plug-ins

TaskSpace
• Relationship management
• Form validation error placement
• Performance improvements

Webtop
• Kerberos support
• DRLs resolve properly even when old document versions are deleted from the repository
• Ability to sort groups and users within groups
• Conditional Value Assistance in Date input variable

MTS — 64–bit support
• Certified to run on 64-bit hardware both in 32-bit emulation mode and with full 64-bit capability.

My Documentum Offline
• Support for Content Server Kerberos-Based Plug-in
• Section 508 accessibility improvements via 3rd Party Audit and Voluntary Product Accessibility Template (VPAT)
• Windows 7/Windows XP SP3

My Documentum for Microsoft Outlook
• Support for Content Server Kerberos-Based Plug-in
• Support for Conditional Value Assistance
• Section 508 accessibility improvements via 3rd Party Audit and Voluntary Product Accessibility Template (VPAT)
• New client certifications - Windows 7/Windows XP SP3/Outlook 2007 SP2

Wednesday, May 20, 2009

How can I tell if the BOF Global Registry is configured correctly?

Symptoms

Need to troubleshoot the BOF user setup to allow connecting to a Global Repository/ Global Registry.

Cause

Troubles using BOF (TBOs/SBOs) or using version 6 web clients and be caused due to incomplete or incorrect configuration.

Resolution

To use BOF (TBO/SBO) requires that at least one of your Repositories be designated as the BOF Global Registry. Each Application Server must identify the BOF Global Registry it will use via the dfc.properties file.
 
There are two parts to setting up the BOF Global Registry:
1) making sure the "dm_bof_registry" Repository user is active.
2) making sure that the dfc.properties file on your Application Server(s) are correctly referencing the Repository that is acting as the BOF Global Registry and has the listed the correct user information for the dm_bof_registry user.
 
1. Verifying that a Repository is the BOF Global Registry:
===================================
-Using Documentum Administrator (DA), log into the Repository that should be the BOF Global Registry, using an administrator account.
-In Classic view, in the left navigation tree, click on the Administration node. In the page that appears, under the heading "User Management", click on "Search for Users".
-Search for the following user: 'dm_bof_registry" (enter this value next to the User Name label, and click Search).
-View the properties of this user "dm_bof_registry" (click the (i) icon).
-Make note of the user's 'State' and 'User Login Name'.
If the user State is 'Inactive', then this Repository is not the BOF Global Registry. To make this Repository the BOF Global Registry, follow Steps 2-4.
If the BOF Global Registry user is 'Active', you need to verify some information in your dfc.properties file on your Application Server(s).
From the Application Server machine, locate the dfc.properties file.
Open this file in any text editor. Ensure the following three attributes are set in the dfc.properties file:
  dfc.bof.registry.repository =
  dfc.bof.registry.username =
  dfc.bof.registry.password =
Without the above three entries, the BOF Global Registry will not be set.
If these entries are missing or values are not complete, you will need to add and populate these values.  See the following steps for more details.
 
2. Enabling the BOF Global Registry
===================================
The following section outlines the steps required to enable the BOF Global Registry using the Documentum Administrator (DA) application.
-Log into Documentum Administrator (DA) as an Administrator in the Repository where you want to enable TBO/SBO functionality.
-In Classic view, in the tree, click on the Administration node. In the page that appears, under the heading "User Management", click on "Search for Users".
-Search for the following user: 'dm_bof_registry" (enter this value next to the User Name label, and click Search).
-View the properties of this user 'dm_bof_registry" (click the (i) icon).
- The properties page will appear. From the properties page, ensure the following options and values are set to the following:
  User State: Active
  User Source: Inline Password
  Restrict Folder Access: System
- For security purposes, change the default password (make a note of the new password).
- Click OK on the 'dm_bof_registry' user 'Properties' page.
 
3. Verifying the dfc.properties file
====================================
On each Application Server, locate the dfc.properties file. Open this file in any text editor. Ensure the following three attributes are set in the dfc.properties file:
  dfc.bof.registry.repository =
  dfc.bof.registry.username =
  dfc.bof.registry.password =
Without the above three entries, the BOF Global Registry will not be set.
Note: The password supplied in the entry 'dfc.bof.registry.password' must be consistent with the password provided when setting the 'dm_bof_registry' password via Documentum Administrator (DA). The password must also be encrypted. For information on how to encrypt the password, see the next section in this document, entitled 'Encrypting Passwords for the dfc.properties file'.
 
4. Encrypting Passwords for the dfc.properties file
===================================================
The password provided in the 'dfc.properties' file must be encrypted. A utility is provided to encrypt this password. The following section outlines the steps required to invoke the password utility program to encrypt a password.
From a command prompt, execute the following:
    java com.documentum.fc.tools.RegistryPasswordUtils
Note- If you are using java methods that use the TBOs/SBOs then you will need the following entries on the %DM_Home/config/dfc.properties file as well
  dfc.bof.registry.repository =
  dfc.bof.registry.username =
  dfc.bof.registry.password =

Tuesday, May 19, 2009

Predstavitev sistema za upravljanje z dokumenti

Primarni cilj kateregakoli podjetja je ustvarjanje dobička in podjetje tako vedno išče nove načine, kako postati uspešnejše od svoje konkurence. V takem okolju je pri odločanju pravilna in pravočasna informacija izjemno pomembna. Sistemi za upravljanje razpoložljivih sredstev (čoveških, finančnih, …) so del informacijskih sistemov odkar ti sistemi obstojajo, potrebe po teh sistemih pa so se spreminjale v okviru organizacijskih sprememb.

Velika večina teh sistemov, ki so na področju informacijskih tehnologij v podporo odločanju imeli vodilno vlogo, so bili namenjeni beleženju ter upravljanju s strukturiranimi podatki. Taki sistemi se sedaj vodijo pod imenom Sistemi za celovito podporo poslovanju (Enterprise Resource Planing - ERP). ERP sistemi so eden izmed ključnih informacijskih sistemov, ki so se vzpostavili v devetdesetih letih in predstavljajo hrbtenico nove ekonomije. Sistem združuje informacije, ki jih dajejo transakcijski procesni sistemi, sistemi za podporo odločanju in izvršilni informacijski sistemi.

Problem, ki se pri teh sistemih pojavlja je ta, da se ti sistemi ukvarjajo primarno s strukturirani podatki in tako zanemarjajo velik vir informacij, ki ga predstavlja zbirka neurejenih dokumentov. Tako managerju ne dajejo odločilne prednosti pri odločanju, saj zaradi nepopolnega pretoka informacij razpolaga le z omejeno količino podatkov. Prav lahko se zgodi, da je ideja za novo storitev, ki bi prinesla veliko dodano vrednost, napisana nekje v nekem dokumentu na osebnem računalniku inženirja in tako ne bo nikoli zaživela v svoji polni ideji.

ECM tehnologija omogoča kreiranje, varno shranjevanje, upravljanje, distribucijo in objavljanje digitaliziranih dokumentov. Tak sistem se ne ukvarja s »številkami« temveč bolj z »besedami«, nestrukturiranim podatkom poizkuša vpeljati neka pravila, jih osmisliti - strukturirati in tako omogočiti lažji dostop do informacij. Sodobno poslovanje zahteva učinkovito delo z dokumentarnim gradivom. Digitalizacija vseh vrst papirnate dokumentacije ter sistemi za upravljanje in arhiviranje dokumentov zagotavljajo, da so dokumenti varno shranjeni, hitro dostopni in na voljo samo pooblaščenim osebam.

Strukturirane in nestrukturirane informacije

Po nekaterih virih je nestrukturiranih dokumentov v organizaciji povprečno okoli 90%, kot je razvidno na sliki. Da bi lahko razložili EMC tehnologije in njihovo uporabnost pri odločanju na podlagi nestrukturiranih podatkih, je potrebno najprej razumeti razliko med strukturiranimi in nestrukturiranimi podatki. Potrebno je tudi razumeti, zakaj je upravljanje nestrukturiranih informacij tako težko.

Strukturirani podatki so podatki, ki so organizirani v tabele in se dajo sorazmerno lahko urejevati in preoblikovati, tako da lahko iz informacij hitro dobimo zaželeno informacijo. Nestrukturirani podatki pa se za razliko od strukturiranihne ne dajo tako lahko organizirati in urejevati. Temeljna razlika se kaže v osnovnem podatkovnem modelu, ki je potreben pri analizi strukturiranih in nestrukturiranih podatkov, kar kaže tudi na uporabo popolnoma drugih tehnologij pri delu z njimi. Upravljanje s plačami, potrjevanje računov, kontrola inventarja in finančna poročila se močno zanašajo na tehnologijo upravljanja s strukturiranimi podatki. Takrat, ko se pojavijo nestrukturirani podatki v obliki dokumentov in slik, pa taki sistemi pogosto odpovejo in ne služijo svojemu namenu. Tukaj vstopi na prizorišče ECM tehnologija, ki se ukvarja s problemom strukturiranja in upravljanja nestrukturiranih podatkov.

Orodja, ki ji običajno uporabljamo na delovnih mestih, kot so urejevalniki besedil, razpredelnic, prezentacij in slik imajo skupno to, da je produkt njihovega dela datoteka z nestrukturiranimi podatki. Prav tako je uporaba elektronske pošte vnesla ogromno količino nestrukturiranih podatkov v organizacijo, ki bi se morala upravljati z namenom po čim boljšem pretoku informacij, ki bi bili v pomoč pri odločitvah.

Tehnologije naprednih dokumentnih sistemov

ECM tehnologija je zastavljena tako, da je zgrajena iz med seboj različnih delov, informacijskih tehnologij, ki skupaj harmonično delujejo za zagotavljanje smotrnega življenjskega cilja dokumenta. Spremljajo tok dokumenta od njegovega kreiranja, uporabe, arhiviranja in na koncu možnega izbrisa iz arhiva. Poleg tega pa omogoča tehnologija možnost iskanja, upravljanja, distribuiranja in sodelovanja med uporabniki dokumentov.

Ker gre za tako imenovane »enterprise« rešitve, je rešitev centrelno implementirana in kot taka potrebuje malo ali skoraj nič nameščene programske opreme na računalniku uporabnika. Potrebuje se le internet iskalnik (npr. Internet Explorer) ter dostop do centralnega strežnika, kjer je nameščena ECM rešitev.

Ravnanje z dokumenti (Document management)

Kaj dejansko pomeni ravnanje z dokumenti? Predstavljajmo si organizacijo, kjer se na dnevni bazi kreira več tisoč dokumentov. Dokumenti se nato preko elektronske ali navadne pošte pošiljajo nadrejenim, ki jih uredijo, dopolnijo ali pa prepošljejo drugim urejevalcem, ki nato spet dodajo v dokument svoje popravke. Na koncu se znajdemo pred dejstvom, da po organizaciji kroži velika količina istih dokumentov, ki pa so vsebinsko lahko zelo različni. To ima lahko zelo resne posledice za tako organizacijo.

Kot primer lahko navedem nezgodo, ki se je zgodila letalski družbi British Airways na letu # 5390. Z zamenjavo različnih servisnih knjig med servisom potniškega letala je prišlo do pomote, in sicer je serviser gledal napačno verzijo servisne knjige in tako namestil sprednje steklo v pilotski kabini z napačnimi vijaki. Ta napačna odločitev je imela za posledico izgube prednjega stekla med letom in skorajšnje izgube življenj potnikov na tem letu.

Primarna funkcija ECM sistemov je centralizirano ravnanje z dokumenti - tako da se upoštevajo verzije dokumentov ter njihov življenjski cikel od nastanka, pa do arhiviranja ali končnega uničenja – izbrisa dokumenta.

Zajem dokumentov (Content capture)


Zajem dokumentov predstavlja prvo fazo v procesu upravljanja z dokumenti. Vključuje zbiranje, izpopolnjevanje vsebine in digitalizacijo dokumentov. Posebni sistemi za zajem so primerni predvsem za srednja in velika podjetja, kjer je potrebno upravljanje z večjimi količinami papirnate dokumentacije.


Ravnanje z arhivskim gradivom (Archiving)


Dolgoročno hranjenje in arhiviranje dokumentov je v primerjavi s klasičnim načinom shranjevanja podatkov varnejše, saj se podatki hranijo na treh različnih lokacijah, ki so med seboj oddaljene več kot 100 kilometrov. Tako ni tveganja, da se bo kateri od pomembnih podatkov izgubil ali poškodoval.

Ravnanje s poslovnimi procesi (Business process management)

Upravljanje s tokom dokumentov znotraj organizacije zagotavlja varno uporabo spravljenih dokumentov in omogoča stalen nadzor nad tokom dela z dokumenti: kdaj, kdo, kaj in kolikokrat je kaj spremenil in katera različica je bila poslana naprej. Poleg zgledno in pregledno urejene strukture skladišča pisarniških dokumentov imajo sistemi še napredno funkcijo določanja pravic za dostop in upravljanje dokumentov.


D6 installation hangs at Global Registry Creation

This solution for error works also for 6.5 content server.

Symptoms

installed multiple docbases without problem, but first (global registry) docbase got corrupted (in this case due to DAB) and was uninstalled.  This caused dm_bof_registry issues for all the current docbases and any others that were installed.
 
Cause
Removal of the global registry repository causes an issue with the dm_bof_registry user on all the docbases as it is no longer in existance.
 
Resolution
change the dm_bof_registry to point to one of the other docbases is the best resolution.  But, in this instance the customer removed all the docbases already and was unable to install any more docbases due to the dm_bof_registry install step was hanging on any new install (which was cancelled, and thus the docbase had no dm_bof_registry user).
 
Cleaned up the system again, and this time when the server configure step got to the Global Registry step selected "Do Later"...the install continued this time.  After the install verified taht the dm_bof_registry account existed, turned it active (set user_state to 0).  Then did the java password encryption (after setting the dm_bof_registry password), and then updated the dfc.properties correctly.   At this point DA could be installed correctly and all future docbases installed correctly on the server.

Tuesday, September 16, 2008

EMC Captiva & Documentum & SAP integration

Short video designed to preview functionalities of EMC Captiva, Documentum and SAP integration. Document is scanned, than transferred to Documentum repository. After that becomes part of SAP workflow due to Content services for SAP job on Documnetum server.
Metadata is transferred seamlessly between those three systems.