Page tree
Skip to end of metadata
Go to start of metadata



Purpose

For a long time (always) a problem exists in ECTR, which may lead to inconsistent data in session which in turn can cause data loss.




Overview

The "drop" of a document outside of ECTR in a file system can have unforeseen side effects.

Starting position

A document is "in work" in ECTR and modified by me. The file is RW in the session directory.


Now I drag this modified document with the mouse from ECTR-folder and drop it in an new empty windows directory (file system):


What now happens is that the file is implicit moved by operating system from the session directory into the new empty directory where the user dropped the document.

If I now try to continue changing the document in CAD system, ECTR returns this error:

Reason: The file is not in the session directory of the ECTR any more because it was moved away by explorer during DnD. For ECTR it looks like that the document is checked out for me in SAP but in work somewhere else, not on this workstation, not in this running ECTR session.


If I know the reason, I can just drag it from the new directory and drop / copy it in the session directory back. Then I can continue to work. (smile)

If I have no idea about this issue, the only chance for me is to "Cancel Edit and Discard Work" for this document.

But then I have a data loss of the changes I have done at this document since I checked it out from SAP. (sad)


Symptom when you "remove" the file with the drag & drop feature while it is open in NX:



The root cause is that main original was removed from session by explorer, the additional directory is still there. Different actions/processes in ECTR, different current status of the document or content of the .di may produce completely different error messages.

Background information about the Drag & Drop feature

The transferred data can be of various type. A Flavor provides information about the data being transferred. Usually, we can drag and drop different things: Meta data or file objects. If we drag a document inside ECTR, we drag and drop meta data. If we drag a document in ECTR and move it to another place, we drag and drop the file.

The Drag & Drop functionality with files from the desktop window is required to drop the document onto a CAD system and insert it there into an assembly. For this use case it must be the file in the session directory.

There exists three actions for the drag & drop feature: Move, Copy and Link. For example, the default generally indicates a move action, holding the Control key indicates a copy action, and holding both Shift and Control (CTRL-SHIFT) indicates a linking action. When the user drags a document inside ECTR, we must define which actions are allowed for this document. The "Move" - Use case is used to move a document from one folder into an other folder.

The combination of the "Move" - Action and the "file" Flavor leads to this on top described issue.

Solution

No solution is possible without changing the DnD behavior:

  • We can switch off the MOVE action in the desktop window. Then it is not possible to move documents from one ECTR folder to another ECTR folder, you can just copy it with drag & drop.
  • We can switch off the "file" flavor, then the "add component" by DnD will not work any more for CAD Systems.
  • We can do a tricky combination: Switch off the MOVE action in desktop window but use the CTRL-SHIFT key to change the action from copy not to link (default operation for CTRL-SHIFT) but to MOVE. Then all use cases are still possible but we have to clear communicate this behavior change.


Solution with 5.1.15.2, 5.2.2.1

# treat link DnD action (ctrl-shift) as move (affects only ectr folder)
# true = The drop action "link" is treated as "move" on ECTR folders
# false = The drop action "link" is treated as "copy" (default)

# plm.om.folder.drag&drop.handleLinkAsMove = true/false


# treat ANY DnD action as MOVE (affects only ectr folder)
# true = The drop of objects on ECTR-folders are always MOVE-operations
# false = No change of the defined drop operation on ECTR - folders (default)

# plm.om.folder.drag&drop.alwaysMove = true/false

# allow/disallow MOVE for tree DnD for certain context, default - "obr.tree.DnD.moveAllowed"
# true = Move operation for drag is allowed in this context (default)
# false = Move operation is not possible for this context

# obr.tree.DnD.moveAllowed.<ctx_key> = true/false

# allow/disallow MOVE for all contexts
# you can override this global setting for certain context by using  obr.tree.DnD.moveAllowed.<ctx_key> 
# true = Move operation for drag is everywhere allowed (default)
# false = Move operation is nowhere possible 

# obr.tree.DnD.moveAllowed = true/false


Recommendation

# MOVE is completely switched off, if you want to move the folder in ECTR, you can do it by ctrl-shift
obr.tree.DnD.moveAllowed = false
plm.om.folder.drag&drop.handleLinkAsMove = true


Workaround with older versions of ECTR

Change default for drag & drop in Windows for all applications

Windows Registry Editor Version 5.00
; Created by: Shawn Brink
; http: //www.tenforums.com
; Tutorial: http: //www.tenforums.com/tutorials/38097-drag-drop-default-action-change-windows.html

[HKEY_CLASSES_ROOT\*]
"DefaultDropEffect" =dword: 00000001

[HKEY_CLASSES_ROOT\AllFilesystemObjects]
"DefaultDropEffect" =dword: 00000001








Related Content

Related Documents









  • No labels