Portal for Business Partner
🤦 🤦 🤦 Combodo's customers only 😎 😎 😎
- name:
- Portal for Business Partner
- description:
- Specific portal to allow Business Partner to access ticket assigned to their team
- version:
- 1.1.0
- release:
- 2023-09-13
- itop-version-min:
- 2.4.0
- code:
- itop-portal-business-partner
- diffusion:
- ITSM Designer
- php-version-max:
- PHP 8.1
You have outsourced some of your IT support to external companies and you don't want to allow them a full access to your iTop. Then this extension is for you, as it provides through a dedicated Portal, Ticket Management limited to the Tickets assigned to a team of the user.
Features
This extension brings a separate Portal designed for Business Partners to provide them a mean to work only on Tickets which are assigned to their team(s).
-
They can assign their tickets to agent, set them in pending, resolve & close them.
-
They can reassign their tickets to any team defined in the customer delivery model.
Revision history
Date | Version | Description |
---|---|---|
2023-09-12 | 1.1.0 | * N°6681 - Hide role attribute in linkedset
Contact/Ticket (3.1 compatibility) * N°5014 - Add model.itop-portal-business-partner.php for robustness |
2020-03-11 | 1.0.0 | * Add compatibility with iTop 2.7+ * Fix user profile picture not shown * Add navigation rules for a better user experience |
2020-01-10 | 0.3.2 | * Compatible with iTop Community * Compatible with Incident in full ITIL mode |
2019-11-28 | 0.3.1 | Allow standard profiles to be combined with
Business Portal user |
2019-09-19 | 0.3.0 | * Add a submit button always visible to forms * Allow tickets to be exported * Show count number on bricks tabs * Add “My Tickets” brick * Add french translation |
2018-11-27 | 0.2.1 | Fix URLs generated to access objects in this portal (notifications, …) |
2018-06-26 | 0.1.0 | First version |
Migration from a 0.2.x to 0.3.x requires to change the delta XML, as multiple enhancements were integrated in version 0.3.0 of the extension, and will conflict at XML compilation.
Limitations
-
The Business Partner portal does not display information about the caller such as email, phone number, location,…
-
Partner users will also have access to the standard User Portal, which may or may not make sense for them.
-
Business Partner users will not have access to the Console
-
Clever users guessing the url in the portal, can see all Services and Service Subcategories information. If this information is critical for you and should not be disclosed, customize the XML to add simple Forms for those classes with just the name field.
* With iTop version lower than 2.7, as soon as a partner assign a Ticket out their own tea🤦s), they get a weird message telling them that they can't see the Ticket anymore
Requirements
This extension is compatible with Simple Ticketing and ITIL Compliant Tickets but at least one of the 2 must be activated on your iTop.
Installation
Use the Standard installation process for this extension.
Configuration
This extension does not offer any configuration parameters.
Usage
-
This extension brings a new profile named Business partner user
-
Only users with that profile will have access to the Partner portal.
-
Those users will only see Tickets assigned to a team which they are part of.
- Ticket:scope
-
SELECT Ticket AS Ti JOIN Team AS t ON Ti.team_id=t.id JOIN lnkPersonToTeam AS l ON l.team_id=t.id WHERE l.person_id = :current_contact_id AND Ti.finalclass IN ('UserRequest', 'Incident')
-
They can reassign the Ticket to any Teams part of the DeliveryModel, then any agent within those teams.
Then Partner users will be proposed with the following Portal:
They can list the Tickets
They can Assign a Ticket
But if they assign it to a team to which they do not belong, they will get this nasty message, which they should ignore. (This is fixed in iTop 2.7)
Questions & Answers
Question: How to provide in a notification a link to an
object in the Business Portal?
Answer: Here is the placeholder to use:
$this->hyperlink(itop-portal-business-partner)$
Question: How to notifies the agent, instead of the
caller, on a Ticket Log update in the iTop Business Portal
?
Answer: Trigger (when updated from the portal
) and
Action to notify the caller
SELECT UserRequest WHERE :this->agent_id=:current_contact_id
The Trigger (when log is updated
) cannot be
used as it is not triggered when in the
Portal
Question: How to notify the right contact? when
a Ticket is updated in the Portal, as it could be done by the user
himself, the agent, a colleague of the caller, with power user
profile for eg. or a colleague of the agent, if a Portal for
Business Partner is used?
Answer: Trigger (when updated from the portal
) and
Action to notify everyone: client and agent
SELECT UserRequest WHERE :this->agent_id != :current_contact_id AND :this->caller_id != :current_contact_id
Question: My partner user also access the User Portal.
How to prevent them from having assigned button in User
Portal?
Answer: Customize the User Portal to deny to user having the
Business partner user
profile the right to apply those
stimuli in this portal.
- module-design@itop-portal / classes
-
<class id="Ticket"> <lifecycle _delta="define> <stimuli> <stimulus id="ev_assign"> <denied_profiles> <denied_profile id="Business partner user"/> </denied_profiles> </stimulus> </lifecycle> </class>
Expend this logic to all the stimuli they are
allowed to apply as defined in the Business partner
user
profile: ev_assign, ev_reassign, ev_pending, ev_resolve
and ev_close.
Question: My partner user can access the User
Portal and the private log has been added to the Portal for
business partner. How can I trigger different notification
depending on what log was updated and in which Portal?
Answer: Use Trigger (on object update)
, checking
who did the change rather than in which
portal/console, as this information is not available.
The placeholder :current_contact_id
returns the
Person.id associated to the connected user.
Note that in the above example, it's triggered not only if the agent update the private log, but if any member of the team to which the ticket is dispatched, does update it.
Trigger (on object update)
allow you to select the
Contexts in which the trigger
applies, so can be limited to a particular portalYou cannot use Trigger (when updated from the
portal)
because it does not allow you to differentiate
between different portals, nor between updated fields.
Question: compatibility with iTop 2.7
Answer: it requires this, until the extension is migrated
to Symfony
- itop-design / portals
-
<portal id="itop-portal-business-partner"> <url _delta="redefine"> <[CDATA[pages/exec.php?exec_module=itop-portal-base&exec_page=index.php&portal_id=itop-portal-business-partner]]> </url> </portal>