Feature Wiki
Tabs
Revision of the suffix ‘- copy‘ for object copies
Page Overview
[Hide]- 1 Initial Problem
- 2 Conceptual Summary
- 3 User Interface Modifications
- 4 Additional Information
- 4.1 Involved Authorities
- 4.2 Technical Aspects
- 4.3 Privacy
- 4.4 Security
- 4.5 Contact
- 4.6 Funding
- 5 Discussion
- 6 Implementation
- 6.1 Description and Screenshots
- 6.2 Test Cases
- 6.3 Privacy
- 6.4 Approval
1 Initial Problem
When copying objects, ILIAS adds " - Copy" to the object title. From our point of view, this should not be the case and it should be a different behaviour depending if there is an existing object with the same title at the target location.
At the moment, the following behaviour exists:
- A first copy of “Source” is called “Source - Copy”.
- A second one is called “Source - Copy (2)”.
- A third copy is called "Source - Copy (3)".
- A copy of "Source - Copy" is called "Source - Copy (2)".
- A second copy of this is called “Source - Copy (3)”.
- A third one is called “Source - Copy (4)”.
For clarification: When a container object is copied, only the container object gets the addition at the title. This Feature Requests does not change this behaviour. It just changes the concept of adding "- Copy" to the title.
2 Conceptual Summary
We would like to change the behaviour depending if there is an existing object with the same title at the target location.
Copy without an existing object with the same title at the target location:
Our ideal would be that a copy at any location does not have the suffix “- Copy” or a number, if there is no object with identical title.
Copy with an existing object with the same title at the target location:
- A first copy of “Source” is called “Source (1)”.
- A second one is called “Source (2)”.
- A third copy is called "Source (3)".
- A copy of "Source (1)" is called "Source (2)".
- A second of these is then called “Source (3)”.
- A third one is called “Source (4)”.
Translations (no change!)
If the title was translated, the corresponding translation will also be counted up. The counter in the translation is independent from the counter in the base language, ie. if there is an object with the same untranslated name, but a different translated name, the untranslated name will be counted up, but the translated name won't.
3 User Interface Modifications
3.1 List of Affected Views
There are no specific changes at any views, only the title of copied objects is affected.
3.2 User Interface Details
see above
3.3 New User Interface Concepts
No new User Interface Concept needed.
3.4 Accessibility Implications
No Accessbility Implications.
4 Additional Information
4.1 Involved Authorities
- Authority to Sign off on Conceptual Changes: kergomard - software for meaningful learning
- Authority to Sign off Code Changes: kergomard - software for meaningful learning
4.2 Technical Aspects
{ Necessary technical information have to be provided here, e.g. dependencies on other ILIAS components, necessary modifications in general services/architecture, potential security or performance issues. }
4.3 Privacy
No Privacy Implications
4.4 Security
No Security Implications
4.5 Contact
Person to be contacted in case of questions about the feature or for funding offers: Lowe, Simon [simon.lowe]
4.6 Funding
Funding status and funding parties are listed in the block 'Status of Feature' in the right column of this page.
If you are interested to give funding for this feature, please get into contact with the person mentioned above as 'Contact'.
5 Discussion
JourFixe, ILIAS [jourfixe], 23 JUN 2025: We had a longer discussion about this feature request and see that it solves a problem at one side but creates new ones at others. We postpone the decision to the next JF to see if we go this way or if another fits better to the identified problems.
Seiler, Yvonne [yvseiler], 23 JUN 2025: I would like to ask you not to lose sight of the actual goal of your request.
What do users intend when they copy/paste something? My guess: To save time by having a consistent variant of something existing that can be modified if necessary. So it's about being efficient and being able to make a change to the original OR the copy.
In the copy/paste workflow, it is therefore important that users quickly find out which is the copied object in order to distinguish it from the original. This can be done a) by making it visible from the system which is the copy, or b) by giving the copy a unique title. One solution can therefore be a) to label the copy in the system or b) to make renaming the object as simple and directly accessible as possible.
A well-known pattern for a) is the workflow copy/paste of your own operating system with the file manager: A copied object at the same location receives copy, copy 2, copy 3 at the end. A copied object at a different location retains the name as before; if the same object type with the same name already exists, the system asks whether it should be replaced or both should be retained -> if both are retained, Copy, Copy 2, etc. are added to the title). This pattern works both for copying a single object and for copying several objects at the same time.
For b) you could consider giving a direct input for a new title. However, this will be a very complex issue for several objects copied at the same time. Not sure how to do this in a easy efficient way.
Omitting a reference in the title of a copy makes it difficult for users to quickly determine which object is the original and which is the copy. If this is no longer possible (as soon as there are 2 identical object types with the same title), renaming the copy will only be possible with great effort on the part of the user. This also means that the intention of making a quick and efficient adjustment is no longer fulfilled.
Weber, Frank [franklin66] I agree with Yvonne. To be honest I don't think this would be a good idea at all - and it would lead to a lot of user errors, additional support etc. etc.
Lowe, Simon [simon.lowe], 24 JUN 2025: For clarification, like discussed at the JF yesterday: We just would like to remove the suffix "- copy" in the case an object is copied to a different location than its origin. This is exactly the functionality of e.g. the Windows file manager.
The only case, which could be critical, is when copying one object multiple times to a different location than its origin.
In the case of copying an object within the location of the object, we would like to have the functionality as it is - there should be the suffix and also an incremental number.
Schroeder, Thomas [Thomas.schroeder] 25 JUN 2025:
I fully agree with the proposed behavior from “A well-known pattern for a)” onwards. This approach — appending Copy, Copy 2, etc. to the object title — is widely understood by users and offers clarity and efficiency, even when copying multiple items at once.
However, I would not suggest adding an additional confirmation dialog or explicit validation step for the user (like asking “Do you want to rename or keep both?”). In my opinion, introducing such a dialog would increase complexity — both in terms of UI elements and development effort — without providing significant added value for this use case.
Instead, I’d favor a lightweight check: simply validate whether an object with the same name already exists at the target location. If it does, append Copy (and so on); if not, keep the original name. That minimal check should still happen, of course — but only on the name, and without involving the user in an extra step.
This way, we keep the workflow simple and efficient, and the system still helps distinguish the copy from the original.
Kunkel, Matthias [mkunkel], 27 JUN 2025: If understand the current suggestion of this feature request correct, we would have the following behaviours:
There is a „container X“ (aka „X“) and a „container Y“ (aka „Y“) as well as an „object A“ („A“) that lays in X.
- Case 1: Copy A within X → title of copy is: „A – copy 1)
- Case 2: Copy A again within X → title of copy is „A – copy 2)
- Case 3: Copy A into an empty container Y → title of copy is: „A“
- Case 4: Copy A again into Y (and existing A has not been renamed) → title of copy is „A – copy 1)
Did I understand it right?
Lowe, Simon [simon.lowe], 27 JUN 2025: From the basic functionality you are right, but after a consultation with Stephan our suggestion is the following (I adapt your example). This reduces code complexity and meets the requirements discussed at the last JF.
There is a „container X“ (aka „X“) and a „container Y“ (aka „Y“) as well as an „object A“ („A“) that lays in X.
- Case 1: Copy A within X → title of copy is: „A (1)"
- Case 2: Copy A again within X → title of copy is „A (2)"
- Case 3: Copy A into an empty container Y → title of copy is: „A“
- Case 4: Copy A again into Y (and existing A has not been renamed) → title of copy is „A (1)"
Stake, Sebastian [sstake], 30 JUN 2025: I consider the proposed changes to the suffix to be reasonable for various reasons:
- If objects are exported and afterwords imported no suffix (like - import) is added.
- The suffix may lead to a missunderstanding that this is (and will always be) a true copy.
Furthermore there has to be something to destinguish which is the copy. Since this is possible through the online/offline status I don't see any benefit of a copy suffix.
Klöß, Melanie [mkloes], 1. JUL 2025: +1 for Franks comment. Our team has the same concerns.
6 Implementation
Feature has been implemented by {Please add related profile link of this person}
6.1 Description and Screenshots
{ Description of the final implementation and screenshots if possible. }
6.2 Test Cases
Test cases completed at {date} by {user}
- {Test case number linked to Testrail} : {test case title}
6.3 Privacy
Information in privacy.md of component: updated at {date} by {user} | no change required
6.4 Approval
Approved at {date} by {user}.
Last edited: 1. Jul 2025, 11:37, Klöß, Melanie [mkloes]