AgileApps Support Wiki Pre Release

Difference between revisions of "Case Collaboration"

From AgileApps Support Wiki
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
This feature enables seamless collaboration on the same case with another user within your organization. However, to collaborate in real-time, both users must have the specific case record actively open in separate tabs.  
This feature enables seamless collaboration on the same case with another user within your organization. To collaborate in real-time, both users must have the specific case record actively open in separate tabs.  


==How does Case Collaboration work?==
Whenever two users are viewing the same case, a popup dialog alerts them that someone else may be modifying the record they are looking at. This warning does not appear for other objects, as this feature is currently supported only for case records, hence the functionality is called Case Collaboration. <br>
When this feature is enabled, a chat window appears along with a participant list whenever two users are viewing the same record in any object.
* The Case Collaboration capability option is enabled by your '''Service Provider'''.
* The default setting on the on-premises installation is '''Off'''.
* The default setting on the cloud is '''Off'''. (Contact Support to make changes.)
{{Note| This is a compute-intensive option that affects all tenants. It should be enabled only when necessary.}}


== How to enable Case Collaboration feature? ==
== How to enable Case Collaboration feature? ==
1. Download messaging-server.zip.
1. Download [https://mediawikifiles.s3.eu-west-1.amazonaws.com/messaging-server.zip messaging-server.zip].
{{Note| The recommended Java version on the server is Java 17.}}  
{{Note| The recommended Java version on the server is Java 17.}}  
2. Create a folder ''/opt/messaging''.<br>
2. Create a folder ''/opt/messaging''.<br>
Line 31: Line 39:
ssl_keystore_password=<SSL_CERT_PASSWORD>  
ssl_keystore_password=<SSL_CERT_PASSWORD>  
</pre>
</pre>
9. Update zeroDateTimeBehavior value based on MySQL Version 
9. Update zeroDateTimeBehavior value based on MySQL Version in ''conf/server.properties'' for jdbc url. <br>
 
''For MySQL5'': <code>zeroDateTimeBehavior=convertToNull</code><br>
## in conf/server.properties for jdbc url  
''For MySQL8'': <code>zeroDateTimeBehavior=CONVERT_TO_NULL</code><br>
 
For MySQL5  
 
zeroDateTimeBehavior=convertToNull  
 
For MySQL8  
 
zeroDateTimeBehavior=CONVERT_TO_NULL  
</pre>  
10. Copy appropriate Mysql connector to lib based on your mysql version  
10. Copy appropriate Mysql connector to lib based on your mysql version  
<pre>$ cp -rf /opt/mysql-connector-java-5.1.24-bin2.jar /opt/messaging/messaging-server/lib/</pre>
<pre>$ cp -rf /opt/mysql-connector-java-5.1.24-bin2.jar /opt/messaging/messaging-server/lib/</pre>
Line 61: Line 60:
$ systemctl daemon-reload  
$ systemctl daemon-reload  
</pre>
</pre>
13. Import the below db in mysql messagingdb.sql  
13. Import the below db in mysql messagingdb.sql  
<pre>$ mysql -u<MYSQL_USER> -p<MYSQL_PASSWORD> -f < messagingdb.sql</pre>
<pre>$ mysql -u<MYSQL_USER> -p<MYSQL_PASSWORD> -f < messagingdb.sql</pre>
14. Verify whether it is imported or not  
14. Verify whether it is imported or not  
<pre>$ mysql -u<MYSQL_USER> -p<MYSQL_PASSWORD> -e "SHOW DATABASES LIKE 'messaging';"</pre>
<pre>$ mysql -u<MYSQL_USER> -p<MYSQL_PASSWORD> -e "SHOW DATABASES LIKE 'messaging';"</pre>
15. Start the services inorder
15. Start the services '''in order'''
<pre>
<pre>
$ systemctl start artemis  
$ systemctl start artemis  
Line 75: Line 74:
16. Verify messaging server by checking ports used by messaging server process  
16. Verify messaging server by checking ports used by messaging server process  
<pre>$ ss -tnlp | grep <PID> </pre>  
<pre>$ ss -tnlp | grep <PID> </pre>  
For example:  
''For example'':<br>
 
''[root@vmaalind05 messaging-server]# ss -tnlp | grep 27325''<br>
[root@vmaalind05 messaging-server]# ss -tnlp | grep 27325  
''LISTEN     0      1      127.0.0.1:8998                     *:*                   users:(("java",pid=27325,fd=4)) ''<br>
LISTEN     0      1      127.0.0.1:8998                     *:*                   users:(("java",pid=27325,fd=4))  
''LISTEN     0      50        [::]:7777                  [::]:*                   users:(("java",pid=27325,fd=258)) ''<br>
LISTEN     0      50        [::]:7777                  [::]:*                   users:(("java",pid=27325,fd=258))  
''LISTEN     0      128       [::]:7443                  [::]:*                   users:(("java",pid=27325,fd=360)) ''<br><br>
LISTEN     0      128       [::]:7443                  [::]:*                   users:(("java",pid=27325,fd=360))  
17. Ensure that the following ports appear after entering the above command: '''{8998,7777,7443}'''.<br>
 
18. Start the AgileApps server  
17. Make sure that these 3 {8998,7777,7443} ports are coming up.  
18. Now, Start the AgileApps server  
<pre>$ /opt/softwareag/profiles/IS_default/bin/startup.sh</pre>
<pre>$ /opt/softwareag/profiles/IS_default/bin/startup.sh</pre>


==Configuring in LongJump==  
===Configuring in LongJump===  
1. Log in to your LongJump account. <br>
1. Log in to your LongJump account. <br>
2. Navigate to '''Settings > Service Provider Settings > Service Configuration'''. <br>
2. Navigate to '''Settings > Service Provider Settings > Service Configuration'''. <br>
Line 96: Line 93:
* HornetQ Password: Enter your Artemis password.  
* HornetQ Password: Enter your Artemis password.  
* HornetQ QoS: Enter the value as 2  
* HornetQ QoS: Enter the value as 2  
* Messaging server configuration: Enter your server name with Port number e.g – localhost:7433 <br>
* Messaging server configuration: Enter your server name with Port number e.g – localhost:7443 <br>
5. Restart the LongJump application. <br>
5. Restart the LongJump application. <br>
6. Navigate to '''Tenant Management System > Tenants'''. <br>
6. Navigate to '''Tenant Management System > Tenants'''. <br>
Line 103: Line 100:
9. Click the '''Edit''' button at the bottom. <br>
9. Click the '''Edit''' button at the bottom. <br>
10. Under ''Capabilities'', check the '''Case Collaboration''' checkbox.<br>
10. Under ''Capabilities'', check the '''Case Collaboration''' checkbox.<br>
11. Click the '''Save''' button at the bottom.  
11. Click the '''Save''' button at the bottom.


===Finding the Server Logs===  
===Finding the Server Logs===  
* ''messaging-server/logs/server.log'' contains the runtime log records for the Messaging Server.  
* ''messaging-server/logs/server.log'' contains the runtime log records for the Messaging Server.  
* ''messaging-server/logs/startup.log'' contains startup and class loading errors.
* ''messaging-server/logs/startup.log'' contains startup and class loading errors.
 
 
====How does Case Collaboration works?====
Whenever two users are viewing the same Case, a popup dialog displays an alert message, to warn them that someone else may be modifying the record they are looking at. That warning does not appear for other objects, since it is assumed that, in general, tasks and other records are unlikely to be updated by more than one person at a time.  <br>
When this feature is enabled, a chat window appears along with participant list  whenever two users are viewing the same record in any object.  


* The Case Collaboration capability option is enabled by your '''Service Provider'''.
==Use Case==
* The default setting on the on-premises installation is '''Off'''.
* The default setting on the cloud is '''Off'''. (Contact Support to make changes.)
 
{{Note| This is a compute-intensive option that affects all tenants. It should be enabled only when necessary.}}
 
====Use Case====
1. If you and someone else work on the same record, a collision would occur if you were allowed to overwrite their changes (effectively erasing them). The platform prevents such collisions for all records and provides an additional warning for potential collisions on cases.  
1. If you and someone else work on the same record, a collision would occur if you were allowed to overwrite their changes (effectively erasing them). The platform prevents such collisions for all records and provides an additional warning for potential collisions on cases.  
The platform prevents update collisions by generating an error if someone else has saved ahead of you. (The message tells you that your version of the record is out of date and tells you who modified it.) You can then refresh your copy of the record to make your intended changes.  
The platform prevents update collisions by generating an error if someone else has saved ahead of you. (The message tells you that your version of the record is out of date and tells you who modified it.) You can then refresh your copy of the record to make your intended changes.  
<br>
<br><br>
2. For Cases, an additional warning helps to prevent potential collisions. A popup appears that tells you when someone else is viewing the same case you're looking at, so you have a chance to collaborate and communicate before making changes. You can also chat with the participants in the record using the Group Chat option on the right sidebar. The list of users who are currently viewing the specific case will appear in this window.
2. For Cases, an additional warning helps to prevent potential collisions. A popup appears that tells you when someone else is viewing the same case you're looking at, so you have a chance to collaborate and communicate before making changes. You can also chat with the participants in the record using the Group Chat option on the right sidebar. The list of users who are currently viewing the specific case will appear in this window.

Latest revision as of 08:48, 12 June 2024

This feature enables seamless collaboration on the same case with another user within your organization. To collaborate in real-time, both users must have the specific case record actively open in separate tabs.

How does Case Collaboration work?

Whenever two users are viewing the same case, a popup dialog alerts them that someone else may be modifying the record they are looking at. This warning does not appear for other objects, as this feature is currently supported only for case records, hence the functionality is called Case Collaboration.
When this feature is enabled, a chat window appears along with a participant list whenever two users are viewing the same record in any object.

  • The Case Collaboration capability option is enabled by your Service Provider.
  • The default setting on the on-premises installation is Off.
  • The default setting on the cloud is Off. (Contact Support to make changes.)

Notepad.png

Note: This is a compute-intensive option that affects all tenants. It should be enabled only when necessary.

How to enable Case Collaboration feature?

1. Download messaging-server.zip.

Notepad.png

Note: The recommended Java version on the server is Java 17.

2. Create a folder /opt/messaging.

$ mkdir /opt/messaging

3. Move the messaging-server.zip file to /opt/messaging

$ mv messaging-server.zip /opt/messaging/
$ cd /opt/messaging

4. Extract file messaging-server.zip

$ unzip messaging-server.zip

5. Copy es.jar from installation directory to /opt/messaging/messaging-server/lib

$ yes | cp /opt/softwareag/AgileApps/lib/es.jar /opt/messaging/messaging-server/lib/es.jar

6. Create JavaKeyStore File from SSL Certs
For example: ssl-keystore.jks

Notepad.png

Note: Create an SSL Keystore
The Messaging Server accepts only SSL-encrypted connections. It needs a valid SSL certificate to perform a Handshake and data exchange with client systems.  The same Java keystore, SSL certificate, and private key used for the application server can be used for the Messaging Server. So once that has been set up, nothing else needs to be done. Learn more: Managing SSL Certificates

7. Copy ssl-keystore.jks to /opt/messaging/messaging-server/conf/ssl

$ cp ssl-keystore.jks /opt/messaging/messaging-server/conf/ssl/

8. Update conf/server.properties

user_name=<MYSQL_USERNAME> 
db_password=<MYSQL_PASSWORD> 

ssl_keystore = /opt/messaging/messaging-server/ssl/ssl-keystore.jks 
ssl_keystore_password=<SSL_CERT_PASSWORD> 

9. Update zeroDateTimeBehavior value based on MySQL Version in conf/server.properties for jdbc url.
For MySQL5: zeroDateTimeBehavior=convertToNull
For MySQL8: zeroDateTimeBehavior=CONVERT_TO_NULL
10. Copy appropriate Mysql connector to lib based on your mysql version

$ cp -rf /opt/mysql-connector-java-5.1.24-bin2.jar /opt/messaging/messaging-server/lib/

11. Update Java home path in /opt/messaging/messaging-server/startService.sh

JAVA_HOME="/opt/zulu17"

12. Create a service file and add the configuration

$ vi /etc/systemd/system/messaging.service 
[Unit] 
Description=Messaging-Server 
[Service] 
User=root 
WorkingDirectory=/opt/messaging/messaging-server 
ExecStart=/bin/bash /opt/messaging/messaging-server/startService.sh 
Restart=always 
[Install] 
WantedBy=multi-user.target 
$ systemctl daemon-reload 

13. Import the below db in mysql messagingdb.sql

$ mysql -u<MYSQL_USER> -p<MYSQL_PASSWORD> -f < messagingdb.sql

14. Verify whether it is imported or not

$ mysql -u<MYSQL_USER> -p<MYSQL_PASSWORD> -e "SHOW DATABASES LIKE 'messaging';"

15. Start the services in order

$ systemctl start artemis 

$ systemctl start messaging 

$ systemctl enable messaging 

16. Verify messaging server by checking ports used by messaging server process

$ ss -tnlp | grep <PID> 

For example:
[root@vmaalind05 messaging-server]# ss -tnlp | grep 27325
LISTEN     0      1      127.0.0.1:8998                     *:*                   users:(("java",pid=27325,fd=4))
LISTEN     0      50        [::]:7777                  [::]:*                   users:(("java",pid=27325,fd=258))
LISTEN     0      128       [::]:7443                  [::]:*                   users:(("java",pid=27325,fd=360))

17. Ensure that the following ports appear after entering the above command: {8998,7777,7443}.
18. Start the AgileApps server

$ /opt/softwareag/profiles/IS_default/bin/startup.sh

Configuring in LongJump

1. Log in to your LongJump account.
2. Navigate to Settings > Service Provider Settings > Service Configuration.
3. Click the Edit button at the top.
4. Under HornetQ configuration, update the following fields:

  • HornetQ Host: Enter the value as localhost or 127.0.0.1.
  • HornetQ Port: Enter the value as 61616.
  • HornetQ User: Enter your Artemis username.
  • HornetQ Password: Enter your Artemis password.
  • HornetQ QoS: Enter the value as 2
  • Messaging server configuration: Enter your server name with Port number e.g – localhost:7443

5. Restart the LongJump application.
6. Navigate to Tenant Management System > Tenants.
7. Select the desired tenant.
8. Click Quick Links > Manage Tenant Capabilities.
9. Click the Edit button at the bottom.
10. Under Capabilities, check the Case Collaboration checkbox.
11. Click the Save button at the bottom.

Finding the Server Logs

  • messaging-server/logs/server.log contains the runtime log records for the Messaging Server.
  • messaging-server/logs/startup.log contains startup and class loading errors.

Use Case

1. If you and someone else work on the same record, a collision would occur if you were allowed to overwrite their changes (effectively erasing them). The platform prevents such collisions for all records and provides an additional warning for potential collisions on cases. The platform prevents update collisions by generating an error if someone else has saved ahead of you. (The message tells you that your version of the record is out of date and tells you who modified it.) You can then refresh your copy of the record to make your intended changes.

2. For Cases, an additional warning helps to prevent potential collisions. A popup appears that tells you when someone else is viewing the same case you're looking at, so you have a chance to collaborate and communicate before making changes. You can also chat with the participants in the record using the Group Chat option on the right sidebar. The list of users who are currently viewing the specific case will appear in this window.