Skip to content

Commit

Permalink
Fixes # 235 - Cleaning info/note containers without losing informatio…
Browse files Browse the repository at this point in the history
…n (backport)
  • Loading branch information
ralf401 committed Jan 26, 2024
1 parent 31f6509 commit bf6bdb6
Show file tree
Hide file tree
Showing 27 changed files with 1,306 additions and 1,478 deletions.
63 changes: 32 additions & 31 deletions advanced/keyboard-shortcuts.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,21 @@ Keyboard Shortcuts
Zammad supports a wide array of keyboard shortcuts to expedite your workflow as
an expert user. But don't be afraid, you don't have to remember all of them.

.. tip:: **🤓 Have a look here to find the keyboard shortcuts**
Where to find them?
-------------------

Click on your avatar at the bottom of the main menu to access the
**keyboard shortcuts cheat sheet**.
Click on your avatar at the bottom of the main menu to access the
**keyboard shortcuts cheat sheet**.

.. figure:: /images/advanced/profile-shortcuts.png
:alt: User submenu
:align: center
:scale: 85%
.. figure:: /images/advanced/profile-shortcuts.png
:alt: User submenu
:align: center
:scale: 85%

Alternately, open it with one of the shortcuts below:
Alternatively, open it with one of the shortcuts below:

* ``ctrl`` + ``shift`` + ``h`` (on Linux and Windows)
* ``cmd`` + ``ctrl`` + ``shift`` + ``h`` (on macOS)
* ``ctrl`` + ``shift`` + ``h`` (on Linux and Windows)
* ``cmd`` + ``ctrl`` + ``shift`` + ``h`` (on macOS)

This will open an overview of available keyboard-shortcuts as in the following
screenshot:
Expand Down Expand Up @@ -100,7 +101,7 @@ Key / key combination Function
Text Editing
^^^^^^^^^^^^

.. tip::
How
You can apply a text format *before* typing or *after* typing. Example:

Before typing:
Expand All @@ -115,24 +116,24 @@ Text Editing
* click-and-drag with the mouse to select it, and
* press ``cmd`` + ``i`` to set the text in *italics*.


==================================== =============================================================
Key / key combination Function
==================================== =============================================================
``ctrl`` + ``u`` Format text underlined
``ctrl`` + ``b`` Format text in **bold**
``ctrl`` + ``i`` Format text in *italics*
``ctrl`` + ``s`` Format text as ̶s̶t̶r̶i̶k̶e̶t̶h̶r̶o̶u̶g̶h̶
``ctrl`` + ``v`` Paste text from clipboard
``ctrl`` + ``shift`` + ``v`` Paste text from clipboard (as plain text)
``shift`` + ``ctrl`` + ``f`` Remove formatting of text
``shift`` + ``ctrl`` + ``y`` Remove formatting of the whole text
``shift`` + ``ctrl`` + ``z`` Insert a horizontal line
``shift`` + ``ctrl`` + ``l`` Format as unordered list
``shift`` + ``ctrl`` + ``k`` Format as ordered list
``shift`` + ``ctrl`` + ``1`` Format as h1 heading
``shift`` + ``ctrl`` + ``2`` Format as h2 heading
``shift`` + ``ctrl`` + ``3`` Format as h3 heading
``shift`` + ``ctrl`` + ``x`` Remove any hyperlink
==================================== =============================================================
Key Combinations
============================== =============================================
Key / key combination Function
============================== =============================================
``ctrl`` + ``u`` Format text underlined
``ctrl`` + ``b`` Format text in **bold**
``ctrl`` + ``i`` Format text in *italics*
``ctrl`` + ``s`` Format text as ̶s̶t̶r̶i̶k̶e̶t̶h̶r̶o̶u̶g̶h̶
``ctrl`` + ``v`` Paste text from clipboard
``ctrl`` + ``shift`` + ``v`` Paste text from clipboard (as plain text)
``shift`` + ``ctrl`` + ``f`` Remove formatting of text
``shift`` + ``ctrl`` + ``y`` Remove formatting of the whole text
``shift`` + ``ctrl`` + ``z`` Insert a horizontal line
``shift`` + ``ctrl`` + ``l`` Format as unordered list
``shift`` + ``ctrl`` + ``k`` Format as ordered list
``shift`` + ``ctrl`` + ``1`` Format as h1 heading
``shift`` + ``ctrl`` + ``2`` Format as h2 heading
``shift`` + ``ctrl`` + ``3`` Format as h3 heading
``shift`` + ``ctrl`` + ``x`` Remove any hyperlink
============================== =============================================

12 changes: 4 additions & 8 deletions advanced/macros.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,11 @@ If you find yourself making the same changes to lots of tickets
(*e.g.,* close-and-tag-as-spam or reassign-to-another-group),
macros can make the job a whole lot easier.

.. note:: 🤔 **How do I make macros?**
Macros can be created by your :admin-docs:`administrator </manage/macros.html>`.
If you have an idea for a macro you'd like to use, your Zammad admin can
probably make it happen.

You don't - that's the
:admin-docs:`administrator's job </manage/macros.html>`.
If you have an idea for a macro you'd like to use,
your Zammad admin can probably make it happen.

Macros can be applied in one of two ways:
on a single ticket, or in bulk.
Macros can be applied in two ways: on a single ticket, or in bulk.

On a Single Ticket
------------------
Expand Down
51 changes: 19 additions & 32 deletions advanced/search.rst
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
Advanced Search
===============

With Zammad, you can limit your search to specific Information.
This allows you to find e.g. Tickets with specific key words and states.
With Zammad, you can limit your search to specific attributes.
This allows you to find e.g. tickets with specific key words and states.
Below information will help you to improve your search results.

For instance you can search for a specific customer
For instance you can search for a specific customer
by using ``customer.attribute``::

customer.firstname: John
Expand All @@ -15,29 +15,15 @@ or::
customer.lastname: Doe


If you want to run a more complex search you can use conditions
If you want to run a more complex search, you can use conditions
with ``()`` and ``AND``/``OR`` options::

state.name: open AND (article.from:me OR article.from:somebody)

.. note:: **🤓 Search phrases changed for Zammad 4.0**

With Zammad <=3.6 the following keys contained a string only:

* group
* priority
* state
* organization

With Zammad >=4.0 these keys contain the whole object. This means you
now have to add ``.name`` (e. g. ``group.name`` or ``priority.name``)
to receive the same search results.


Available attributes
--------------------

.. hint::
.. hint::

For a more detailed list of available attributes please take a look into our
:docs:`Zammad System Documentation </install/elasticsearch/indexed-attributes.html>`.
Expand All @@ -57,20 +43,21 @@ Available attributes
"article_count", "5 |br|\ [5 TO 10] |br|\ [5 TO \*] |br|\ [\* TO 5]", "article_count:5 |br|\ article_count: [5 TO 10] |br|\ article_count:[5 TO \*] |br|\ article_count:[\* TO 5]", "You can search for Tickets with a specific number of articles (you can even search for everything with 5 or more articles or even up to 5 articles, if needed)."
"article.from", "\*bob\*", "article.from:\*bob\*", "Show all tickets that contain articles from ""Bob"""
"article.body", "heat |br|\ heat~ |br|\ /joh?n(ath[oa]n)/", "article.body:heat |br|\ article.body:heat~ |br|\ articlebody:/joh?n(ath[oa]n)/", "First example shows every ticket containing the word ""heat"" - you can also use the fuzzy operator ""~"" to search for similar words like e.g. like ""head"". Zammad will also allow you to use regular expressions, where ever the attributes allows it."

.. hint:: **Combining search phrases**

You can combine search phrases by using ``AND``, ``OR`` and ``TO``,
depending on the situation and phrases you use. If needed, you can parts of
your search phrase for complex searches with ``()``. This allows you to
combine several phrases with different dependencies (AND/OR). In case you
receive search results that you want to exclude, you can use negation ``!``.
Below are some examples that you could use with this:

.. csv-table:: Examples for search phrase combinations

Combining search phrases
------------------------

You can combine search phrases by using ``AND``, ``OR`` and ``TO``,
depending on the situation and phrases you use. If needed, you can parts of
your search phrase for complex searches with ``()``. This allows you to
combine several phrases with different dependencies (AND/OR). In case you
receive search results that you want to exclude, you can use negation ``!``.
Below are some examples that you could use with this:

.. csv-table:: Examples for search phrase combinations
:header: "Search phrase", "Description"
:widths: 10, 20

"state.name:(closed OR open) AND (priority.name:""2 normal"" OR tags:feedback)", "Show every ticket that state is either closed or open and has priority normal or the tag feedback."
"state.name:(closed OR open) AND (priority.name:""2 normal"" OR tags:feedback) AND !(*Zammad*)", "This gets the same result as above, expect that we don't want the ticket to contain anything matching to ""Zammad"""
"owner.email:bob@example.net AND state.name:(open OR new)", "Show Tickets from bob@example.net that are either open or new"
Expand All @@ -91,7 +78,7 @@ Ticket attributes
* state: object (state.name, ...)
* organization: object (organization.name, ...)
* owner: object (owner.firstname, owner.lastname, owner.email, ...)
* customer: object
* customer: object
(customer.firstname, customer.lastname, customer.email, ...)
* first_response_at: timestamp
* first_response_in_min: integer (business min till first response)
Expand Down
67 changes: 33 additions & 34 deletions advanced/suggested-workflows.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ In these cases, there are three ways to assign the work to the right people:
1. If a ticket is really about two different problems,
you can :doc:`split it in two </advanced/ticket-actions/split>`,
then assign each ticket to its respective “group” (department).
2. If youve done all you can on a ticket
and its now another agents (or departments) responsibility,
2. If you've done all you can on a ticket
and it's now another agent's (or department's) responsibility,
**reassign it** to a new owner (or group).
3. If you just need another agents input on something, you can **@mention**
them. (And if *you* want to get notifications for *someone elses* ticket,
3. If you just need another agent's input on something, you can **@mention**
them. (And if *you* want to get notifications for *someone else's* ticket,
use the **subscribe button**.)

Reassigning tickets
Expand All @@ -28,15 +28,15 @@ Reassigning tickets
:align: center

Reassign a ticket (via the *Group* and *Owner* settings)
to let colleagues know youre done with your part.
to let colleagues know you're done with your part.

Suppose a call comes into the sales department.
A sales rep takes the call, creates a ticket,
and looks up some prices for the customer.
After recording his notes,
the rep then decides that this ticket needs to be passed onto customer service.

Our sales rep can simply un-assign himself has the **owner** of the ticket
Our sales rep can simply un-assign himself as the **owner** of the ticket
and re-assign the ticket to the Customer Service **group**.
*All customer service agents will be notified of the incoming ticket*,
and the first available agent can assign herself
Expand All @@ -52,23 +52,23 @@ to pick up where the sales rep left off.
@mentions & the Subscribe Button
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Now suppose youve reassigned the ticket to customer service.
You wont receive notifications for this ticket anymore,
Now suppose you've reassigned the ticket to customer service.
You won't receive notifications for this ticket anymore,
but maybe this is a really important contract,
and you want to make sure they have an A+ experience from start to finish.

To enable notifications for a ticket that doesnt belong to you,
To enable notifications for a ticket that doesn't belong to you,
simply click the **Subscribe** button at the bottom of the ticket pane:

.. figure:: /images/advanced/suggested-workflows/mention-subscribe-yourself-to-a-ticket.gif
:alt: Screencast of the Subscribe button feature
:width: 90%
:align: center

A list of all tickets youre subscribed to
A list of all tickets you're subscribed to
can be found in the **My mentioned Tickets** overview.

Or, suppose you *dont* want to reassign the ticket to customer service—you
Or, suppose you *don't* want to reassign the ticket to customer service—you
just have one quick question for them, and then you can take it from there.

To start sending someone else notifications for your own ticket,
Expand All @@ -82,12 +82,14 @@ type ``@@`` in the message composer and select their name from the pop-up menu:
@mentioning a colleague in a message
will automatically subscribe them to your ticket.

.. hint:: ⚙️ Check your :doc:`/extras/profile-and-settings`
.. hint:: ⚙️ **Notification settings**

Check your :doc:`/extras/profile-and-settings`
to customize how you receive notifications.

.. note:: 😖 **A colleague @mentioned me, but I don’t see the ticket!**
**Can't see a ticket, in which a colleague @mentioned you?**

Is the ticket assigned to a group that you dont belong to?
Is the ticket assigned to a group that you don't belong to?
@mentions and subscriptions only work for tickets that you already have
access to.

Expand All @@ -102,35 +104,32 @@ This means you can adjust the following ticket information:
* state (with pending time if applicable)
* priority

After pressing "Confirm" Zammad also allows you to provide an internal or
After pressing "Confirm", Zammad also allows you to provide an internal or
public note of why you adjusted the settings.

.. note::

Zammad *will not* ask for
:doc:`time accounting values </advanced/time-accounting>`
in these situations.
Zammad *will not* ask for
:doc:`time accounting values </advanced/time-accounting>` in bulk actions.

.. figure:: /images/advanced/suggested-workflows/bulk-operations-on-ticket-lists.gif
:alt: Bulk operations in overviews and detailed searches
:align: center
Bulk action via drop-downs:
.. figure:: /images/advanced/suggested-workflows/bulk-operations-on-ticket-lists.gif
:alt: Bulk operations in overviews and detailed searches
:align: center

Use the check boxes in ticket listings to select a bunch of tickets.
Now use below drop-downs to change ticket settings, press confirm and
provide a note if you'd like.
Use the check boxes in ticket listings to select a bunch of tickets.
Now use below drop-downs to change ticket settings, press confirm and
provide a note if you'd like.

.. tip:: **🤓 You can change owners and groups even faster 🚀**
Bulk action via drag and drop:
**🤓 You can change owners and groups even faster 🚀**

.. figure:: /images/advanced/suggested-workflows/drag-bulk-operation_assign-owner.gif
:alt: Drag selected tickets and drop then on a group or agent to change
ticket group / owner
:align: center

Instead of using the drop-downs on the bottom of Zammad, you can also
drag tickets. A new modal will appear and allow you to drop your
selection on either just a group or agents. This operation allows you to
quickly change the group and owner without further hassle!

.. note::
Instead of using the drop-downs on the bottom of Zammad, you can also
drag tickets. A new modal will appear and allow you to drop your
selection on either just a group or agents. This operation allows you to
quickly change the group and owner without further hassle!

This functionality is only available in ticket overviews.
This functionality is only available in ticket overviews.

0 comments on commit bf6bdb6

Please sign in to comment.