-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathREADME
More file actions
159 lines (123 loc) · 6.47 KB
/
README
File metadata and controls
159 lines (123 loc) · 6.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
NAME
RT::Extension::Memo - Add a memo widget to tickets
DESCRIPTION
This module adds a new widget to any ticket which allows to add, edit
and display information directly on the ticket display page.
In many cases, resolving a ticket involves to collect and store some
information which helps the owner of the ticket to find some solution.
Such information includes tips and tricks, *todo* list, etc. The common
way to handle such information in RT is to paste it into comments.
To do so has several drawbacks. First, it mixed information which is
relevant only to the owner of the ticket with communication between
internal actors, that occurs through comments, for instance between the
owner of the ticket and some of her colleagues. Second, the owner of the
ticket has to search in the history for all comments to keep up with
what has been done and what is left to be done, various issues that have
arisen, etc. Third, when the owner of the ticket wants to add a new
comment, she has to leave the display page of the ticket for the update
form, loosing any access to the history of the comments, as well as
various information about the ticket, such as its custom fields, dates
or people. One solution to have the history at hand when adding a new
comment, is to reply to the previous comment each time something has to
be added. But the information is then copied in each reply with unneeded
and cumbersome redundancy. Fourth, replying to the previous comment
implies that this previous comment is folded when displaying the new
one, with the consequence that it must be unfolded to read it and that
its content cannot be searched until it is unfolded.
The RT-Extension-Memo plugin provides a new widget to manage such
information. It is displayed on the top of the history in the display
page of the ticket, therefore gathering all information at the same
place. It can be edited directly on this same display page, with all
information about the ticket at hand.
Internally, such a *Memo* is stored in a single attribute, avoiding too
much extra storage space (as it would have been the case if it was
stored as a custom field value where all revisions are kept up in the
database). The counterpart of this technical implementation is that
caution has to be made when editing the *Memo*: any previous revision is
overwritten, so if information is deleted when editing the *Memo*, it is
actually forever lost.
CONFIGURATION
These options are set in etc/Memo_Config.pm and can be overridden by
users in their preferences.
$MemoRichText
Should "rich text" editing be enabled for memo widget?
$MemoHeight
Set number of lines of the textarea for editing memo.
$MemoRichTextHeight
Set height (in number of pixels) of the rich text editor for editing
memo.
RIGHTS
The following new rights can be applied at the global level or at the
queue level:
SeeMemo
Users and groups with this right are able to see the *Memo* on the
display page of a ticket.
ModifyMemo
Users and groups with this right are able to add a new *Memo* and to
edit existing *Memo* attached to a ticket.
STYLING
The CSS properties of the Memo widget can be styled by overwriting
defaults set in static/css/memo.cc.
RT VERSION
Works with RT 4.2 or greater.
RT 6
In RT 6, Memo is available as a *widget*, that you can use on Display
Layouts for Tickets.
Also, in RT 6, a new Description field has been added to tickets, which
can play the same role as Memo. Still there are some differences between
these two widgets. Memo widget can be used only once in a page layout,
while Description can be used multiple times in the same page layout.
Memo widget is supposed to be used only on Display Layouts for tickets,
while Description can also be used in Create Layouts and Update Layouts.
Description widget is not available in SelfService while Memo is.
Description widget can only be edited with richtext editor (CKEditor)
while Memo can be configured to be edited in plain text.
INSTALLATION
perl Makefile.PL
make
make install
May need root permissions
Edit your /opt/rt6/etc/RT_SiteConfig.pm
If you are using RT 4.2 or greater, add this line:
Plugin('RT::Extension::Memo');
For RT 4.0, add this line:
Set(@Plugins, qw(RT::Extension::Memo));
or add RT::Extension::Memo to your existing @Plugins line.
Clear your mason cache
rm -rf /opt/rt6/var/mason_data/obj
Restart your webserver
TEST SUITE
Memo comes with a fairly complete test suite. As for every RT extention
<https://docs.bestpractical.com/rt/6.0.2/writing_extensions.html#Tests>,
to run it, you will need a installed RT, set up in development mode
<https://docs.bestpractical.com/rt/6.0.2/hacking.html#Test-suite>. Since
Memo operates dynamically to show or edit information, some parts of its
processing rely on Javascript. Therefore, the test suite requires a
scriptable headless browser with Javascript capabilities. So, to work
with Selenium::Remote::Driver, you need to install Firefox and
geckodriver, or alternatively Chrome and chromedriver (see documentation
for Selenium Tests
<https://docs.bestpractical.com/rt/6.0.2/hacking.html#Test-suite>).
It should be noted that *Best Practical* is planing to implement
automated browser testing using Playwright, since Selenium tests in *RT
Core* have issues with false negatives, often because of htmx and issues
with implementing correct waiting behavior for pages. Memo tests
experience the same issues where a test can sometimes fail while the
same test pass most of the time. Memo tests will be rewritten with
Playwright to be more robust, when such tests will be available in *RT
Core*.
AUTHOR
Gérald Sédrati <gibus@easter-eggs.com>
REPOSITORY
<https://github.com/gibus/RT-Extension-Memo>
BUGS
All bugs should be reported via email to
bug-RT-Extension-Memo@rt.cpan.org
<mailto:bug-RT-Extension-Memo@rt.cpan.org>
or via the web at
rt.cpan.org
<http://rt.cpan.org/Public/Dist/Display.html?Name=RT-Extension-Memo>.
LICENSE AND COPYRIGHT
This software is Copyright (c) 2017-2022 by Gérald Sédrati, Easter-Eggs
This is free software, licensed under:
The GNU General Public License, Version 3, June 2007