Skip to main content link. Accesskey S
  • HCL Logo
  • HCL Connections On-Premise Wiki
  • THIS WIKI IS READ-ONLY.
  • HCL Forums and Blogs
  • Home
  • API Documentation
Search
Community Articles > Best practices > Migrating Quickr Domino to Connections CCM
  • Share Show Menu▼

Recent articles by this author

Migrating Quickr Domino to Connections CCM

The Quickr Domino to Connections 5.0 migration tool is released and this document is designed to bring a customer through the migration with as much ease as possible. The Quickr Domino to Connections 5.0 migration tool is released and this document is designed to bring a customer through the ...
Community articleMigrating Quickr Domino to Connections CCM
Added by ~Rebecca Opretherader | Edited by ~Rebecca Opretherader on September 9, 2016 | Version 21
  • Actions Show Menu▼
expanded Abstract
collapsed Abstract
The Quickr Domino to Connections 5.0 migration tool is released and this document is designed to bring a customer through the migration with as much ease as possible. The Quickr Domino to Connections 5.0 migration tool is released and this document is designed to bring a customer through the migration with as much ease as possible.
Tags: Quickr, migration, connections 5.0
Aim:

The Quickr Domino to Connections 5.0 migration tool is released and this document is designed to bring a customer through the migration with as much ease as possible.

Table of Contents:

Prerequisites:

Configuration:


Qpconfig.xml

Notes.ini

java.policy

FileNet Security changes

Changing the FileNet Admin user to an LDAP user


Running a test migration:

Migrating a test Form

Basic Mapping files

Migrating a test Place

Migrating test documents


Mapping files

Mapping Person and Groups to UNID for Domino

Mapping Person to Person for different LDAPs Domino to TDS


Running the migration

Understanding the environment

Migrating a Custom Form

Migrating a Place

Update FileNet to limit the reporting of the migration in Activity Streams


Troubleshooting

Prerequisites:

1. The Fixpack 47 or above has been installed on the Quickr Domino Server.
2. Validate the Connections and Quickr Domino Servers are up and running and that the Quickr Domino Server can connect to the Connections server over the network using http and https..
3. Validate that the Migration User and standard users can create Communities and CCM libraries and folders and add files to documents.
4. Validate that the Migration User is from LDAP and can access both Connections and FileNet successfully. The user must also be a FileNet administrator. If this is not the case then see section Changing the FileNet Administrator user to an LDAP user on how to remedy this.
5. Fill out the following Questionnaire to give an overview of the migration.

Questionnaire -

Quickr Domino:

What Operating System is the Quickr Domino on?

What version of Domino is the Quickr Domino server 8.51 or 8.53? ( Should be at Domino 8.5.3FP1 or Domino 8.5.1FP5 )

What is the current version of the Quickr Domino server including Hotfix number? ( Should be at Quickr Domino Hot Fix 47 - For Domino 8.5.1 or Quickr Domino Hot Fix 47 - For Domino 8.5.3 )

What type of LDAP is used? and is it the same LDAP directory that Connections uses

Give an example of the customer's LDAP structure e.g. CN=test name,OU=Group,O=Country ?

Connections:

Is this a new installation of Connections? How long has Connections been installed?

What Operating System is the Connections Server on,

Is CCM installed on the same operating system?

What is the name of the FileNet Administrator and is it suitable for the users to receive emails from this user, view content in the Activity Stream from this user or see that Quickr Docs with no Owner will now have this person as the owner..

The FileNet administrator must be listed in LDAP and be a FileNet Administrator.

What type of LDAP is used? and is it the same LDAP directory that Quickr uses

Give an example of the customer's LDAP structure e.g. CN=test name,O=Country ?

Data:
What is the overall size of the Quickr data?
How many Places are to be migrated?
What is the type of content to be migrated, Libraries\Blogs\Wiki\Tasks

What is the type of documents to be migrated? Uploads\Pages\ Imported Files \ Microsoft Forms

Is there any Custom Forms?

Is there secure content in the Places? Folder ACL's \ Document ACL's \ Rooms with partial Member lists

Is there any Customisations, if there is then please describe them.

Misc:

What is the location of the servers. it is better to have them close to each other as there will be a lot of traffic between them?
Mapping files: who is going to create the mapping files?

Configuration:

Qpconfig.xml



Required settings:

person_ldap_dump_file
e.g.
 <person_ldap_dump_file>C:\LDAPdump\collect_user.dns</person_ldap_dump_file> 

This element is a required parameter indicating the location of the person LDAP dumping file, which contains text lines of the form A;B, where A is the user dn value of the user in Connections, B is the user uid required by CCM ACL Rest API, ";" is the separator.
For Example, the following snippet of the person LDAP dump file contains the user dn-->user uid mapping relation for Domino LDAP ( more on this in sections Mapping files with no TDI needed & Mapping Files ):
CN=Testing User1,OU=Users,O=901;C0A24B06-77F4-5E83-8025-7D250037C029
CN=Testing User1,OU=Users,O=901;4B8B3F89-9EC1-2092-8025-7D250037CBA4

group_ldap_dump_file
e.g.
 <person_ldap_dump_file>C:\LDAPdump\collect_groups.dns</person_ldap_dump_file> 

This element is a required parameter indicating the location of the group LDAP dumping file, which contains text lines of the form A;B, where A is the group dn value, B is the group uid required by CCM ACL Rest API, ";" is the separator.
For Example, the following snippet of the group ldap dump file contains the group dn-->group uid mapping relation for Domino LDAP( more on this in sections Mapping files with no TDI needed & Mapping Files )::
CN=Group1;742DCEB2-FC1E-FDC7-4825-78870035D0A3
CN=Group2;42D3E14B-CEF7-6F1C-4825-78870035D0AC
Note: The person ldap dumping file and group ldap dumping file need to be saved in "UTF-8" encoding.

expand_external_groups
e.g.
 <expand_external_groups enabled="true" max_depth="3" number_limit="100"/> 

It is advised to set this to True. This element specifies if a group with Owner access in a Quickr Domino Place then it should be expanded as individual person owners. If there exists a group with the owner role in QD place and this option is not enabled, then an exception will be throw, and this place will be skipped and not migrated.
"max_depth" attribute specifies how deep the nested groups should be extracted during the group expansion.
"number_limit" attribute specifies how many person member should be returned from the nested groups.

special_char_encoding_mode
e.g.
 <special_char_encoding_mode>underline</special_char_encoding_mode> 

This element specifies how to encode the special characters in folders and filenames. Only two encoding mechanism are supported, namely "urlencoding" and "underline", all other encoding mechanism will be ignored, and the file containing special chars in file name will not be migrated.
The special chars \ / : * ? " < > | [ ] will be substituted in accordance with the specified encoding mechanism. If "urlencoding" is specified, the special chars are encoded using URL encoding, as follows:
URLEncode

If "underline" is specified, the special chars will be substituted with "_".
ConnectionVersion
e.g.
 <ConnectionVersion enable="true" version="5.0CR2" defaultValue="$IC-T-I-a"/> 

This is only needed for Connections 5.0CR2 and newer, it is related to the authenticated users role within CCM.
"version" attribute specifies the Connections Version
"defaultValue" attribute specifies the token used for the Authenticated User Role. Use "$IC-T-I-a" for 5.0CR2 and newer.


Optional settings:
replace_second_cn_to_ou enabled
e.g.
 <replace_second_cn_to_ou enabled="true"/> 

Default ==> replace_second_cn_to_ou enabled="false"
This is needed when migrating a Quickr Domino server that is using TDS for it's LDAP, TDS stores users with a CN and after the user logs in then Quickr translates the CN to OU. For users who do not log in this translation does not happen, so a mixed environment occurs, enabling this setting handles this situation.

activeXDocuments
e.g.
 <activeXDocuments>true</activeXDocuments> 

Default ==> activeXDocuments>false
If there are activeX document in the Quickr Domino Place, then this needs to be enabled to migrate them correctly.

debugRoomName
e.g.
 <debugRoomName>PageLibrary8825798B00032868.nsf</debugRoomName> 

This is for debugging the ACL of one room in a Place. Add the room name into this setting, and the ACL of this room database will be printed in the console.log

combination_document_name
e.g.
 <combination_document_name enabled="true"/> 

Default ==> combination_document_name enabled="false"
After a migration, the attachment name will be used as the title of the document in CCM. If you want to preserve the original document title in Quickr, you can enable this setting, it will combine the document title and attachment name in the CCM document title.

ccm_owner_role
e.g.
 <ccm_owner_role>Editor</ccm_owner_role> 

This element is an optional parameter used to specify how to set the role element for owner in the Rest API atom feed in the post request sent to CCM. Currently, only "Editor" is acceptable value for this parameter.

domino_native enabled
e.g.
 <domino_native enabled="true"/> 

Default ==> domino_native enabled="false"
If the directory for Quickr Domino is Domino Native, please enable this setting.

hide_restricted_document_name enabled
e.g.
 <hide_restricted_document_name enabled="true"/> 

Default ==> hide_restricted_document_name enabled="false"
This parameter is only used when running the getrestrictedresourcelist command, if this parameter is enabled, the document name will not be displayed in the generated list to avoid leaking confidential information contained in the document name.

person_mapping_file
e.g.
 <person_mapping_file>c:\LDAPdump\usermapping.txt</person_mapping_file>  

This element is needed when Domino and Connections use different LDAPs.
It indicates the location of the person mapping file, which contains text lines of the form A;B, where A is the user dn value in QD LDAP server, B is the mapped user dn value in CCM LDAP server, ";" is the separator. This setting will cover the case that Quickr Domino connecting Domino LDAP/Native as directory, and the CCM connecting non Domino LDAP as directory.
For Example, the following snippet of the person mapping file contains the person mapping relationship from Quickr Domino LDAP to Connections AD LDAP:
CN=User 1,O=Acme;CN=User 1,OU=Users,DC=ibm,DC=com
CN=User 2,O=Acme;CN=User 2,OU=Users,DC=ibm,DC=com
Note2: Both person and group mapping files are needed together, do not add one on it's own.

group_mapping_file
e.g.
 <group_mapping_file>c:\LDAPdump\groupmapping.txt</group_mapping_file>  

This element is needed when Domino and Connections use different LDAPs.
It indicates the location of the group mapping file, which contains text lines of the form A;B, where A is the original group dn value in QD LDAP server, B is the mapped group dn value in CCM LDAP server, ";" is the separator. This setting will cover the case that Quickr Domino connecting Domino LDAP/Native as directory, and the CCM connecting non Domino LDAP as directory.
For Example, the following snippet of the group mapping file contains the group mapping relationship from Quickr Domino LDAP to Connections AD LDAP:
CN=Group1;CN=Group1,OU=Groups,DC=ibm,DC=com
CN=Group2;CN=Group2,OU=Groups,DC=ibm,DC=com
Note1: The person mapping file and group mapping file need to be saved in "UTF-8" encoding.
Note2: Both person and group mapping files are needed together, do not add one on it's own.



Notes.ini

JavaUserClassesExt

A change was made to the FixPack installer 8.5.*.44 that one entry gets added automatically and the rest of the lines get added but are commented out, So you need to uncomment these lines before we can run a migration,

So the original notes.ini looks like this:

JavaUserClassesExt=QPJC1,QPJC2,QPJC3,QPJC4,QPJC5,QPJC6,QPJC7,QPJC8,QPJC9,QPJC10,QPJC11,QPJC12,QPJC13,QPJC14,QPJC15,QPJC16,QPJC17,QPJC18,QPJC19

QPJC1=C:\dominoDir\quickplace.jar

QPJC2=C:\dominoDir\log4j-118compat.jar

QPJC3=C:\dominoDir\xsp\proxy\WEB-INF\lib\commons-httpclient-3.0.1.jar

QPJC4=C:\dominoDir\xsp\proxy\WEB-INF\lib\commons-codec-1.3-minus-mp.jar

QPJC5=C:\dominoDir\xsp\shared\lib\commons-logging.jar

QPJC6=C:\dominoDir\abdera-core-0.4.0-incubating.jar

QPJC7=C:\dominoDir\abdera-i18n-0.4.0-incubating.jar

QPJC8=C:\dominoDir\abdera-parser-0.4.0-incubating.jar

QPJC9=C:\dominoDir\axiom-impl-1.2.5.jar

QPJC10=C:\dominoDir\axiom-api-1.2.5.jar

QPJC11=C:\dominoDir\jaxen-1.1.1.jar

QPJC12=C:\dominoDir\poi-3.6.jar

QPJC13=C:\dominoDir\commons-io-1.4.jar

QPJC14=C:\dominoDir\commons-fileupload-1.2.jar

QPJC15=C:\dominoDir\odfdom.jar

QPJC16=C:\dominoDir\poi-ooxml-3.6-20091214.jar

QPJC17=C:\dominoDir\poi-ooxml-schemas-3.6-20091214.jar

QPJC18=C:\dominoDir\xmlbeans-2.3.0.jar

QPJC19=C:\dominoDir\dom4j-1.6.1.jar

After installing the FixPack 8.5.1.44 or later with the FixPack Installer, the notes.ini will be updated like so:

JavaUserClassesExt=QPJC1,QPJC3,QPJC4,QPJC5,QPJC6,QPJC7,QPJC8,QPJC9,QPJC10,QPJC11,QPJC12,QPJC13,QPJC14,QPJC15,QPJC16,QPJC17,QPJC18,QPJC19,QPJC20,QPJC21,QPJC22,QPJC23,QPJC24,QPJC25,QPJC26

QPJC1=C:\dominoDir\quickplace.jar

QPJC3=C:\dominoDir\xsp\proxy\WEB-INF\lib\commons-httpclient-3.0.1.jar

QPJC4=C:\dominoDir\xsp\proxy\WEB-INF\lib\commons-codec-1.3-minus-mp.jar

QPJC5=C:\dominoDir\xsp\shared\lib\commons-logging.jar

QPJC6=C:\dominoDir\abdera-core-0.4.0-incubating.jar

QPJC7=C:\dominoDir\abdera-i18n-0.4.0-incubating.jar

QPJC8=C:\dominoDir\abdera-parser-0.4.0-incubating.jar

QPJC9=C:\dominoDir\axiom-impl-1.2.5.jar

QPJC10=C:\dominoDir\axiom-api-1.2.5.jar

QPJC11=C:\dominoDir\jaxen-1.1.1.jar

QPJC12=C:\dominoDir\poi-3.6.jar

QPJC13=C:\dominoDir\commons-io-1.4.jar

QPJC14=C:\dominoDir\commons-fileupload-1.2.jar

QPJC15=C:\dominoDir\odfdom.jar

QPJC16=C:\dominoDir\poi-ooxml-3.6-20091214.jar

QPJC17=C:\dominoDir\poi-ooxml-schemas-3.6-20091214.jar

QPJC18=C:\dominoDir\xmlbeans-2.3.0.jar

QPJC19=C:\dominoDir\dom4j-1.6.1.jar

QPJC20=C:\dominoDir\log4j-1.2.14.jar

#QPJC21=C:\dominoDir\Jace.jar

#QPJC22=C:\dominoDir\stax-api.jar

#QPJC23=C:\dominoDir\xlxpScanner.jar

#QPJC24=C:\dominoDir\xlxpScannerUtils.jar

#QPJC25=C:\dominoDir\abdera-client-0.4.0-incubating.jar

#QPJC26=C:\dominoDir\jsoup-1.6.1.jar

Note: The QPJC2 line has been removed and QPJC2 is removed from JavaUserClassesExt.

The QPJC20 line has been added and QPJC20 has been added to JavaUserClassesExt.

QPJC21-26 have been added and are commented out, please remove the # character to load the .jar files.

ConnectionsServerURL

e.g. ConnectionsServerURL=https://connections.ibm.com
Note: that this uses https, The migration tool will use this url to connect to the Connections server to create the Community that the Place will be migrated into.


FilenetURL

e.g. FilenetURL=http://filenet.ibm.com

Note: that this uses http and not https, The migration tool will use this url to connect to the FileNet server to create the Libraries in the Connections Community.


ObjectStore
e.g. ObjectStore=ICObjectStore

This is added by the installer, please verify it.
The value of this can be found by using http://filenet.ibm.com\acce to look-up the name of the ObjectStore, It will be under ICDomain\Object Stores.



TopTargetFolderForMigration

e.g. TopTargetFolderForMigration=/ClbTeamspaces

This is added by the installer, please verify it.

Since Connections 5.0 the libraries are stored under the ClbTeamspaces folder and then Year\Month. The code will add the Year\Month, and generally the location will not change, so stick with the example above.



QuickPlaceJavaLogging (optional)
e.g. QuickPlaceJavaLogging=3
This is for debugging and the range is 1-3.. use the example above if debugging...

Java.policy

This file is located at \jvm\lib\security directory.

The following entries are appended to the end of the file by the fixpack installation. Verify that this has been done by the installer.




grant codeBase "file:${notes.binary}/lib/Jace.jar" {

permission java.security.AllPermission;

};

grant codeBase "file:${notes.binary}/lib/quickplace.jar" {

permission java.security.AllPermission;



};

FileNet Security changes

Grant all permission access rights to the privileged user specified when running qptool migration command, in order to be able to modify the created time and owner property of the new created document using the privileged user.

Open ACCE (Administration Console for Content Platform Engine) web console

1, 2, Navigate to the Object Store you are working on and then open the "Security" tab.

3, 4, Select the privileged user and click "Edit" button to prompt the "Edit Permissions" dialog box.

5, 6, Choose "Custom" in the "Permission group" drop-down list, mark all listed permission, and then

7, click "OK" to grant all permission access rights to the privileged user.

8, Click the "Save" button to save the changes to object store setting.



Grant the authenticated users the permission to view the folder description after migration.

Open ACCE (Administration Console for Content Platform Engine) web console

1, 2, 3, 4, Navigate to the Object Store you are working on, and then click Data Design > Classes > Custom Objects > Quickr Folder Properties

5, Open the "Default Instance Security" tab.

6, 7, Select "#AUTHENTICATED-USERS" and then click "Edit" button to prompt the "Edit Permissions" dialog box.

9, Choose "View Properties" in the "Permission group" drop-down list, and then click "OK" to grant authenticated users group the permission to view this object.

10, Click the "Save" button to save the changes to object store setting.


Note: if the user "#AUTHENTICATED-USERS" does not exist in the Users and Groups list, you need to add it using the following steps:

1, Click the "Add" button to prompt the "Add Users and Groups" dialog box.
2, 3, Select "Display name" and "Starts with", and enter "#" as the search criterion, then click "Search" button to execute the search condition.
4, 5, 6, Select "#AUTHENTICATED-USERS" from the "Available Users and Groups", and click the right arrow to add it to "Selected Users and Groups".
7, Click "OK" button to add the user..
8, Click the "Save" button to save the changes to object store setting


Changing the FileNet Administrator user to an LDAP user – This section is only needed if you do not have an LDAP user as a FileNet Administrator. If you already have an LDAP user as a FileNet Administrator please skip this section.

See the Doc to find the information on how to Change the FileNet Administrator user to an LDAP user



Running a Test Migration.

Migrating a Test Form

Migrating a form is the most basic form of migration as migrating a form does not involve any interaction with creating a Community or any other form of interaction with Connections. It is Quickr Domino to FileNet actions. The action of migrating a test form verifies that you have the correct access and configuration to work with CCM\FileNet.

Create a Test Place called testplace in Quickr Domino.

Create 1 simple test form and add 1 text field to the form.

Open the Quickr Domino console and run the following command

“load qptool getcustomizedforms -p testplace -o testplace.xml”

-p testplace ==> is the name of your testplace

-o testplace.xml” ==> is the name of the output file in the Domino Program folder.

This extracts the details of the test form from the Place and adds it to a .xml file

Now, open the testplace.xml that has been generated and make some changes, the text should look as follows.


<?xml version="1.0"?>

<service>
<servers>
<server>
<hostname>testserver.acme.com</hostname>

<places>

<place>
<name>testplace</name>

<room migrate="false" name="testplace" nsf="Main.nsf">

<customizedForm description="" migrate="false" name="TestForm" unid="69DB62306126887E80257E7200710970">
<customizedField dataType="h_TextInput" descriptionText="" displayName="TextField" isRequired="false" name="c_TextField"/></customizedForm>

</room>


<action_status action="getCustomizedForms">

<code>0</code>

<start_time><![CDATA[20150628T215449,348+0100]]></start_time>


<end_time><![CDATA[20150628T215449,489+0100]]></end_time>


</action_status>


</place>


</places>


</server>


</servers>


</service>

Change the 2 entries that say “false” and change then to “true” as follows.

 <?xml version="1.0"?>
<service>
<servers>
<server>
<hostname>testserver.acme.com</hostname>

<places>

<place>
<name>testplace</name>

<room migrate="true" name="testplace" nsf="Main.nsf">

<customizedForm description="" migrate="true" name="TestForm" unid="69DB62306126887E80257E7200710970">
<customizedField dataType="h_TextInput" descriptionText="" displayName="TextField" isRequired="false" name="c_TextField"/></customizedForm>

</room>


<action_status action="getCustomizedForms">

<code>0</code>

<start_time><![CDATA[20150628T215449,348+0100]]></start_time>


<end_time><![CDATA[20150628T215449,489+0100]]></end_time>


</action_status>


</place>


</places>


</server>


</servers>


</service>

Save the file.

In the Domino console, run the command

“load qptool migratecustomizedforms -i testplace.xml -u admin -pw password -o migration.xml”

-i testplace.xml ==> is the name of the input file that you have edited in the previous step.

-u admin ==> the name of the migration administrator

-pw password ==> the administrator's password

-o migration.xml” ==> the name of the output file that stores the result of the migration.

Open the migration.xml and verify that the migration has been successful, (0 is successful)

Use ACCE to verify that the form has been added to FileNet

Basic Mapping files with no TDI needed

Before migrating a Place we need to have entries in the mapping files. In this case we are assuming that we are using a different LDAP for Quickr Domino and Connections.

So add 2 test users to the Quickr Place that we have previously created. ( Testing User1 and Testing User2 )

Open the file collect_user.dns that you have named in the qpconfig.xml setting

The first line can be as follows but it is purely optional ==> ConnectionsDN;ConnectionsUUID

These can be found stored on the Connections server in the TDI folder in a file called collect.dns, pull out the 2 sample names from this file and add them into the collect_user.dns

The collect_user.dns should now look like this

ConnectionsDN;ConnectionsUUID

CN=Testing User1,OU=Users,O=901;

CN=Testing User2,OU=Users,O=901;

.

Note: If the Connections LDAP is Active Directory, then use the shortname instead of the full dn name as the ConnectionsDN, in this case your collect_user.dns should now look like this

ConnectionsDN;ConnectionsUUID

CN=TUser1;

CN=TUser2;

.

Now we need the ConnectionsUUID so open Connections and go to the Profiles\Directory so we can search for Profiles.

Next we hover over the user and do a copy image location if using FireFox

This gives us the url of the users Profile and also the UNID

http://acme.ibm.com/profiles/photo.do?r=true&small=false&userid=DA3BD999-8691-DDD6-8025-7D25004ED97A&etag=20150409.125116

Do this for both users and the collect_user.dns should now look like this


ConnectionsDN;ConnectionsUUID

CN=Testing User1,OU=Users,O=901,O=901;DA3BD999-8691-DDD6-8025-7D25004ED97A

CN=Testing User2,OU=Users,O=901,O=901;D77E5DF4-7F63-D33A-8025-7D25004EE326

.

For testing this is the collect_user.dns completed. If you have a second LDAP for Connection then do the following, if not go straight to Migrating a Test Place.

.

Open the file usermapping.txt that you have named in the qpconfig.xml setting

The first line can be as follows but it is purely optional ==> DNfromQD;DNfromConnections

The first part of the second line is the DN for the first User from Quickr. To locate this open the contacts1.nsf of the test Place using the Domino Administrator and go to the Default view, here you can see the name of the 2 users,

Check the document properties and the field h_Alias, if the Alias has comma separators then use this in the collect_user.dns.

So our usermapping.txt should look like this

DNfromQD;ConnectionsDN

CN=Testing User1,O=901

CN=Testing User2,O=901

Next we need the DN from Connections. The second part of the second line is the DN that we already used in the collect_user.dns, add these to the usermapping.txt and it should now look like this

DNfromQD;ConnectionsDN

CN=Testing User1,O=901;CN=Testing User1,OU=Users,O=901

CN=Testing User2,O=901;CN=Testing User1,OU=Users,O=901

Note: If the Connections LDAP is Active Directory, then use the shortname instead of the full dn name as the ConnectionsDN, in this case your usermapping.txt should now look like this

DNfromQD;ConnectionsDN

CN=Testing User1,O=901;CN=TUser1

CN=Testing User2,O=901;CN=TUser1

.

Now we have enough gathered in the mapping files to migrate the Test Place.

..

Migrating a Test Place

Next we will migrate the test Place,

Open the Quick Domino Console and run the following command

load qptool migration -p testplace -u admin -pw password

-p testplace ==> the name of the Place

-u admin ==> the name of the migration administrator

-pw password ==> the administrator's password

Open the qptool.migration.xmll and verify that the migration has been successful, (0 is successful)

Open the new Community in Connections called TestPlace and verify that the members have been carried over from Quickr Domino and that the Library has been added as an App.

Migrating Test documents and folders.

Login to the Quickr Domino test Place using the 2 test user accounts and add several Documents and Folders to the Quickr Domino Place, now migrate the test Place

Open the Quick Domino Console and run the following command

load qptool migration -p testplace -u admin -pw password

-p testplace ==> the name of the Place

-u admin ==> the name of the migration administrator

-pw password ==> the administrator's password

Open the qptool.migration.xmll and verify that the migration has been successful, (0 is successful)

Open the new Community in Connections called TestPlace and verify that the members have been carried over from Quickr Domino and that the Library has been added as an App.

Open the Library and check the newly created documents and folders.

Congratulations you have carried out a test migration from Quickr Domino to CCM.



Mapping files

Mapping Person and Groups to UNID for Domino


It is assumed that you have already completed the installation and configuration of Connections CCM. Essential to this would have been Installing the Tivoli Directory Integrator and running the population wizard. We are going to revisit TDI to generate the mapping file that we need for the Quickr Migration.


1. In your File Explorer navigate to the “C:\Install\Wizards“ folder.


The wizards folder contains 3 files that we are going to need, profiles_tdi.properties, profiles_tdi.xml and the collect_dns.bat
profiles_tdi.properties contains the LDAP url, username and password, basically all your config settings for the LDAP directory. So when we run the batch file later, it has the details it needs for the connection.
profiles_tdi.xml contains a lot more data, it is a use once type of file.. It contains all the Assembly lines, Connectors and reference data that are supplied by Connections to run the wizards and batch files for Connections... When you start a project you can import all this data which has already been created for you.
Collect_dns.bat This file is used to gather your info from Domino LDAP.. it points to the properties file and it also calls the assembly line that you create...

2. Copy all the contents of the Wizards folder into a new folder called “C:\CCMMigration\” Or copy the TDISOL directory into “C:\CCMMigration\”


3. Now we are going to launch TDI so we can build the Assembly lines that we will need so Launch the TDI Configuration Editor.


4. We need a location to work in so create a Workspace. We don't want to overwrite the current Connections property files so by creating a new workspace we are avoiding this. By doing this we can have a backup of the Connections files so that we can import them into this Workspace if needed.
Add a new workspace under the CCMMigration folder and press OK


5. We are going to reuse what Connections provides so click on the Import Configuration File link.



6. This is a new project so leave the first option as New Project...
We are going to use the profiles_tdi.xml so press the button “…” and locate it at “C:\CCMMigration\TDIPopulation\win\TDI\profiles_tdi.xml“
Leave all the boxes ticked. It's easier to take them all in as it is to select only what is needed.

Press Finish to continue...
* If you only want to import what is needed then see in this image what should be selected.


7. Add the project name, so add “DominoToCCM” as the project name and press the Finish button.


8. The Project should now look like this..


9. Expand the AssemblyLines and click on the “collect_dns_flow” and “collect_dns” assembly lines, now right-click and select Copy. Right click on another assembly line and paste the copied assembly lines.


a. you will be asked to add the new name for the “collect_dns_flow” assembly line. Add “collect_dns_flow_for_Domino”


b. you will be asked to add the new name for the “collect_dns” assembly line. Add “collect_dns_for_Domino”


c. after you press OK you will see the new assembly lines created.




10. We need to modify the two new assembly lines to suit our needs, the first one to change is collect_dns_for_Domino.
collect_dns_for_Domino:
a, click on the collect_dns_for_Domino assembly line and it will open up in the right hand pane.
b, click on the Call_collectFlow connector.
c, click on the Connection Tab.
d, we are going to call the other assembly line that we created, it's going to do most of the work. So change the AssemblyLine from collect_dns_flow to collect_dns_for_domino. That is the only change that we need to make on this assembly line.


To complete this assembly line we need to save it so press the save icon.


collect_dns_flow_for_Domino:
a, click on the collect_dns_flow_for_Domino assembly line and it will open up in the right hand pane.
b, click on the Feed.
c, click on the $dn field, you need to do this so you have access to the Add button..
d, press the Add button.
















Add dominoUNID as a new attribute and press OK

You will then be able to see the new attribute (dominoUNID) that you have added..


Next, add objectclass as a new attribute and press OK




You will then be able to see the new attribute (objectclass) that you have added..


11, Add the Parser.
a, next we need to pick a Parser, so click on “write_dn”
b, click on the “Parser” tab.
c, press the “Select Parser” button.

Select “Script Parser” and then press the button “Finish”



12, Press the button “Edit Script...”




Add the following code to the Script..



//
// This is a simple parser that returns one line at a time from
// the input stream.
//
var counter = 0;
function function_map_from_dominoUNID(fieldname) {
var byteString = null;
var canonicalString = "";
var attr = entry.getAttribute("dominoUNID");

 
if(attr != null) {
byteString = attr.getValue(0);
var canonicalString = "SSSSS";
if(byteString != null) {
canonicalString = "HHHH";
canonicalString = com.ibm.connections.directory.services.util.ObjectGUIDConverter.convertByteStringToGUIDString(byteString);
} 
else {var canonicalString = "VVV";}
}
else {var canonicalString = "DDD";}
return canonicalString;
}

 
function writeEntry ()
{
var type = entry.getString("objectclass");
if(type == "dominoPerson")
{
var person_dn = entry.getString("$dn");
var index = person_dn.indexOf(",");
if(index != -1)
{
person_dn = person_dn.replace(/,/g, "/");
}
out.write (person_dn);
out.write (";");
out.write (function_map_from_dominoUNID());
out.newLine();
}
 if(type == "dominoGroup")
{
var group_dn = entry.getString("$dn");
var index = group_dn.indexOf("CN=");
if(index == 0)
{
group_dn = group_dn.substring(3);
}
out.write (group_dn);
out.write (";");
out.write (function_map_from_dominoUNID());
out.newLine();
}

 
if(type != "1")
{
out.write ("Q");
out.newLine();
 }

 
}

 
function readEntry ()
{
var str = inp.readLine();

 
if (str == null) {
result.setStatus (0);
result.setMessage ("End of input");
return;
}

 
counter++;

 
entry.setAttribute ("line", str);
result.setStatus (1);
}

 
function querySchema ()
{
var e = new com.ibm.di.entry.Entry();
e.addAttributeValue("name","line");
e.addAttributeValue("syntax","String");
list.add(e);
result.setStatus (1);
} 

13, Close the Script Parser after adding the code..


14, To complete this assembly line we need to save it so press the save icon.


15, We are finished with the TDI Editor, we now need to call the new assembly lines from the batch file. So switch back to the Windows Explorer.
From the newly created CCMMigration folder, step down a few subfolders to “C:\CCMMigration\TDIPopulation\win\TDI”




16, Copy the “collect_dns.bat” file and create a copy of it... Name this file “collect_dns_migration.bat”

17, Edit the new file and replace “collect_dns” with “collect_dns_for_Domino”


18, Save and close the file then run the new batch file (collect_dns_migration.bat)
19, Open the newly created file “collect.dns” and check that it looks like the following..
CN=Admin/O=acme;E2FBE4E0-7E37-75B5-8025-7C1F00447F32
CN=LDAP Bind/O=acme;D193255A-EE4C-DC2F-8025-7D1F0050831E
Once you are happy with the file, rename it to users.dns


20, Now we need to point to the groups so open the profiles_tdi.properties and go to the setting source_ldap_search_filter We need to point this to the groups and not the person document so change this to source_ldap_search_filter=(objectclass=dominoGroup)
Save the file.
Run the (collect_dns_migration.bat) once more and it will have created the groups file with the previous name that was used for the person documents it will be called collect.dns.
Open this and check it, it should look like this.
GroupCR1;1E82895D-A942-398D-8025-7D1A004A72B9
GroupCa1;459CFDF0-4474-90F6-8025-7D1A00539698
Once you are happy with the file, rename it to groups.dns

Mapping Person to Person for different LDAPs Domino to TDS

Return to the TDI Configuration Editor. Right click on AssemblyLines and choose New AssemblyLine.

Enter CreateUserDNMapping for the new AssemblyLine name and click Finish.

Click Add Component.

Enter ldap in the search box and select LDAP Connector from the Components list. Change the name to ConnectionsLDAP and set the mode to Iterator. Click Next.

Since this TDISOL installation is already configured to connect to the LDAP servers, those same references from the properties file can be used here. Properties are used by clicking on the labels, as shown below. By using the properties we can more easily change these parameters in a single properties file rather than having to modify the connectors manually.

Select the Use Property option. Select the source_ldap_url property from the list. Click OK.

Repeat the process for the following labels.

Login username.

Login password

Search base.

Search filter.

The values from the properties file are populated to the connector configuration. The values are now managed in the properties file rather than the connector configuration. Click Finish.

Select the Input Map tab and click Connect.

Click Next several times to iterate through the list of LDAP entries. The LDAP schema is automatically populated by the attributes retrieved from each entry. Click Close to close the session.

Drag the $dn and mail attributes from the Schema list to the Work Attribute column.

Click Add component.

Create another LDAP Connector called DominoLDAP and click Next. Click on the LDAP URL label.

Select Use Property. New properties are created since the TDISOL environment is not configured to access the Quickr Domino LDAP server. Click Add property.

Select profiles.tdiproperties for the Store Name. Enter quickr_domino_ldap_url for the property name and ldap://quickr01.itso.ibm.com:389 for the value.

Verify the information previously entered and click OK.

Repeat the process for the LDAP user login.

User login password.

Clear the Search Base and set the Search Filter to mail=*. This returns only person entries that contain an email address.

Click Connect to verify that we can access the directory. Click Next several times to populate the Schema attribute list. Click Close to close the connection.

Drag the $dn attribute to the Work Attribute column of the Input Map. Rename the $dn entry in the Work

Attribute column to QuickrDN.

Click the Link Criteria tab. Click Add. Select mail on the left side (Quickr Domino) and $mail (Connections LDAP) on the right. If there is a different set of attributes that are used to link the Domino and Active Directory users, use those attributes here. Be sure to add the new attribute to the Input Map of the Iterator.

Because we added a new property that contains a password, we can encrypt the password to remove the clear text password from the property file. Open the profiles property file (reload if prompted). Locate the new password property and change the value in the Protected column to true. Click Send the properties to Server and save the changes.

The password hash can be viewed by clicking on the value.

Select the DominoLDAP connector. Select the Hooks tab and check the On No Match checkbox under DataFlow - Lookup. Enter the following in the text box. Execution flows to this hook in the event that there is no match found in the Quickr Domino LDAP. The mail address of the entry that can not be located is printed in the log and execution continues with the next LDAP entry in the Iterator.

An exception is generated and the processing stops if you do not trap for the possibility of returning multiple entries for a particular mail address. These lines in the On Multiple Entries hook print the error to the log file and continue execution with the next entry in the Iterator. In a perfect world this hook should never execute as the email address in the Domino Directory should be unique. However, it is prudent to trap for it.

Click Add Component. Enter file in the search box and select the File System Connector from the Components list. Name it WriteDNMapping and select AddOnly as the mode and click Next.

Set the file name to person_mapping.csv. The file name is relative to the TDI solutions directory, which is /root/QuickrMig/TDI. Click Next.

Select CSV Parser.

The Field Separator should be ';' by default. Expand the Advanced section.

Enter QuickrDN followed by $dn in the Field Names box. The order must be as shown. Uncheck Enable Quoting and Write header. Add UTF-8 to the Character Encoding field. Click Finish.

Double click the "[Empty map.." text in the Output Map.

Select $dn and QuickrDN and click OK.

The output map should be as follows.

Click Add Component. Enter "if" in the search box and select the IF component. Set the name to IfNoMail and click Next.

Click Add. Select mail from the Attribute list, check Not, and set the operator to "has value(s)". Click Finish. This sets the conditional to true if the mail attribute is missing, empty, or null.

Click Yes to add a new branch. This new branch executes if the previous IF connector conditional return true.

Check the Scripts radio button and select the Empty Script component. Set the name to SkipEntry and click Finish.

Enter system.skipEntry(); in the text box. This causes the execution to continue to the next entry in the ConnectionsLDAP iterator.

Drag the newly created IF component directly in front of the DominoLDAP connector.

Select the WriteDNMapping component and select the Hooks tab. Check the Before Execute hook and enter the following line. Since Quickr is using native Domino authentication, we need to convert the LDAP DN format to the Notes name format. This is done by replacing the "," with "/". If Domino LDAP is used for Quickr authentication, then this line can be removed.

Save the AssemblyLine and click Run in console.

Examine the contents of the person_mapping.csv file in the /root/QuickrMig/TDI directory. The contents should be similar to the following.

CN=Matt Ayer/O=itso;CN=Matt Ayer,OU=ITSO,DC=ad,DC=ITSO,DC=net

CN=Amy Blanks/O=itso;CN=Amy Blanks,OU=ITSO,DC=ad,DC=ITSO,DC=net

CN=Peter Brown/O=itso;CN=Peter Brown,OU=ITSO,DC=ad,DC=ITSO,DC=net

Running the Migration

Understanding the environment

Before migrating the production Quickr Domino Places to a Connections server it is good practice to analyse the Places to see how what data will be migrated and how it will be migrated.

What's covered by the migration tool.


A Place will be migrated as a community in Connections.
Place membership will be migrated to community.
Room will be migrated to CCM as folder, hierarchy will be preserved.
Folder will be migrated to CCM as folder, hierarchy will be preserved.

Rooms, Folders, Homes pages

Documents created from uploads, imports, pages, simple custom forms, and Microsoft office forms will be migrated to CCM.

The metadata information of creator, last editor, created timestamp, last updated timestamp will all be migrated with the documents and folders. Versions and comments will be migrated together with the documents. Simple custom forms will be migrated to CCM as document classes.

What's NOT covered by the migration tool.

  • Wiki and Blog places.
  • Task, Calendar, forum, list, link, or Templates.
  • Html forms and the documents based on the html forms
  • Draft. All drafts need to be completed before migration.
  • Workflows. All workflows need to be completed before migration.
  • Content in the Trash will not be migrated
  • Local members.
  • Restricted Access: Docs\Folders\Rooms
    To check what elements have restricted access in Quickr. Run the following command
    load qptool getrestrictedresourcelist -p nameofplace
    The result is a xml file that will list all restricted elements in a Place.

Sample Domino Agents to analyse the Quickr Domino environment.

Follow this link to find out more information about sample agents that will analyse the Quickr Domino server and report on the type of documents stored in the Quickr Places.

Access Models – Users

The mapping of the access roles from Quickr Domino to Connections can be seen in the following 3 tables.

Quickr Domino Place level => Connections Library Access

User roles in Quickr Domino.
Mapped User Roles in Connections
Owner - Place creator, Owner has access to all rooms, folders, and pages in the place.
Owner - Move files to a different location.
Remove files from the source location when moving them to another location.
Delete any library file or folder.
Change share settings.
Empty the trash.
Manager - Can create and edit content, manage membership, and customise the place
Editor - Can create content, and edit other people’s content
Member - Add files to folders to which you have access
Edit files using personal drafts
Edit folder names and descriptions
Download, replace, copy, move, and use social features for files to which you have access
Delete and use social features for folders to which you have access
Author - Can create content, and edit his own content.
Reader - Can read content

Rooms & Folders => Folders

User roles in Quickr Domino.
Mapped User Roles in Connections
Owner - Room creator gets this role
Owner has access to all folders, and pages in the room+ Manager capabilities
Owner - Change how members access files and folders
Configure the display of folders and files
Change default document type for all files uploaded to the library
Enable members to change the document type when uploading files
Enable draft review and modify related options
Manager - Can create and edit content, manage membership, customise rooms
Editor - Edit and upload new versions of any library file.
Note: Editors can edit the content, the document properties, and the description of any file.
Edit folders that they added.
Editor - Can create content, and edit other people’s content
Author - Can create content, and edit his own content.
Contributor – Reader tasks plus..... Upload new files.
Create folders.
Reader - Can read content
Reader - Access and read files. Like, follow, and comment files.

Documents ==> Documents

User roles in Quickr Domino.
Mapped User Roles in Connections
Owner - Can edit all documents
Owner - Can edit all documents
Author - Can edit the document
Author – Can edit the document
Reader - Can read the document
Reader - Can read the document

Groups

Quickr Domino Place => Connections Library Access

- If a group is an owner or manager in a Place, it is expanded to individual members and migrated to a community as person owners.

Note: Groups cannot be owners in Connections Communities

- If a group is reader, author, or editor in a place, it is migrated as a group as a community member.

Group roles in Quickr Domino.
Mapped Group Roles in Connections
Owner
Owner – ***Expanded to users
Manager
Editor
Member
Author
Reader

Migrating custom forms

There is a limit to the amount of custom forms that can be migrated, this is realised when running the qptool migratecustomized forms command, if you notice a runtime exception reporting, “The row length limitation of the underlying database has been exceeded, incapable of creating document class any further,” it means you are not able to migrate customized forms any further.

The cause of this is the underlying database which stores the field info has a row length limitation of 32K, It is recommended that customized forms be migrated by prioritizing from most significant to least significant,

See this link for more details on migrating the custom forms and this related issue: http://www-10.lotus.com/ldd/lcwiki.nsf/xpDocViewer.xsp?lookupName=Early+Release+-+Quickr+for+Domino+Migration+Guide#action=openDocument&res_title=Installing_and_configuring&content=pdcontent

See the earlier section on the steps to migrate Custom Forms.

getcustomizedforms: Gets a customized forms list from the specified place.

Usage:

qptool getcustomized forms [–?] (–a | –p | –i ) [–o ]

Where:

–? Prints out this usage message.

–a Gets customized forms from all places on the server.

–p Space-separated list of places to get customized forms from.

–i Input file specifying places to get customized forms from.

–o Specifies the output file. (Default: qptool.getcustomizedforms.xml)

migratecustomizedforms: Migrate a customized forms list from the specified place input list.

Usage:

qptool migratecustomizedforms [–?] -u -pw -i [-o ]

Where:

–? Prints out this usage message.

–u Specifies the user name of the privileged account to run the migration.

–pw password Specifies the password of the privileged account to run the migration.

–i Input file specifying places to be migrated.

–o Specifies the output file. (Default: qptool.migration.xml)

Migrating a Place

See the earlier section on the steps to migrate a Place.

Usage:

load qptool migration [-p (place list)] [-a] [-i input.xml] -u username -pw password

Where:

–p Specifies a single place or a list of places to migrate.

–a Migrates all places.

–i input.xml Specifies the places list in the xml file.

–u Specifies the administrator account used for migration.

–pw Specifies the administrator account password.

Update FileNet to limit the reporting of the migration in Activity Streams

See this Doc for more information on how to do this...

Troubleshooting

Cover troubleshooting .ser files ...

#
Error Number
ERROR Message
ERROR Message example
Solution for this kind of ERROR
1
java.lang.NoClassDefFoundError
07/02/2014 04:30:28 PM com.lotus.quickplace.qom.QPException: 0xffffffff : 0xffffffff : java.lang.NoClassDefFoundError: org.apache.abdera.protocol.client.AbderaClient
This error "com.lotus.quickplace.qom.QPException: 0xffffffff : 0xffffffff : java.lang.NoClassDefFoundError: org.apache.abdera.protocol.client.AbderaClient" means the class Abderaclient can not be found in class path, so pls make sure the "QPJC3=C:\LOTUS\DOMINO\xsp\proxy\WEB-INF\lib\commons-httpclient-3.0.1.jar" in notes.in. and then try to run migration command again.
2
Required credentials not available for BASIC @filenet.gbm.net:80
The Migration Administrator must be a FileNet administrator and also be a Connections Administrator
3
E001
E001:The mapping file: " + mapFilePathName + " does not exist or is not a regular file");
E00001:The mapping file: usermapping.txt does not exist or is not a regular file"
Check that the mapping file defined in the qpconfig.xml exists in the location specified.
4
E002
E002:The content format is not valid for line: " + line + " of file: " + mapFilePath);
The correct format is "CN=xxxx;CN=xxxx". A semicolon ";" is needed as the separator character between the 2 LDAP versions of a user's name.
5
E003
"E003:Failed to load mapping file: " + mapFilePath + " due to: " + e.getMessage());
Loading the mapping file failed, so please check that the location of the mapping file is the same as what is set in the qpconfig.xml file.
6
E004
"E004:Failed to open database: " + mainDBPath + " for getting place type");
It is not possible to open the listed database. Pleases check that the database exists and that the database in not locked. Running the qptool unlock command will unlock it. Use the command "load qptool unlock -p placename" to unlock the place database.
7
E005
"E005:Failed to get member ACL for database: " + mainDBPath + ", due to Exception: " + e.getMessage());
Can not load the member ACL of the database because of an exception. Please use a Notes Client to open the database and check the ACL
8
E006
"E006:Failed to open database: " + mainDBPath + " for getting notes internal member dn role");
Can not open the database. Please use a Notes Client to open the database.
9
E007
"E007:There is no member ACL retrieved for place: " + placeName
Can not find the member ACL of the database because of an exception. Please use a Notes Client to open the database and check the ACL

10
E008
E008:There is group member for place: " + placeName + ", but group expand option is not enabled in qpconfig.xml"
If there is an owner group in the place, but the group expand option is not enabled, then we simply return with an error.
11
E009
E009:Failed to open Contacts DB for place: " + placeName);
Can not open the contacts1.nsf database in this place.
12
E010
E010:Failed to get role for place: " + placeName + ", due to Exception: " + e.getMessage());
#can not get the role from db for some exception.

13
E011
E011:There is no member ACL retrieved for place: allMemberDNRoles is empty. "
There is not any member in this Place. It's incorrect because there most be members in a Place. Please use a Notes Client to open the database and check the ACL
14
E012
E012:The required URL for communicating with Connection is not set specified completely in the notes.ini config file"
The setting "ConnectionsServerURL" is not set in notes.ini.
15
E013
E013:Failed to retrieve service document"
#Can not get service document and parse it to get the url for "My Communities" feed, it means can not connect to connection server successfully, pls check connection settings.

16
E014
E014:Failed to retrieve service document due to: " + httpResponseCode.get(response.getStatus())
E014:Failed to retrieve service document due to: Internal server error
#show the error status code from http response.
17
E015
E015:Failed to get the URL for \"My Communities\" feed"
#can not get the url of "my commnunities" feed. pls check the connection works or not.

18
E016
E016:Failed to associate credential with abdera client due to: " + e.getMessage());
#connect to connection failure for "URISyntaxException" exception

19
E017
E017:Failed to get the required URL for communicating with Connection due to: " + e.getMessage()
#connect to connection failure for "NotesException" exception

20
E018
E018:Failed to post request for creating community
#can not create one community. pls check the migration user can create the community directly in connection.

21
E019
E019:The response status text for creating community: " + response.getStatusText());
E019:The response status text for creating community: Unauthorized
#show the detail status text for error response.
22
E020
E020:Failed to create community: " + communityName + ", due to: " + httpResponseCode.get(response.getStatus()));
E020:Failed to create community: testplace, due to: Unauthorized
#failure create community on connection server for the status.
23
E021
E021:Failed to get the UNID for the new created community " + communityName + " is: " + _currentCommunityUnid);
Can not get unid of the Community we just created
24
E022
"E022:Failed to retrieve community entry");
#Failed to retrieve community entry
25
E023
E023:Failed to retrieve community entry due to: " + httpResponseCode.get(response.getStatus()
#Failed to retrieve community entry for the detail status code.
26
E024
E024:Failed to retrieve community entry due to: " + e.getMessage()
#get can get the community for one exception.
27
E025
E025:CurrentCommunityUnid is empty. There is no available community for adding library widget
#CurrentCommunityUnid is empty. There is no available community for adding library widget
28
E026
E026:Failed to post request for adding library widget
#Failed to post request for adding library widget
29
E027
E027:Failed to parser the community libary id from response.
#Failed to parser the community libary id from response.
30
E028
E028:Failed to add library widget for community: " + _currentCommunityUnid + ", due to: " + httpResponseCode.get(response.getStatus()));
E028:Failed to add library widget for community: b76ca69b-5b7d-4895-9268-2ab651f0f543, due to: Forbidden
#Failed to add library widget for community. (Sometimes the FileNet server is down for everyday for one waltz bug, once filenet is down, then admin user can not create ccm any more, then you can see this error)
31
E029
E029:_currentCommunityUnid is empty.The is no available community for adding community members.
#_current CommunityUnid is empty. There is no available community for adding community members.
32
E030
E030:Failed to post request for adding community member
#Failed to post request for adding community member
33
E031
E031:Failed to add community member, due to: " + httpResponseCode.get(response.getStatus()
#Failed to add community member, due to status code.
34
E032
E032:return code is:SC_INTERNAL_SERVER_ERROR ");

E032:Please check if the following members are contained in Connections Profile DB for error_internal_server_error:");

"E032"+jsonString);

#when return code is SC_INTERNAL_SERVER_ERROR, then print all members information for debug.
35
E033
E033:Failed to add one member for exception.
#when add all members together failure, tool will add one member one time, this error means add one member also failure.
36
E034
E034:There are "+ (failureStrArray.length-1) +" members can not be migrated to CCM. They are NOT contained in Connections Profile DB:"
E034:There are 1 members can not be migrated to CCM. They are NOT contained in Connections Profile DB: : "EDFBE4E0-7E32-75B5-8025-7C1A00447E32"
#list all members that failure to add to connection.
37
E035
E035:failure response body:
#list the response for the failure to add member to connection
38
E036
E036:Failed to associate credential with abdera client due to: " + e.getMessage()
#E036:Failed to associate credential with abdera client due to URISyntaxException excpetion
39
E037
E037: _currentCommunityUnid is empty. The is no available community for adding community single members"
#currentCommunityUnid is empty. The is no available community for adding community single members");
40
E038
E038:UnsupportedEncodingException from ByteArrayInputStream.
#UnsupportedEncodingException from ByteArrayInputStream.
41
E039
E039:Failed to post request for adding community single member.
#Failed to post request for adding community single member.
42
E040
E040:IOException from BufferedReader
#E040:IOException from BufferedReader
43
E041
E041: addSingleMember Failed to associate credential with abdera client due to: " + e.getMessage());
addSingleMember Failed to associate credential with abdera client due to exception.
44
E042
E042:Failed to open database: " + roomNSFPath + " for getting QD room roles"
E042:Failed to open database: LotusQuickr/testplace/PageLibrary88257B4700707583.nsf for getting QD room roles
#can not open the room database.
45
E043
E043:Failed to get role for room : " + roomNSFName + " in place: " + placeName + ", due to Exception: " + e.getMessage());
#Failed to get role for room of place due to NotesException
46
E044
E044:Failed to traverse Contacts1.nsf for place: " + placeName + ", due to Exception: " + e.getMessage());
#E044:Failed to traverse Contacts1.nsf for place due to NotesException
47
E045
E045:The folder ACL Type: " + folderACLType + " is invalid");
#E045: folder acl type is invalid.
48
E046
E046:Failed to get Folder Roles due to Exception: " + e.getMessage());
#E046:Failed to get Folder Roles due to Notes Exception
49
E047
E047:Failed to get Document Roles due to Exception: " + e.getMessage());
#E047:Failed to get Document Roles due to NotesException
50
E048
E048:FileNetUtility: getFolder, [Failed to get folder by: " + libraryId + ", due to" + e.getMessage() + "]")
E048:FileNetUtility: getFolder, [Failed to get folder for: /ClbTeamspaces/2015/04/2015/52/testplace_1427961133485, due to: The requested item was not found. Folder /ClbTeamspaces/2015/04/2015/52/testplace_1427961133485 not found.]
#E048:FileNetUtility: getFolder, [Failed to get folder by: " + libraryId + ", due to EngineRuntimeException
51
E049
E049:FileNetUtility: connectFileNetServer [Failed to create session]");
#E049:FileNetUtility: connectFileNetServer [Failed to create session]");
52
E050
E050:FileNetUtility: connectFileNetServer, [The necessary parameters are not provided]");
#E050:FileNetUtility: connectFileNetServer, The necessary parameters "_filnetURL" or "_objectStoreName" in notes.ini are not provided.
53
E051
E051:FileNetUtility: connectFileNetServer, [The specified Object Store: " + _objectStoreName

+ " is not found]");

#E051:FileNetUtility: connectFileNetServer, [The specified Object Store: " + _objectStoreName that defined in notes.ini is not found.
54
E052
E052:FileNetUtility: connectFileNetServer, [Failed to connect with filenet server: " + e.getMessage() + "]");
#E052:FileNetUtility: connectFileNetServer, [Failed to connect with filenet server: for EngineRuntimeException
55
E053
E053:FileNetUtility: connectFileNetServer, [Failed to retrieve nonce token from filenet server: " + _filnetURL + "]");
#E053:FileNetUtility: connectFileNetServer, [Failed to retrieve nonce token from filenet server: " + _filnetURL + "]");
56
E054
E054:FileNetUtility: connectFileNetServer, [Failed to connect with filenet server: " + e.getMessage() + "]");
#E054:FileNetUtility: connectFileNetServer, [Failed to connect with filenet server for EngineRuntimeException
57
E055
E055:FileNetUtility: getClassDefinition, [Failed to get class definition for: " + clsSymbolicName + ", due to" + e.getMessage() + "]");
#E055:FileNetUtility: getClassDefinition, [Failed to get class definition for: " + clsSymbolicName + ", due to EngineRuntimeException
58
E056
E056:FileNetUtility: getAvailableDocumentClassName, [The specified Object Store: " + _objectStoreName

+ "is not connected]");

59
E057
E057:FileNetUtility: getAvailableDocumentClassName, [Failed to find the specified super class definition: " + superClsSymbolicName + " ]");
#E057:FileNetUtility: getAvailableDocumentClassName, [Failed to find the specified super class definition: " + superClsSymbolicName + " ]");
60
E058
E058:FileNetUtility: getAvailableFolderName, [The specified Object Store: " + _objectStoreName

+ "is not connected]");

E058:FileNetUtility: getAvailableFolderName, [The specified Object Store: " + _objectStoreName

+ "is not connected]");

61
E059
E059:FileNetUtility: getAvailableFolderName, [Can not find the parent folder: " + parentFolderLocation

+ "]");

Can not find this folder's parent folder.
62
E060
E060:FileNetUtility: getAvailableFolderName, [Failed to get available folder name for: " + folderName

+ ", due to: " + e.getExceptionCode() + "]");

FileNetUtility: getAvailableFolderName, [Failed to get available folder name for the exception EngineRuntimeException
63
E061
E061:The ACL Role of member : " + member+ " "+ aclRole + " is invalid.
E061:The ACL Role of member : #AUTHENTICATED-USERS null is invalid.
64
E062
E062:There is no matched uid for DN: " + member
E062:There is no matched uid for DN: cn=Mary Joyce,o=Quickr
65
E063
E063: This user has not profile in connection, so can not add to acl for document or folder:"+errorUUID
E063: This user has not profile in connection, so can not add to acl for document or folder:D1BA24D2-A038-08C8-8025-7DED005C131A
66
E064
_logger.error("E064: There are [" + noFoundUserUUIDUUIDMap.size()+"] users who are not profile in the connection.Pls check them in the connection profile.");

E064: user[Uid:"+notFoundEntry.getKey()+" Name:"+notFoundEntry.getValue()+"]"

[0A40:0002-052C] 01/04/2015 07:45:21 58563 ERROR [main] com.lotus.quickplace.migration.FileNetUtility - E064: There are [2] users not profile in the connection.Pls check them in the connection profile.

[0A40:0002-052C] 01/04/2015 07:45:21 58563 ERROR [main] com.lotus.quickplace.migration.FileNetUtility - E064: user[7CFC1313-6C14-B0F7-8025-7E14202F8A18 CN=Drew Wylie,O=Quickr]

[0A40:0002-052C] 01/04/2015 07:45:21 58563 ERROR [main] com.lotus.quickplace.migration.FileNetUtility - E064: user[7CFC1313-6C14-B0F7-8025-7E14022F8A18 CN=Ryan Wylie,O=Quickr]

2 users are in Quickr, and in the mapping files but they do not have a profile in Connections. Please check the Synch_all logs to see if they were populated into Connections.
67
E065
_logger.error("E065:FileNetUtility: createFolder, [The specified Object Store: "

+ _objectStoreName + "is not connected]");

68
E066
_logger.error("E066:FileNetUtility: createFolder, [Can not find the parent folder: "

+ parentFolderLocation + "]");

E066:FileNetUtility: createFolder, [Can not find the parent folder: /ClbTeamspaces/2015/04/2015/52/refactor_1427961133485]
69
E067
_logger.error("E077:FileNetUtility: createFolder, [Failed to retrieve folder after setting ACL: "

+ folderLocation + "]");

70
E068
_logger.error("E068:FileNetUtility: createFolder, [Failed to create filenet folder: "

+ folderLocation

+ ", due to: A folder with identical name has already existed, and failed to obtain an available alternative name ]");

71
E069
_logger.error("E069:FileNetUtility: createFolder, [Failed to create filenet folder: "

+ folderLocation

+ ", due to: "

+ e.getExceptionCode() + "]");

E069:FileNetUtility: createFolder, [Failed to create filenet folder: /ClbTeamspaces/2015/04/Research Operations/ Briefs/Comparatives: ELearning to OnCampus, due to: com.filenet.api.exception.ExceptionCode@71d771d7]
E070
_logger.error("E070:FileNetUtility: saveFileNetDocument, [The specified Object Store: "

+ _objectStoreName + "is not connected]");

E071
_logger.error("E071:FileNetUtility: saveFileNetDocument, [ Failed to add image attachment: " + attachmentNames[i]

+ " to minor version for document :"

+ docContent

.getDocumentContainmentName()

+ "]");

E072
_logger.error("E072:FileNetUtility: saveFileNetDocument, [Failed to decode no editable rich text for property: "

+ propertyName

+ " of document: "

+ docContent.getDocumentContainmentName()

+ " due to exception: "

+ e.getMessage()

+ "]");

E073
_logger.error("E073:FileNetUtility: saveFileNetDocument, [Failed to decode richText to document: "

+ docContent.getDocumentContainmentName()

+ " due to exception: " + e.getMessage() + "]");

E074
_logger.error("E074:FileNetUtility: saveFileNetDocument, [ Failed to add attachment: "

+ attachmentNames[i]

+ " to document :"

+ docContent.getDocumentContainmentName()

+ "] for " + e.getMessage());

E075
_logger.error("E075:FileNetUtility: saveFileNetDocument, [Failed to retrieve or parse the comment content for document: "

+ docContent.getDocumentContainmentName() + "]");

E076
_logger.error("E076:FileNetUtility: saveFileNetDocument, [Failed to save document: "

+ docContent.getDocumentContainmentName()

+ " to filenet destination folder: "

+ docContent.getContainerFolder() + "]");

E076:FileNetUtility: saveFileNetDocument, [Failed to save document: Master.pdf to filenet destination folder: /ClbTeamspaces/2015/04/Research]
E077
_logger.error("E077:FileNetUtility: putCustomizedPropertyToFileNetDocument, [The property: "

+ propertyName

+ " of type String

+ fieldDataType

+ "> will be truncated ,due to exceeding the allowed length: "

+ allowedLength);

E078
_logger.error("E078:FileNetUtility: putCustomizedPropertyToFileNetDocument, [Unsupported property type "

+ propertyDataType

+ " for property: "

+ propertyName

+ " ");

E079
_logger.error("E079:FileNetUtility: putCustomizedPropertyToFileNetDocument, [Failed to put customized property: "

+ propertyName

+ " of type: "

+ propertyDataType

+ " ]");

E080
_logger.error("E080:FileNetUtility: createDocumentClassContainer, [The specified Object Store: "

+ _objectStoreName + "is not connected]");

E081
_logger.error("E081:FileNetUtility: createFileNetDocumentClass, [Failed to find the specified super class definition: "

+ superClsSymbolicName + " ]");

E082
_logger.error("E082:FileNetUtility: createFileNetDocumentClass, [Failed to create property definition for property name: "

+ propertySymbolicName + "]");

E083
_logger.error("E083:FileNetUtility: createFileNetDocumentClass, [Failed to create filenet document class for: "

+ docClsDes.getClassSymbolicName()

+ ", due to: A docuemnt class with identical symbolic name has already existed, and failed to obtain an available alternative name ]");

E084
_logger.error("E084:FileNetUtility: createFileNetDocumentClass, [Failed to create filenet document class for: "

+ docClsDes.getClassSymbolicName()

+ ", due to: The summation of column lengths exceeds the capacity of the underlying database.]");

E085
_logger.error("E085:FileNetUtility: createFileNetDocumentClass, [Failed to create filenet document class for: "

+ docClsDes.getClassSymbolicName() + " ]");

E086
_logger.error("E086:FileNetUtility: createPropertyTemplate, [ Failed to create choice list for propery template: "

+ propertySymbolicName + "]");

E087
_logger.error("E087:FileNetUtility: createPropertyTemplate, [Unsupported property data type: "

+ propertyDataType + "]");

E088
_logger.error("E088:FileNetUtility: createPropertyTemplate, [Failed to create filenet property template for: "

+ propertySymbolicName + " ]");

E089
_logger.error("E089:FileNetUtility: createStringTypeChoiceList, [The specified Object Store: "

+ _objectStoreName + "is not connected]");

E090
_logger.error("E090:FileNetUtility: createStringTypeChoiceList, [Failed to create choice list for: "

+ propertyDisplayName + " ]");

E091
_logger.error("E091:FileNetUtility: createPropertyDefinition, [Failed to fetch property template for UNID: "

+ propertyTemplateUNID + " ]");

E092
_logger.error("E092:FileNetUtility: createPropertyDefinition, [Failed to create property definition: "

+ propertyDisplayName + " ]");

E093
_logger.error("E093:FileNetUtility: createPropertyDefinition, [Failed to create property template for: "
E094
_logger.error("E094:FileNetUtility: createPropertyDefinition, [Failed to create property definition: "

+ propertyDisplayName + " ]");

E095
_logger.error( "E095:The type: " + type + " is not supported for setting ACL");
E096
_logger.error("E096:Failed to post request for adding community member");
E097
_logger.error("E097:Failed to post request for adding one member.");
E098
_logger.error("E098:Failed to get nonce token from filenet server: "
E099
_logger.error("E099:Failed to get nonce token, due to: "

+ httpResponseCode.get(response.getStatus()));

E100
_logger.error("E100:Failed to associate credential with abdera client due to: "

+ e.getMessage());

E101
_logger.error("E101:Failed to get attachments for document: "

+ documentID);

E102
_logger.error("Failed to get attachments for document: "

+ documentID + ", due to: "

+ httpResponseCode.get(response.getStatus()));

E103
_logger.error(("E103:Failed to convert to html document for comment rich text: " + commentRichText));
E104
_logger.error(("E104:Failed to get attachments URL, use original rich text instead !"));
E105
_logger.error(("E105:Failed to convert RichText to xml document!"));


  • Actions Show Menu▼


expanded Attachments (0)
collapsed Attachments (0)
Edit the article to add or modify attachments.
expanded Versions (1)
collapsed Versions (1)
Version Comparison     
VersionDateChanged by              Summary of changes
This version (21)Sep 9, 2016, 1:40:27 PM~Rebecca Opretherader  
expanded Comments (0)
collapsed Comments (0)
Copy and paste this wiki markup to link to this article from another article in this wiki.
Go ElsewhereStay ConnectedAbout
  • HCL Software
  • HCL Digital Solutions community
  • HCL Software support
  • BlogsDigital Solutions blog
  • Community LinkHCL Software forums and blogs
  • About HCL Software
  • Privacy
  • Accessibility