Differenze tra le versioni di "Filters management"
(→How To Create complex filter) |
|||
Riga 241: | Riga 241: | ||
# Current User = PM | # Current User = PM | ||
− | (main.project.id in (select prj.id from Project prj inner join prj.pmEntries as pm where pm.id = ${securityContext.resourceId})) | + | (main.project.id in (select prj.id from Project prj inner join prj.pmEntries as pm |
+ | where pm.id = ${securityContext.resourceId})) | ||
# Current User = SGm | # Current User = SGm | ||
− | (main.solutiongroup.id in (select sg.id from SolutionGroup as sg inner join sg.resourceEntries as r where r.id = ${securityContext.resourceId})) | + | (main.solutiongroup.id in (select sg.id from SolutionGroup as sg inner join |
+ | sg.resourceEntries as r where r.id = ${securityContext.resourceId})) | ||
# Current User = SG Manager | # Current User = SG Manager | ||
− | (main.solutiongroup.id in (select sg.id from SolutionGroup as sg inner join sg.sgManagerEntries as r where r.id = ${securityContext.resourceId})) | + | (main.solutiongroup.id in (select sg.id from SolutionGroup as sg inner join |
+ | sg.sgManagerEntries as r where r.id = ${securityContext.resourceId})) | ||
# Current User = Master SGm | # Current User = Master SGm | ||
− | (main.masterSolutiongroup.id in (select sg.id from SolutionGroup as sg inner join sg.resourceEntries as r where r.id = ${securityContext.resourceId})) | + | (main.masterSolutiongroup.id in (select sg.id from SolutionGroup as sg inner join |
+ | sg.resourceEntries as r where r.id = ${securityContext.resourceId})) | ||
# Current User = Master SG Manager | # Current User = Master SG Manager | ||
− | (main.masterSolutiongroup.id in (select sg.id from SolutionGroup as sg inner join sg.sgManagerEntries as r where r.id = ${securityContext.resourceId})) | + | (main.masterSolutiongroup.id in (select sg.id from SolutionGroup as sg inner join |
+ | sg.sgManagerEntries as r where r.id = ${securityContext.resourceId})) | ||
# Current User = Ticket Requester | # Current User = Ticket Requester | ||
Riga 259: | Riga 264: | ||
# Current User = Ticket Worker | # Current User = Ticket Worker | ||
− | where main.id in (select asT.id from Resource as r inner join r.assignedTicketEntries as asT where r.id = ${securityContext.resourceId}) | + | where main.id in (select asT.id from Resource as r inner join r.assignedTicketEntries as asT |
+ | where r.id = ${securityContext.resourceId}) |
Versione delle 10:06, 16 ott 2018
The itmSUITE® provides a complete filter management system that implements items (ticket, timesheet, etc...) searching according to several filtering rules. In itmSUITE® three filter types can be defined:
- Global filters: are permanent filters configured by company admin and accessible to a group of users of the same company.
- Personal filters: are permanent filters configured by user and accessible only to him/her.
- Temporary filters: are temporary filters configured by user and accessible to him/her in current session.
Entity | Global filter | Personal filter | Temporary filter |
---|---|---|---|
Action | X | X | |
Asset | X | X | |
Billing Calendar | X | X | |
Forced View | X | ||
Invoice | X | X | |
Message | X | X | |
Milestone | X | X | |
News | X | ||
Personal View | X | X | |
Project | X | X | |
Project Activity | X | X | |
Project Template | X | X | |
Purchase Contract | X | X | |
Sale Contract | X | X | |
Service | X | X | |
Service Template | X | X | |
Supplier | X | X | |
Resource | X | X | |
Resource Planning | X | X | |
Ticket | X | X | X |
Ticket Activity | X | X | X |
Timesheet | X | X | |
User | X | X | |
Workflow | X | X |
Indice
Filters Configuration
In some entities list (i.e., ticket views) it is possible to configure a personal filter by Filters button or to remove it by Drop Filter button:
The filter management form contains following common sections:
- Personal Filter Manager
- Global Settings
- Main Section
- Primay and Secondary Section
and specific block sections for every entity views.
Personal Filter Manager
Section to create, delete or update personal filters. It is enabled by clicking on Personal Filter Manager button.
Field | Type | Description |
---|---|---|
Action | Radio button |
|
Default | Check box | defines the current personal filter selected by Filter as default in view |
Save | Button | saves personal filter defined in Action field |
Delete | Button | deletes current filter selected by Filter field |
Global Settings
Section to manage primary filter blocks. It is enabled by clicking on Global Settings button.
Field | Type | Description |
---|---|---|
Primary Blocks Settings | Check box | hides primary filter blocks (i.e., Project Block, Ticket Type Block, Ticket Statuses Block for ticket filter) that are checked |
Primay Block Hierarchy | Radio button | the following choises are possible:
|
Save | Button | saves Global Settings configuration |
Main Section
Section to configure main filter settings (paging, refreshing, etc...).
Field | Type | Description |
---|---|---|
Per Page | List box | defines items number ("10", "20", "50", "100", "Show All") that can be visible in a single view page |
Ticket Code Range | Text field | list of ticket codes (separated by a space char) that user can visualize |
Refresh Frequency | List box | defines the temporal frequency ("30 sec", "1 min", "2 min", "3 min", "5 min") with which items view is refreshed. The "0 sec(off)" value disables this functionality. |
Disable Smart Loading | Check box | if unchecked it enables block filter fields loading according to the visibility that logged user can have on some itmSUITE® items |
Disable Cascade Refresh | Check box | if unchecked it enables cascade options refresh for all filter blocks. If checked it enables asynchronous refreshing by Refresh button (to refresh selected filter block) or by Refresh All button (to update all visible filter blocks) |
Ticket Creation Dates Options | Radio button | creation date filtering:
|
Primary and Secondary Section
In these sections, every block filter can be hidden/visibile by a check box. In Primary Section block filter fields are always loaded when users opens the Filter menu. In Secondary Section only checked block filter fields are asynchronously loaded.
Filter | Block | Section | Description |
---|---|---|---|
Project(s) | Projects and Services | Primary | multiselected filter for projectand Service name |
Ticket Types | Ticket Type | Primary | multiselected filter for Workflow Ticket Types |
Ticket Op Status | Ticket Statuses | Primary | multiselected filter for ticket status |
Groups | Ticket Dynamic Group/Role | Secondary | This section enable the user to filter per
For each group is possible to enable the "Group Sub option" to simplify the group selection. Ticket role filter management is based on resource role on ticket (e.g. Ticket where the logged user is Creator or Owner or Ticket Workr,ect.) The roles selection list is devided in two sections. Ticket where the logged user is ... and Ticket Without ... This sections works with an AND clause; each item in each section works with an OR clause. |
Priority | Ticket Priority | Secondary | This section enable the user to filter the ticket based on Ticket Priority and its component (ticket impact and ticket priority) |
Requester | Requesters | Secondary | This section enable the user to filter based on requester information / Client or position in the Organization Unit |
Generic | Generic information | Secondary | This section enable the user to filter base on different feature like Target Enviroment,Service Request,Service,Product, Ticket activity templateand Tuple elements |
Causes | Ticket Transition | Secondary | This section enable the user to filter based on Ticket closure clause and Ticket Resolution clause |
Configuration Item | Confguration Item | Secondary | multiselected filter for Configuration Item name. |
Custon field | Custom field | Secondary | multiselected filter for Custom Fields defined for each Ticket type selected. |
Text Search | Text | Secondary | This section enable the user to select one or more Text field and specify a "Search String" value |
How To Create complex filter
Complex filter will be created as a combination of Ticket parameter selection. For example:
Filter1 : Extract all the Incident ticket where I'm Owner or I'm Ticket Worker, is implented:
- Primary section: Ticket Types : Select "Incident"
- Secondary section: Group : Select two elements:
- Ticket where the logged user is Owner
- Ticket where the logged user is Ticket Worker
Filter2 : Extract all the Incident, Service request ticket without Owner, is implented:
- Primary section: Ticket Types : Select two elements:
- "Incident"
- "Request Fulfilment"
- Secondary section: Group : Select Ticket without Owner
The administrator has to manage carefully the flexibility the tool give him because he/she can select a conflictual choice, so the filter doesn't return any data.
In Filter view differently from Personal view has the possibility to define QL Expression (Query Language). This way to filter ticket is delivered only to the Administrator due to the technical knowledge necessary to create then.
Some example:
# Current User = owner (main.ownerId = ${securityContext.resourceId})
# Current user = Creator (main.resource.Id = ${securityContext.resourceId})
# Current User = PM (main.project.id in (select prj.id from Project prj inner join prj.pmEntries as pm where pm.id = ${securityContext.resourceId}))
# Current User = SGm (main.solutiongroup.id in (select sg.id from SolutionGroup as sg inner join sg.resourceEntries as r where r.id = ${securityContext.resourceId}))
# Current User = SG Manager (main.solutiongroup.id in (select sg.id from SolutionGroup as sg inner join sg.sgManagerEntries as r where r.id = ${securityContext.resourceId}))
# Current User = Master SGm (main.masterSolutiongroup.id in (select sg.id from SolutionGroup as sg inner join sg.resourceEntries as r where r.id = ${securityContext.resourceId}))
# Current User = Master SG Manager (main.masterSolutiongroup.id in (select sg.id from SolutionGroup as sg inner join sg.sgManagerEntries as r where r.id = ${securityContext.resourceId}))
# Current User = Ticket Requester (main.requester.id = ${securityContext.resourceId})
# Current User = Ticket Worker where main.id in (select asT.id from Resource as r inner join r.assignedTicketEntries as asT where r.id = ${securityContext.resourceId})