its a many-to-many. We store project tags in IDF_Tag with a project
id "0" (this has minimal to no impact on existing code) and therefor
only need to ensure that the new relation table exists in the migration.
Then just the project summary configuration and the admin's project
create and project update forms and views needed to be adapted to
be able to render, create and update project tags.
table names and relations accordingly.
Start with a resource and resource revision model and add migrations for
that as well.
Note in NEWS.mdtext that we need a more recent Pluf version to take
advantage of the MySQL introspection implementation.
- for object changes in each tab / section we send out notifications to
project owners, members and / or additional addresses (all this is
configurable) (fixes issues 334, 452, 480 and possible others)
- one can now also receive notifications about download updates
- the notification template that informs about issue updates is no
longer confusing the reader with the "a new issue has been created
and assigned to you" phrase if the user who is notified is not
actually the (new) owner (fixes issue 562)
- send-out notification emails for reviews, wiki updates and review
updates are now linked via a unique message id to support a threaded
view in email clients like Thunderbird (this was previously only
implemented for issue notifications for issue 414)
This commit has been sponsored by SciLab.
Since IDF's text search component does not allow further restrictions
on the result set, we make a second, filtered query to restrict to
the item state ('open' or 'closed') and optionally a label. All in
all this is all harder than it could be, especially the tag cloud
is very monolithic and should be replaced by a data-driven component
that is less dependent on a single data / query and link usage, but
this would for now require too many changes.
Similar questionable is the code duplication for the index, listStatus
and listLabel view implementations that all do more or less the same.
The search implementation now only uses one implementation for a very
similar use case. It also removes the artificial restriction to 100
results we had previously there and does not query a record for each
single result (as was done with Pluf_Search_ResultSet previously).
On my way through this I tried to generalize a couple of i18n texts
and removed smaller issues like the "trailing comma" in label lists.
This partially fixes issue 548.
and tweak the help texts for the original source web hook a bit. Also remove
the superfluous inline help code from the SourceConf form that was actually
not used.
This feature was sponsored by Scilab.
* IDF_Project: optionally give getSourceAccessUrl() a commit argument, so a particular VCS module can determine a subset of revisions to pull for the specific revision which is browsed
* IDF_Scm_*: add the argument null'd for all VCS; implement a branch lookup for monotone
* tree.html: display the correct branch to clone under each revision tree
Git has 2 methods to access a repository, one with gitdaemon to do a
checkout and one with SSH to perform the push. We need to provide those
2 methods.
It is now possible to create private projects. To mark a project as
private, you simply go in the Administer > Tabs Access menu and select
"Private project". Only project members and owners together with the
extra authorized users will be able to access the project. The project
will not appear in the list of projects for not authorized users.