Commit 87664753 authored by Pablo Orviz's avatar Pablo Orviz
Browse files

Updated by deploy_dashboards.py

parents
This diff is collapsed.
all:
$(info > HTML pages being generated)
cd templates && ./gen.sh
$(info > Do not forget to customize the navbar.tmpl!)
clean:
rm ./browser/*.html
$(info > HTML pages deleted)
test: browser/lib/vizgrimoire.min.js
$(info > Executing tests .. )
cd test/jasmine; jasmine-headless-webkit -j jasmine.yml -c
cd ../..
testci: browser/lib/vizgrimoire.min.js
$(info > Executing tests .. )
cd test/jasmine; xvfb-run jasmine-headless-webkit -j jasmine.yml -c
cd ../..
# Intro
VizGrimoireJS aims at providing a framework for software metrics visualization using HTML,
CSS and JavaScript as main technologies.
It was born as a complement to the outcomes of VizGrimoireR project (now GrimoireLib),
whose main focus is to parse information from any of the tools found in Metrics Grimoire
project.
## Q. What libraries are used by this front-end?
- Bootstrap 3.1.1
- Jasny Boostrap 3.1.3
- JQuery 1.11.1
- VizGrimoireJS-lib
## Q. How do I generate the HTML?
make
## Q. How do I clean the generated HTML?
make clean
## Q. Where do I include the JSON files?
Copy them to the directory browser/data/json
## Q. Where is the famous metrics.json file located?
It is located at browser/data/metrics.json
## Q. What if I don't want project support?
The project hierarchy is provided by the file browser/data/json/projects_hierarchy.json, if
the file is not present the dash works with no subprojects support.
## Q. What if I don't want to generate all the HTML files?
Easy, comment the proper lines in the shell script at templates/gen.sh
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="Bitergia" >
<link rel="shortcut icon" href="../../assets/ico/favicon.png">
<title></title>
<!-- Bootstrap core CSS -->
<link href="./css/bootstrap.min.css" rel="stylesheet">
<link href="./css/jasny-bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="./css/custom.css" rel="stylesheet">
<!-- icons -->
<link rel="stylesheet" href="./css/awesome/css/font-awesome.min.css">
<!-- Type ahead style -->
<link href="./css/typeahead.css" rel="stylesheet">
<!-- custom -->
<!-- <link rel="stylesheet" href="VizGrimoireJS/custom.css">-->
<link rel="stylesheet" type="text/css" id="theme" href="./css/vizgrimoire.css">
</head>
<body>
<div id="Navbar"></div>
<div class="container-fluid">
<div class="row"><span class="SectionBreadcrumb col-md-12"></span></div>
<!-- Section HTML will be placed here, do not modify manually -->
<!-- REPLACE SECTION HTML -->
<div class="row">
<div class="col-md-12">
<div class="wellmin">
<div class="row">
<div class="col-md-3 text-left">
<div class="FilterItemData" data-filter="companies"></div>
</div>
<div class="col-md-9 text-left">
<div class="CompanyFilters"></div>
</div>
</div>
</div>
</div>
</div>
<div class="CompanyDSBlock" data-data-source="scm"
data-metrics="scm_commits,scm_authors:scm_newauthors"
data-top-metric="authors">
</div>
<div class="CompanyDSBlock" data-data-source="scr"
data-metrics="scr_submitted:scr_merged,scr_timeto_merge_median"
data-top-metric="mergers">
</div>
<div class="CompanyDSBlock" data-data-source="its"
data-metrics="its_closed:its_opened,its_closers:its_openers"
data-top-metric="closers">
</div>
<div class="CompanyDSBlock" data-data-source="mls"
data-metrics="mls_sent,mls_senders"
data-top-metric="senders">
</div>
<!-- END SECTION HTML-->
<footer>
<div id="Footer"></div>
</footer>
</div>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="./lib/jquery-1.11.1.min.js"></script>
<script src="./lib/jquery.tablesorter.min.js"></script>
<script src="./lib/bootstrap-3.1.1.min.js"></script>
<script src="./lib/jasny-bootstrap-3.1.3.min.js"></script>
<script src="./lib/vizgrimoire.min.js"></script>
<script src="./lib/timezones.js"></script>
<script src="./lib/filter_panel.js"></script>
<script src="./lib/events.js"></script>
<script src="./lib/project_comparison.js"></script>
<script src="./lib/typeahead.jquery.js"></script>
<script src="./lib/search.js"></script>
<script src="./lib/moment.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.collapse').on('shown.bs.collapse', function(){
$(this).parent().find(".fa-plus").removeClass("fa-plus").addClass("fa-minus");
}).on('hidden.bs.collapse', function(){
$(this).parent().find(".fa-minus").removeClass("fa-minus").addClass("fa-plus");
});
});
</script>
<!-- Piwik code will be included here-->
<!-- Piwik -->
<!-- End Piwik Code -->
<!-- End of Piwik code -->
</body>
</html>
These two files (menu-elements.json and project-info.json) are used to set up
the main variables of the dash.
This is an example of the menu-elements.json file we are using for openstack
{
"menu":{
"scm": [
"companies",
"companies-summary",
"contributors",
"repos"
],
"mls": [
"companies",
"contributors",
"repos"
],
"qaforums": ["tags"],
"irc": [
"contributors",
"repos"
],
"studies": [
"demographics",
"release"
],
"its": [
"companies",
"contributors",
"states",
"repos"
],
"scr": [
"companies",
"companies-summary",
"contributors"
],
"downloads_OFF": [],
"wiki_OFF": []
},
"releases":["essex","folsom","havana","icehouse"]
}
If the section name is not the "typical", it will be disabled from menu. Another
option is to remove it from the list. If you have issues with the menu, first
check if the JSON file is written with the correct syntax (you can use the
command json_reformat)
The second file: projects-info.json is not really used now. The only important
variable now is "project_name".
These two files will be merged in a single configuration file
# Grimoire dash configuration file
```
{
"menu":{
"scm": [
"companies",
"companies-summary",
"contributors",
"countries",
"domains",
"projects",
"repos"
],
"mls": [
"companies",
"contributors",
"countries",
"domains",
"projects",
"repos"
],
"qaforums": [
"contributors"
],
"irc": [
"contributors",
"repos"
],
"studies": [
"demographics"
],
"its": [
"companies",
"contributors",
"countries",
"domains",
"projects",
"repos",
"states"
],
"scr": [
"companies",
"companies-summary",
"countries",
"projects",
"repos"
],
"downloads": [],
"forge": [],
"wiki": [],
"extra": [
["Link 1", "http://bitergia.com"],
["Link 2", "https://twitter.com/bitergia"],
["Link 2", "https://twitter.com/flossmetrics"]
],
```
studies_extra will link ad-hoc studies
```
"studies_extra": [
["pepe","./project_comparison.html?projects=OpenShift%20v2,OpenShift%20v3"]
],
```
sometimes is easier to rename the section instead of deleting it
```
"project_map-OFF": [],
```
filter: List of double filters with data source like scm:company+country
```
"filter": ["scm:company+country","its:company+country"],
```
filter_companies: List of companies will show only these companies
```
"filter_companies":["Liferay","non Liferay"]
},
"releases":[]
}
```
{
"menu":{
"scm": [
"companies",
"companies-summary",
"contributors",
"countries",
"domains",
"projects",
"repos"
],
"mls": [
"companies",
"contributors",
"countries",
"domains",
"projects",
"repos"
],
"qaforums": [
"contributors"
],
"irc": [
"contributors",
"repos"
],
"studies": [
"demographics"
],
"its": [
"companies",
"contributors",
"countries",
"domains",
"projects",
"repos",
"states"
],
"its_1": [
"companies",
"contributors",
"repos"
],
"scr": [
"companies",
"companies-summary",
"countries",
"projects",
"repos"
],
"meetup": [
"past_meetings"
],
"downloads": [],
"forge": [],
"wiki": [],
"extra": [
["Link 1", "http://bitergia.com"],
["Link 2", "https://twitter.com/bitergia"],
["Link 2", "https://twitter.com/flossmetrics"]
],
"project_map-OFF": [],
"filter": ["scm:company+country","its:company+country"],
"filter_companies":["Liferay","non Liferay"]
},
"releases":[],
"threads_site":"https://groups.google.com/"
}
{
"menu":{
"scm": [
"companies",
"companies-summary",
"contributors",
"countries",
"domains",
"projects",
"repos"
],
"mls": [
"companies",
"contributors",
"countries",
"domains",
"projects",
"repos"
],
"qaforums": [
"contributors"
],
"irc": [
"contributors",
"repos"
],
"studies": [
"demographics"
],
"its": [
"companies",
"contributors",
"countries",
"domains",
"projects",
"repos",
"states"
],
"its_1": [
"companies",
"contributors",
"repos"
],
"scr": [
"companies",
"companies-summary",
"countries",
"projects",
"repos"
],
"meetup": [
"past_meetings"
],
"downloads": [],
"forge": [],
"wiki": [],
"extra": [
["Link 1", "http://bitergia.com"],
["Link 2", "https://twitter.com/bitergia"],
["Link 2", "https://twitter.com/flossmetrics"]
],
"project_map-OFF": [],
"filter": ["scm:company+country","its:company+country"],
"filter_companies":["Liferay","non Liferay"]
},
"releases":[],
"threads_site":"https://groups.google.com/"
}
# Grimoire dash configuration file
```
{
"menu":{
"scm": [
"companies",
"companies-summary",
"contributors",
"countries",
"domains",
"projects",
"repos"
],
"mls": [
"companies",
"contributors",
"countries",
"domains",
"projects",
"repos"
],
"qaforums": [
"contributors"
],
"irc": [
"contributors",
"repos"
],
"studies": [
"demographics"
],
"its": [
"companies",
"contributors",
"countries",
"domains",
"projects",
"repos",
"states"
],
"scr": [
"companies",
"companies-summary",
"countries",
"projects",
"repos"
],
"downloads": [],
"forge": [],
"wiki": [],
"extra": [
["Link 1", "http://bitergia.com"],
["Link 2", "https://twitter.com/bitergia"],
["Link 2", "https://twitter.com/flossmetrics"]
],
```
studies_extra will link ad-hoc studies
```
"studies_extra": [
["pepe","./project_comparison.html?projects=OpenShift%20v2,OpenShift%20v3"]
],
```
sometimes is easier to rename the section instead of deleting it
```
"project_map-OFF": [],
```
filter: List of double filters with data source like scm:company+country
```
"filter": ["scm:company+country","its:company+country"],
```
filter_companies: List of companies will show only these companies
```
"filter_companies":["Liferay","non Liferay"]
},
"releases":[],
```
threads_site: Web site to be appended to search URL
```
"threads_site":"https://groups.google.com/"
}
```
{
"date":"",
"project_name" :"Project template",
"project_url" :"http://incubator.apache.org/allura/",
"scm_url":"https://github.com/apache/incubator-allura",
"scm_name":"git://git.apache.org/incubator-allura.git",
"scm_type":"git",
"its_url":"http://sourceforge.net/p/allura/tickets/",
"its_name":"Tickets",
"its_type":"",
"mls_url":"http://incubator.apache.org/allura/mailing-lists.html",
"mls_name":"Mailing lists",
"mls_type":"mailman",
"producer":"",
"blog_url":""
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="Bitergia" >
<link rel="shortcut icon" href="../../assets/ico/favicon.png">
<title></title>
<!-- Bootstrap core CSS -->
<link href="./css/bootstrap.min.css" rel="stylesheet">
<link href="./css/jasny-bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="./css/custom.css" rel="stylesheet">
<!-- icons -->
<link rel="stylesheet" href="./css/awesome/css/font-awesome.min.css">
<!-- Type ahead style -->
<link href="./css/typeahead.css" rel="stylesheet">
<!-- custom -->
<!-- <link rel="stylesheet" href="VizGrimoireJS/custom.css">-->
<link rel="stylesheet" type="text/css" id="theme" href="./css/vizgrimoire.css">
</head>
<body>
<div id="Navbar"></div>
<div class="container-fluid">
<div class="row"><span class="SectionBreadcrumb col-md-12"></span></div>
<!-- Section HTML will be placed here, do not modify manually -->
<!-- REPLACE SECTION HTML -->
<div class="row">
<div class="col-md-12">
<div class="wellmin">
<div class="FilterItemData" data-filter="countries"></div>
</div>
</div>
</div>
<div class="row">
<div class="FilterDSBlock" data-filter="countries" data-data-source="scm"
data-metrics="scm_commits,scm_authors,scm_files"></div>
<div class="FilterDSBlock" data-filter="countries" data-data-source="scr"
data-metrics="scr_submitted:scr_merged:scr_abandoned,scr_new"></div>
<div class="FilterDSBlock" data-filter="countries" data-data-source="its"
data-metrics="its_closed:its_opened,its_closers:its_openers,its_changers"></div>
<div class="FilterDSBlock" data-filter="countries" data-data-source="mls"
data-metrics="mls_sent,mls_senders"></div>
<div class="FilterDSBlock" data-filter="countries" data-data-source="irc"
data-metrics="irc_sent,irc_senders"></div>
<div class="FilterDSBlock" data-filter="countries" data-data-source="qaforums"
data-metrics="qaforums_qsent,qsenders,asenders"></div>
</div>
<!-- END SECTION HTML-->
<footer>
<div id="Footer"></div>
</footer>
</div>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="./lib/jquery-1.11.1.min.js"></script>
<script src="./lib/jquery.tablesorter.min.js"></script>
<script src="./lib/bootstrap-3.1.1.min.js"></script>
<script src="./lib/jasny-bootstrap-3.1.3.min.js"></script>
<script src="./lib/vizgrimoire.min.js"></script>
<script src="./lib/timezones.js"></script>
<script src="./lib/filter_panel.js"></script>