WDK SOLUTIONS
Requirement:
If the user wants to paste an EDMS document link on a document /
email / ERP / Intranet, there is no direct way to just check it on EDMS.
Workaround is to click on email as link and then copy the link from the email
draft. A shortcut needed to get a document link from EDMS.
Solution:
A new wdk component has been created and added to the menu bar (file
menu) for copying the DRL of the selected document(s)/folder(s) from EDMS.
Below table shows the component definition.
Component
|
urlcopy_component.xml
|
Extends
|
-NA-
|
Class File
|
com.XXXXXidiar.menubar.CopyURL
|
JSP
|
/XXXXXi-diar/menubar/copyurl.jsp
|
NLS File
|
com.XXXXXidiar.edms.menubar.MenuBarNlsProp
|
Wdk combo container component modified for the copy URL
component. Combocontainer jsp will get the URL of the edms application and set
it in the client session state and the behavior class will get the URL from
client session state and generates the DRL.
ClientSessionState.setAttribute("myurl",
myurl);
String myurl =
(String)ClientSessionState.getAttribute("myurl");
Component
|
combocontainer_component.xml
|
Extends
|
wdk/config/combocontainer_component.xml
|
Class File
|
com.XXXXXidiar.container.MyComboContainer
|
JSP
|
/XXXXXi-diar/container/combocontainer.jsp
|
NLS File
|
com.XXXXXidiar.edms.menubar.MenuBarNlsProp
|
Generating DRL for the
document/object using the below drl component class.
DRLComponent.constructDRL(docId,
null, null, this);
A label created in jsp
page for displaying the drls using the below code.
<dmf: label
name="abcs" id="abcs" />
Copy URL menu item added to the menu bar component by adding
the below code to the menu bar component.
<actionmenuitem dynamic="multiselect"
name="file_copy_url" nlsid="MSG_COPY_URL"
action="copyurl" hotkeyid="HOTKEY_COPYURL"
showifinvalid="true"/>
Component
|
menubar_component.xml
|
Extends
|
webcomponent/config/library/menubar/menubar_component.xml
|
Class File
|
com.documentum.webcomponent.library.menubar.MenuBar
|
JSP
|
/webcomponent/library/menubar/menubar.jsp
|
NLS File
|
com.XXXXXidiar.edms.menubar.MenuBarNlsProp
|
Hotkeys component modified for adding a hotkey to the copy
URL component. Below table shows the hotkeys component definition.
Component
|
hotkeys.xml
|
Extends
|
webcomponent/config/hotkeys.xml
|
Class File
|
-NA-
|
JSP
|
-NA-
|
NLS File
|
com.XXXXXidiar.keyboardshortcut.HotKeysNlsProp
|
User can select multiple documents/folder for generating
DRLs. The generated DRLs will be copied to the windows clipboard automatically.
User can simply paste DRLs on email or notepad.
2. Email as Link
Requirement:
When
user clicks on email as link, a draft message window opens with link in email
body. Subject of the email should be the title of the document and body of
email should have the document path, URL and the signature.
Solution: Wdk
send locator and send locator container component has been modified to create
mail with subject, body and signature automatically. Subject field contains
document title.
Component
|
sendlocator_component.xml
|
Extends
|
webcomponent/config/library/sendlocator/
sendlocator_component.xml
|
Class File
|
com.XXXXXidiar.sendlocator.CustomSendLocator
|
JSP
|
/wdk/blank.htm
|
NLS File
|
-NA-
|
Document DRL created using the below code.
DRLComponent.constructDRL(strObjectId,
null, null, this);
Getting title as subject
of the email using the below code.
IDfPersistentObject dfObj=getDfSession().getObject(new
DfId(getObjectId()));
docName = dfObj.getString("title");
Using the below code we
can get the parent folder object id.
String folderId =
sysObj.getFolderId(0).getId();
Component
|
sendlocatorcontainer_component.xml
|
Extends
|
webcomponent/config/library/sendlocator/
sendlocatorcontainer_component.xml
|
Class File
|
com.XXXXXidiar.sendlocator.SendLocatorContainer
|
JSP
|
/XXXXXi-diar/sendlocator/sendlocatorcontainer.jsp
|
NLS File
|
-NA-
|
Getting the login user name
from the below code.
SessionManagerHttpBinding.getUsername();
Hidden fields created
for storing the email subject and email body.
<dmf:hidden name='<%=SendLocatorContainer.MAILCONTENT%>'
id="mailContent"/>
<dmf:hidden name='<%=SendLocatorContainer.MAILSUBJECT%>'
id="mailSubject"/>
Below is the script for
creating signature by the login user.
var strBody = "Dear
User,\n\nPlease find the below documents. \n\n";
var strSignature = "\n\nThanks
& Regards,\n" + "<%=strUserName%>,\n"
+"EDMS, \nXXXXXidiar.\n”;
var strFormId = "<%=form.getElementName()%>";
var formElement = eval("document."
+ strFormId);
var strMailBody =
formElement.mailContent.value;
var strSub = formElement.mailSubject.value;
A new email message will be
opened using the below url.
var mailtoStr = "mailto:?subject="
+ escape (strSub) + "&body=" +
escape(strBody + strMailBody + strSignature);
window.location = mailtoStr;
3. Notifications
Requirement: If
a user is monitoring a folder, if a new document is created or a new version of
existing document is uploaded the system should send an email alert.
Solution: Using
the webtop default functionality “Turn on Read Notification” and “Turn on
Change Notification” user can apply notifications on folders/documents. User
will get the notifications once he applied notifications on documents/folders.
Custom events for Notifications also configured in Webtop by
modifying the app.xml file. If the user applied notifications system will register
the below events.
<notification>
<events>
<event>dm_getfile</event>
<event>dm_save</event>
<event>dm_checkin</event>
<event>dm_checkout</event>
<event>dm_link</event>
<event>dm_destroy</event>
</events>
</notification>
Notifications mail format also changed by editing the dm_event_sender.ebs
file from content servers.
4. Check-in as Major Version
Requirement:
When
user trying to check in a document, system should create a new version. By
default system will allow users to check in as same version.
Solution: We have
removed the check in as same version from the check in component by removing
the radio button and label from the checkin.jsp page.
Component
|
checkin_component.xml
|
Extends
|
webcomponent/config/library/contenttransfer/checkin/
checkin_component.xml
|
Class File
|
|
JSP
|
/XXXXXi-diar/checkin/checkin.jsp
|
NLS File
|
|
5. Sender and Recipient Names are mandatory
for Document Type Correspondence
Requirement: While
importing a document in to EDMS, if the Document Type is Correspondence, then sender
and receiver names should be mandatory.
Solution: wdk
import and import container component customized for the document type
validation.
Component
|
import_component.xml
|
Extends
|
webcomponent/config/library/contenttransfer/importcontent/
import_component.xml
|
Class File
|
com.documentum.webcomponent.library.contenttransfer.importcontent.ImportContent
|
JSP
|
/XXXXXi-diar/importcontent/importContent.jsp
|
NLS File
|
-NA-
|
Document type will be validated from the behavior class MyUcfImportContainer from the import
container component. If the document type is Correspondence, then sender and
recipient names are mandatory.
Component
|
importcontainer_component.xml
|
Extends
|
webcomponent/config/library/contenttransfer/importcontent/
importcontainer_component.xml
|
Class File
|
com.XXXXXidiar.importcontent.MyUcfImportContainer
|
JSP
|
/XXXXXi-diar/importcontent/importcontainer.jsp
|
NLS File
|
-NA-
|
A label has created for
displaying the error message on the import container.
<dmf:label
name="mylabel" cssclass="validatorMessageStyle"/>
6. Simple Search(Full Text) Customization for
hiding ERP Supporting Documents
Requirement:
EDMS search result should not contain the ERP related documents.
Solution:
Created a new cabinet for ERP
Supporting Documents and moved ERP related folder to the new cabinet and
excluded simple search from the ERP Supporting Documents folder by customizing
webtop search component.
In the custom search component, we have hard coded specific
cabinets to perform the search operation. Below is the custom search component
configuration.
Component
|
search60_component.xml
|
Extends
|
/webtop/config/search60_component.xml
|
Class File
|
com.XXXXXidiar.search.SearchEx
|
JSP
|
-NA-
|
NLS File
|
-NA-
|
Specific cabinets have been added to the query builder using
the method addLocationScope().
objQBuilder.addLocationScope(strCurrentDocbase,
"/XXXXX", true);
objQBuilder.addLocationScope(strCurrentDocbase,
"/New Org Structure", true);
objQBuilder.addLocationScope(strCurrentDocbase,
"/XXXXX Railways", true);
objQBuilder.addLocationScope(strCurrentDocbase,
"/LUSAIL", true);
7. Update Owner Script
Requirement: Captiva
Index operator should be the owner of the document in EDMS.
Solution: A
new attribute created for capturing the index operator while indexing in
Captiva. Once the indexed document arrives in documentum, the owner of the
document will be “dmadmin”. So, we have created script for updating the owner
name manually. The script will query the document and retrieve the index_operator from the document
properties.
Class: ChangeOwner.java
Properties: _WIN.properties(for windows)
Getting dfc session using the getsession() method.
sess = sMgr.getSession(repository);
Executing a query using the below dfc code.
execQuery(uQry, sess);
8. Deleting Documents from EDMS
Requirement: If
user requests for deleting a documents from EDMS it should be moved to different
location but should not be deleted permanently until they expired.
Solution:
A new cabinet “Recycle Bin” created for all the deleted
folders/documents from EDMS. If a delete request comes from the business user
then we will move the document to the Recycle Bin cabinet.
Custom ACL _recycle_bin_acl
has been applied on the Recycle Bin to restrict access to the normal users on
deleted documents.
9. Integration with Barcode application
Requirement:
GCEO
office has a requirement to upload documents in to the EDMS with the barcode. User
generates the barcode using recipient name, departments and the current date. They will
stick the printed barcode on the document and upload scanned document in to
EDMS. While uploading document in to EDMS, user selects the Barcode field and
scan the barcode. It will automatically print the 12 digit code in the barcode
field. And user also needs the search option from the EDMS using the 12 digit
barcode.
Solution: We
have created a new attribute Barcode String (12) for _document to
capture the barcode. Barcode
application will get the recipient_names from the edms database using the
database link between SQL server and edms database. DB link created for EDMS registered table _recipient_valuelist
to retrieve the recipient_names.
User can search for a document using the 12 digit barcode
from EDMS advanced search functionality.