Report Available: Fixlet Compliance by Computer Group

(imported comment written by Lee Wei)

This report cannot be scheduled via Web Reports for 2 reasons. Firstly it is created with user interaction making it unsuitable for auto delivery. Secondly, because of the use of JavaScript on the client-side, Web Reports server will also not be able to execute it.

I hope you have found the source code of the report. It is written in JavaScript, so you will need someone with JavaScript knowledge plus IEM Session Relevance to help with any edits that might be desired.

Lee Wei

Hello Lee

Is it possible to create a report similar to “Fixlet Compliance by Computer Group V1.6” without the charts and java script. The purpose of this is to be able to use the web reports scheduled emails feature.
I am able to create part of the relevance script but could not figure out how to incorporate the remaining relevance statement.
Any help would be much appreciated.

Computer ID Computer Name Operating System IP Address Last Report Time Applicable Fixlets Installed Fixlets Outstanding Fixlets Compliance
        <?relevance concatenation of trs of (td of (id of it as string) & td of (link of it) & td of (if (exists operating system of it) then (operating system of it) else ("Unknown")) & td of (if (exists ip addresses of it) then (concatenation (", ") of (ip addresses of it as string)) else (" ")) & td of ((year of it as string & "/" & month of it as two digits & "/" & day_of_month of it as two digits) of date (local time zone) of it & " " & (two digit hour of it as string & ":" & two digit minute of it as string & ":" & two digit second of it as string) of time (local time zone) of it) of last report time of it) of elements of unions of (sets of bes computers whose (exists name of it)) ?> 

attached is a pic of a sample of what i have created so for.
Any help would be much appreciated.

image:
https://www.ibm.com/developerworks/community/forums/ajax/download?nodeId=d972a007-7d54-46aa-aa99-2eabc9df3e37

Thanks
Norman
Nore0402@gmail.com

How can I have the “First Became Relevant” only be applicable to the computer under analysis? The unique values statement fails because the “First Became Relevant” dates have multiple:

    var relevance = 'unique values of (id of item 0 of it as string & "||" & name of item 0 of it & "||" & item 1 of it & "||" & item 2 of it & "||" & item 3 of it & "||" & item 4 of it & "||" & item 5 of it & "||" & item 6 of it & "||" & item 7 of it & "||" & item 8 of it & "||" & (if ((year of date (local time zone) of it) as integer = 1980) then ("<none>") else ((year of it as string & "/" & month of it as two digits & "/" & day_of_month of it as two digits) of date (local time zone) of it)) of (item 9 of it as time)) of (applicable computers whose (exists name of it) of it , ("<A name=%22" & name of it & "%22 href=%22" & link href of it & "%22 target=%22_blank%22>" & name of it & "</A>") , (if (exists source severity of it) then (if (source severity of it as lowercase contains "<unspecified>" or source severity of it as lowercase contains "<n/a>") then ("Unspecified") else (source severity of it)) else ("Unspecified")) , (if (exists source release date of it) then ((year of it as string & "-" & month of it as two digits as string & "-" & day_of_month of it as two digits as string) of source release date of it as string) else "1000-01-01") , (if (exists category of it) then (if (category of it as lowercase contains "<unspecified>") then ("Unspecified") else (category of it as string)) else ("Unknown")) , (if (exists cve id list of it) then (if (cve id list of it as lowercase contains "cve") then (cve id list of it as string) else ("Unknown")) else ("Unknown")) , (if (exists download size of it) then ((download size of it) as string) else ("0")) , display name of site of it , applicable computer count of it as string , ((if (exists First Became Relevant of it) then (First Became Relevant of it as string) else ("Fri, 15 Feb 1980 00:00:00 -0000")) of results of it)) of ' + fixletFilter;

Charts and JavaScripts are not the reasons why a custom report cannot be scheduled.
Here is a new report similar to this one that can be scheduled.
Schedulable Compliance by Computer report

Lee Wei

A new version 1.7 that has a fix to work with BigFix version 9.2.6 is available here:

Interactive Fixlet Compliance by Computer Group Report

1 Like

Lee,

Is there anyway to modify the script to allow more than 1000 items to be displayed? When I export to Excel it only takes the visible cells and I have some reports that are over 14000 lines. I looked through the fixlet_compliance_1_7.js file but I’m not super familiar with java script.

Thanks,
Chris

@Chris_C if you search the JavaScript file, you will find the following line of code.

    var diplayedRelevantFixlets = 1000;

You can change that to any number desired, albeit with slower performance.
Remember that the browser cache might have to be forced refreshed, or the old JavaScript file will be used.

Hi Lee,

good day to you 


could you please let us know how we can edit the display value in 2.0 version report.

Naresh

@nareshjon we would do the same thing of searching for the displayedRelevantFixlets variable and change the value to anything you need.
Version 2.0 has only one big difference, which is to embed the entire report in one file. So it is indeed larger and more cumbersome to edit.

Hi Lee,

Thanks for your response


so there is no way we can edit the display value
?

is there any new version your planning to release with this option please let us know.

thanks in Advance.

Naresh

@nareshjon yes you can change the default number of rows displayed from 1000 to any larger number.
Search for the following line in the report and change the value.

var diplayedRelevantFixlets = 1000;

thanks Lee 
 i have updated the line now its working fine :slight_smile:

Hello,

I see “A new version that has a fix to work with BigFix 9.5.4 is available here.”

Will this report works with the version of BigFix that’s installed, version 9.5.8.38 and IE 11?

Thanks
​Rajeev Verma

@leewei I’m currently using 9.5.8.38 will this Interactive Fixlet Compliance Reports v2.0 work with that version? Also I don’t see a ext-3.2.0 directory under C:\Program Files\BigFix Enterprise\BES Server\BESReportsServer\wwwroot". Should I just manually create the directory?

@gaydoshg1, did you download and unzip the files from here?
https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Tivoli%20Endpoint%20Manager/page/Interactive%20Fixlet%20Compliance%20by%20Computer%20Group%20Report

If you don’t have the ext-3.2.0 directory, it would appear that you have not unzipped the package into the right location.

I would expect it work with 9.5.8.38.

1 Like

Hi Leewei,

I am not accessing files under ext and getting message as “Unable to connect” on Firefix Browser after entering the below url as suggestedby you

http://Servername:52312/ext/ext-all.js

Thanks,
Riyaz

@RiyazBasha. Web Report is a web server with the following directory (drive letter might be different) as the root directory.
C:\Program Files (x86)\BigFix Enterprise\BES Server\wwwrootbes\

With a proper installation, we should see a directory like the following
C:\Program Files (x86)\BigFix Enterprise\BES Server\wwwrootbes\ext-3.2.0

So a proper test URL should be:
http(s)://your_web_reports_server:port/ext-3.2.0/ext-all.js

Thanks for the reply Leewei,

I am trying like this

http://C:\BigFix Enterprise\BES Server\wwwrootbes\ext-3.2.0:52312/ext-all.js

still same error.

@RiyazBasha, your URL does not look right.

What is the Web Reports URL that you use?
For example, if it is:
http://server:52312

Then the correct URL to test is:
http://server:52312/ext-3.2.0/ext-all.js

Do you have this directory on your server?
C:\Program Files (x86)\BigFix Enterprise\BES Server\wwwrootbes\ext-3.2.0

Leewei,

without adding 52311 port on URL it’s working fine and displayed like below

/*

  • Ext JS Library 3.2.0
  • Copyright© 2006-2010 Ext JS, Inc.
  • licensing@extjs.com
  • http://www.extjs.com/license
    */
    Ext.DomHelper=function(){var s=null,j=/^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i,l=/^table|tbody|tr|td$/i,p,m=“afterbegin”,n=“afterend”,c=“beforebegin”,o=“beforeend”,a="",h="
    ",b=a+"",i=""+h,k=b+"",r=""+i;function g(x,z,y,A,v,t){var u=p.insertHtml(A,Ext.getDom(x),q(z));return y?Ext.get(u,true):u}function q(A){var v="",u,z,y,t,B;if(Ext.isString(A)){v=A}else{if(Ext.isArray(A)){for(var x=0;x<A.length;x++){if(A[x]){v+=q(A[x])}}}else{v+="<"+(A.tag=A.tag||“div”);Ext.iterate(A,function(C,D){if(!/tag|children|cn|html$/i.test©){if(Ext.isObject(D)){v+=" “+C+’=”’;Ext.iterate(D,function(F,E){v+=F+":"+E+";"});v+=’"’}else{v+=" “+({cls:“class”,htmlFor:“for”}[C]||C)+’=”’+D+’"’}}});if(j.test(A.tag)){v+="/>"}else{v+=">";if((B=A.children||A.cn)){v+=q(B)}else{if(A.html){v+=A.html}}v+="</"+A.tag+">"}}}return v}function e(B,y,x,z){s.innerHTML=[y,x,z].join("");var t=-1,v=s,u;while(++t<B){v=v.firstChild}if(u=v.nextSibling){var A=document.createDocumentFragment();while(v){u=v.nextSibling;A.appendChild(v);v=u}v=A}return v}function d(t,u,x,v){var y,z;s=s||document.createElement(“div”);if(t==“td”&&(u==m||u==o)||!/td|tr|tbody/i.test(t)&&(u==c||u==n)){return}z=u==c?x:u==n?x.nextSibling:u==m?x.firstChild:null;if(u

i have few queries

  1. Why without adding port query worked
    2)Can you please help me with usage of Fixlet Compliance by Computer Group Doc. if you have any? and
    3)Did you released v2.0 Fixlet Compliance by Computer Group?if so,provide me direct link todownload
    4)can we use both v1.7 and 2.0 Fixlet Compliance by Computer Group ?

Thanks,
Riyaz