Home Service Manager Portal Feature Requests
We appreciate you taking the time to vote and add your suggestions to make our products awesome! Your request will be submitted to the community for review and inclusion into the backlog.

We recommend reviewing what is submitted before posting, in case your idea has already been submitted by another community member. If it has been submitted, vote for that existing feature request (by clicking the up arrow) to increase its opportunity of being added to Cireson solutions.

For more information around feature requests in the Cireson Community click here.

Search, enable CI/Asset Search

Adam_DzyackyAdam_Dzyacky Product Owner Contributor Monkey ✭✭✭✭✭
The portal search function currently only lets you search against Work Items, it'd be awesome if the very same search knew how to query against Configuration Items (i.e. Asset management) and understood that query based on the permissions of the user currently logged into the portal.
33
33 votes

Completed · Last Updated

This functionality now exists with the advent of Global Search

Comments

  • steve_zhangsteve_zhang Member IT Monkey ✭
    totally agree, it will be very good if the Portal can search the Assets and CI
  • Cindy_BoyerCindy_Boyer Customer IT Monkey ✭
    This would be a huge win in our environment. I think the lack of ability to query configuration items is the most common complaint I get from field techs.
  • PIERRE-LOUIS_DURRISPIERRE-LOUIS_DURRIS Customer Advanced IT Monkey ✭✭✭
    As we can do in the console, a full search on every field of the class would be a great improvment. My team is requesting such solution to be able to search easily on asset manangement solution.
    Waiting for such a solution, I have added the extension to search on asset name and implement a orchestrator runbook to concatenate some key field in the name.
  • Dennis_de_JagerDennis_de_Jager Customer IT Monkey ✭
    This is a great start:
    https://github.com/synax/CiresonAdvancedPortalSearch

    I have made a Search on Locations and Standards as well based on the above Advanced Portal Search.
    As a matter of fact I have also built a Service Request search based on one of our custom fields (reference) based on this code.

    You need to find the correct ManagedTypeId for the fields you want to search for and the correct ProjectionTypes for the Projections you want to search on. 


  • Adam_DzyackyAdam_Dzyacky Product Owner Contributor Monkey ✭✭✭✭✭


    ... no but seriously. That is some awesomely brilliant work @denis_de_Jager - I'll have to get my download on and start playing with this.

    Highest of fives sir.
  • Dennis_de_JagerDennis_de_Jager Customer IT Monkey ✭
    edited October 2016
    Most of the Credits go to William Udovich, Joivan Hedrick, Geoff Ross, Stefan Henseler which are the contributors mentioned for the Github code.

    Changing the code is complex, but you will find it extremely satisfying when you succeed to get this working.

    I used this SQL query to find the GUID for the custom field property type (ManagedTypeId):
    <div>SELECT  mtp.ManagedTypeId,mtp.ManagedTypePropertyName,mtp.ColumnName,mtp.PropertyType,mtp.PropertyLength,MP.MPName
    FROM   ServiceManager.dbo.ManagedTypeProperty mtp
    Left join ServiceManager.dbo.ManagementPack mp On mp.ManagementPackId = mtp.ManagementPackId
    WHERE mtp.ManagedTypePropertyName like '%Description%'
    ORDER by mtp.ManagedTypePropertyName ASC
    
    And this one to have a list of all projections:
    </div>
    <div>SELECT TypeProjectionId,TypeProjectionName
    FROM &nbsp;ServiceManager.dbo.TypeProjection
    Order by TypeProjectionName ASC</div><div><br></div>
  • Leigh_KildayLeigh_Kilday Member Ninja IT Monkey ✭✭✭✭

    Please please please integrate the solution shown by @Dennis_de_Jager.

  • Dennis_de_JagerDennis_de_Jager Customer IT Monkey ✭
    I just made it even better, these searches are avaiable to end users as well, I didn't like them to have all the Asset searches, so they are now only added when:

    session.user.AssetManager === 1
    But then I thought, what if a user can lookup all Incidents or Service Request he has made:

    "SimpleExpression": {<br>"ValueExpressionLeft": {<br>"Property": "$Context/Path[Relationship='df738111-c7a2-b450-5872-c5f3b927481a' TypeConstraint='eca3c52a-f273-5cdc-f165-3eb95a2b26cf']/Property[Type='eca3c52a-f273-5cdc-f165-3eb95a2b26cf']/UserName$"},<br>"Operator": "Like",<br>"ValueExpressionRight": {<br>"Value": "%" + session.user.UserName + "%"<br>}}
    Put that expression on the place of the ObjectStatus as seen in the Hardware or Software Search, this also make it possible to search for all relationships, as long as you know the Relationship Id.

    The $Context strings are the same as you can insert in the E-Mail Notifications Template Editor



    You only need to replace the CustomSystem_Library!System.WorkItemAffectedUser with the appropriate GUID.

    Use this SQL query to find relationship GUIDs.

    Select DISTINCT RT.RelationshipTypeName,RT.RelationshipTypeID<br>From ServiceManager.dbo.RelationshipType RT<br>Left Join ServiceManager.dbo.Relationship R on R.RelationshipTypeId = RT.RelationshipTypeId<br>Order by RT.RelationshipTypeName Asc
  • Tom_Vidar_NøklebyTom_Vidar_Nøkleby Customer IT Monkey ✭
    We implementet the solution and it works great. The only problem is that end users also can use this search. And giving our end users access to all look up user objects and other users work items are not something we want to do.Is it possible to make this only avalable for analysts and admins? 
  • Dennis_de_JagerDennis_de_Jager Customer IT Monkey ✭
    Use 

    if (session.user.AssetManager === 1) {}
    OR 
    if (session.user.Analyst === 1) {}
    OR 
    if (session.user.IsAdmin == 'true') {} (this one I'm not sure if it works like this but this value is 'true' or TRUE instead of a number)

    Around the $(".navbar__search--dropdown ul").... ;  Code block in custom_InitSearch.js

    This way you only display the dropdown options for specific role scopes.




  • Tom_Vidar_NøklebyTom_Vidar_Nøkleby Customer IT Monkey ✭
    Great. Thanks. Ill give it a try
  • Ilias_El_TaghadouiniIlias_El_Taghadouini Customer IT Monkey ✭
    This is a great start:
    https://github.com/synax/CiresonAdvancedPortalSearch

    I have made a Search on Locations and Standards as well based on the above Advanced Portal Search.
    As a matter of fact I have also built a Service Request search based on one of our custom fields (reference) based on this code.

    You need to find the correct ManagedTypeId for the fields you want to search for and the correct ProjectionTypes for the Projections you want to search on. 


    Hi Dennis,

    I'd like to use this solution within a custom task containing a kendo window with a search input, instead of using the default search box. Any idea how I can achieve this ? It looks like most of the modifications should be made in custom_initsearch ?
Sign In or Register to comment.