Generate the report projects related sections: the general project is included always and add
        to the global report, and an specific report for each project is generated if configured.
        :return:

def sec_projects(self):
        """
        Generate the report projects related sections: the general project is included always and add
        to the global report, and an specific report for each project is generated if configured.
        :return:
        """

        """
        This activity is displayed at the general level, aggregating all
        of the projects, with the name 'general' and per project using
        the name of each project. This activity is divided into three main
        sections: activity, community and process.
        """

        # First the 'general' project
        self.sec_project_activity(self.GLOBAL_PROJECT)
        self.sec_project_community(self.GLOBAL_PROJECT)
        self.sec_project_process(self.GLOBAL_PROJECT)

        if not self.projects:
            # Don't generate per project data
            return

        # Just one level projects supported yet

        # First we need to get the list of projects per data source and
        # join all lists in the overall projects list

        projects_lists = self.config['overview']['projects_metrics']

        projects = []
        for p in projects_lists:
            p_list = p(self.es_url, self.get_metric_index(p),
                       start=self.start).get_list()['project']
            projects += p_list

        projects = list(set(projects))

        project_str = "\n".join(projects)

        with open(os.path.join(self.data_dir, "projects.txt"), "w") as f:
            f.write(project_str)

        for project in projects:
            # The name of the project is used to create files
            project = project.replace("/", "_")
            self.sec_project_activity(project)
            self.sec_project_community(project)
            self.sec_project_process(project)