Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Changed: finished document, referring to workspace-level functions
Note
titleWork in progress

This is work in progress. The set-level functions will have to be re-defined first before this becomes valid.

Story

I can use the clipboard to copy or cut and then paste items around. I can paste copied or cut items multiple times and a previously copied or cut item is replaced, if I copy or cut an item again.

If I'm unsure where I could paste the current content of the clipboard, I can use a clipboard function to show me all supported locations in the currently showing view. I typically use the clipboard only within a view, rarely across views, but certainly only within a workspace.

Description of desired behavior

The basic clipboard function does not have to be explained in all detail - it is well known from applications such as Word or text editors. Content can be copied to the clipboard and pasted in another location, but it can also be cut - copied first, then deleted and removed - and pasted later. The challenge is to do this right across multiple views with different types of items.

The clipboard belongs to

...

a workspace

In Magnolia 5, the clipboard is a setworkspace-level function, which means that its associated with an item set. It thus only works with items in the same set, but between all of its views. This is visually enforced by placing the clipboard in the toolbar. . As such, it is associated with a workspace and thus with the item set it shows. The clipboard works across all subsets and between all views of a workspace.

Every workspace Every item set has its own toolbar with its own clipboard, but clipboards cannot interact with each other, since the items they work with are usually not supported in a different set. While this could be confusing, the implications and semantic meaning of performing such a copy operation across . The implications and semantics of performing an item copy operation across workspaces and thus domains are hard to understand and might even make no sense at all in some cases. I believe that from the perspective of a user used to desktop applications and even web apps, the classic clipboard with cut, copy and paste is something local and is not to be expected to work across different applications and domains.By putting the clipboard inside the toolbar, it remains a function local to the workspace and works intuitively how you'd expect without guessing its meaning.

So, the clipboard has been defined to only work within an item set of a specific work area's shelf or compartment. This also holds, if there's a semantically equivalent or similar item set by a compartment or a shelf of the same or a different work areain a different workspace. As an example, if you have a set of pages under "Website", but also a set of pages under "A-B testing", you can't copy a page from "Website" to "A-B testing".

Switching

...

workspaces

If the user switches from one item set workspace to another, the contents of the clipboard are flushed, although the rest of the state of the workspace is preserved. This avoids the complexity of having multiple clipboards with confusion caused when copying items in one space, then hitting paste in another and getting different content possibly copied hours ago, and it . Flushing a clipboard when switching workspaces also enforces our view of the clipboard as a tool local to an item setlocal tool with temporary character.

Preview of paste operation

If a user clicks or taps and holds the paste function (or moves the keyboard focus on it and waits for a couple of seconds), a tooltip will show the number and type of items currently in the clipboard (e.g. 5 videos for a set of videos or 3 items for a set containing items of mixed type) and will highlight all items in the current view accepting a paste of the content in the clipboard. This effect disappears again if the mouse button is released or the tap ends. Note that click/tap and hold, followed by a release releasing the mouse button does not cause a paste operation in this case - you have to click/tap the paste button again to get this behavior.

Mockups