Communications to the Customers
- name:
- Communications to the Customers
- description:
- Communications to the Customers via the portal
- version:
- 1.1.2
- release:
- 2020-12-03
- itop-version-min:
- 2.4.0
- code:
- itop-communications
- state:
- stable
- diffusion:
- iTop Hub
Create and publish customer oriented communications to be displayed on the user portal.
Features
-
Create text based or image based communications (formatting including hyperlinks is supported)
-
Quick formatting: title / description / predefined icon
-
Communications are active for a predefined time-frame (i.e. they have a predefined start and end date)
-
Communications can be delivered to users from selected organizations only
Revision history
Date | Version | Description |
---|---|---|
2020-12-03 | 1.1.2 | * Fix extension version inside module file |
2020-11-18 | 1.1.1 | * Fix incompatibility with Request Template, for iTop with a portal different than the standard portal |
2020-02-03 | 1.1.0 | * Add compatibility with iTop 2.7+ * Add MySQL8 compatibility * Minimum iTop version set to 2.4.0 |
2019-09-11 | 1.0.10 | * Update extension description * Correctly display and hide communications to user with silos |
2018-12-19 | 1.0.9 | Update translations |
2018-06-27 | 1.0.7 | Add DE translations |
2018-06-26 | 1.0.6 | Fix portal tile UI |
2016-08-23 | 1.0.5 | Bug fix: the option “cascade to child organizations” was not working |
2016-08-08 | 1.0.3 | First released version |
Limitations
The Wiki syntax (in the text of the communication) creates hyperlinks which point to the console!
Requirements
iTop 2.3.2 and the new portal.
Installation
As any other extension:
-
Expand the content of the zip file in the
extensions
folder -
Make sure that the web server has enough rights to read unzipped files
-
Remove the read-only flag on the iTop configuration file
-
Run the setup by pointing your web browser to
http://<itop>/setup
-
When prompted, make sure that you select Communications to the Customers from the list of extensions to install
-
Complete the installation by clicking “Install!”.
Configuration
This extensions has no configuration parameter.
Usage
To create a new Communication or to view the list of Communications, click on the menu “Communications” under “Service Management”.
Creating a new communication
The form to create a new communication is the following:
Field | Meaning |
---|---|
Announcer | The organization owning this communication. |
Status | Automatically computed based on the start and end dates |
Start date | The date (and time) at which to start showing this communication in the portal |
End date | The date (and time) at which to stop showing this communication in the portal |
Target organizations… | How to interpret the list of “Target
organizations”. If the value is Only the selected ones
the list is an explicit list of all organizations for which to show
the communication. If the value is Cascade to child
organizations , the child organizations of the “Target
organizations” will also see the message. |
Icon | An optional icon to display next to the communication in the portal. Choose “None” for displaying no icon. |
Title | An optional plain text title for the communication. |
Message | The actual body of the communication. Use the formatting toolbar to style the text, to insert images or add hyperlinks. |
Display of the communications in the Portal
When a communication is “on going”, it is displayed in the portal, at the top of the home page. The text of the communications are truncated in order to preserve a constant height for the communications area in the home page.
The user can click on a communication to display it in a popup dialog. This is especially useful on small screens (mobile phones) where the communication may be truncated.
If there are several on-going communications at the same time, they are displayed one after the other, using a carousel, automatically sliding to the next communication after 5 seconds. Small bullets are displayed at the bottom of the carousel to allow direct access to the Nth communication. The carousel automatically stops sliding when the user positions the mouse hover it.
When there is no on-going communication, nothing is shown in the home page of the portal.
Questions & Answers
Question: Can I modify the way the Communications are
displayed on a Portal?
Answer: Yes, with an iTop extension.
Here is the XML of the Portal CommunicationBrick, with the parameters which can be changed:
- itop_design / module_designs / module_design@my-itop-portal / bricks
-
<brick id="communication" xsi:type="Combodo\iTop\Portal\Brick\CommunicationBrick" _delta="define"> <active>true</active> <rank>1</rank> <height>15</height> <!-- integer , size in em --> <width>12</width> <!-- integer , must be between 1 and 12 --> <title>Portal:Communications</title> <!-- string --> <oql></oql> <!-- Query for the displayed communications (if authorized to the current user, see Communication::IsAllowedToUser). Leave empty to preserve the default behavior. Use :now instead of NOW(). --> <security> <!-- Order is deny/allow Pseudo OQL traduction : WHERE user_profile NOT IN (:denied_profiles) AND user_profile IN (:allowed_profiles) --> <denied_profiles/> <!-- OQL query. Used only when not empty --> <allowed_profiles/> <!-- OQL query. Used only when not empty --> </security> </brick>
The default query on OQL is
SELECT Communication WHERE status != 'closed' AND start_date <= :now
Multiple portals
Question: Can I display Communications on multiple
Portals?
Answer: Yes, with an iTop extension.
You will have to customize the Communication class to add a criteria to specifies the Portals on which a particular Communication should be displayed.
- itop_design / classes / class@Communication
-
<fields> <field id="portals" xsi:type="AttributeEnumSet" _delta="define"> <sql>portals</sql> <values> <value id="user-portal">user-portal</value> <value id="partner-portal">partner-portal</value> </values> <is_null_allowed>true</is_null_allowed> <dependencies/> <tracking_level>all</tracking_level> </field> </fields>
You must also modify the presentation
- itop_design / classes / class@Communication
-
<presentation> <details _delta="must_exists"> <items> <item id="col:col0"> <items> <item id="portals" _delta="define"> <rank>70</rank> </item> </items> </item> </items> </details> </presentation>
Then modify the Portals themselves, by changing the scope of Communications displayed in each portal
- itop_design / module_designs / module_design@itop-portal / bricks
-
<brick id="communication" xsi:type="Combodo\iTop\Portal\Brick\CommunicationBrick" _delta="if_exists"> <oql _delta="define"> <![CDATA[SELECT Communication WHERE portals MATCHES ('user-portal') AND status = 'ongoing' AND start_date <= :now]]> </oql> </brick>
-
On the
itop-portal
you will add the conditionportals MATCHES ('user-portal')
-
on the
itop-portal-business-partner
you will add the conditionportals MATCHES ('partner-portal')