James Moger
2013-09-19 a047669265c4090d7d0982f5654d4974a58ac12a
Disable *most* activity graphs when web.generateActivityGraph=false

This setting originally only worked for the Summary page, but since that
page was written, other pages have offered graphing. This setting will
now disable Google Chart requests on the Dashboard, Activity, and
Summary pages.

This is related to issue-310.
4 files modified
70 ■■■■■ changed files
src/main/distrib/data/gitblit.properties 4 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/pages/ActivityPage.html 8 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/pages/ActivityPage.java 12 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/pages/DashboardPage.java 46 ●●●● patch | view | raw | blame | history
src/main/distrib/data/gitblit.properties
@@ -897,8 +897,8 @@
# SINCE 0.5.0
web.showSearchTypeSelection = false
# Generates a line graph of repository activity over time on the Summary page.
# This uses the Google Charts API.
# Controls display of activity graphs on the dashboard, activity, and summary
# pages.  Charting makes use of the external Google Charts API.
#
# SINCE 0.5.0 
web.generateActivityGraph = true
src/main/java/com/gitblit/wicket/pages/ActivityPage.html
@@ -9,6 +9,11 @@
    <div class="dashboardTitle">
        <wicket:message key="gb.recentActivity"></wicket:message> <small><span class="hidden-phone"><span wicket:id="subheader">[days back]</span></span></small>
    </div>
    <div wicket:id="chartsPanel"></div>
    <div wicket:id="activityPanel" style="padding-top:5px;" >[activity panel]</div>
    </div>
<wicket:fragment wicket:id="chartsFragment">
    <div class="hidden-phone" style="text-align: center;">
        <table>
        <tr>
@@ -18,8 +23,7 @@
        </tr>
        </table>
    </div>
    <div wicket:id="activityPanel" style="padding-top:5px;" >[activity panel]</div>
    </div>
</wicket:fragment>
</wicket:extend>
</body>
</html>
src/main/java/com/gitblit/wicket/pages/ActivityPage.java
@@ -27,6 +27,7 @@
import org.apache.wicket.PageParameters;
import org.apache.wicket.behavior.HeaderContributor;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Fragment;
import com.gitblit.GitBlit;
import com.gitblit.Keys;
@@ -36,8 +37,8 @@
import com.gitblit.utils.ActivityUtils;
import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.CacheControl;
import com.gitblit.wicket.PageRegistration;
import com.gitblit.wicket.CacheControl.LastModified;
import com.gitblit.wicket.PageRegistration;
import com.gitblit.wicket.PageRegistration.DropDownMenuItem;
import com.gitblit.wicket.PageRegistration.DropDownMenuRegistration;
import com.gitblit.wicket.WicketUtils;
@@ -111,8 +112,13 @@
                    daysBack, totalCommits, totalAuthors)));
            // create the activity charts
            GoogleCharts charts = createCharts(recentActivity);
            add(new HeaderContributor(charts));
            if (GitBlit.getBoolean(Keys.web.generateActivityGraph, true)) {
                GoogleCharts charts = createCharts(recentActivity);
                add(new HeaderContributor(charts));
                add(new Fragment("chartsPanel", "chartsFragment", this));
            } else {
                add(new Label("chartsPanel").setVisible(false));
            }
            // add activity panel
            add(new ActivityPanel("activityPanel", recentActivity));
src/main/java/com/gitblit/wicket/pages/DashboardPage.java
@@ -217,28 +217,32 @@
        frag.add(new Label("feedheader", MessageFormat.format(headerPattern,
                daysBack, totalCommits, authorMetrics.size())));
        // build google charts
        GoogleCharts charts = new GoogleCharts();
        if (GitBlit.getBoolean(Keys.web.generateActivityGraph, true)) {
            // build google charts
            GoogleCharts charts = new GoogleCharts();
        // active repositories pie chart
        GoogleChart chart = new GooglePieChart("chartRepositories", getString("gb.activeRepositories"),
                getString("gb.repository"), getString("gb.commits"));
        for (Metric metric : repositoryMetrics.values()) {
            chart.addValue(metric.name, metric.count);
            // active repositories pie chart
            GoogleChart chart = new GooglePieChart("chartRepositories", getString("gb.activeRepositories"),
                    getString("gb.repository"), getString("gb.commits"));
            for (Metric metric : repositoryMetrics.values()) {
                chart.addValue(metric.name, metric.count);
            }
            chart.setShowLegend(false);
            charts.addChart(chart);
            // active authors pie chart
            chart = new GooglePieChart("chartAuthors", getString("gb.activeAuthors"),
                    getString("gb.author"), getString("gb.commits"));
            for (Metric metric : authorMetrics.values()) {
                chart.addValue(metric.name, metric.count);
            }
            chart.setShowLegend(false);
            charts.addChart(chart);
            add(new HeaderContributor(charts));
            frag.add(new Fragment("charts", "chartsFragment", this));
        } else {
            frag.add(new Label("charts").setVisible(false));
        }
        chart.setShowLegend(false);
        charts.addChart(chart);
        // active authors pie chart
        chart = new GooglePieChart("chartAuthors", getString("gb.activeAuthors"),
                getString("gb.author"), getString("gb.commits"));
        for (Metric metric : authorMetrics.values()) {
            chart.addValue(metric.name, metric.count);
        }
        chart.setShowLegend(false);
        charts.addChart(chart);
        add(new HeaderContributor(charts));
        frag.add(new Fragment("charts", "chartsFragment", this));
    }
}