Combodo's customers only
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.
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).
Date | Version | Description |
---|---|---|
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 |
* With iTop version lower than 2.7, as soon as a partner assign a Ticket out their own team(s), they get a weird message telling them that they can't see the Ticket anymore
This extension is compatible with Simple Ticketing and ITIL Compliant Tickets but at least one of the 2 must be activated on your iTop.
Use the Standard installation process for this extension.
This extension does not offer any configuration parameters.
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')
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)
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.
<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 portal
You 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
<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>