Project Filelist for FusionForge
File Release Notes and Changelog
Release Name: 5.0
Release Notes
FusionForge 5.0 is still an incremental step over 4.8, but many changes have been made, some of which may require caution when upgrading. In particular, the rewriting of the version control subsystem created the possibility for many new VCS tools to be integrated, and indeed several new plugins were implemented (Arch, Bazaar, Darcs, Git and Mercurial). To avoid crowding the chroot, all repositories are now hosted under a two-level subdirectory structure. For instance, where you had a CVS repositories stored under /var/lib/gforge/chroot/cvsroot/<project>, you'll now have it under .../chroot/scmrepos/cvs/<project>. As a consequence, you need to move the repositories by hand and/or add symlinks. Previously existing symlinks will also have to be updated, as well as previously existing working copies obtained by users. Also, the Mediawiki plugin was rewritten to allow for each project to get their own independent wiki. The wiki for project foo-bar is now stored in the plugin_mediakiki_foo_bar in the same database as the rest of the forge. This means the data should be migrated from the existing database to this new location. Depending on your setup and the amount of data involved, it might make sense to either cut and paste by hand or dump the tables and reload them in the new schema. On the internal side of things, access to the database has been converted from the db_query() abstraction layer to the db_query_params() one. This means SQL queries are no longer built as strings with unwieldy and fragile escaping code, while ensuring no data coming from the user can be used for SQL injection attacks. The db_query() function, while deprecated, is still present for the benefit of out-of-tree code that might use it. It might be removed at some point in the future, so maintainers of local plugins or enhancements are encouraged to migrate their code to db_query_params(). For really complex queries that need to be built dynamically, there's also a db_query_qpa() abstraction, with a db_construct_qpa() method to manipulate "QPA" (query+params array) objects. On a more visible note, the default theme has been reworked to increase the accessibility of the web pages; this rewrite also brings better maintainability, easier customisation by CSS and more conformant XHTML.
Change Log
* New projectlabels plugin, to tag projects with snippets of user-defined HTML (developed for/sponsored by Adullact) * New extratabs plugin, to add tabs with links to arbitrary URLs (Adullact again) * New globalsearch, allowing cross-forge searching of projects * Users can log in with their email address (in addition to login name) if sys_require_unique_email is true (developed for/sponsored by AdaCore) * Site admin can now optionally enforce the acceptance of terms of use on account creation (AdaCore again) * Site admin can now optionnally block anonymous downloads from the FRS (AdaCore again) * New command-line scripts to inject users, groups and file releases into the database from text files (AdaCore again) * Trackers: The list of fields displayed when browsing the list of artifacts can now be defined (Alcatel-Lucent) * Trackers: The description field can now be updated/corrected (Alcatel-Lucent) * Trackers: It is now possible to force a custom field to be mandatory (Alcatel-Lucent) * Trackers: The values for 'select box' custom fields can now be reordered (Alcatel-Lucent) * Trackers: A workflow on the status field (when overwritten) can be set. Allowed transition between values can be defined and allowed per roles (Alcatel-Lucent) * Trackers: A new type of extra field has been added: Relation between artifact. This type allow to create a relation between artifacts. Backwards relation can also be visible (Alcatel-Lucent) * Trackers: Dynamic links added, expressions like [#NNN],[TNNN] are now rendered as links for description and comments (Alcatel-Lucent). * Trackers: Search improved to allow searching in text fields (Alcatel-Lucent). * Trackers: New system to share a search query. Shared queries can be represented as an URL or bookmarked. It is also possible to define one query as the default one (Alcatel-Lucent) * Trackers: Custom fields are now preserved (if same name and value) when moving an artifact (Alcatel-Lucent) * Trackers: New custom field type: Integer (Alain Peyrat) * Version control subsystem: completely rewritten. New plugins add support for Arch, Bazaar, Darcs, Git, Mercurial. * Mediawiki plugin: mostly rewritten. Now creates independent wikis for projects, allowing different sets of permissions. * Forums: New 'move' option to move a thread from one forum to another (Alcatel-Lucent). * Tasks: Improved CSV import/export (Alcatel-Lucent) * Global: rework of the default theme, for better accessibility, maintainability and conformance (developed by Open-S for Adullact) * New contribtracker plugin, to give visibility to major contributors to projects (developed for/sponsored by Adullact)