3 * FusionForge Standard Index Page
5 * Copyright 1999-2013, Fusionforge Team
6 * Copyright 2014,2017, Franck Villaume - TrivialDev
8 * This file is part of FusionForge. FusionForge is free software;
9 * you can redistribute it and/or modify it under the terms of the
10 * GNU General Public License as published by the Free Software
11 * Foundation; either version 2 of the Licence, or (at your option)
14 * FusionForge is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License along
20 * with FusionForge; if not, write to the Free Software Foundation, Inc.,
21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24 require_once $gfcommon.'include/FusionForge.class.php';
27 echo $HTML->listTableTop(array(), array(), 'fullwidth', 'bd');
29 <!-- whole page table -->
33 echo html_e('h2', array('id' => 'title-home-page'), '<img src='.util_make_uri('/images/fusionforge-resized.png').' alt="FusionForge"/>');
34 echo html_e('h3', array(), _('FusionForge helps you manage the entire development life cycle'));
35 echo html_e('p', array(), _('FusionForge has tools to help your team collaborate, like message forums and mailing lists; tools to create and control access to Source Code Management repositories like CVS and Subversion. FusionForge automatically creates a repository and controls access to it depending on the role settings of the project.'));
37 echo html_e('p', array(), _('Additional Features')._(':'));
39 $liElements = array();
40 $liElements[]['content'] = _('Manage File Releases.');
41 $liElements[]['content'] = _('Document Management.');
42 $liElements[]['content'] = _('News announcements.');
43 $liElements[]['content'] = _('Surveys for users and admins.');
44 $liElements[]['content'] = _('Issue tracking with “unlimited” numbers of categories, custom fields, etc.');
45 $liElements[]['content'] = _('Task management.');
46 $liElements[]['content'] = _('Wiki (using MediaWiki or MoinMoin).');
47 $liElements[]['content'] = _('A powerful plugin system to add new features.');
48 echo $HTML->html_list($liElements);
50 echo html_e('h3', array(), _("What's new in FusionForge 6.1"));
51 echo html_e('p', array(), _('Checkout the roadmap for closed issues (bugs, patches, features requests)').' '.util_make_link("https://fusionforge.org/tracker/roadmap.php?group_id=6&roadmap_id=1&release=6.1", _('here'), false, true));
53 echo html_e('p', array(), _('Standards features')._(':'));
55 $liElements = array();
56 $liElements[]['content'] = _('Forge Home page supports widget system in parallel of the current customization page (TrivialDev)');
57 $liElements[]['content'] = _('cross ref document/release. Use [DNNN]/[RNNN] where NNN is the ID of the document/frs release. (TrivialDev)');
58 $liElements[]['content'] = _('Install System: add support for OpenSuSE. [#849] (Ralf Habacker)');
59 $liElements[]['content'] = _('CLI dump/import functions to extract or import massively into FusionForge [#848] (TrivialDev)');
60 $liElements[]['content'] = _('new dynamic quickNav menu: based on user activity to select 5 more visited projects (TrivialDev)');
61 $liElements[]['content'] = _('Projects Page: add paging system in full_list and tag_cloud subpages (TrivialDev)');
62 $liElements[]['content'] = _('support object association n-n, bidirectional (Artifact, Document, FRSRelease) (TrivialDev)');
63 $liElements[]['content'] = _('url_prefix configuration parameter complete support. [#643] (TrivialDev)');
64 $subliElements = array();
65 $subliElements[]['content'] = _('minimum password length is now 8 (Sylvain Beucler)');
66 $subliElements[]['content'] = _('add minimal constraints to password (upper-case, lower-case, non-alphanumeric check) [#826] (Inria)');
67 $liElements[]['content'] = _('Accounts').$HTML->html_list($subliElements);
68 $subliElements = array();
69 $subliElements[]['content'] = _('limit number of returned documents on search query. Use paging system [#794] (TrivialDev)');
70 $subliElements[]['content'] = _('limit search using from & to dates [#798] (TrivialDev)');
71 $subliElements[]['content'] = _('use standard search engine: unify results between "search in project" & "search in the docs" tab (TrivialDev)');
72 $subliElements[]['content'] = _('searchengine: DocsAll & Docs unified. (TrivialDev)');
73 $subliElements[]['content'] = _('searchengine: add edit file action on result. (TrivialDev)');
74 $subliElements[]['content'] = _('notify users on document. (TrivialDev)');
75 $subliElements[]['content'] = _('support private status on directory. (TrivialDev)');
76 $subliElements[]['content'] = _('support document versioning. (TrivialDev)');
77 $subliElements[]['content'] = _('support cross ref. forum, documents, task or artifact. (TrivialDev)');
78 $subliElements[]['content'] = _('add new document review feature. to review version, document and post comment to a document. (TrivialDev)');
79 $subliElements[]['content'] = _('add manual upload method to inject zip feature. (TrivialDev)');
80 $liElements[]['content'] = _('Document Management')._(' aka docman').$HTML->html_list($subliElements);
81 $subliElements = array();
82 $subliElements[]['content'] = _('link package release to tracker roadmap. (TrivialDev)');
83 $liElements[]['content'] = _('File Release System')._(' aka FRS').$HTML->html_list($subliElements);
84 $subliElements = array();
85 $subliElements[]['content'] = _('keep values in artifact new submit form on error. (TrivialDev)');
86 $subliElements[]['content'] = _('add new option on customfield text: regex pattern validation (TrivialDev)');
87 $subliElements[]['content'] = _('add new customfield: User (TrivialDev)');
88 $subliElements[]['content'] = _('add new customfield: DateTime (TrivialDev)');
89 $subliElements[]['content'] = _('add new customfield: Release (TrivialDev)');
90 $subliElements[]['content'] = _('add support for mandatory fields on workflow of artifact (TrivialDev)');
91 $subliElements[]['content'] = _('add support for description on customfield to be used in tooltip (TrivialDev)');
92 $subliElements[]['content'] = _('fix customfield cloning when not using default template fusionforge project [#829] (TrivialDev)');
93 $subliElements[]['content'] = _('add support for autoassign [#151] & [#149] (TrivialDev)');
94 $subliElements[]['content'] = _('add default value support for custom fields (TrivialDev)');
95 $subliElements[]['content'] = _('CSV export, support lastModifiedDate filtering (TrivialDev)');
96 $subliElements[]['content'] = _('CSV export, add comments [#853] (Dassault Aviation)');
97 $subliElements[]['content'] = _('add new customfield: Effort (TrivialDev)');
98 $subliElements[]['content'] = _('new widget oriented display to replace the old "2 columns" view. (TrivialDev)');
99 $subliElements[]['content'] = _('support Markdown syntax in artifact detailled description and comments (TrivialDev)');
100 $liElements[]['content'] = _('Trackers').$HTML->html_list($subliElements);
101 $subliElements = array();
102 $subliElements[]['content'] = _('support only FTI queries (TrivialDev)');
103 $subliElements[]['content'] = _('index project tags and use them for search (Roland Mas)');
104 $subliElements[]['content'] = _('provide language-specific settings for better indexation/search (Roland Mas)');
105 $liElements[]['content'] = _('Search').$HTML->html_list($subliElements);
106 $subliElements = array();
107 $subliElements[]['content'] = _('add paging system in userlist page [#799] (TrivialDev)');
108 $liElements[]['content'] = _('Site Admin').$HTML->html_list($subliElements);
109 $subliElements = array();
110 $subliElements[]['content'] = _('markdown support & fix code syntax highlight [#865] (TrivialDev)');
111 $liElements[]['content'] = _('Snippet').$HTML->html_list($subliElements);
112 $subliElements = array();
113 $subliElements[]['content'] = _('getArtifacts tracker function: support changed_from parameter (TrivialDev)');
114 $subliElements[]['content'] = _('getFlattedArtifacts function: to return as CSV export. All data in 1 call (TrivialDev)');
115 $liElements[]['content'] = _('SOAP').$HTML->html_list($subliElements);
116 $subliElements = array();
117 $subliElements[]['content'] = _('upgrade splitter jquery plugin to 0.20.0 (TrivialDev)');
118 $subliElements[]['content'] = _('upgrade jquery ui to 1.12.1 (TrivialDev)');
119 $subliElements[]['content'] = _('upgrade jquery to 1.12.4 (Nokia)');
120 $subliElements[]['content'] = _('HTML 5 Doctype; use HTML 5 <header>, <main> and <footer> tags in Funky theme (Nokia)');
121 $liElements[]['content'] = _('Web UI').$HTML->html_list($subliElements);
122 $subliElements = array();
123 $subliElements[]['content'] = _('MySystasks: new widget for user to display systasks perform on user projects (TrivialDev)');
124 $subliElements[]['content'] = _('ProjectlatestArtifact: new widget for project to display the 5 more recent artifacts (TrivialDev)');
125 $subliElements[]['content'] = _('ProjectScmStats: new widget for project to display SCM stats (TrivialDev)');
126 $subliElements[]['content'] = _('HomeRss: new widget for Forge home page to display RSS flow (TrivialDev)');
127 $subliElements[]['content'] = _('HomeLatestFileReleases: new widget for Forge home page to display 5 latest File releases across the forge (TrivialDev)');
128 $liElements[]['content'] = _('Widgets').$HTML->html_list($subliElements);
129 echo $HTML->html_list($liElements);
131 echo html_e('p', array(), _('Plugins')._(':'));
132 $liElements = array();
133 $liElements[]['content'] = _('Plugin AuthBuiltin: add captcha after 3 attempts with the same login [#795] (TrivialDev)');
134 $liElements[]['content'] = _('Plugin AuthLDAP: support X_FORWARD_USER to delegate authentication and then retrieve user from LDAP (TrivialDev)');
135 $liElements[]['content'] = _('Plugin Blocks: support Markdown syntax. (TrivialDev)');
136 $liElements[]['content'] = _('Plugin GlobalActivity: forge-wide aggregation for project activities (Roland Mas)');
137 $liElements[]['content'] = _('Plugin Mediawiki: support activity for public project (TrivialDev)');
138 $liElements[]['content'] = _('Plugin Mediawiki: upgrade to MW 1.23 on CentOS, to MW 1.27 on Debian [#746] (TrivialDev)');
139 $liElements[]['content'] = _('Plugin phptexcaptcha: new plugin to support standard php captcha library (TrivialDev)');
140 $liElements[]['content'] = _('Plugin REST: new REST api (Alain Peyrat & TrivialDev)');
141 $liElements[]['content'] = _('Plugin Scmhook: add CVS commitTracker hook [#700] (Philipp Keidel & TrivialDev)');
142 $liElements[]['content'] = _('Plugin Taskboard: support multiple taskboards per project [#785] (TrivialDev)');
143 $liElements[]['content'] = _('Plugin Taskboard: support filtering tasks [#786] (TrivialDev)');
144 $liElements[]['content'] = _('SCM plugins: support stats per repository (TrivialDev)');
145 echo $HTML->html_list($liElements);
147 if(forge_get_config('use_news')) {
148 echo $HTML->boxTop(_('Latest News'), 'Latest_News');
149 echo news_show_latest(GROUP_IS_NEWS, 5, true, false, false, 5);
150 echo $HTML->boxBottom();
158 echo show_features_boxes();
163 echo $HTML->listTableBottom();
168 $forge = FusionForge::getInstance();
169 printf (_('This site is running %1$s version %2$s'),
170 $forge->software_name,
171 $forge->software_version) ;
172 printf('<div about="" typeof="planetforge:ForgeService">'."\n"
173 .'<div rel="planetforge:operated_by">'."\n"
174 .'<div about="#forge" typeof="planetforge:ForgeSoftware">'."\n"
175 .'<span property="planetforge:name" content="%1$s"></span>'."\n"
176 .'<span property="planetforge:version" content="%2$s"></span>'."\n"
180 $forge->software_name,
181 $forge->software_version);