request #13885 Tracker templates should not promote legacy color palette

XML templates provided by Tuleap should not contain color based on the old palette.

request #13880 We should not let users update manually the color of columns

As of today, the color of the columns in agiledashboard configuration is a color picker + a text field.
The text field allows the user to enter an invalid color (either outside the scope of the old palette, or an invalid color name for the new palette).
This text field should be hidden.

request #13879 Switch development stack to mysql 5.7

Everyone is supposed to move to mysql 5.7, developers should also do it !

request #13876 Timetracking Overview widget is in error when no project with timetracking are received

request #13875 Users can easily do accidental multi-submit to trackers

Currently, when creating or editing a tracker item and submitting this change, the user does not get any feedback that the submission is in progress if the server response is slow for some reason.
This sometimes leads to users clicking "submit" many times while the server is processing the request. This causes the same update to be posted many times, leading to an equal amount of mail notifications to each user. With a large project with many users subscribing to tracker notifications, this seems to be able to cause stability issues on the server and should be avoided.

I suggest that after pressing "submit" once, the button should be greyed out until the server has processed the ongoing request.

request #13864 Update to DOMPurify 2.0.0

Chrome 77 has enabled trusted types by default , this change was not expected [0] and can break things.

While in the Tuleap context we should not encounter any issue, we should upgrade to DOMPurify 2.0.0 that deals with this issue. This sort of problem can be particularly painful to debug in production environment so let's upgrade.




[0] https://bugs.chromium.org/p/chromium/issues/detail?id=1002685

request #13862 Enforced choice of icon in Baseline service

I'm a project admin of a project, i want to activate the baseline module, i have to choose an icon to be able to save and correctly access the module. After saving, the chosen icon is not stored. It is the default icon that is displayed in the menu on the left.

request #13857 DatePicker has unneeded separator between month and days on Edge

This is due to the recent update of flatpickr. See git #tuleap/stable/a3203d403d25c4da81d3e7024cf436d27b5be7c3

request #13853 Import csv is always in error when tracker have field dependencies on field list

Seems very similar to request #13395
How to reproduce:
Have two different field with a field dependency
field A --> field B

Submit a new artifact
field A should not have any value
field B should have a value example "my custom value"

Perform a csv import on the created artifact, csv import won't be possible and following error will be displayed:
field A() -> field B(my custom value)
Unable to update artifact 15072
Global rules are not respected
The following artifacts were not updated (15072)

request #13852 OpenList field is empty during a masschange

During a masschange operation, open list field values are empty in all artifacts modified.

request #13851 Add a new CLI command to refresh SVN accessfiles repositories

Allows to refresh all SVN reporsities by adding a new CLI command

request #13840 Generate autoload file with composer

Today, some plugins are still relying on the "make autoload-docker" command to generate their autoload file.

This command no longer exist, so it becomes important to delegate the autoload file generation to composer to avoid filling this file manually, which is extremely painful.

request #13839 Create new logs for check timeout on artifact creation

request #13838 Notification is not sent when an user copy an item in a monitored folder

Issue is present in both ui: legacy one and document one

Notification is not sent when an user copy an item in a monitored folder.
A notification should be sent to the users which monitor the folder, the notification should at least said that the folder has been modified

request #13827 Full tracker REST representation performance regressions

Due to story #13654 full permissions representation are now added to tracker REST representation.

The current implementation triggers a lot of SQL requests that ends with performance penalty.

That's visible on /api/projects/:id/trackers and can be observed on release widget for instance.

request #13823 Actual date/time is missing in Angular modal follow-up comments

We are used to have the actual date as a tooltip on hover of "X time ago" when we browse them in artifact view.

They should be present in Angular modale too (kanban, planning, ttm, ...)

request #13821 In new UI notification is not sent when user add a new file under a folder user monitor

How to reproduce:
Monitor a folder to receive notification each time its updated

drag and drop a file inside or create new content inside
=> user will never receive the notification

request #13820 "Summary" shouldn't be an editable service in project services administration

request #13813 Transitions are not filtered when dependencies is activ on the same field

request #13812 Migrate AgileDashboard administration to BurningParrot

request #13806 Use Jest as the default test framework for JS unit tests

<p>The initial setup and usage of Jest has been merged in request #13789. This request is about moving the other test suites and to drop the usage of Karma/Jasmine within Tuleap.</p>

<p>Todo:<br />
&nbsp;* AgileDashboard PV2<br />
&nbsp;* AgileDashboard Kanban<br />
&nbsp;* Tracker<br />

<p>Review:</p>

<p>Done<br />
&nbsp;* PullRequest (gerrit #16188)</p>
&nbsp;* Core (gerrit #15998)<br />
&nbsp;* Git (gerrit #15928)<br />
&nbsp;* Timetracking (gerrit #15929)<br />
&nbsp;* Cross tracker (gerrit #15959)<br />
&nbsp;* Label (gerrit #15999)<br />
* FRS plugin (gerrit #16120)<br />
&nbsp;* Document (gerrit #16166)</p>

<h3>Why are we moving away from Karma/Jasmine ?</h3>

<p>Karma / Jasmine has been a great help in setting up unit testing of javascript files and apps. However, they came with a few problems:</p>

<ul>
<li>The more tests we have, the more Jenkins &quot;steps&quot; we have to add.</li>
<li>Each karma &quot;step&quot; means spinning up a new headless chrome, which consumes resources.</li>
<li>For each webpack configuration, we need a new, separate, karma file, which means even more Jenkins steps. This is because karma-webpack can only deal with one webpack configuration.</li>
<li>Jasmine tests have to be run all at the same time. The only way to control which tests are run is through hacky &quot;fit / fdescribe&quot; or &quot;xit / xdescribe&quot;. When you have more than 500 tests is becomes slow to run all tests everytime.</li>
<li>coverage produced a HTML report, but we opened a browser to navigate it.</li>
<li>We had to import manually our tests (see&nbsp;request #13653) in part because we badly mocked an external dependency of many apps: TLP.</li>
<li>Karma&#39;s goal was to run tests in a real browser, but it&#39;s hard to say if we ever had the same goal when using it. Given we never ran our tests on IE11 which is the lowest common denominator as far as our browser support is concerned, we never really took advantage of &quot;running tests in a real browser&quot;.</li>
</ul>

<p>Not all of those are due to Karma or Jasmine, some are due to our own usage of them. We can do better.</p>

<h3>Why are we moving to Jest ?</h3>

<p><a href="https://jestjs.io/">Jest</a>&nbsp;offers all the same features as Jasmine but with additional goodness.</p>

<ul>
<li>We hope to be able to unify all JS test suites into a single &quot;npm run test&quot;, meaning only one Jenkins step</li>
<li>Even if we can&#39;t, we&#39;re no longer spinning a real browser but jsdom, which runs only in node. It should be faster.</li>
<li>Jest tests can be ran one at a time, which means having the same dev experience as PHPUnit tests. (Run continuously the test suite associated to your file / component)</li>
<li>Jest handles coverage better, which means seeing test coverage in our IDE</li>
<li>Jest can do snapshot testing (Jasmine can&#39;t)</li>
<li>And error messages are just better. No more &quot;Expected true to be false&quot;.</li>
</ul>

request #13803 Quick links in navbar user history cannot be open in a new tab

I should be able to open the quick links for an history entry in a new tab.

request #13771 Title of dependencies graph modal in TTM might be empty

Given you rename the short name of the Test Definition tracker from test_def to something else,
When you display in TTM the dependency graph of a test,
Then the modal title is broken: Dependencies graph of ""

This is due to a hard coded "test_def" in createNodesAndLinksForOutgoingLinks() in plugins/testmanagement/scripts/angular/src/app/artifact-links-graph/artifact-links-model-service.js

In order to fix the issue, one way would be to not rely on the tracker shortname anymore (since everybody can choose its own tracker name, as done in create_test_env plugin). Maybe by relying on the artifact type "_covered_by" ?

However I think that the current representation of the dependencies will better benefit from a less detailed view. As a regular user of TTM, I don't care that there are executions between the test and the campaign. I suggest to display the graph starting on the definition instead of the execution and to bypass the test exec intermediate artifact.

This means that instead of having this:

    campaign 284
    "Tuleap 11.5"         test_def 294
        \              _/ "Set a project as private"
         \           _/
          \         /
           test_exec 340

We will get this:

    campaign 284
    "Tuleap 11.5"
        \
         \
          \
           test_def 294
           "Set a project as private"

Or this:

    campaign 284
    "Tuleap 11.5"          campaign 274
        \                / "Tuleap 11.4"
         \              /
          \            /
           test_def 294
           "Set a project as private"
             /     \_
            /        \_
           /           \_ campaign 254
        campaign 264      "Tuleap 11.2"
        "Tuleap 11.3"

(with probably a switch to toggle on/off closed campaigns to not clutter the view)

request #13767 Tab "Files" is visible while the group does not have service rights

Process :

  • In Admin of Files Service, do not give rights to groupe "Client" (Not in "Files administrators" or "File readers"
  • Connect with a user of the group "Client"
  • The user see the "Files" Tab

It is also possible to give access rights to a package to a group even if the group does not have access to the service, which is not consistent.

As an administrator, it feels like giving access rights for a group to a package when the group does not have access to the service.

request #13761 Testmanagement don't check if linked trackers are deleted

Testmanagement don't prevent people if dedicated trackers are not found.

request #13753 Use Lerna to install the JS dependencies of all Tuleap components

Progressively as we move all the things to Webpack (see request #13714 and request #13299) we depend less and less on Gulp. Our main remaining usage is just to build all the components so it basically just search in the source tree all the components and exec "npm install" and "npm run build".
It looks like tools like Lerna [0] can do the same with some nice additions and less configuration.

I would like to start experimenting with it to see how it goes in our stack.



[0] https://github.com/lerna/lerna/

request #13741 Can't create Pull Request because same CLOSED PR exists

In PullRequest plugin, script is using Dao.php "function searchByReferences" to search for existing PR but doesn't take care about the fact if yes or not the existing PR is open or closed. That's why I can't create a new PR for already used branches in another closed PR and I can't then use a permanent branches workflow for my git repo. Could it be fixed in hotfix ASAP? Because I'm hard stuck in my work right now.

request #13736 unknown user must create tickets via mail

Hello,

it would be very nice if an unknown user can create tickets via Mail.

Why?
If you want to use tuleap as a Ticketsystem in the Help Desk you don't know from where are the tickets come. Eg: an other institute has a problem with our mailserver or something is misconfigured (eg a problem with a link on the website) he/she/it would write a mail to support@example.com which ends in tuleap.

request #13716 docman properties list does not manage well property with same label

How to reproduce:

Have a list property
Have two possible values with the same label inside (example 'AAA' and 'AAA4')

Copy/paste an item in the same project:
=> the page "properties does not exists" is displayed 'AAA' is displayed twice1807-Screenshot_2019-08-05%20Coller%20%27aaa%27%20dans%20%27c%27%20-%20Tuleap.png

request #13713 Platform administrators must see all active projects in tracker creation page

request #13712 Custom system-wide service is invisible in the UI

How to reproduce:

  1. Go to Default Site Template project (project id 100), and go to Project administration > Services
  2. Add a custom service with whatever information.
  3. Write down the short name.Submit the form
  4. The service will be correctly created for all projects, but will not appear anywhere. It neither appears in the Services list in Default Site Template, nor in any child project.
  5. When you try to create another service with the same short name, you will get an error stating that this short name already exists. The Service does exist in the database, but is never listed despite being "available" and "active". (DB flags is_active and is_used set to 1)

request #13711 Platform administrators must see all active projects in project creation page

request #13710 Refactoring : split Testmanagements vue components

Split Testmanagements vue components in order to make the components more legible and updatable.

request #13708 Cleanup unused use statements and enforce it in the Tuleap PHP coding standards

So once again I got a contribution rejected [0] only because I have left a unused use statement. This sort of reviews are mostly useless and are a waste of time for both the reviewer ad the contributor.
The reviewer should be focused on finding bugs, security issues or design flaws in the architecture (or anything that increase the code quality) not on things that have no impact (or so small it's hardly measurable) at the execution and that can not become an issue in the long term maintenance of the software.

This request is introduce a sniff to catch the unused use statements early in the dev process and autofix them.
This was already attempted in request #13068 but due to a bug in the sniff, it was reverted. The bug has been fixed but a release of slevomat/coding-standard has not yet been released with it. In the meantime I'm just going to pull the fixed sniff in our sources.



[0] https://gerrit.tuleap.net/c/tuleap/+/15653/1

request #13700 Error 500 when undefined type in tracker XML import

Import of Tracker structure generate error if a type is not valid.

request #13680 Play test suites based on PHPUnit in a random order

The test suites of Tuleap based on PHPUnit are quite stable and it would be nice if it remains this way.

Playing the test suite in a random order in the CI pipelines should help to catch global state change that can influence other tests.

It is also needed for more advanced tooling that need to replay the tests multiple times (e.g. memleaks detection, mutation testing...).

request #13675 Warning on ForgeUpgrade configuration after a fresh install

After installing the last version (v11.3), on CentOS 7, we can see the following warning on the pluginsadministration page:

"Some plugins are not referenced in ForgeUpgrade configuration, please add the following in /etc/tuleap/forgeupgrade/config.ini.
path[]="/usr/share/tuleap/plugins/pluginsadministration"

This line is effectively not present in the file. It should be, isn't it?

request #13671 Enable use of tuleap tracker fields in Mylyn commit template variables

In the commit template from Mylyn (Preferences > Mylyn > Team), the number of accessible variables is very limited.
It could be usefull to access any field value in a tracker with a dedicated variable, taking the field name as an argument.
E.g. using "${tuleap.field("reference")}" to access the value of the field named "reference" in the tracker.

This is technically made possible by bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=415013 which allows arguments in template variables, though it is not explicit to the end user when using the autocompletion right now.
Hence, the documentation of such a "tuleap.field" template variable should be explicit to indicate the end user how to add the field name as an attribute.

The name "tuleap.field" is naturally not definitive and I am opened to better suggestions.
The variable could also take additional arguments for formatting (for example the date format) or for simple value-label mapping when working on a enumerated field.

I am currently working on an implementation using the "org.eclipse.mylyn.team.ui.commitTemplates" extension point and the tuleap connector. If that's OK with the team, I could contribute that in a separate plugin (due to the additional dependencies to org.eclipse.mulyn.team.ui and dependencies to other eclipse or tueleap tasks plugins).

request #13649 Tracker rules exception not catch on REST api

The Tracker workflow exception is not managed and not tested on REST Api.

request #13637 Mediawiki maths extension doesn't work on RHEL7

1801-image-20190717121036-1.png

request #13602 A dev-tool to help downloading patches

Every now and then we have to download patches from gerrit and it's painful (click on download, then copy, paste, run).

tuleap-dev.php should be able to that for us with just the URL we are currently browsing like

php tools/utils/tuleap-dev.php gerrit:download https://gerrit.tuleap.net/c/tuleap/+/15373

The purpose of this contribution is to enable "just that", I don't want to cover all use cases.

request #13600 installation failed with plugin-git

When I follow the instructions from here [1] the installation failed because of package tuleap-plugin-git.noarch 0:4.897-11.3_1.el7. It also doesn't matter if I use stable or dev -branch from the repo.
I guess the important output from the installation is:
162/169
useradd: cannot create directory /var/lib/gitolite
chmod: cannot access ‘/var/lib/gitolite’: No such file or directory
error: %pre(tuleap-plugin-git-4.897-11.3_1.el7.noarch) scriptlet failed, exit status 1
Error in PREIN scriptlet in rpm package tuleap-plugin-git-4.897-11.3_1.el7.noarch
Installing : tuleap-plugin-pullrequest-0.27.190-11.3_1.el7.noarch 164/169
error: tuleap-plugin-git-4.897-11.3_1.el7.noarch: install failed

I also attached the mostly complete output from the installation


[1] https://docs.tuleap.org/installation-guide/full-installation.html#tuleap-installation

request #13594 Packages needing Apache does not declare it explicitely

Some packages on CentOS/RHEL7 needs Apache but does not declare it explicitly in the specfile.

At least the following plugins are concerned (should probably check if other are concerned as well):
* core-subversion
* plugin-svn
* plugin-forumml

request #13591 Selected value from field involved in field dependency is always the first in the list

Given that I have two list fields (A and B) linked with a field dependency. In artifact edition, if I can select for B at least two values (B1 and B2) and I select and save an artifact with B2, when I go to the artifact view I see B2 in read mode but when I switch in edition the field B, B1 will be selected in the list.

This has been introduced by da872bd821419e63a59f20872d617b8268bbd13b

request #13562 fatal error in FRS tus upload

$ curl 'https://tuleap-web.tuleap-aio-dev.docker/uploads/frs/file/1' -H 'X-Auth-AccessKey: tlp-k1-7.2c3ba8187f202ec2a6962a9728f6ebebb9f5b3278ce563b66d9e77320f65f0fd' -H 'Tus-Resumable: 1.0.0' -k \
-H 'Upload-Offset: 0' \
-H 'Content-Type: application/offset+octet-stream' \
-H 'Content-Length: 12' \
-H 'X-Http-Method-Override: PATCH' \
--data-binary "123456789012"
$ curl 'https://tuleap-web.tuleap-aio-dev.docker/uploads/frs/file/1' -H 'X-Auth-AccessKey: tlp-k1-7.2c3ba8187f202ec2a6962a9728f6ebebb9f5b3278ce563b66d9e77320f65f0fd' -H 'Tus-Resumable: 1.0.0' -k \
-H 'Upload-Offset: 0' \
-H 'Content-Type: application/offset+octet-stream' \
-H 'Content-Length: 12' \
-H 'X-Http-Method-Override: PATCH' \
--data-binary "123456789012"
<br />
<font size='1'><table class='xdebug-error xe-uncaught-exception' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Fatal error: Uncaught TypeError: Return value of Tuleap\FRS\Upload\FileOngoingUploadDao::searchFileOngoingUploadByIDUserIDAndExpirationDate() must be of the type array, null returned in /usr/share/tuleap/plugins/frs/include/FRS/Upload/FileOngoingUploadDao.php on line <i>68</i></th></tr>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> TypeError: Return value of Tuleap\FRS\Upload\FileOngoingUploadDao::searchFileOngoingUploadByIDUserIDAndExpirationDate() must be of the type array, null returned in /usr/share/tuleap/plugins/frs/include/FRS/Upload/FileOngoingUploadDao.php on line <i>68</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0000</td><td bgcolor='#eeeeec' align='right'>397576</td><td bgcolor='#eeeeec'>{main}( )</td><td title='/usr/share/tuleap/src/www/index.php' bgcolor='#eeeeec'>.../index.php<b>:</b>0</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0127</td><td bgcolor='#eeeeec' align='right'>2928808</td><td bgcolor='#eeeeec'>Tuleap\Request\FrontRouter->route( )</td><td title='/usr/share/tuleap/src/www/index.php' bgcolor='#eeeeec'>.../index.php<b>:</b>46</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.0176</td><td bgcolor='#eeeeec' align='right'>3288944</td><td bgcolor='#eeeeec'>Tuleap\Request\FrontRouter->routeHandler( )</td><td title='/usr/share/tuleap/src/common/Request/FrontRouter.php' bgcolor='#eeeeec'>.../FrontRouter.php<b>:</b>103</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0.0259</td><td bgcolor='#eeeeec' align='right'>3898216</td><td bgcolor='#eeeeec'>Tuleap\Upload\FileUploadController->process( )</td><td title='/usr/share/tuleap/src/common/Request/FrontRouter.php' bgcolor='#eeeeec'>.../FrontRouter.php<b>:</b>222</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0.0274</td><td bgcolor='#eeeeec' align='right'>3927424</td><td bgcolor='#eeeeec'>Tuleap\Http\Server\MiddlewareDispatcher->handle( )</td><td title='/usr/share/tuleap/src/common/Request/DispatchablePSR15Compatible.php' bgcolor='#eeeeec'>.../DispatchablePSR15Compatible.php<b>:</b>61</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0.0274</td><td bgcolor='#eeeeec' align='right'>3927448</td><td bgcolor='#eeeeec'>Tuleap\Http\Server\SessionWriteCloseMiddleware->process( )</td><td title='/usr/share/tuleap/src/common/Http/Server/MiddlewareDispatcher.php' bgcolor='#eeeeec'>.../MiddlewareDispatcher.php<b>:</b>52</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0.0274</td><td bgcolor='#eeeeec' align='right'>3927448</td><td bgcolor='#eeeeec'>Tuleap\Http\Server\MiddlewareDispatcher->handle( )</td><td title='/usr/share/tuleap/src/common/Http/Server/SessionWriteCloseMiddleware.php' bgcolor='#eeeeec'>.../SessionWriteCloseMiddleware.php<b>:</b>35</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>0.0274</td><td bgcolor='#eeeeec' align='right'>3927448</td><td bgcolor='#eeeeec'>Tuleap\REST\RESTCurrentUserMiddleware->process( )</td><td title='/usr/share/tuleap/src/common/Http/Server/MiddlewareDispatcher.php' bgcolor='#eeeeec'>.../MiddlewareDispatcher.php<b>:</b>52</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>0.0292</td><td bgcolor='#eeeeec' align='right'>4065304</td><td bgcolor='#eeeeec'>Tuleap\Http\Server\MiddlewareDispatcher->handle( )</td><td title='/usr/share/tuleap/src/common/REST/RESTCurrentUserMiddleware.php' bgcolor='#eeeeec'>.../RESTCurrentUserMiddleware.php<b>:</b>59</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>0.0292</td><td bgcolor='#eeeeec' align='right'>4065304</td><td bgcolor='#eeeeec'>Tuleap\REST\TuleapRESTCORSMiddleware->process( )</td><td title='/usr/share/tuleap/src/common/Http/Server/MiddlewareDispatcher.php' bgcolor='#eeeeec'>.../MiddlewareDispatcher.php<b>:</b>52</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>0.0292</td><td bgcolor='#eeeeec' align='right'>4065304</td><td bgcolor='#eeeeec'>Tuleap\Http\Server\MiddlewareDispatcher->handle( )</td><td title='/usr/share/tuleap/src/common/REST/TuleapRESTCORSMiddleware.php' bgcolor='#eeeeec'>.../TuleapRESTCORSMiddleware.php<b>:</b>32</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>0.0293</td><td bgcolor='#eeeeec' align='right'>4065304</td><td bgcolor='#eeeeec'>Tuleap\Tus\TusCORSMiddleware->process( )</td><td title='/usr/share/tuleap/src/common/Http/Server/MiddlewareDispatcher.php' bgcolor='#eeeeec'>.../MiddlewareDispatcher.php<b>:</b>52</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>0.0293</td><td bgcolor='#eeeeec' align='right'>4065304</td><td bgcolor='#eeeeec'>Tuleap\Http\Server\MiddlewareDispatcher->handle( )</td><td title='/usr/share/tuleap/src/common/Tus/TusCORSMiddleware.php' bgcolor='#eeeeec'>.../TusCORSMiddleware.php<b>:</b>32</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>14</td><td bgcolor='#eeeeec' align='center'>0.0293</td><td bgcolor='#eeeeec' align='right'>4065304</td><td bgcolor='#eeeeec'>Tuleap\Tus\TusRequestMethodOverride->process( )</td><td title='/usr/share/tuleap/src/common/Http/Server/MiddlewareDispatcher.php' bgcolor='#eeeeec'>.../MiddlewareDispatcher.php<b>:</b>52</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>15</td><td bgcolor='#eeeeec' align='center'>0.0293</td><td bgcolor='#eeeeec' align='right'>4065560</td><td bgcolor='#eeeeec'>Tuleap\Http\Server\MiddlewareDispatcher->handle( )</td><td title='/usr/share/tuleap/src/common/Tus/TusRequestMethodOverride.php' bgcolor='#eeeeec'>.../TusRequestMethodOverride.php<b>:</b>64</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>16</td><td bgcolor='#eeeeec' align='center'>0.0293</td><td bgcolor='#eeeeec' align='right'>4065560</td><td bgcolor='#eeeeec'>Tuleap\Http\Server\RequestHandlerAsMiddleware->process( )</td><td title='/usr/share/tuleap/src/common/Http/Server/MiddlewareDispatcher.php' bgcolor='#eeeeec'>.../MiddlewareDispatcher.php<b>:</b>52</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>17</td><td bgcolor='#eeeeec' align='center'>0.0293</td><td bgcolor='#eeeeec' align='right'>4065560</td><td bgcolor='#eeeeec'>Tuleap\Upload\FileUploadController->handle( )</td><td title='/usr/share/tuleap/src/common/Http/Server/RequestHandlerAsMiddleware.php' bgcolor='#eeeeec'>.../RequestHandlerAsMiddleware.php<b>:</b>44</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>18</td><td bgcolor='#eeeeec' align='center'>0.0293</td><td bgcolor='#eeeeec' align='right'>4065560</td><td bgcolor='#eeeeec'>Tuleap\Tus\TusServer->handle( )</td><td title='/usr/share/tuleap/src/common/Upload/FileUploadController.php' bgcolor='#eeeeec'>.../FileUploadController.php<b>:</b>85</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>19</td><td bgcolor='#eeeeec' align='center'>0.0293</td><td bgcolor='#eeeeec' align='right'>4065560</td><td bgcolor='#eeeeec'>Tuleap\FRS\Upload\Tus\FileBeingUploadedInformationProvider->getFileInformation( )</td><td title='/usr/share/tuleap/src/common/Tus/TusServer.php' bgcolor='#eeeeec'>.../TusServer.php<b>:</b>67</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>20</td><td bgcolor='#eeeeec' align='center'>0.0293</td><td bgcolor='#eeeeec' align='right'>4065560</td><td bgcolor='#eeeeec'>Tuleap\FRS\Upload\FileOngoingUploadDao->searchFileOngoingUploadByIDUserIDAndExpirationDate( )</td><td title='/usr/share/tuleap/plugins/frs/include/FRS/Upload/Tus/FileBeingUploadedInformationProvider.php' bgcolor='#eeeeec'>.../FileBeingUploadedInformationProvider.php<b>:</b>68</td></tr>
</table></font>

request #13559 Workflow + "Default value" doesn't play well together

Given you set a default value in your selectox ("Project Definition")

And that selectbox is used for defining a workflow with several allowed values for (new artifact) -> New, Project Definition

When you create a new artifact, the default value ("Project Defintion") is not pre-select

request #13556 Have a way to safely install/uninstall and enable/disable a plugin via the CLI

Current script tools/utils/admin/activate_plugin.php is mostly an internal thing: there is absolutely no input validation and there is no feedback at all if an issue happen.

Playing with plugins on the CLI can be an useful thing for ops people but the current tool is simply too dangerous and too easily breakable.

request #13553 Fatal error when trying to change parent category while set as "project flag"

When I have a category defined as [project flag], I am able to select a parent category, which in this particular case is not allowed.
I get a fatal error when I submit the form:

( ! ) Exception: Only top categories can be marked as project flag. in /usr/share/tuleap/src/common/trove/TroveCatListController.php on line 297
Call Stack
# Time Memory Function Location
1 0.0000 402656 {main}( ) .../index.php:0
2 0.0110 2606720 Tuleap\Request\FrontRouter->route( ) .../index.php:46
3 0.0114 2616600 Tuleap\Request\FrontRouter->routeHandler( ) .../FrontRouter.php:89
4 0.0214 3562680 Tuleap\Trove\TroveCatListController->process( ) .../FrontRouter.php:232
5 0.0216 3563816 Tuleap\Trove\TroveCatListController->update( ) .../TroveCatListController.php:76
6 0.0216 3563816 Tuleap\Trove\TroveCatListController->formatTroveCategoriesFromRequest( ) .../TroveCatListController.php:128
7 0.0216 3564784 Tuleap\Trove\TroveCatListController->isProjectFlag( ) .../TroveCatListController.php:217

request #13547 Field Fields Dependencies and Alphabetically sort values in Selectbox Field

Process :

  • Create a Selectbox Field in a Tracker ( Values : Très Faible, Faible, Fort, Très Fort) "alphabetically sort values" not selected

=> Values in this field appear in an artefact in this order : Très Faible, Faible, Fort, Très Fort : OK

  • In "Manage field dependencies" menu, set this field as a target of another one with all values possible. 

=> Values in this field appear in an artefact in alphabetically sort :Faible, Fort, Très Faible, Très Fort : NOT OK, "alphabetically sort values" is not selected, the values should appear in this order : Très Faible, Faible, Fort, Très Fort

request #13546 error during insall with message : Could not open input file: ./utils/admin/activate_plugin.php

Hi!

I run script (setup.el7.sh) with external database in mysql and i have an error appears

+ _setupDatabaseInc
+ /usr/bin/awk '{ gsub("%sys_dbpasswd%", "Dqu57ag?aRrd7uYf+Zfj4hdTDoC4ewmp");
gsub("%sys_dbuser%", "tuleap");
gsub("%sys_dbname%", "tuleap");
gsub("localhost", "172.168.1.2");
print }' /usr/share/tuleap/src/etc/database.inc.dist
+ _setupForgeupgrade
+ _setupDirectory codendiadm codendiadm 0755 /etc/tuleap/forgeupgrade
+ /usr/bin/install --group=codendiadm --owner=codendiadm --mode=0755 --directory /etc/tuleap/forgeupgrade
+ /usr/bin/install --group=codendiadm --owner=codendiadm --mode=0644 /usr/share/tuleap/src/etc/forgeupgrade-config.ini.dist /etc/tuleap/forgeupgrade/config.ini
+ _phpActivePlugin tracker codendiadm
+ /bin/su -c '/usr/share/tuleap/src/utils/php-launcher.sh ./utils/admin/activate_plugin.php tracker' -l codendiadm
++ _logCatcher
++ local timeout=0.1
++ read -t 0.1 stdin
Could not open input file: ./utils/admin/activate_plugin.php

How can i finish the setup for mysql ?

request #13523 500 Error when creating new Project

Getting a 500 error when trying to create a new project. This appears to have something to do with Zend Mail and I can't identity the misconfiguration. This is on a fresh CentOs7 install. There were no errors in apache, but there were some in the NGINX log file. See attached.

request #13517 Fieldname tooltip should always display field description, whatever the editing mode

On hovering a field name (label) :
- when submitting a new artifact (classical tracker UI), the field description is displayed as a tooltip ;
- when editing an artifact from the classical tracker UI, the tooltip is "edit the field XXX". But after clicking on the field editing box, the tooltip on the field name is its description again ;
- when editing an artifact from an Agile dashboard modal, no tooltip is provided on the field names.

The "edit field XXX" tooltip is arguably redundant as the 'pencil' icon is self-explanatory, supporting the case for a consistent display of the (more useful) field description in all interfaces.

request #13500 Disable password change UI when using OpenID Unique Authentication Source

The "Change Password" option in the user settings is available even though an OpenId identity provider is configured and set as "Unique Authentication Source". Unless some sort of endpoint configuration is implemented in the OpenID plugin settings that forwards password change request to (proprietary) APIs in the IdP, this option should probably be disabled as it will have no effect on authentication and only confuse users.

request #13499 Add Logout endpoint to OpenID Connect plug-in

The OpenID spec does not currently include Single-Sign-Out. However, many identity providers, such as Google and Yahoo support a logout URL that can be called to sign out a user from the IdP and not just locally.

Please add a "Logout endpoint" to the existing OpenID Connect plug-in configuration that will be called when the user clicks the logout button or navigates to /account/logout and the provider is set as a "Unique Authentication Source".

request #13487 Run Tuleap test suites with PHP 7.4

PHP 7.4 alpha 1 has been released yesterday [0] and the packages are already available in Remi repositories. We should start playing our test suites with it in the Tuleap nightly test pipeline.
If some tests/code parts are not working due to breaking changes in PHP 7.4 that will leave us ample time to fix it and it might can also find issues in PHP itself.



Todo list:
* REST tests
* SOAP tests




[0] https://github.com/php/php-src/blob/php-7.4.0alpha1/NEWS

request #13479 Cannot download a file associated to a release using the plugin webdav

As a project member, I cannot download a file attached to a release using the webdav plugin. I always get the response:

<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:exception>Sabre_DAV_Exception_RequestedRangeNotSatisfiable</s:exception>
<s:message>The file size exceed the authorized limit.</s:message>
<s:sabredav-version>1.4.4</s:sabredav-version>
</d:error>

Even if the file size is small (2 Ko).
The download works fine using the classic Web UI (showfile of the plugin "file").

The URL used to download looks like:
curl --user <user> -O https://myserver.fr/plugins/webdav/myproject/Files/mypackage/myversion/thefile.pdf

A download using a graphical client (nautilus) gives the same result.
A download using cadaver https://myserver.fr/plugins/webdav/ (webdav command line client) gives:
416 Requested Range Not Satisfiable

request #13471 Tuleap 11.1 shows error post installation.

Tuleap 11.1 shows error "Something went wrong, please check your network connection" post GIT plugin installation. Apart from that other POST/GET calls shows 403 error.

Please let us know solution on same.

request #13467 Artifact-modal allows empty required text fields when format is HTML

Given a text field that is required
when I create an artifact with the Artifact modal, set the text format to HTML (or leave it if I have the user preference to HTML) and leave it empty (type nothing in CKEditor)
then the modal allows the empty value and submits the artifact.

It should not allow this empty value because the field is required. It should stop the submit.

request #13466 Filter for Scrum Cardwall

Be able to filter the Scrum Cardwall would make the Cardwall much easier to work with.

Examples are:
- Hide closed User Storys
- Hide Tasks which are not assigned to myself

request #13442 EndPoint POST /projects template_id=1 strange behavior

On the EndPoint POST /projects, when the parameter template_id is equal to 1, the response code is 500 and the project appear on the "pending project" list of the administration panel.
Instead of this, the response code should be 400 and the message: "Template #1 is not valid" should be returned.

The request used to reproduce:
curl -X POST --header 'Content-Type: application/json' --header 'Accept: text/html' -d '{
"shortname": "string",
"description": "string",
"label": "string",
"is_public": true,
"template_id": 1
}' 'https://localhost/api/projects'

request #13441 Hide the backlog column of the Kanban

We would like to have the option to hide the backlog column of a Kanban. The idea is to then have only columns mapped to statuses except for the "archive" one.

We want to do that because as of today the backlog column might not be filled with what we usually call backlog stories but with stories being groomed and so not ready to be worked on. Now we can hide this column and maybe add a status that really represents the backlog state of a story.

request #13439 Remove PrototypeJS from field dependencies

In order to allow:

  • new comers to better understand the code
  • experienced developers to better understand the code
  • those who originally wrote it to better understand the code
  • future migration of artifact view to VueJS

We should:

  • remove script.aculo.us & PrototypeJS dependencies in favor of latest version of Vanilla JS framework
  • have a better test coverage

The changes introduced by this request are only technical ones and only target field dependencies.

request #13434 Just created git repo has wrong last update date

I've just created a repository, and the update date is wrong (x hours ago instead of minutes):1779-Screenshot%20from%202019-05-28%2015-05-44.png

 

It seems to be a timezone issue:

User timezone : Pacific/Niue

Server timezone: UTC

request #13413 Missing scrollbars in Kanban widget

With many columns, it seems that scrollbars aren't displayed in the widget.

To be checked also under macOS and Windows.

request #13406 The date value in the new document UI is displayed in chrome/chromium while it should not

When the date is equal "0" in a date type metadata. The date field should display: "Empty" or "Permanent" in the quick look.
Chrome/Chromium displays the date of 1st January 2000 is displayed.
There is no issue with Firefox

It seems the issue is from the moment.js library

request #13394 tuleap-aio should run on centos7

tuleap-aio demo docker image is still running centos6, it should now use centos7 (ok ok and 8 but it's not yet released so...)

As it's a nightmare to get systemd working inside a container, everything that is related to it should be replaced by something else:

  • process supervision => supervisord ✓
  • timers => cron ✓
  • apache => need to abstract the way deamon is reloaded (centos6, centos7-systemd, centos7-docker)

 

request #13390 Docman items should follow natural sort for item display

Given folder has following folders:

Tuleap 10.1
Tuleap 10.10
Tuleap 10.2

They should be sorted following the natural order:

Tuleap 10.1
Tuleap 10.2
Tuleap 10.10

request #13380 Expand all storys at once in backlog

When browsing in backlog it's hard to read all tasks which belong to the user story, because they have to be expanded one by one. It would be nice to expand all user storys at once just by clicking one button.

request #13373 Users should be able to switch back and forth between a tracker's report and Kanban, and to detail-submit from Kanban

Currently, users have to climb up to Agile DB or Trackers then dive down to the wanted tracker/Kanban, which is cumbersome and get them a bit lost in the UI.
Admins have the "privilege" to be able to go to the tracker from the 'edit Kanban' modal.
Everyone should have an hyperlink at hand on the Kanban to the tracker report and vice-versa.

Moreover, since the quick(one line)-add artifact capability :
- is available only if the tracker has no mandatory field,
- requires immediate re-editing when you definitely WANT to submit with détails (incidentally polluting notified members in the process),
the "create new XXX" button should be present in the Kanban board header.
This is needed to really make the Agile Dashboard (or the Kanban widget on the Project Dashboard) the default entry point for non-Tuleap-specialist users.

request #13356 Allow to change the default branch

When using the GitFlow workflow, the most significant branch (for development team) is the develop branch, not master.

It would be necessary to offer a way to configure the Git plugin to focus on an other branch than master.

request #13355 Add webhook for pull-request's state changes

World is API driven now. In some context, it is needed to react to a change in a pull-request (new submission, comment, state change...).

It would be appreciated to be able to set web-hook on such changes.

request #13350 Document UI on small screens is partially broken with IE11

See screenshot. It works fine with other browsers.

request #13344 Project flag "shield" doesn't appear on some obscure setups

On an old platform (https://c6.valid.enalean.com) with 2 categories setup as project flag: License (mandatory) & Topic (not mandatory).

I got a project with only a License selected => Shield icon doesn't appear.

When I select a topic => the Shield icon appears with License & Topic

When I remove all topics => the Shield icon still appears with only License.

request #13340 Split AngularJS validation service for each field

As a Tuleap Developper, I want to split the big "validate-service.js" file into multiple smaller files. Ideally, each tracker "field" would have its own "value-formatter" responsible for correctly formatting the field value into an object that the REST API can handle.

Usually, that means returing only "field_id" and "value".

Doing this will help us advance request #13057 as each "split" file will be an ES module.

request #13338 gitolite setup broken on fresh Tuleap 11 (CentOS 7)

I noticed recurring SYSTEM_CHECK errors in the logs.

/var/lib/gitolite/.ssh/authorized_keys is empty. In order to retrieve a file with the gitolite admin public key, run the script : /usr/share/tuleap/plugins/git/bin/recreate_authorized_keys.sh

There are several problems in this script:

  • /etc/init.d/codendi doesn't exist (do we mean service tuleap stop/start instead?)

  • public_key=$($CAT /home/codendiadm/.ssh/id_rsa_gl-adm.pub) has several problems:
    • there is no /home/codendiadm 
    • instead /etc/passwd refers to /var/lib/tuleap as the home dir of user codendiadm
    • but there are no .ssh directory there, and no public key either
  • gitolite appears in /var/lib/gitolite and /var/lib/gitolite3 (which is it?)
  • file /usr/bin/gl-auth-command doesn't exist
  • file  /var/lib/codendi/gitolite/admin doesn't exist

To test Git, I created a repo in one of the projects. The repo is stuck in the creation queue.

What's missing to get Git to work?

request #13307 Add a Validation in a Tracker's Field by a regular expression

Hi,

One of my users needs to control a Float field (The value must be between 0 to 10, 0,5 by 0,5).

This fonctionnality is not cover today by Tuleap to my knowledge.

I saw this type of validation by a regular expression in tools like Limesurvey :

https://manual.limesurvey.org/Utilisation_des_expressions_r%C3%A9guli%C3%A8res

  • The field is validate just before sending the new artefact by the regular expression.
  • It suppose to add a field Validation in the "Manage Field Usage" page for fields which accept a validation.

I don't know if they are other users who have the same need, my user will solve his need by a message in "Description".

request #13299 Move all SCSS/CSS build process to Webpack

Since a while, Tuleap relies (mostly) on Webpack for the Javascript and mostly on Gulp for the SCSS/CSS and to glue the whole thing.


Since git #tuleap/stable/0a33f623f7220da9256bb1c94481642cdbd35df6, Webpack is also used in TLP and the FP theme to build the SCSS/CSS. We should align everything on this model to not have 2 ways of doing the same thing.

request #13281 Let modify the merge comment

When closing the pull-request, an automatic merge is made. Currently, the generated comment is not really useful as it assert:

Merge commit '12345678900' into master.

(or something like this) The most valuable information lost is the name of the branch which was merged. This is the only place where branch names are kept forlong time. And sometimes, it is usefull to have this information as it avoid to read the whole commit set to understand the meaning of the merged branch.

Furthermore, it could be really useful to let the integrator change the merge comment before validating the pull-request. Such feature is present on GitHub and GitLab. And/or embed the title+description of the pull-request into the commit merge comment.

request #13280 Fatal error in Velocity Semantic when no Status

When I remove the field from the Status semantic, the page listing all semantics reports a fatal error for Velocity:

Fatal error: Uncaught Error: Call to a member function isMultiple() on null in /usr/share/tuleap/plugins/velocity/include/Velocity/Semantic/SemanticVelocityPresenterBuilder.php on line 74( ! ) Error: Call to a member function isMultiple() on null in /usr/share/tuleap/plugins/velocity/include/Velocity/Semantic/SemanticVelocityPresenterBuilder.php on line 74Call Stack#TimeMemoryFunctionLocation10.0001399992{main}( ).../index.php:020.00852567176Tuleap\Request\FrontRouter->route( ).../index.php:4630.01093021720Tuleap\Request\FrontRouter->routeHandler( ).../FrontRouter.php:10340.02544274312Tuleap\Tracker\TrackerPluginDefaultController->process( ).../FrontRouter.php:23250.02544274344TrackerManager->process( ).../TrackerPluginDefaultController.php:4560.02544274384TrackerManager->processSubElement( ).../TrackerManager.class.php:16570.03244763224Tracker->process( ).../TrackerManager.class.php:14880.03254765856Tracker_SemanticManager->process( ).../Tracker.class.php:68690.03254765856Tracker_SemanticManager->displayAdminSemantic( ).../Tracker_SemanticManager.class.php:39100.10816906800Tuleap\Velocity\Semantic\SemanticVelocity->display( ).../Tracker_SemanticManager.class.php:59110.11096960056Tuleap\Velocity\Semantic\SemanticVelocityPresenterBuilder->build( ).../SemanticVelocity.php:111

request #13279 Add no-ff strategy for merging pull-request (needed for gitflow)

Currently the proposed strategies to close a pull request are:
- default (fast-forward or merge if fast forward is not possible)
- fast-forward only

It would be great to let teams decide a no-fast-forward strategy in order to force a commit merge, even if fast forward is possible. This is the recommanded approach for Git workflow like GitFlow (https://nvie.com/posts/a-successful-git-branching-model/)

Internet is full of articles about no-ff vs rebase, but letting teams decide their strategy is certainly the most important for Tuleap.

request #13277 Disambiguate personal notifications settings in trackers

The options currently provided for personal notifications on trackers are non-mutually exclusive, though display by means of radio-buttons :
"No notifications at all
Notify me on all updates of artifacts I'm involved (assigned, submitter, cc, comment)
Notify me when artifacts are created
Notify me on every change
Notify me on status change".
It seems that "status change" actually applies only on artifacts I'm involved in, whereas "every change" adds me in the global (systematic) notifications of the tracker.

There should be either more combinations, or several properties each with radio-button choices, or several checkbox choices, or some matrix.
Independent properties could be :
- scope : artifacts involving me | +new | +all
- event : never | status | any change

In the meantime, the current options statements should at least be disambiguated.

request #13266 Rework document action button for items

Given user is reader/writer we should follow this mockup for default action:
https://s.codepen.io/enalean/debug/fffb11101682234980531b6c460ff132

request #13264 Kanban Widget should retrieve tracker reports trough the mapping

request #13250 Fix date format in report criteria

Add date fields as criteria in a report. It should display
date values according to current language.

User can change the date and save the report like before,
without losing the selected date.

request #13224 Improve the sprint planning view description

Shouldn't the sprint planning view where is "Milestones" be actually "Sprints". Sometime is confusing to understand if you are in an actual milestone ((release) or milestones (sprint).

 

request #13210 Status changed doesn't show up on the project history

The change of a project status using the interface works and an entry is created in the project's historical data "Status changed Active :: suspended", but when you do it using the API, in other words, If you do a project update using the "Project / Project PATCH" API, it will work but nothing is created in the project's historical data.

request #13197 PUT /cross_tracker_reports/{id} with tracker ids that user cannot access generate fatal error

Here is the resulting error:

<font size='1'><table class='xdebug-error xe-notice' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Notice: Error encountered while retrieving data ==&gt; SELECT count(*) AS nb
                FROM tracker
                    LEFT JOIN tracker_semantic_title AS title
                    ON (tracker.id = title.tracker_id)
                WHERE tracker.id IN ()
                    AND title.tracker_id IS NULL @@ /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php at line 105 in /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php on line <i>192</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0000</td><td bgcolor='#eeeeec' align='right'>398056</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='/usr/share/tuleap/src/www/api/index.php' bgcolor='#eeeeec'>.../index.php<b>:</b>0</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0250</td><td bgcolor='#eeeeec' align='right'>3916128</td><td bgcolor='#eeeeec'>Luracast\Restler\Restler->handle(  )</td><td title='/usr/share/tuleap/src/www/api/index.php' bgcolor='#eeeeec'>.../index.php<b>:</b>126</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.0322</td><td bgcolor='#eeeeec' align='right'>4028944</td><td bgcolor='#eeeeec'>Luracast\Restler\Restler->call(  )</td><td title='/usr/share/tuleap/src/vendor/luracast/restler/vendor/Luracast/Restler/Restler.php' bgcolor='#eeeeec'>.../Restler.php<b>:</b>304</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0.0498</td><td bgcolor='#eeeeec' align='right'>4543640</td><td bgcolor='#eeeeec'><a href='http://www.php.net/ReflectionMethod.invokeArgs' target='_new'>invokeArgs</a>
(  )</td><td title='/usr/share/tuleap/src/vendor/luracast/restler/vendor/Luracast/Restler/Restler.php' bgcolor='#eeeeec'>.../Restler.php<b>:</b>1058</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0.0498</td><td bgcolor='#eeeeec' align='right'>4543688</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\REST\v1\CrossTrackerReportsResource->put(  )</td><td title='/usr/share/tuleap/src/vendor/luracast/restler/vendor/Luracast/Restler/Restler.php' bgcolor='#eeeeec'>.../Restler.php<b>:</b>1058</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0.0562</td><td bgcolor='#eeeeec' align='right'>4779736</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\REST\v1\CrossTrackerReportsResource->checkQueryIsValid(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/REST/v1/CrossTrackerReportsResource.php' bgcolor='#eeeeec'>.../CrossTrackerReportsResource.php<b>:</b>527</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0.0566</td><td bgcolor='#eeeeec' align='right'>4780848</td><td bgcolor='#eeeeec'>Tuleap\Tracker\Report\Query\Advanced\ExpertQueryValidator->validateExpertQuery(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/REST/v1/CrossTrackerReportsResource.php' bgcolor='#eeeeec'>.../CrossTrackerReportsResource.php<b>:</b>561</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>0.0607</td><td bgcolor='#eeeeec' align='right'>4807016</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\InvalidSearchablesCollectionBuilder->buildCollectionOfInvalidSearchables(  )</td><td title='/usr/share/tuleap/plugins/tracker/include/Tracker/Report/Query/Advanced/ExpertQueryValidator.php' bgcolor='#eeeeec'>.../ExpertQueryValidator.php<b>:</b>51</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>0.0610</td><td bgcolor='#eeeeec' align='right'>4807768</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\InvalidComparisonCollectorVisitor->collectErrors(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidSearchablesCollectionBuilder.php' bgcolor='#eeeeec'>.../InvalidSearchablesCollectionBuilder.php<b>:</b>65</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>0.0611</td><td bgcolor='#eeeeec' align='right'>4808648</td><td bgcolor='#eeeeec'>Tuleap\Tracker\Report\Query\Advanced\Grammar\OrExpression->accept(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidComparisonCollectorVisitor.php' bgcolor='#eeeeec'>.../InvalidComparisonCollectorVisitor.php<b>:</b>130</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>0.0611</td><td bgcolor='#eeeeec' align='right'>4808648</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\InvalidComparisonCollectorVisitor->visitOrExpression(  )</td><td title='/usr/share/tuleap/plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/OrExpression.php' bgcolor='#eeeeec'>.../OrExpression.php<b>:</b>41</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>0.0611</td><td bgcolor='#eeeeec' align='right'>4808648</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\InvalidComparisonCollectorVisitor->visitExpression(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidComparisonCollectorVisitor.php' bgcolor='#eeeeec'>.../InvalidComparisonCollectorVisitor.php<b>:</b>248</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>0.0611</td><td bgcolor='#eeeeec' align='right'>4808648</td><td bgcolor='#eeeeec'>Tuleap\Tracker\Report\Query\Advanced\Grammar\AndExpression->accept(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidComparisonCollectorVisitor.php' bgcolor='#eeeeec'>.../InvalidComparisonCollectorVisitor.php<b>:</b>253</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>14</td><td bgcolor='#eeeeec' align='center'>0.0611</td><td bgcolor='#eeeeec' align='right'>4808648</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\InvalidComparisonCollectorVisitor->visitAndExpression(  )</td><td title='/usr/share/tuleap/plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/AndExpression.php' bgcolor='#eeeeec'>.../AndExpression.php<b>:</b>41</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>15</td><td bgcolor='#eeeeec' align='center'>0.0611</td><td bgcolor='#eeeeec' align='right'>4808648</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\InvalidComparisonCollectorVisitor->visitExpression(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidComparisonCollectorVisitor.php' bgcolor='#eeeeec'>.../InvalidComparisonCollectorVisitor.php<b>:</b>243</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>16</td><td bgcolor='#eeeeec' align='center'>0.0611</td><td bgcolor='#eeeeec' align='right'>4808648</td><td bgcolor='#eeeeec'>Tuleap\Tracker\Report\Query\Advanced\Grammar\EqualComparison->accept(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidComparisonCollectorVisitor.php' bgcolor='#eeeeec'>.../InvalidComparisonCollectorVisitor.php<b>:</b>253</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>17</td><td bgcolor='#eeeeec' align='center'>0.0611</td><td bgcolor='#eeeeec' align='right'>4808648</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\InvalidComparisonCollectorVisitor->visitEqualComparison(  )</td><td title='/usr/share/tuleap/plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/EqualComparison.php' bgcolor='#eeeeec'>.../EqualComparison.php<b>:</b>41</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>18</td><td bgcolor='#eeeeec' align='center'>0.0611</td><td bgcolor='#eeeeec' align='right'>4808648</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\InvalidComparisonCollectorVisitor->visitComparison(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidComparisonCollectorVisitor.php' bgcolor='#eeeeec'>.../InvalidComparisonCollectorVisitor.php<b>:</b>140</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>19</td><td bgcolor='#eeeeec' align='center'>0.0612</td><td bgcolor='#eeeeec' align='right'>4809472</td><td bgcolor='#eeeeec'>Tuleap\Tracker\Report\Query\Advanced\Grammar\Metadata->accept(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidComparisonCollectorVisitor.php' bgcolor='#eeeeec'>.../InvalidComparisonCollectorVisitor.php<b>:</b>236</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>20</td><td bgcolor='#eeeeec' align='center'>0.0612</td><td bgcolor='#eeeeec' align='right'>4809472</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\InvalidSearchableCollectorVisitor->visitMetadata(  )</td><td title='/usr/share/tuleap/plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/Metadata.php' bgcolor='#eeeeec'>.../Metadata.php<b>:</b>47</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>21</td><td bgcolor='#eeeeec' align='center'>0.0614</td><td bgcolor='#eeeeec' align='right'>4810488</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\QueryValidation\Metadata\MetadataChecker->checkMetadataIsValid(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidSearchableCollectorVisitor.php' bgcolor='#eeeeec'>.../InvalidSearchableCollectorVisitor.php<b>:</b>57</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>22</td><td bgcolor='#eeeeec' align='center'>0.0614</td><td bgcolor='#eeeeec' align='right'>4810488</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\QueryValidation\Metadata\MetadataUsageChecker->checkMetadataIsUsedByAllTrackers(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryValidation/Metadata/MetadataChecker.php' bgcolor='#eeeeec'>.../MetadataChecker.php<b>:</b>54</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>23</td><td bgcolor='#eeeeec' align='center'>0.0614</td><td bgcolor='#eeeeec' align='right'>4810864</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\QueryValidation\Metadata\MetadataUsageChecker->checkTitleIsUsedByAllTrackers(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryValidation/Metadata/MetadataUsageChecker.php' bgcolor='#eeeeec'>.../MetadataUsageChecker.php<b>:</b>100</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>24</td><td bgcolor='#eeeeec' align='center'>0.0614</td><td bgcolor='#eeeeec' align='right'>4810864</td><td bgcolor='#eeeeec'>Tracker_Semantic_TitleDao->getNbOfTrackerWithoutSemanticTitleDefined(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryValidation/Metadata/MetadataUsageChecker.php' bgcolor='#eeeeec'>.../MetadataUsageChecker.php<b>:</b>146</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>25</td><td bgcolor='#eeeeec' align='center'>0.0614</td><td bgcolor='#eeeeec' align='right'>4811184</td><td bgcolor='#eeeeec'>Tracker_Semantic_TitleDao->retrieveFirstRow(  )</td><td title='/usr/share/tuleap/plugins/tracker/include/Tracker/Semantic/dao/Tracker_Semantic_TitleDao.class.php' bgcolor='#eeeeec'>.../Tracker_Semantic_TitleDao.class.php<b>:</b>66</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>26</td><td bgcolor='#eeeeec' align='center'>0.0614</td><td bgcolor='#eeeeec' align='right'>4811184</td><td bgcolor='#eeeeec'>Tracker_Semantic_TitleDao->retrieve(  )</td><td title='/usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php' bgcolor='#eeeeec'>.../DataAccessObject.class.php<b>:</b>121</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>27</td><td bgcolor='#eeeeec' align='center'>0.0618</td><td bgcolor='#eeeeec' align='right'>4769752</td><td bgcolor='#eeeeec'>Tracker_Semantic_TitleDao->handleError(  )</td><td title='/usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php' bgcolor='#eeeeec'>.../DataAccessObject.class.php<b>:</b>105</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>28</td><td bgcolor='#eeeeec' align='center'>0.0618</td><td bgcolor='#eeeeec' align='right'>4770200</td><td bgcolor='#eeeeec'><a href='http://www.php.net/function.trigger-error' target='_new'>trigger_error</a>
(  )</td><td title='/usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php' bgcolor='#eeeeec'>.../DataAccessObject.class.php<b>:</b>192</td></tr>
</table></font>
<br />
<font size='1'><table class='xdebug-error xe-uncaught-exception' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Fatal error: Uncaught Error: Call to a member function getRow() on boolean in /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php on line <i>121</i></th></tr>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Error: Call to a member function getRow() on boolean in /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php on line <i>121</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0000</td><td bgcolor='#eeeeec' align='right'>398056</td><td bgcolor='#eeeeec'>{main}(  )</td><td title='/usr/share/tuleap/src/www/api/index.php' bgcolor='#eeeeec'>.../index.php<b>:</b>0</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0250</td><td bgcolor='#eeeeec' align='right'>3916128</td><td bgcolor='#eeeeec'>Luracast\Restler\Restler->handle(  )</td><td title='/usr/share/tuleap/src/www/api/index.php' bgcolor='#eeeeec'>.../index.php<b>:</b>126</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.0322</td><td bgcolor='#eeeeec' align='right'>4028944</td><td bgcolor='#eeeeec'>Luracast\Restler\Restler->call(  )</td><td title='/usr/share/tuleap/src/vendor/luracast/restler/vendor/Luracast/Restler/Restler.php' bgcolor='#eeeeec'>.../Restler.php<b>:</b>304</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0.0498</td><td bgcolor='#eeeeec' align='right'>4543640</td><td bgcolor='#eeeeec'><a href='http://www.php.net/ReflectionMethod.invokeArgs' target='_new'>invokeArgs</a>
(  )</td><td title='/usr/share/tuleap/src/vendor/luracast/restler/vendor/Luracast/Restler/Restler.php' bgcolor='#eeeeec'>.../Restler.php<b>:</b>1058</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0.0498</td><td bgcolor='#eeeeec' align='right'>4543688</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\REST\v1\CrossTrackerReportsResource->put(  )</td><td title='/usr/share/tuleap/src/vendor/luracast/restler/vendor/Luracast/Restler/Restler.php' bgcolor='#eeeeec'>.../Restler.php<b>:</b>1058</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0.0562</td><td bgcolor='#eeeeec' align='right'>4779736</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\REST\v1\CrossTrackerReportsResource->checkQueryIsValid(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/REST/v1/CrossTrackerReportsResource.php' bgcolor='#eeeeec'>.../CrossTrackerReportsResource.php<b>:</b>527</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>7</td><td bgcolor='#eeeeec' align='center'>0.0566</td><td bgcolor='#eeeeec' align='right'>4780848</td><td bgcolor='#eeeeec'>Tuleap\Tracker\Report\Query\Advanced\ExpertQueryValidator->validateExpertQuery(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/REST/v1/CrossTrackerReportsResource.php' bgcolor='#eeeeec'>.../CrossTrackerReportsResource.php<b>:</b>561</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>8</td><td bgcolor='#eeeeec' align='center'>0.0607</td><td bgcolor='#eeeeec' align='right'>4807016</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\InvalidSearchablesCollectionBuilder->buildCollectionOfInvalidSearchables(  )</td><td title='/usr/share/tuleap/plugins/tracker/include/Tracker/Report/Query/Advanced/ExpertQueryValidator.php' bgcolor='#eeeeec'>.../ExpertQueryValidator.php<b>:</b>51</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>9</td><td bgcolor='#eeeeec' align='center'>0.0610</td><td bgcolor='#eeeeec' align='right'>4807768</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\InvalidComparisonCollectorVisitor->collectErrors(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidSearchablesCollectionBuilder.php' bgcolor='#eeeeec'>.../InvalidSearchablesCollectionBuilder.php<b>:</b>65</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>10</td><td bgcolor='#eeeeec' align='center'>0.0611</td><td bgcolor='#eeeeec' align='right'>4808648</td><td bgcolor='#eeeeec'>Tuleap\Tracker\Report\Query\Advanced\Grammar\OrExpression->accept(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidComparisonCollectorVisitor.php' bgcolor='#eeeeec'>.../InvalidComparisonCollectorVisitor.php<b>:</b>130</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>11</td><td bgcolor='#eeeeec' align='center'>0.0611</td><td bgcolor='#eeeeec' align='right'>4808648</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\InvalidComparisonCollectorVisitor->visitOrExpression(  )</td><td title='/usr/share/tuleap/plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/OrExpression.php' bgcolor='#eeeeec'>.../OrExpression.php<b>:</b>41</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>12</td><td bgcolor='#eeeeec' align='center'>0.0611</td><td bgcolor='#eeeeec' align='right'>4808648</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\InvalidComparisonCollectorVisitor->visitExpression(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidComparisonCollectorVisitor.php' bgcolor='#eeeeec'>.../InvalidComparisonCollectorVisitor.php<b>:</b>248</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>13</td><td bgcolor='#eeeeec' align='center'>0.0611</td><td bgcolor='#eeeeec' align='right'>4808648</td><td bgcolor='#eeeeec'>Tuleap\Tracker\Report\Query\Advanced\Grammar\AndExpression->accept(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidComparisonCollectorVisitor.php' bgcolor='#eeeeec'>.../InvalidComparisonCollectorVisitor.php<b>:</b>253</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>14</td><td bgcolor='#eeeeec' align='center'>0.0611</td><td bgcolor='#eeeeec' align='right'>4808648</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\InvalidComparisonCollectorVisitor->visitAndExpression(  )</td><td title='/usr/share/tuleap/plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/AndExpression.php' bgcolor='#eeeeec'>.../AndExpression.php<b>:</b>41</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>15</td><td bgcolor='#eeeeec' align='center'>0.0611</td><td bgcolor='#eeeeec' align='right'>4808648</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\InvalidComparisonCollectorVisitor->visitExpression(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidComparisonCollectorVisitor.php' bgcolor='#eeeeec'>.../InvalidComparisonCollectorVisitor.php<b>:</b>243</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>16</td><td bgcolor='#eeeeec' align='center'>0.0611</td><td bgcolor='#eeeeec' align='right'>4808648</td><td bgcolor='#eeeeec'>Tuleap\Tracker\Report\Query\Advanced\Grammar\EqualComparison->accept(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidComparisonCollectorVisitor.php' bgcolor='#eeeeec'>.../InvalidComparisonCollectorVisitor.php<b>:</b>253</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>17</td><td bgcolor='#eeeeec' align='center'>0.0611</td><td bgcolor='#eeeeec' align='right'>4808648</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\InvalidComparisonCollectorVisitor->visitEqualComparison(  )</td><td title='/usr/share/tuleap/plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/EqualComparison.php' bgcolor='#eeeeec'>.../EqualComparison.php<b>:</b>41</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>18</td><td bgcolor='#eeeeec' align='center'>0.0611</td><td bgcolor='#eeeeec' align='right'>4808648</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\InvalidComparisonCollectorVisitor->visitComparison(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidComparisonCollectorVisitor.php' bgcolor='#eeeeec'>.../InvalidComparisonCollectorVisitor.php<b>:</b>140</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>19</td><td bgcolor='#eeeeec' align='center'>0.0612</td><td bgcolor='#eeeeec' align='right'>4809472</td><td bgcolor='#eeeeec'>Tuleap\Tracker\Report\Query\Advanced\Grammar\Metadata->accept(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidComparisonCollectorVisitor.php' bgcolor='#eeeeec'>.../InvalidComparisonCollectorVisitor.php<b>:</b>236</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>20</td><td bgcolor='#eeeeec' align='center'>0.0612</td><td bgcolor='#eeeeec' align='right'>4809472</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\InvalidSearchableCollectorVisitor->visitMetadata(  )</td><td title='/usr/share/tuleap/plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/Metadata.php' bgcolor='#eeeeec'>.../Metadata.php<b>:</b>47</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>21</td><td bgcolor='#eeeeec' align='center'>0.0614</td><td bgcolor='#eeeeec' align='right'>4810488</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\QueryValidation\Metadata\MetadataChecker->checkMetadataIsValid(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidSearchableCollectorVisitor.php' bgcolor='#eeeeec'>.../InvalidSearchableCollectorVisitor.php<b>:</b>57</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>22</td><td bgcolor='#eeeeec' align='center'>0.0614</td><td bgcolor='#eeeeec' align='right'>4810488</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\QueryValidation\Metadata\MetadataUsageChecker->checkMetadataIsUsedByAllTrackers(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryValidation/Metadata/MetadataChecker.php' bgcolor='#eeeeec'>.../MetadataChecker.php<b>:</b>54</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>23</td><td bgcolor='#eeeeec' align='center'>0.0614</td><td bgcolor='#eeeeec' align='right'>4810864</td><td bgcolor='#eeeeec'>Tuleap\CrossTracker\Report\Query\Advanced\QueryValidation\Metadata\MetadataUsageChecker->checkTitleIsUsedByAllTrackers(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryValidation/Metadata/MetadataUsageChecker.php' bgcolor='#eeeeec'>.../MetadataUsageChecker.php<b>:</b>100</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>24</td><td bgcolor='#eeeeec' align='center'>0.0614</td><td bgcolor='#eeeeec' align='right'>4810864</td><td bgcolor='#eeeeec'>Tracker_Semantic_TitleDao->getNbOfTrackerWithoutSemanticTitleDefined(  )</td><td title='/usr/share/tuleap/plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryValidation/Metadata/MetadataUsageChecker.php' bgcolor='#eeeeec'>.../MetadataUsageChecker.php<b>:</b>146</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>25</td><td bgcolor='#eeeeec' align='center'>0.0614</td><td bgcolor='#eeeeec' align='right'>4811184</td><td bgcolor='#eeeeec'>Tracker_Semantic_TitleDao->retrieveFirstRow(  )</td><td title='/usr/share/tuleap/plugins/tracker/include/Tracker/Semantic/dao/Tracker_Semantic_TitleDao.class.php' bgcolor='#eeeeec'>.../Tracker_Semantic_TitleDao.class.php<b>:</b>66</td></tr>
</table></font>

request #13167 Display error on the tracker notification screen

Sometimes, when clicking on the 'Notification' tab of a tracker, the rigth menu is not properly displayed and mask the page content.

Steps to reproduce:
1- Ensure you use the right menu collapsed
2- Click on the 'Trackers' icon on the right menu
3- Click on a tracker
4- Click on the tab 'Notifications'
-> The right menu is not complete and is not collapsed whereas the notification page is displayed in the collapse mode (See attached image)

Sometimes, the display is ok. Another click on 'Notification' can give a different result.
Change of tracker or click several times on 'Notifications' if you don't reproduce first time.

request #13134 Support on repository a feature like *.rst

Allow to support in git repository file *.rst  with sintax

.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
    :alt: Try me on Runbotrunbot
    :target: https://runbot.odoo-community.org/runbot/146/9.0

This will allow for add buttons to open a specific url. This feature is very useful, for example in Odoo development since we can user this to call a build with demo with the repository module installed.

The result is an button with image with link

request #13114 Remove file name from TusFileInformation

The name of the file being uploaded was needed for story #12813 because fileforge.pl is relying on it. However it clutters the design. See git #tuleap/stable/651b5f3ffa1d19f067667e7e34792aba6e2a426d for details.

In order to fix the situation we suggest to remove fileforge.pl and replace it by a dedicated script that will be easier to support.

request #13109 Have better cross references to git display in trackers

As of today git cross references are there but under used in trackers because they don't display meaningful information.

The purpose of this contribution is to add more context from the git object in the tracker.

request #13104 Tuleap API Projects should support return any field

Tuleap endpoint /project/ should support to return any model field. I would suggest to be able to return any field or at least category field from as project information. The API could allow use query to get a specific field data.

An example I need to create a project in a CI Runbot if the approved project is of category Odoo but this field it's not returned but the project endpoint.

request #13086 Add a tracked time on artifact update

Add the possibility to add a new tracked time on artifact update :
- this field should be not required
- this field should respect the timetracking format (hh:mm)
- this field should be hidden if no data are changed on the artifact

request #13079 Modal for private project or restricted member should display text as placeholder

When no custom message has been added, the default text must only be displayed as a placeholder and not as content.

request #13073 Cardwall does not respect order of tasks

If you change the order of tasks of a story in PV2, then the new order is not reflected on cardwall.

request #13071 Decorator colors are lost on PV2

Add color to a selectbox field value.
Add the field to the list of card semantic.
Go to the PV2, the color should be displayed.

request #13070 Inconsitent display of float value between artifact and A.D

In artifact, if a float field is given a value 3.141592, then the artifact will display 3.1416, whereas in the agile dashboard it will display 3.141592.

request #13067 Homogenize UI with the rest of Tuleap

  • Test campaign list should be displayed as cards (like Git repositories)
  • Comment and Timer should be displayed on demand?
  • Toolbar → should be removed
  • Campaign title during execution: smaller because its not the primary info to have?

Nice to have:

  • Ability to collapse the test list
  • Next auto ?

request #13063 cypress should respect tuleap plugins structure

Actually all tests are under /test/e2e/cypress/full
each plugin should define its own tests structure

request #13062 Add docman statistics on home page

request #13060 TLP lifting

TLP needs a small '19 lifting :

  • Outlined buttons, that are secondary actions, stand out too much, especially in table row
  • Box-shadows for dropdown, popovers need to be reworked
  • Dimmed color shoud be theme variant dependent
  • Badge outlines should have a light background
  • Tooltip should have a transition delay
  • Popover should have a transition delay
  • H1 and H2 colors should be theme dependent
  • H1 should be smaller
  • Inactive tabs should be dimmed? (to be discussed)

request #13059 Introduce error report managment tool sentry

request #13058 Integration with PyCharm to get the task give error Forbiden

I'm trying to integrate tuleap task with PyCharm, and I'm getting always Forbidden. My user is authenticated in to tuleap, but with my account data I'm not able to get tasks. Also I'm the administrator in tuleap.

request #13057 Replace AngularJS services by javascript ES modules in the artifact modal

(this is really a tech story)
As a Tuleap Developer
I want to replace AngularJS services by javascript ES modules in the artifact modal.
So that the artifact modal depends less on AngularJS.

We've been using ES modules for some time now, they are easy to test, move around and split.
This also paves the way to moving the artifact modal out of AngularJS (and probably into Vue.js).

Acceptance criteria
All AngularJS services are now vanilla ES modules.
The only exceptions are the "public-facing" modal service "NewTuleapArtifactModalService" and "TuleapArtifactModalLoading" value.
As long as external apps depend on those, we cannot extract them out of AngularJS.
This will be a dedicated follow-up story / request.

request #13055 Open ID Connect client plugin should handle the new colors

I should be able to use the "new" colors (from Tuleap 10.2) when choosing a color for the open ID connect provider buttons.

request #13054 Notice while uninstalling admindelegation plugin

Error encountered while retrieving data ==> DELETE FROM layouts_contents WHERE name = "admindelegation";

This prevents the plugin to be uninstalled.

request #13052 Remove Plugin::SCOPE_USER

Currently no plugins have scope === Plugin::SCOPE_USER. I suggest to remove it.

request #13030 Use front router for all plugins

All new routes are built using front router and routes are now cached. It's time to homogenize the code base (at least for plugins...) and to convert all plugins entry points to front router:

Todo list:

plugins/webdav
plugins/proftpd
plugins/mediawiki
plugins/statistics
plugins/projectlinks

request #13006 Message "The value 'xxxx' doesn't exist for the list field 'submitted_by'." in Tracker's report

In Report Tracker,

 

  • In a Report,  on Expert Mode do the request:
    • submitted_by = MYSELF()
  • if a user is not in a field Selectbox 'Bind to users' (example Submitted_by or assigned_to)
  • => The message "The value 'xxxx' doesn't exist for the list field 'submitted_by'." appears

It's a problem in a request like

submitted_by = MYSELF() OR assigned_to =MYSELF()

if the user is not in the liste submitted_by, the result is empty and the message appears

request #12988 Lack of focus indicator on TLP checkboxes

For accessibility we should display an indicator when a checkbox has focus (like it is done for input text).

request #12987 Print of Kanban Board does not print all artifacts

Print version of Kanban Board only shows artifacts, which fit on one page. The print version should instead show all artifacts of the Kanban Board.

request #12973 Allow user group to modify Pull Request label without write branch permission

It's could be interesting and usefull to allow group (other than group with write permission) to modify the label of the Pull Request.
Currently only groups with write permission on the branch could add/remove/change tag of the Pull Request.

request #12892 We can't see images embedded by the rich text editor

Embedded images in rich text editor can be viewed only in edition mode.

Steps to reproduce:
1- Copy an image in the clipboard
2- Paste it into an artefact field of type 'Text' (like this 'Original Submission') using the format 'HTML' (rich text)
-> the image is displayed inside the edit area
3- Save the artefact
4- Edit the same artefact
-> the image is not displayed
We have to edit the field to see it.

Why the data 'data:image/png;base64,...' exists only in an hidden field and not in the visible rendering?

request #12832 Support OpenID Connect providers where the login URL is different than the issuer URL

The current implementation of the ID token validation [0] expects that the login/provider URL is the same than the issuer URL. It is not the case for some providers.

The only example I am aware of is Azure Active Directory [1] where the login URL is something like https://login.microsoftonline.com/common/ or https://login.microsoftonline.com/{tenant_id} and the issuer URL is something like https://sts.windows.net/{tenant_id}/.



[0] https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation
[1] https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-protocols-oidc

request #12798 BP Modals: Default action on "Enter" should NOT be "abandon"

Every now and then, I type "enter" for a modale and the modale disappear with my precious content and it's driving me nuts.

BP modale default behaviour for "Enter" should be to submit, not equivalent to "Esc".

Where it happens

  • Kanban creation
  • Add a new widget on a dashboard
  • Save report as on trackers

request #12733 Stop IE11 support

Among arguments in favor of this move, we can list:
* IE11 needs special care with CSS adjustments, increasing development time
* Building js assets to target IE11 increases bundles size

We should not wait for Microsoft to kill IE11 and we should phase out IE11 and suggest users to switch to another browser as soon as possible.

request #12731 The wrong post action can be deleted in workflow admin

Given that two post actions of different types (for example CI build and Set Date value) have the same id (for example 11),
when I try to delete the last post action with id 11,
then both post actions will be deleted.

Instead of that, only the last post action with id 11 should be deleted.

request #12724 Format Vue template with newer Prettier

Split from request #12687

Upgrading to latest Prettier version allows automatic HTML formatting. This is applied to Vue files automatically.
While at the moment, it differs from the Vue official style guide, this would let us have a consistent and automated way of formatting HTML in Vue components.

request #12696 Add HTML title to git repositories

As of today git repositories always display "Git - $sys_name" it's painful to sort out tabs when browsing several git repositories.

Repository path should be part of the title.

request #12688 Move core tests to PHPUnit

request #12631 Leftovers when deleting a transition

Go to tracker » admin » workflow » transitions
Delete a transition that have specific "Groups that may make the transition" (ex: a static group and project admins group)
=> You should not have leftovers in permissions table (PLUGIN_TRACKER_WORKFLOW_TRANSITION)

This should be fixed with old and new user interfaces for transitions.

request #12622 have the option to enable/disable/delete a field dependency

Currently, a dependency rule between 2 fields can be deleted only by disabling every individual node of the matrix.
Out of practicity and consistence, we should be able to delete entirely the dependency rule (as for date rules), and to toggle its status (as for workflows).

Moreover, the matrix has an annoying behavior when becoming large enough : it goes back to the left after every click.

request #12610 Search does not seem to work in a fesh CentOS install

Base install was done, project was created. Searching with part or all project name raise no results.

request #12597 Add cypress tests on new document plugin

request #12543 Couldn't upload file

request #12532 The provided field can't be shared with this tracker because the project it comes from is not active.

In Default Site Template when trying to add a Shared field for another tracker in the Default Site Template and received an error. Today I created a fresh install of Tuleap and not able to import some of the XML trackers from 10.6. Have a demo on Nov 21 so did not have time to find the root of the issue. So I started recreating the trackers when I started getting the error:

The provided field can't be shared with this tracker because the project it comes from is not active.

I tested adding a Shared field in the original 10.6 I exported the tracker from and it worked. I upgraded this 10.6 version to 10.7 and it also started displaying this error here as well.

request #12528 Make it possible to hide/archive trackers

A project may have lots of trackers. There is no way to hide/archive old trackers, they can only be removed/deleted.

It would be nice to let the administrator archive/hide some old usless trackers. later he can restore/unhide them.

The goal is to have non-admin users only see the visible trackers.

This feature exists in Redmine.

request #12514 Kanban new colum not takes into account when moving a card

When I add a new column of a Kanban board, then move a card to this new column, the card disapears. I need to reload the page and then it works properly. But for someone who does not know this, it a weird behaviour

request #12511 Broken shortlink to semantic broken in Kanban board

As shown in the attachment below, the link to quickly access to the semantic status is broken in the admin of a kanban board

request #12508 Cannot remove a user from a global notification group if the real name starts with a space

Reproduction case:
1. Have a user with a real name starting with a space
2. Add this user in a global notification group
3. Edit the notification group to remove the user and save

request #12506 Arifact link selectbox for choose does not adapt to line height

How to reproduce:
- have an artifact with serveral artifacts links
- the tracker report of artifact should have the field artifacts links displayed

- add this artifact as a link to another artifact, save
- edit field to update the artifact link type

display is ugly, see attachement

request #12499 Warnings on Start scrum

When testing start scrum on 10.6.99.155 I got

  • Provided field value F22712 is not valid. Skipping mapping.

Twice

request #12474 Make new test rest to getDeletedTrackers

request #12469 delete broken tracker tests for deleted tracker

request #12466 Disable LDAP Landing Page

The landing page after the LDAP plugin is installed is in our case not needed. All of the users are in the same timezone, and the newsletter subscriptions go to the admins, but not the users.

As such, it'd be great if there was either some way (API calls would be fine) to disable or automatically fill in the landing page details so that it can be skipped by the few hundred users that would eventually (hopefully) log in to the instance.

Let me know if you need any further information from our end.

request #12436 Install of Tuleap fails: gitolite directory not found

I worked through the install guide and it fails when installing tuleap-plugin-git.

See below for details. OS = CentOS 7.5

It seems like the /var/lib/gitolite directory does not exist in this version of CentOS. Instead it has a gitolite3 directory.

Any idea what to do to continue with the install?

thanks.

...
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
tuleap-plugin-git noarch 4.798-10.6.99.63_1.el7 Tuleap 1.8 M

Transaction Summary
================================================================================
Install 1 Package

Total download size: 1.8 M
Installed size: 10 M
Is this ok [y/d/N]: y
Downloading packages:
tuleap-plugin-git-4.798-10.6.99.63_1.el7.noarch.rpm | 1.8 MB 00:08
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
usermod: no changes
chmod: cannot access ‘/var/lib/gitolite’: No such file or directory
error: %pre(tuleap-plugin-git-4.798-10.6.99.63_1.el7.noarch) scriptlet failed, exit status 1
Error in PREIN scriptlet in rpm package tuleap-plugin-git-4.798-10.6.99.63_1.el7.noarch
Verifying : tuleap-plugin-git-4.798-10.6.99.63_1.el7.noarch 1/1

Failed:
tuleap-plugin-git.noarch 0:4.798-10.6.99.63_1.el7

Complete!

request #12400 Blob history should provide "diff with current" instead of "select for diff"

request #12363 Clean-up src/www

Currently src/www contains a lot of oldies and new comers might be affraid by the crap they might found here.

Deprected/non working stuff should be purged.

Other stuff should be moved to dedicated controllers

request #12362 BUG "global date rules" + "cross-tracker triggers" in FRENCH

Steps to reproduce :

  • choose Language French in my account.

  • Edit children of a TrackerParent => TrackerChild

  • Define global date rules in TrackerParent :

    • Date Validation > Date de Correction

  • Define cross-tracker triggers :

    • When all children of type TrackerChild have their field Status set to Closed

    • Then the tracker field Status will be set to Clos

  • Create an artefact A in TrackerParent

    • Status "Open"

    • Date Validation > Date de Correction

    • Link to an artefact B in TrackerChild Status Open

  • Modify artefact B

    • Status Close

Error :

Erreur de dates : Date Validation doit être > à Date de Correction. Erreur lors de la mise à jour de l'artefact FT #499 : Règles globales non respectées

And Status of artefact A still Open

It's works if I choose English in my account. Not in French

request #12361 TTM is broken, raise a lot of error in consol and RT is not updated

Can be seen here live for those who have access

request #12337 Fix empty state and load more button are wrong displayed

request #12336 Script clean_userlog_request trigger warning

PHP Notice: Undefined property: ParagonIE\EasyDB\EasyDB::$db_name in /usr/share/tuleap/plugins/userlog/bin/clean_userlog_request.php on line 61
PHP Stack trace:
PHP 1. {main}() /usr/share/tuleap/plugins/userlog/bin/clean_userlog_request.php:0
PHP 2. removePotentiallyUnusedColumns() /usr/share/tuleap/plugins/userlog/bin/clean_userlog_request.php:33
PHP 3. doesColumnExist() /usr/share/tuleap/plugins/userlog/bin/clean_userlog_request.php:39

request #12332 Make some artifacts read-only

When importing artifacts from a different bug tracker (Redmine for instance), we would like the imported artifacts to be read-only.

As import operation is partyial (I use a script but it does not import all info right now), I want the artifacts to be read-only so that peopel won't modify them. If they do so and if I reimport with a newer version of my script, any change they did will be lost.

Tuleap makes it possible to restrict access to artifacts to some users, but then they acn't even view them. A read-only mode at artifact or tracker level woule be very helpful.

request #12302 Presences are not updated anymore after campaign edit

After editing the current campaign with the campaign edition modal in Test Management, when I click on any test in the list or when someone else changes test through Realtime, the presences are no longer updated.
The presence is never updated anymore, the data model seems "disconnected" from the view. I need to reload the page to see anything happening.

request #12301 Pull Request Sequence Fails

Issue with Tuleap pull requests when the references are the same but the branch is different, e.g. Dev->Test Works, but then Test->Master throws the error “A pull request with the same source and destination references already exists.”

And indeed the same error occurs when one attempts to create a pull request from Dev->Master directly.

Should verify refs and branches and not just refs.

Tuleap version 10.1.99.160 on CentOS 6.9.

UPDATE:
This error continues to occur in tuleap 10.9.99.175 on centos 7.

request #12299 Support multibyte characters on new Tuleap installations

It would be nice if could use the whole UTF-8 character set instead of a subset of UTF-8.

request #12295 Execution time on a test case is not stored in test exec artifact

When using TTM interface, the timer value is not stored in corresponding test_exec artifact

request #12283 TTM: modal should tell how to edit steps

ATM TTM steps can only be edited in artifact view. However for users it's not obvious that they can do it.

We should inform them that setps cannot be edited in modale yet with a link toward the artifact.

request #12282 Javascript error while linking OIDC account to Tuleap one

Connect by using a OIDC provider. Once authenticated on the provider, you are redirected on a page that ask you to link to a tuleap account. There is a javascript error on this page:

> ReferenceError: tlp is not defined open-id-connect-client.js:88:13

request #12277 Have predefined standard SVN hooks

There are some very common coding rules like:
- Forbid tabs in source code
- Force all files to be in lower case
- ...

It would be nice if, rather than asking the administrator to write a SVN hook script for this, if they could simply have a checkbox to enable a predefined script in the already existing SVN repository/Adminsitration/Commit rules tab.

request #12276 Capability to automatically close an artifact upon SVN commit based on comment

There should be a place where you can link some keywords to artifact state changes.

When I commit, if I comment "Fixes #1234", I want artifact #1234 to be marked as Resolved and I want the SVN revision number to be added to the artifact. Meaning that I want Tuleap to create the cross-reference between the commit and the artifact automatically + change the artifact state for me.

This feature was here with Redmine 1.0.0....it's really nice and make developpers save a lot of time when fixing bugs.

request #12198 Add REST endpoints to manage user SSH keys

Hello,
We would like to add a new entry point to add a SSH key for a user , in order to automatize the process,
I have two alternatives:
The first one :Just modify /users/{id} entry,
The second one : To add a new entry point,like /users/{id}/preferences,
What do you think ,
Thank you in advance for your support,
Regards,
Jed


request #12186 Bump realtime server to socket-io ^2

All the clients are already using socket.io-client ^2 (see request #12149), we should move to realtime server to avoid potential compatibility issues and fix a bunch of security issues.

request #12179 Git repository access problem

Not able to clone repository
After fresh installing tuleap from the documentation, and create a project I'm not able to access my repository. By my search I found some points bellow.

cmd: /var/lib/codendi/gitolite/projects.list admin [same for my user]
res:_-bash: /var/lib/codendi/gitolite/projects.list: Permission denied

cmd: /var/lib/tuleap/gitolite/projects.list
res: Empty

cmd: rpm -qa gitolite
res: Empty [but gitolite3 is installed because I installed the tuleap plugin for gitolite3]

My user has ssh-key. By the way I think the the installation process could be a bit more detailed by stating that after installing and logging first thing put you ssh-key. This way at the of installation it's everything ready.

cmd: ls -ld /var/lib/gitolite
res: drwxr-x--- 4 gitolite gitolite 4096 Aug 23 18:19 /var/lib/gitolite

cmd: cat .ssh/authorized_keys [done as a gitolite3 user]
res: Empty

cmd: cat .ssh/authorized_keys [done as a gitolite user]
res: command="/usr/share/gitolite3/gitolite-shell id_rsa_gl-adm",....Tuleap / gitolite admin key

Project list is empty.

request #12166 Date Reminder mails are still sent on “Closed” artifacts

If a date reminder is set X number of days Before “Last Modified On”, the email reminders are still sent even though the artifact is closed. There is no validation done with respect to the status.

Use Case: it would help our team to ping users to update support artifacts in timely manner

request #12146 LDAP Error :PHP message: PHP Notice: Undefined index: mail in /usr/share/tuleap/plugins/ldap

Error on LDAP when user try to login
ldap_syslog
2018-08-15T23:00:30+02:00 [14963] [warning] Cannot bind to LDAP server: ***ERROR MESSSAGE:Can't contact LDAP server ***ERROR no:-1
2018-08-15T23:00:30+02:00 [14963] [warning] Cannot connect to any LDAP server: ***ERROR:Can't contact LDAP server ***ERROR no:-1
2018-08-15T23:00:34+02:00 [675] [error] Unable to bind to LDAP server: ***ERROR:Can't contact LDAP server ***ERROR no:-1
2018-08-15T23:00:34+02:00 [675] [warning] Cannot bind to LDAP server: ***ERROR MESSSAGE:Can't contact LDAP server ***ERROR no:-1
2018-08-15T23:00:34+02:00 [675] [warning] Cannot connect to any LDAP server: ***ERROR:Can't contact LDAP server ***ERROR

nginx error_log

2018&#x2F;08&#x2F;18 02:34:33 [error] 797#0: *1 FastCGI sent in stderr: &quot;PHP message: PHP Notice: Undefined index: mail in &#x2F;usr&#x2F;share&#x2F;tuleap&#x2F;plugins&#x2F;ldap&#x2F;$
PHP message: PHP Notice: Undefined index: cn in &#x2F;usr&#x2F;share&#x2F;tuleap&#x2F;plugins&#x2F;ldap&#x2F;include&#x2F;LDAP.class.php on line 343
PHP message: PHP Notice: Undefined index: uid in &#x2F;usr&#x2F;share&#x2F;tuleap&#x2F;plugins&#x2F;ldap&#x2F;include&#x2F;LDAP.class.php on line 344
PHP message: PHP Notice: Undefined index: eduid in &#x2F;usr&#x2F;share&#x2F;tuleap&#x2F;plugins&#x2F;ldap&#x2F;include&#x2F;LDAP.class.php on line 345
PHP message: PHP Notice: Undefined index: uid in &#x2F;usr&#x2F;share&#x2F;tuleap&#x2F;plugins&#x2F;ldap&#x2F;include&#x2F;LDAP.class.php on line 378
PHP message: PHP Notice: Undefined index: dn in &#x2F;usr&#x2F;share&#x2F;tuleap&#x2F;plugins&#x2F;ldap&#x2F;include&#x2F;LDAP.class.php on line 379
PHP message: PHP Notice: Undefined index: server in &#x2F;usr&#x2F;share&#x2F;tuleap&#x2F;plugins&#x2F;ldap&#x2F;include&#x2F;LDAP.class.php on line 111
PHP message: PHP Notice: Undefined index: server in &#x2F;usr&#x2F;share&#x2F;tuleap&#x2F;plugins&#x2F;ldap&#x2F;include&#x2F;LDAP.class.php on line 202
PHP message: PHP Notice: Undefined index: server in &#x2F;usr&#x2F;share&#x2F;tuleap&#x2F;plugins&#x2F;ldap&#x2F;include&#x2F;LDAP.class.php on line 138&quot; while reading response he$
2018&#x2F;08&#x2F;18 02:57:39 [error] 3708#0: *7 FastCGI sent in stderr: &quot;PHP message: PHP Notice: Undefined index: mail in &#x2F;usr&#x2F;share&#x2F;tuleap&#x2F;plugins&#x2F;ldap$
PHP message: PHP Notice: Undefined index: cn in &#x2F;usr&#x2F;share&#x2F;tuleap&#x2F;plugins&#x2F;ldap&#x2F;include&#x2F;LDAP.class.php on line 343
PHP message: PHP Notice: Undefined index: uid in &#x2F;usr&#x2F;share&#x2F;tuleap&#x2F;plugins&#x2F;ldap&#x2F;include&#x2F;LDAP.class.php on line 344
PHP message: PHP Notice: Undefined index: eduid in &#x2F;usr&#x2F;share&#x2F;tuleap&#x2F;plugins&#x2F;ldap&#x2F;include&#x2F;LDAP.class.php on line 345
PHP message: PHP Notice: Undefined index: uid in &#x2F;usr&#x2F;share&#x2F;tuleap&#x2F;plugins&#x2F;ldap&#x2F;include&#x2F;LDAP.class.php on line 378
PHP message: PHP Notice: Undefined index: dn in &#x2F;usr&#x2F;share&#x2F;tuleap&#x2F;plugins&#x2F;ldap&#x2F;include&#x2F;LDAP.class.php on line 379
PHP message: PHP Notice: Undefined index: server in &#x2F;usr&#x2F;share&#x2F;tuleap&#x2F;plugins&#x2F;ldap&#x2F;include&#x2F;LDAP.class.php on line 111
PHP message: PHP Notice: Undefined index: server in &#x2F;usr&#x2F;share&#x2F;tuleap&#x2F;plugins&#x2F;ldap&#x2F;include&#x2F;LDAP.class.php on line 202
PHP message: PHP Notice: Undefined index: server in &#x2F;usr&#x2F;share&#x2F;tuleap&#x2F;plugins&#x2F;ldap&#x2F;include&#x2F;LDAP.class.php on line 138&quot; while reading response he$

request #12139 Migrate frequencies statistics bar chart to d3

Steps:
- Refactor the frequency JpGraph generation
- Draw the graph with d3

request #12133 Drop usage of an outdated version of Guzzle in the Git plugin

In order to communicate with a Gerrit server, the Git plugin uses an outdated version of Guzzle. This should be avoided especially since the Tuleap core exposes a way to do HTTP queries.

Also in the current situation the Git plugin does not respect the proxy settings.

request #12127 Add mnimal tests for tracker artifacts

request #12120 Action button is not correctly aligned when no semantic title is defined

request #12117 Expected results arrow has variable size

See screenshot.

request #12087 Bad file type detection in git pull request

Create a file "file1" with text content:
$> echo 1 > file1
$> file -bi file1
text/plain; charset=us-ascii

Commit a create a pull request with those modifications. Go to the pull request files: it does not display the content of the file whereas it is a text/plain.

request #12073 Message Error for Field multiselect not in "Can Submit" Persmission

Steps to process :
* Add a multiselect field with 2 values,
* "Manage Fields Permissions" and NOT select "Can Submit" for this field for any group (we don't want to show this field at the creation of the artefact, only at the modification)
* "Submit new artefact" : The fied multiselect don't appear in the page (that's normal) but you submit this message appears :
"You are not allowed to update the field multiselect".

request #12062 Automatic Status changed in Kanban Board

Hello,

I found a bug in kanban board.

If you change status in popup windows of an artect, it change automatically in final state.
In my case i have 3 final state (OK, KO and an other) and all moficiation on the state put the artect in OK.

Could you look at this bug please ?

request #12012 Add Service Meeting

The goal is to add a new "Meeting" service in order to add the different meeting followed for the project with each time the agenda and the report

request #12010 Add git pre-commit hook to avoid debug elements

The Tuleap git pre-commit hook must avoid introductions of new var_dump and console.log elements.

request #11971 New git UI displays wrong "Last Update" time

We installed Tuleap™ 10.3.99.64 on one of our servers. We created a new repo and noticed that the "Last Update" time is not correct. Our server is located in Europe, and I'm located in the eastern time zone. The "Last update 6 hours ago"

request #11947 Jenkins could not determine exact tip revision of XXX

After changing the jenkins ref spec to +refs/tlpr/*/head:refs/remotes/* (see picture 1). The CI-Pipeline couldn't finish the first stage, because it doesn't find the branch name anymore (see logfile 1). What goes wrong? With the original ref spec (+refs/heads/*:refs/remotes/@{remote}/*) everything works fine except that Jenkins is trigger while pushing and not after creating a pull request.

References: https://docs.tuleap.org/user-guide/pullrequest.html#integrate-with-jenkins

request #11917 Bug in "story #11254 reduce notification sent by tracker to status change"

As a Project Admin I set the tracker notifications to "Status change notifications (people will get notified when they are submitter, assignee, commentor or CC and artifact status is updated)"

As a user for the same tracker, I set my tracker notification preferences to "Notify me on every change". When I click on submit, my change is not saved and it reverts to "Notify me on status change"

request #11914 Newlines in comments may be lost

Steps to reproduce:

1- Add a (text) follow-up containing several successive newlines to an artefact
sample:
"This is the first section.

This is the second one."
2- save the artefact
3- edit the follow-up
-> The blank line is lost.

The system should not alter the text.

(You can test below.)

request #11893 Move Mediawiki plugin tests to PHPUnit

request #11868 Add voting abiltiy to features/enhancement requests

It would be nice if we could vote for a feature/enhancement request. That way it would be easier to see which feature is really interesting for the users.

Currently we can only add "me too" comments.

request #11866 Can not add children to an artifact from the planning view if the artifact a required computed field

The REST route PATCH backlog_items/{id}/children throws a 400 saying the computed field is required. That should not happen.

To reproduce the issue:
1. Have an agile dashboard with user stories and tasks as children of the user stories
2. Have a required computed field in the user story tracker
3. Try to add children tasks to a user story

request #11829 DRY the "concurrently" dependency in each js app

Today each app has a development dependency to "concurrently".
This package allows us to run two commands at the same time.
It is useful in watch mode to build the app and to launch the unit tests each time we hit ctrl+s.
We plan to use concurrently from the tuleap root.

request #11828 Email without organization logo

Hello,

I changed the organization logo like explained here:
http://tuleap-documentation.readthedocs.io/en/latest/administration-guide/customisations.html

But, the email come without logo and with an X instead of the picture (see the attachment)

request #11797 Fields and sub-fields for a tracker

Hello. Is there a way to pop up a field only when a particular value of its "parent field" has been selected ? For example, a Multi Select Box displays engineering fields (software, mechanics, electronics, etc.), when I select one of them another Multi Select Box should appear in order to select other values (e.g. development, testing, etc.). I looked at the Field dependencies, but there the fields as "children" are always there, and if you set Required, you must select a value even if not dependent from the "parent".

request #11791 Information about "Lock for Edition"

Hello. I cannot find how to use the function "Lock for Edition" in the documentation of Tuleap. Can you tell me something on it?

request #11779 Pull requests should be browsable by anonymous users

The REST API should not require anonymous user to log in to view a pull request when the permissions allow it.

request #11776 LDAP Sync 'Transactions'

(Related to https://my.enalean.com/plugins/tracker/?aid=51922)

LDAP Sync seems to go on even when connection to the directory fails. This means that disconnecting while syncing groups would result in everyone getting kicked out of the group.

This behavior should change so that the sync is cancelled and possibly rescheduled should the connection fail.

request #11751 No tooltip in Kanban Board on Linked Artifacts

Hello,

There is no tooltip on linked artifacts in Kanban dashboards.

Is it possible to add it please ?

Also, linked artifacts are identified by "traker_name #id". Is it possible to chnage it and select an other field like the name please ?

Thanks

request #11713 Date reminder shall be suspended if the artifact is closed already

request #11712 Fatal error when accessing TTM administration

I got some tracker after an XML import and when I clicked "admin" to configure them in TTM admin UI I got the attached error

( ! ) Fatal error: Call to a member function getId() on null in /usr/share/tuleap/plugins/tracker/include/Tracker/FormElement/Tracker_FormElementFactory.class.php on line 945

request #11684 in kanban widget tooltip break display if artifact is not readable for user

Given my reference is linked to a deleted art the css break,

request #11651 User should be able to filter automated tests

We should add a "automated tests" button in the filter button bar.

request #11643 Progress bar in TTM is not accurate

Sometimes the progress bar does not reflect the reality, for example it displays that there are 38 tests in not run, I refresh the page and only 3 are remaining

request #11640 Wrong information after editing a test in TTM

Given a test displayed in TTM
When I edit it via the modale
Then the edit information should be accurate (time of the edition + my user name) instead of random information

request #11636 In card field semantic there is no helper link to access to the field

Semantic field display card preview, with a card by possible color.

It would be great to have a helper to go directly to the field and update values

request #11620 Add the ability to exclude user groups from being removed by LDAP sync

As a project admin I want to be able to mark groups as 'always preserved' (or 'exclude from sync') so that they remain untouched by LDAP sync

request #11618 Users added/removed by LDAP sync logged in project history

As a project administrator I want to get logs of added/removed users to the project history so that it will be easier to know what happens after syncing

request #11608 Existing Checkboxes in trackers are no longer working

After the update to version 10.1.99.125 it is no longer possible to use checkboxes in trackers that have been defined with an older releases.

Attachment HC1.png shows the definition.

If a new artifact is created the checkbox is not visible
If an existing artifact is edited checkboxes can't be made editable (see Attachment HC2.png)

Checkboxes with more than one value and newly created checkboxes are OK.

request #11595 Add support for TLS-Encrypted LDAP (start_tls)

Hi Tuleap folks,

Currently, there is no way of connecting to an LDAP/Active Directory Directory Server using TLS-Encrypted LDAP (using start_tls).

I'm no php/ldap expert, but I was able to come up with a short-term workaround. I modified plugins/ldap/include/LDAP.class.php to always use `ldap_start_tls`:
======
--- LDAP.class.php.orig 2018-06-11 11:20:59.000000000 -0400
+++ LDAP.class.php.start_tls 2018-06-11 16:02:42.000000000 -0400
@@ -154,6 +154,8 @@
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);

+ ldap_start_tls($ds);
+
// Since ldap_connect always return a resource with
// OpenLdap 2.2.x, we have to check that this ressource is
// valid with a bind, If bind success: that's great, if
@@ -196,6 +198,8 @@
$this->bound = false;
}

+ ldap_start_tls($this->ds);
+
if ($bind_result = @ldap_bind($this->ds, $binddn, $bindpw)) {
$this->bound = true;
} else {
======

... and works (but only because the _only_ server I'm connecting to requires TLS encryption). I don't recommend this as a general fix.

I'm running:
CentOS 6.9
tuleap 10.1.99.104
php 5.3.3

Thanks,
Marek

request #11592 Captcha plugin makes use of 3rd party service without explicit consent of user

User should be warned that, in order to register, they should accept that we use a 3rd party service from google.

If they refuse, they cannot register.

request #11572 Global search should include private projects of which user is a member

Only the global search, not the project drop-menu filter box, in the UI headline matches the detailed characterization of the projects. But it currently searches among public projects only.
It is quite confusing for users to get only partial results from their projects ; and that search box becomes quite useless in environments where most projects are private.
So it would be more valuable, and more consistent, to search all the projects the registered user has access rights into.

request #11571 'none' value should be allowed in field semantics/workflow and sparated from Kanban semantic 'backlog'

When 'status' is a non-mandatory field, the value 'none' should be addressed in semantics (e.g. I'd like to define it as 'open' even if blank) and in workflow (e.g. I'd like it to be refined after blank submission, with some conditions about who can do so and comments). 'None' is currently allowed in field dependencies only.
It's all the more needed as 'none' is currently, AFAIK, the only way to put artifacts in the 'backlog' of a Kanban. So the semantics should also allow to define some selectbox values as 'backlog', the same way as 'open' and 'closed'.

request #11570 Missing 'search/add artifact' buttons in Links field on submission

'Artifact links' field provides users with add/search artifacts buttons when editing a registered artifact.
These buttons are not present when submitting : there you can only type a known artifact ID or, if in a child tracker, select a parent artifact.
Creating a referenced artifact needs to submit (artifact is then closed), re-open and edit, unless you know precisely the ID to be referenced.

request #11563 Group artifacts by projects in widget

Group artifacts by projects in widget

request #11556 Circular dependency between Cardwall and Agiledashboard

Agiledashboard depends on tracker and cardwall. Cardwall depends depends on tracker.

This means that I can uninstall agiledashboard and keep cardwall plugins.

However in cardwallPlugin there is a dependency on agiledashboard:

public function tracker_event_export_full_xml($params)
{
    $plannings = PlanningFactory::build()->getOrderedPlanningsWithBacklogTracker($params['user'], $params['group_id']);
    $this->getAgileDashboardExplorer()->export($params['xml_content'], $plannings);

    $this->getCardwallXmlExporter($params['group_id'])->export($params['xml_content']);
}

private function getAgileDashboardExplorer()
{
    return new AgileDashboard_XMLExporter(new XML_RNGValidator(), new PlanningPermissionsManager());
}

request #11554 Retrieve a deleted document

Is it possible to undelete a document which appears in "plugin_docman_item_deleted" table ?

request #11553 Docman access rights

In my Docman I see the following profiles for Docman permissions :
> Reader (Relecteur)
> Writer (Rédacteur)
> Administrator (Gestionnaire)

The writer is allowed to modify (add a version) and delete a document.
Some users who are not familiar with Tuleap delete documents instaed of adding a new version. So we loose the document history.

Is it possible to allow adding version without deleting a document ?

request #11551 more friendly edit time on timetracking's artifact

On the timetracking artifact, when you wan't to edit a time, you can now select differents choices :
- You can replace the time
- You can add a new time to this existing time
- You can substract a time to an existing time

request #11550 end to end test supervisord conf should not reference a deleted file

Our end to end test docker image references the svn_stats_to_db.php which has been deleted

It results in a "Fatal error" message from supervisord in test logs

request #11546 Dashboard: Allow images to be easily viewed within browser

There's not a way to easily view images from cards (records) on the Agile Dashboard (Kanban); when clicking on the artifact ID, it opens the record but when trying to view the associated images, they are downloaded instead of being seen within the browser.

Either, please allow the record ID to open the tracker record in a new tab (which provides a way to easily view images within the browser).

Or, add the view (eye icon) on the Agile Dashboard -> Kanban board to easily view associated images without having to download them.

request #11541 REST rout PUT id throw an error when artifact does not exists

How to reproduce:
use put /testmanagement_executions/{id} with a wrong id

A fatal error is thrown:
<br />
<font size='1'><table class='xdebug-error xe-catchable-fatal-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'>
<tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Catchable fatal error: Argument 2 passed to Tuleap\TestManagement\RealTime\RealTimeMessageSender::sendExecutionUpdated() must be an instance of Tracker_Artifact, null given, called in /usr/share/tuleap/plugins/testmanagement/include/TestManagement/REST/v1/ExecutionsResource.class.php on line 338 and defined in /usr/share/tuleap/plugins/testmanagement/include/RealTime/RealTimeMessageSender.php on line <i>110</i></th></tr>
<tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr>
<tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr>
<tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0000</td><td bgcolor='#eeeeec' align='right'>238464</td><td bgcolor='#eeeeec'>{main}( )</td><td title='/usr/share/tuleap/src/www/api/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>0</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0432</td><td bgcolor='#eeeeec' align='right'>10199040</td><td bgcolor='#eeeeec'>Luracast\Restler\Restler->handle( )</td><td title='/usr/share/tuleap/src/www/api/index.php' bgcolor='#eeeeec'>../index.php<b>:</b>116</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>3</td><td bgcolor='#eeeeec' align='center'>0.0486</td><td bgcolor='#eeeeec' align='right'>10328640</td><td bgcolor='#eeeeec'>Luracast\Restler\Restler->call( )</td><td title='/usr/share/tuleap/src/vendor/luracast/restler/vendor/Luracast/Restler/Restler.php' bgcolor='#eeeeec'>../Restler.php<b>:</b>304</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>4</td><td bgcolor='#eeeeec' align='center'>0.0524</td><td bgcolor='#eeeeec' align='right'>10593096</td><td bgcolor='#eeeeec'><a href='http://www.php.net/ReflectionMethod.invokeArgs' target='_new'>invokeArgs</a>
( )</td><td title='/usr/share/tuleap/src/vendor/luracast/restler/vendor/Luracast/Restler/Restler.php' bgcolor='#eeeeec'>../Restler.php<b>:</b>1059</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>5</td><td bgcolor='#eeeeec' align='center'>0.0524</td><td bgcolor='#eeeeec' align='right'>10593496</td><td bgcolor='#eeeeec'>Tuleap\TestManagement\REST\v1\ExecutionsResource->putId( )</td><td title='/usr/share/tuleap/src/vendor/luracast/restler/vendor/Luracast/Restler/Restler.php' bgcolor='#eeeeec'>../Restler.php<b>:</b>1059</td></tr>
<tr><td bgcolor='#eeeeec' align='center'>6</td><td bgcolor='#eeeeec' align='center'>0.1042</td><td bgcolor='#eeeeec' align='right'>16274832</td><td bgcolor='#eeeeec'>Tuleap\TestManagement\RealTime\RealTimeMessageSender->sendExecutionUpdated( )</td><td title='/usr/share/tuleap/plugins/testmanagement/include/TestManagement/REST/v1/ExecutionsResource.class.php' bgcolor='#eeeeec'>../ExecutionsResource.class.php<b>:</b>338</td></tr>
</table></font>

request #11535 Backlog Modal should remove "None" selectbox field when field dependencies are set to do so

see the story in attachments.

Current state:
This is a major defect in UX/UI, and is very annoying when trying to onboard new users to Tuleap.

What is happening?! Consider selectbox fields connected through "Manage field dependencies".
Example I'm showing is for Scrum estimation fields: "Value", "Difficulty", "Score" and "Earnable" configured as selectboxes with static values (0,1,2,3...). In trackers "Manage field dependencies" the dependencies are set.

The dependencies for "Value", "Difficulty" and "Score result in only one possible value for each static fields combination.

The final dependency between "Score" and "Earnable" results in 2 values (see attachment 01). Either in non-zero Earnable numeric value (when artifact is open) or zero when closed upon work completion (i.e. there is nothing to earn when work is done).

NOW WHERE IS THE DEFECT?!
01) GOOD: When submitting new artifact from TRACKER and setting "Value" and "Difficulty", the Earnable is correctly populated with a non-zero value (see attachment 02). The are correctly only 2 possible values in Earnable (attachment 03)
02) DEFECT: When submitting new artifact from BACKLOG MODAL and setting "Value" and "Difficulty", the Earnable is always wrongly populated with a "None" value (see attachment 04). The are wrongly 3 possible values in Earnable (attachment 05)

Desired state:
Remove default "None" from selectboxes in Modal window.

request #11532 JS error while accessing user tracker notification

InvalidAccessError: A parameter or an operation is not supported by the underlying object

request #11505 Remove .class.php extension in main plugin classname

Please don't force me to use .class.php extension every time I write a new plugin

request #11475 Mediawiki does not initiate for new projects

Current state:
"Mediawiki for project NEW_PROJECT : /var/lib/codendi/mediawiki/projects/NEW_PROJECT not created yet, please wait for a few minutes."

lasts for days.

However, existing Mediawiki on older projects still work.

UPDATE:
I managed to find a workaround for this Bug:
it appears to be related to the overall problem with Browser Cache in recent Tuleap updates. See bug report #11453.

the solution to load Mediawiki is to:
1) switch to DevTools browser mode;
2) check TevTools > Network > Disable cache
3) navigate to project admin settings > mediawiki
4) open mediawiki service edit modal (play with enable/disable checkbox for example)
5) navigate to mediawiki service page on Tuleap left service menu > Language (select) + save changes
6) enjoy mediawiki project instance.

Conclusion: the browser cache bug reported in #11453 is still making life unpleasant.
For instance, new artifacts - from modified tracker templates - refuse to open in modals when created from backlog. I;m still playing around to find the workaround for those cache problems.

request #11469 removal of something "whitelisted" in svn is no longer possible

Tested on Tuleap 10.0.99.38.

  • Put in svn "immutable tags": /tags
  • Put in whitelist: /tags/crap

Expected:

  • svn rm /tags/v1 forbidden
  • svn rm /tags/crap/temp allowed

Got:

  • svn rm /tags/v1 forbidden
  • svn rm /tags/crap/temp forbidden ("Commit to tag is not allowed")

 

 

request #11456 Using Jenkins plugin without anonymous user

The Continuous Integration Plugin for Tuleap allow to display a Jenkins job status and a link to it.
Is there a way to avoid giving global read access rights to Anonymous user to make this link available ?

request #11455 Using Tuleap authentication in Jenkins

In Tuleap's user guide, it is said that it is possible to use Tuleap authentication within Jenkins :
"Delegate to servlet container: in our case, it means Tomcat. The Tomcat configuration file for user definition and permissions is <tomcat>/conf/tomcat-users.xml."

I don't find the tomcat-users.xml. Could you sell me a little bit more ?

request #11451 Baseline a Tuleap project

To allow the archiving and restoration (or simply packaging for exchange) of a Tuleap project it would be useful to be able to "baseline" it.

For each plugin, it should be possible to select the archiving level we want to acheive:

  • All the item (with or without history) or a selection of them (use a filter)
  • Include the sub-projects in the perimeter of the archive.

request #11449 Tuleap admin does not get email for new project confirmation

Long time ago, when a user created new project, the Tuleap admin happened to get an email with a confirmation prompt.

New projects are rare, and, therefore, it's hard to notice that notification emails are not being sent in case there is some bug or misconfiguration.

A while ago (few months already passed) I noticed that no email came to admin when a new project was created. Hence, the problem I experience today happened a while ago, so I can not pinpoint the Tuleap version it occurred in the first place.

Please confirm this to be Tuleap-wide issue or a problem only on my installation.

request #11414 From Tuleap Gerrit REST driver: Unable to create group

Hi,
I'm having the following problem to be able to migrate project repository from tuleap to gerrit. Does someone have an hint. I followed the tuleap manual about code review with gerrit.

2018-04-17T19:56:38+02:00 [8195] [error] Gerrit REST driver: Unable to create group testproject/project_admins: Client error response
[status code] 401
[reason phrase] Unauthorized
[url] https://mylocaldomain/a/groups/testproject%2Fproject_admins
2018-04-17T19:56:38+02:00 [8195] [error] Gerrit: Permissions-only project testproject not created: Client error response
[status code] 401
[reason phrase] Unauthorized
[url] https://mylocaldomain/a/projects/testproject
2018-04-17T19:56:38+02:00 [8195] [error] Gerrit failure: repo: #1, remote server: #1 Alaney Dória: Gerrit: Permissions-only project testproject not created: Client error response
[status code] 401
[reason phrase] Unauthorized
[url] https://mylocaldomain/a/projects/testproject:
#0 /usr/share/tuleap/plugins/git/include/Git/Driver/GerritREST.class.php(116): Git_Driver_GerritREST->throwGerritException('Gerrit: Permiss...')
#1 /usr/share/tuleap/plugins/git/include/Git/Driver/Gerrit/UmbrellaProjectManager.class.php(122): Git_Driver_GerritREST->createProjectWithPermissionsOnly(Object(Git_RemoteServer_GerritServer), Object(Project), 'testproject/pro...')
#2 /usr/share/tuleap/plugins/git/include/Git/Driver/Gerrit/UmbrellaProjectManager.class.php(63): Git_Driver_Gerrit_UmbrellaProjectManager->createProjectOnServers(Array, Object(Project))
#3 /usr/share/tuleap/plugins/git/include/Git/Driver/Gerrit/ProjectCreator.class.php(154): Git_Driver_Gerrit_UmbrellaProjectManager->recursivelyCreateUmbrellaProjects(Array, Object(Project))
#4 /usr/share/tuleap/plugins/git/include/events/SystemEvent_GIT_GERRIT_MIGRATION.class.php(66): Git_Driver_Gerrit_ProjectCreator->createGerritProject(Object(Git_RemoteServer_GerritServer), Object(GitRepository), 'default')
#5 /usr/share/tuleap/src/common/system_event/SystemEventProcessor.class.php(99): SystemEvent_GIT_GERRIT_MIGRATION->process()
#6 /usr/share/tuleap/src/common/system_event/SystemEventProcessor.class.php(81): SystemEventProcessor->executeSystemEvent(Object(SystemEvent_GIT_GERRIT_MIGRATION))
#7 /usr/share/tuleap/src/common/system_event/SystemEventProcessor.class.php(63): SystemEventProcessor->loopOverEventsForOwner('app', 'git')
#8 /usr/share/tuleap/src/common/system_event/SystemEventProcessorMutex.class.php(74): SystemEventProcessor->execute('git')
#9 /usr/share/tuleap/src/common/system_event/SystemEventProcessorMutex.class.php(55): SystemEventProcessorMutex->executeWithPidFile(Object(SystemEventProcessCustomQueue))
#10 /usr/share/tuleap/src/utils/process_system_events.php(32): SystemEventProcessorMutex->execute()
#11 {main}

request #11400 Artifact link table disappear in print mode

When displaying an artifact in printer mode, the table in artifact link field is not shown

request #11397 Shared Field doesn't follow change of source field

Use case :
Step 1 : I define a Select Box in a Tracker 1
Step 2 : I Create a Shared field on tracker 2, field ID is the one of SB define in step 1
Step 3 : I change the Select Box in a Multi Select Box in tracker 1

Result : The shared field in tracker 2 is still a SB and not a MSB

request #11395 Update/Remove [More information...] link into Project Description widget

The link [More information...] goes to an inappropriate page. It should be updated or remove.

request #11392 Misleading empty state in TTM when coming from a release

When I click on TTM tab in A.D » milestone, I am redirected to a page that is saying "There are no campaigns". (See screenshot)

- It should be more explicit that there is no campaign associated to the current release
- It should be styled like all empty state (ex: empty dashboard)
- It should encourage me to create a new campaign for this release
- It should not display the filter field because there is nothing to filter

If users don't know about the release they may be think that the page (or the link A.D -> TTM) is broken. That was my first thought, I had to read the documentation to understand the page.

request #11391 Document readers see last version no matter if it is approved or not

It seems that the approval table is not very useful if a not-yet-approved document is displayed to the readers.

request #11387 getPluginByName raise notice when plugin code is not available

request #11374 Prevent users to fail while adding in place a card in kanban

If your summary has a specified maximum length (say 150 chars), then the add in place in kanban let you enter more than 150 chars. However it will be rejected by the server, leaving you with an error modal and no way to fix your issue without having to lost what you just entered.

request #11352 Timetracking should be able to compute time for one day

Plus it would be a nice addition to propose quick selectors for:

  • today
  • yesterday
  • current week (monday to now)
  • last week (monday -> friday)

request #11350 Cardwall renderer on project dashboard has a broken layout

See attachement as of Tuleap 9.19.99.12

request #11329 Velocity bar chart should display the median value

In order to predict how much is the team velocity for future sprints, I would like to see the average velocity over the recent sprints (the last 7 for example). In order to not have a velocity skewed by extremely large/small velocities for some sprints, we should compute the median instead of just the arithmetical mean.

This median can be displayed in a tlp-label like team effort on the burnup chart, as a line in the chart, or both. Maybe a tooltip should highlight that only the last 7 milestones are taken into account.

request #11305 Graphical issue

There is small graphical issues with Safari (Mac OS):
1. On the welcome page, if a user account has no picture, it does not display the gray tuleap logo. Instead, you have the html missing icon warning.
2. On all other pages than the welcome page, the vertical alignement of the orange tuleap logo is not correct ; plus the search bar seems not the correct one.
Interestingly, these defaults seems to not appear on tuleap.net (this page) but do appear in demo.tuleap.org.

Made with:
Tuleap™ 9.18.99.84
Safari 11.0.3

request #11301 Structured comments in user stories

I would like to manage comments in a user story. Today we can add comments but it gets lost in the US's changelog.
We often have questions about the US and add comments that can add/change/remove acceptance criterias.

I'd be nice to have a topic system so we can talk about anything, related to the us, and reply to a topic. So if I want to see all discussions about a question, it's all grouped somewhere.

Management :
- open a topic
- respond to a topic
- close a topic
- re-open a topic
- assign a topic to someone

(I just start using Tuleap, maybe there is something wonderful to do it, but didn't find it)

request #11299 maillog plugin is broken

Fatal error: Call to undefined method Codendi_Mail::getFrom() in /usr/share/tuleap/tools/plugins/maillog/include/MaillogDao.class.php on line 106

It doesn't help to test notifications :(

request #11298 Time field on execution is always 0

The "Time" field in test executions is always set to 0. It should be filled with the actual time from the timer in the UI.

request #11294 Cannot add value 0 in a list field

request #11293 Garbage output in filename in viewvc

Given you have a file iso-8859-1 with filename with accentuated characters and accentuated content and multiple svn revisions,
When you go to viewvc diff between two revisions, then the filename is mangled (but ok in other pages).
See screenshots.

This is apparently a bug of ViewVC

request #11278 Misleading feedback after user creation

When users create an account, an envelope is displayed as feedback and contains a button, to illustrate what they will receive in their mailbox. This button is misleading since users are tempted to click on this button instead of the one in their mailbox.

request #11266 Add BOM information in CSV content

CSV content must have the BOM[1] content to be correctly displayed in Excel.

Note: The CSV lib from thephpleague [2] must do the job well, but it requires PHP >= 7.0.10
It could be done with epics #11141

[1] https://en.wikipedia.org/wiki/Byte_order_mark
[2] https://csv.thephpleague.com/9.0/

request #11259 REST API can throw 500 error

2018-03-05T14:46:41+01:00 [6136] [error] Unhandled exception: Artifact 480668 cannot be ranked with itself.:
#0 /usr/share/tuleap/plugins/tracker/include/Tracker/Artifact/dao/PriorityDao.class.php(59): Tracker_Artifact_PriorityDao->moveListOfArtifacts(Array, 480668, 0)
#1 /usr/share/tuleap/plugins/tracker/include/Tracker/Artifact/Tracker_Artifact_PriorityManager.class.php(95): Tracker_Artifact_PriorityDao->moveListOfArtifactsBefore(Array, 480668)
#2 /usr/share/tuleap/plugins/agiledashboard/include/AgileDashboard/REST/v1/ResourcesPatcher.class.php(80): Tracker_Artifact_PriorityManager->moveListOfArtifactsBefore(Array, 480668, '-1', '7846')
#3 /usr/share/tuleap/plugins/agiledashboard/include/AgileDashboard/REST/v1/Kanban/KanbanResource.php(605): Tuleap\AgileDashboard\REST\v1\ResourcesPatcher->updateArtifactPriorities(Object(Tuleap\AgileDashboard\REST\v1\OrderRepresentation), '-1', '7846')
#4 [internal function]: Tuleap\AgileDashboard\REST\v1\Kanban\KanbanResource->patchBacklog(4656, Object(Tuleap\AgileDashboard\REST\v1\OrderRepresentation), Object(Tuleap\AgileDashboard\REST\v1\Kanban\KanbanAddRepresentation), '457679')
#5 /usr/share/tuleap/src/vendor/luracast/restler/vendor/Luracast/Restler/Restler.php(1059): ReflectionMethod->invokeArgs(Object(Tuleap\AgileDashboard\REST\v1\Kanban\KanbanResource), Array)
#6 /usr/share/tuleap/src/vendor/luracast/restler/vendor/Luracast/Restler/Restler.php(304): Luracast\Restler\Restler->call()
#7 /usr/share/tuleap/src/www/api/index.php(116): Luracast\Restler\Restler->handle()
#8 {main}

request #11255 It's no longer possible to choose HTML format in planning view

When I'm creating or editing a story in the modal on tuleap.net (9.18.99.15) I can no longer select the paragrph format for a given portion of HTML text

request #11235 Burnup, when duration is too long, legend overlap

How to reproduce, heve a burnup with a duration >= 2 years

request #11231 Sort in tracker does not work for all fields

I have defined a tracker in which you can sort by all fields except one. 

I have attached an export of the tracker definition (Tracker_adsrel.xml). The field where sort is not possible has got ID="F4427".

I have used a similar tracker definition in several databases (by copying the tracker definition) and it is nowhere possible to sort after this field.

 

request #11212 No autocompletion in widget admin delegation

Add widget "Admin delegation: search project admins". The text field should be autocompleted when you enter a project.

request #11202 problem with shared field

Hello,

I got a problem with a liste when i use it with a shared field.

if i say the value 'y' in my list is checked by default, when i create an artifact in another tracker who got the shared field my value 'u' is not checked.

Only when i create and artifact on the tracker who got the original of the shared field my value 'y' is checked.

request #11194 Custom groups should be ordered alphabetically

In project » admin » groups,
In project » admin » permissions » per groups » filter,
In every permissions selectboxes,
=> custom groups should be ordered alphabetically

request #11188 email Notification when @mention is used

Hi,

following the trackers https://tuleap.net/plugins/tracker/?aid=7303 and https://tuleap.net/plugins/tracker/?aid=7207 from 2014 and this blog article: https://blog.tuleap.org/tuleap-mention, I would like to know the status of the email notification feature when someone is mentioned in a tracker.

Coming from JIRA, I particularily appreciated this feature, it avoids assigning trackers to everyone and allows to mention/notify someone only when needed on a particular topic of a discussion. The question would be how to manage access rights if someone gets notified but normally doesn't have access to this tracket... Should he have access to this particular tracker anyway or not? I don't have the answer to that.

Regards,

Julien

request #11165 Automated tests should use nginx & fpm

As we aligned everything on nginx + fpm for Tuleap, SOAP and REST tests should leverage this stack instead of httpd24 & mod_php.

Distributed Tuleap will follow.

request #11164 Fatal error when importing artifacts

debug [XML import][art #16297] Changeset(s) to create: 5
info [XML import][art #16297] art #254
debug [XML import][art #16297] initial changeset
warn [XML import][art #16297] Unexpected error at changeset 0: Unknown user format
debug [XML import][art #16297] changeset 1
PHP Fatal error: Call to a member function getValues() on null in /usr/share/tuleap/plugins/tracker/include/Tracker/Artifact/Changeset/ChangesetDataInitializator.class.php on line 37
PHP Stack trace:
PHP 1. {main}() /usr/share/tuleap/src/utils/import_project_xml.php:0
PHP 2. ProjectXMLImporter->importFromArchive() /usr/share/tuleap/src/utils/import_project_xml.php:323
PHP 3. ProjectXMLImporter->importFromXMLIntoExistingProject() /usr/share/tuleap/src/common/project/ProjectXMLImporter.class.php:196
PHP 4. ProjectXMLImporter->importContent() /usr/share/tuleap/src/common/project/ProjectXMLImporter.class.php:211
PHP 5. EventManager->processEvent() /usr/share/tuleap/src/common/project/ProjectXMLImporter.class.php:277
PHP 6. EventManager->processEventOnListener() /usr/share/tuleap/src/common/event/EventManager.class.php:94
PHP 7. PluginProxy->processEvent() /usr/share/tuleap/src/common/event/EventManager.class.php:106
PHP 8. trackerPlugin->import_xml_project() /usr/share/tuleap/src/common/plugin/PluginProxy.php:64
PHP 9. TrackerXmlImport->import() /usr/share/tuleap/plugins/tracker/include/trackerPlugin.class.php:910
PHP 10. TrackerXmlImport->importChangesets() /usr/share/tuleap/plugins/tracker/include/TrackerXmlImport.class.php:257
PHP 11. Tracker_Artifact_XMLImport->importArtifactChangesFromXML() /usr/share/tuleap/plugins/tracker/include/TrackerXmlImport.class.php:446
PHP 12. Tracker_Artifact_XMLImport->importChangesets() /usr/share/tuleap/plugins/tracker/include/Tracker/Artifact/XMLImport.class.php:188
PHP 13. Tracker_Artifact_XMLImport->importAllChangesetsBySubmitionDate() /usr/share/tuleap/plugins/tracker/include/Tracker/Artifact/XMLImport.class.php:250
PHP 14. Tracker_Artifact_XMLImport->importRemainingChangeset() /usr/share/tuleap/plugins/tracker/include/Tracker/Artifact/XMLImport.class.php:297
PHP 15. Tracker_Artifact_Changeset_NewChangesetCreatorBase->create() /usr/share/tuleap/plugins/tracker/include/Tracker/Artifact/XMLImport.class.php:365
PHP 16. Tracker_Artifact_Changeset_NewChangesetCreatorBase->validateNewChangeset() /usr/share/tuleap/plugins/tracker/include/Tracker/Artifact/Changeset/NewChangesetCreatorBase.class.php:91
PHP 17. Tracker_Artifact_Changeset_ChangesetDataInitializator->process() /usr/share/tuleap/plugins/tracker/include/Tracker/Artifact/Changeset/NewChangesetCreatorBase.class.php:251

Fatal error: Call to a member function getValues() on null in /usr/share/tuleap/plugins/tracker/include/Tracker/Artifact/Changeset/ChangesetDataInitializator.class.php on line 37

Call Stack:
0.0004 283384 1. {main}() /usr/share/tuleap/src/utils/import_project_xml.php:0
0.1309 24701904 2. ProjectXMLImporter->importFromArchive() /usr/share/tuleap/src/utils/import_project_xml.php:323
1.3649 26031648 3. ProjectXMLImporter->importFromXMLIntoExistingProject() /usr/share/tuleap/src/common/project/ProjectXMLImporter.class.php:196
1.3786 26921864 4. ProjectXMLImporter->importContent() /usr/share/tuleap/src/common/project/ProjectXMLImporter.class.php:211
1.4717 36311272 5. EventManager->processEvent() /usr/share/tuleap/src/common/project/ProjectXMLImporter.class.php:277
1.4717 36311272 6. EventManager->processEventOnListener() /usr/share/tuleap/src/common/event/EventManager.class.php:94
1.4717 36311272 7. PluginProxy->processEvent() /usr/share/tuleap/src/common/event/EventManager.class.php:106
1.4717 36311368 8. trackerPlugin->import_xml_project() /usr/share/tuleap/src/common/plugin/PluginProxy.php:64
1.4869 38436760 9. TrackerXmlImport->import() /usr/share/tuleap/plugins/tracker/include/trackerPlugin.class.php:910
44.9719 69134600 10. TrackerXmlImport->importChangesets() /usr/share/tuleap/plugins/tracker/include/TrackerXmlImport.class.php:257
44.9719 69136696 11. Tracker_Artifact_XMLImport->importArtifactChangesFromXML() /usr/share/tuleap/plugins/tracker/include/TrackerXmlImport.class.php:446
104.6884 90333824 12. Tracker_Artifact_XMLImport->importChangesets() /usr/share/tuleap/plugins/tracker/include/Tracker/Artifact/XMLImport.class.php:188
104.6885 90334216 13. Tracker_Artifact_XMLImport->importAllChangesetsBySubmitionDate() /usr/share/tuleap/plugins/tracker/include/Tracker/Artifact/XMLImport.class.php:250
104.6911 90378424 14. Tracker_Artifact_XMLImport->importRemainingChangeset() /usr/share/tuleap/plugins/tracker/include/Tracker/Artifact/XMLImport.class.php:297
104.6955 90387904 15. Tracker_Artifact_Changeset_NewChangesetCreatorBase->create() /usr/share/tuleap/plugins/tracker/include/Tracker/Artifact/XMLImport.class.php:365
104.6958 90388040 16. Tracker_Artifact_Changeset_NewChangesetCreatorBase->validateNewChangeset() /usr/share/tuleap/plugins/tracker/include/Tracker/Artifact/Changeset/NewChangesetCreatorBase.class.php:91
104.7002 90395560 17. Tracker_Artifact_Changeset_ChangesetDataInitializator->process() /usr/share/tuleap/plugins/tracker/include/Tracker/Artifact/Changeset/NewChangesetCreatorBase.class.php:251

In attachment the corresponding artifact xml. Unfortunately I cannot give the full project xml for security reasons.

request #11163 Unused natures should not be exported

When I export a project on a platform, every natures used by the platform are exported. This forces us to create all those natures on the target platform in order to be able to import the project, even if the natures are not used at all by the exported data.

request #11156 Remove cardwall css loading in agiledashboard overview

Cardwall CSS is not needed at all in agiledashboard pages except for "Cardwall" pane. It should only be loaded there.

request #11126 Backlog Modal ignores <small> HTML Tag in Static Text Field

Current State:
Before recent Backlog Modal UI changes, the static text comments could be displayed in font size smaller than in Selectbox or other functional Tracker fields, using the <small> HTML tag. Now, the Backlog modal ignores smaller font size and makes comments occupy way too much visual space (see attachment 'Backlog Modal').
This is a major UX/UI impediment.

Desired state 01:
Make <small> HTML tag Great Again!

Desired State 02:
Do not sanitize added HTML tags and css styles in static text field after re-opening for edit.
Example:
a) <p style="color: red;"> I'm static Text and I will be red on save</p>

after re-opening for editing, the Field forgets stylng and custom HTML tags

b) <p> I'm static Text and I will be red on save</p>
(See attachments: Static Text with Style HTML, Static Text has been styled, and Static Text Re-opened for editing )

request #11125 Multiple PLUGIN_GIT_ADMIN permissions for Project administrators

In Tuleap DB, on projects where I have not changed the groups that can be Git Administrators (and see the Admin. menu), the Project administrators user group (id 4) is listed 4 times in the "permissions" table.
I get 4 identical rows for each of these projects, for example:
PLUGIN_GIT_ADMIN 106 4
PLUGIN_GIT_ADMIN 106 4
PLUGIN_GIT_ADMIN 106 4
PLUGIN_GIT_ADMIN 106 4

We should provide a forgeupgrade to get rid of these duplicates. We should also find out why these duplicates accumulate.

request #11120 Upgrade to Font Awesome 5

Font Awesome 4.x is eol. We should migrate to latest version of Font Awesome.

There are some breaking changes, please read the following guide:
https://fontawesome.com/how-to-use/upgrading-from-4

request #11117 Prioritizers permissions are not well exported in agiledashboard plugin

How to reproduce:
- Set custom permissions in release planning
- export and re-import the project
- check the priotizers permissions
--> The previous custom permissions are not set up

request #11108 Time scale on burnup chart displayed in weeks

The duration of the sprint is 10 days which is pretty standard. Despite of this, the time scale is displaying in weeks. If you change the duration of the sprint to 5 days, it then displays in days.

request #11102 Better inline documentation of Done semantic

Done semantic depends on Status but there is not mention of it when editing.

There should be a more complete description of what is Done and how it's used in the semantic definition panel and links between Done and Status semantic screens.

request #11091 Need a DATE -> STAUS field Dependency in Sprint Tracker

There should be a way to trigger Status change in Sprint tracker accordingly to the current Date.

Current situation:
Planning trackers have trivial Status: "Coming", "Ongoing", "Passed" that indicate their position on the calendar timeline. Hence, there should be a way to AUTOMATICALLY trigger a Status change in Sprint tracker from "Coming" to "Ongoing" and from "Ongoing" to "Passed" depending on the current calendar Date. Currently, only MANUAL switch of Sprint status MUST be performed.

[See attachment: Sprint COMING -> ONGOING status change manually ONLY]

SIDENOTE: Since Release tracker is a natural Parent of a Sprint, so, its Status CAN be automated with Workflow Child Triggers.

[See attachment: Release status automation]

request #11090 Parent Tracker > Workflow > Trigges Selectbox UNDEFINED OPTIONS

Current State:

Any parent tracker that wants to set trigger on to a child's selectbox field,
will get a long column of options starting with actual child selectbox values AND followed by ~30 'undefined' ones. See attachment

Desired state:
you can deside. This is a cosmetic defect not affecting usability much.

SIDENOTE: there is a problem with Workflow > Triggers when importing parent trackers.
The selection fields just after words 'of type', 'set to' and 'will be set to' will become "<>" instead of original Child tracker fields like "User Story", "Closed" and "Closed", which is obviously unusable for the person who imported the parent tracker or a project template.

Hence, a warning on export attempt would be nice to see, i.e. warning showing something like "This tracker Workflow Triggers will need to be manually reset after import into another project".

OR, just remove the Workflow Triggers from attempts to XML export, and display a warning: "This Tracker's Workflow Triggers have been excluded from export".

request #11082 Overview pane html title is not accurate

Page is overview

Page title is Planning

See screenshot

request #11077 Details in tooltips on Graphs included in dashbords

I've made a Graph to show in a Pie the status of my User Stories. This graph show the percentage of US by status.
It would be nice to show the number of US , in a tooltip for example, when hoverring a certain status.

request #11075 Enlarge "I want to" field in User Stories form.

In the User Stories form, the "I want to" field is too short so that the all content cannot be seen. I think there is enough space to enlarge it.

request #11070 Add SOAP automated tests

We should not have to manually test SOAP through legacy CLI at each Tuleap Validation Party Time.

request #11064 How to get rid of deleted trackers

The list "Pending trackers removal" shows trackers that have been deleted 4 years ago.

How can I finally get rid of them? There seems to be no option in the administration area to delete them. I also did not find any hint in the documentation.

request #11058 Burndown - today computation can be different that the cached one

request #11045 Tuleap-realtime do not start

The error message is not very clear (it does not allow me to understand and solve the problem)

Here is the content of my tuleap-realtime.log

Error: listen EADDRINUSE
at errnoException (net.js:905:11)
at Server._listen2 (net.js:1043:14)
at listen (net.js:1065:10)
at Server.listen (net.js:1139:5)
at Object.<anonymous> (/usr/lib/node_modules/tuleap-realtime/server.js:47:12)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
[2018-01-24T19:58:05+0100] [LOG] New gid: 481
[2018-01-24T19:58:05+0100] [LOG] New uid: 488

events.js:72
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at errnoException (net.js:905:11)
at Server._listen2 (net.js:1043:14)
at listen (net.js:1065:10)
at Server.listen (net.js:1139:5)
at Object.<anonymous> (/usr/lib/node_modules/tuleap-realtime/server.js:47:12)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)

request #11041 I can only add from the first type of submilestone in planning

Given a Hierarchy like this:
- Releases
|-- Sprints
`-- Hackathons

While viewing a Release planning, in planning-v2, I can only add Sprints, not Hackathons.
I should have a dropdown letting me add Hackathons and Sprints

request #11023 Mediawiki shows 404 error

I installed the mediawiki plugin with "yum install tuleap-plugin-mediawiki", installed it then in the site admin view and created a new project where I enabled it.
When I now click on the link to open the mediawiki plugin in a project it shows an error 404.
It tried to reach https://<ServerIP>/plugins/mediawiki/wiki/<project_short_name>
I was not able to find this path.
How to resolve this issue?

request #11010 Have a CSS class to add margin on a tlp-badge

We often use tlp-badges to represent artifact xref. That means a badge with a reference and the artifact title: for example (story #012) My user story 12.
Every time we do this, we added a dedicated CSS class to have a margin-right on the badge
for example:
.link-to-tracker-badge {
margin: 0 5px 0 0;
}

It would be best if TLP provided such a common CSS class, for example '.tlp-badge-marged' or a better name.

A patch for this should also remove all identified "dedicated" css classes that used to do this.
Off the top of my head there are classes in: cross-tracker-search, navbar-history, heartbeat widget, angular-artifact-modal, and probably others

request #11005 Have big and small tlp-switch

request #11002 Show / hide a field based on another field value

On an artifact form, I would like to be able to hide a field (or to make it appears) based on the value that are selected on another field (new type of field relations).

request #10993 Ensure nothing is inadvertently committed by integrators while merging a contribution

Somewhere in the build pipeline it should be ensured that nothing is inadvertently committed by people with commit rights on the Tuleap repository while merging contributions.

request #10959 Some links are not rendered in mail notifications

In a tracker notification I've just received, some links are not clickable. See screenshot in attachment.

request #10938 Link to a bug dropdown should be disabled when no bug tracker is configured

Given that I have not chosen a correct " Bug" tracker id in Test Management > Admin
When I browse a test execution
Then the "Bug" dropdown should be disabled or should not appear.

Currently, trying to bind an execution to a bug results in error and no indication is made to the end-user to fix their configuration.

request #10929 Artifact updates in a tracker used in a kanban without a status semantic defined lead to fatal errors

To reproduce the issue:
1. Create a tracker without a status semantic defined
2. Create a kanban a using this tracker
3. Update an artifact in this tracker

The use case of having a kanban based on a tracker without a status semantic is weird, it should probably not be possible.

Trace:
Fatal error: Call to a member function getId() on null in /usr/share/tuleap/plugins/agiledashboard/include/AgileDashboard/Kanban/RealTime/KanbanArtifactMessageBuilder.php on line 75
Call Stack
# Time Memory Function Location
1 0.0000 257104 {main}( ) ../index.php:0
2 0.0368 7211648 TrackerManager->process( ) ../index.php:35
3 0.0368 7212240 TrackerManager->processSubElement( ) ../TrackerManager.class.php:161
4 0.0432 7704792 Tracker_Artifact->process( ) ../TrackerManager.class.php:105
5 0.0437 7754160 Tracker_Action_UpdateArtifact->process( ) ../Tracker_Artifact.class.php:670
6 0.0463 8441456 Tracker_Artifact->createNewChangeset( ) ../UpdateArtifact.class.php:68
7 0.0474 8539392 Tracker_Artifact_Changeset_NewChangesetCreatorBase->create( ) ../Tracker_Artifact.class.php:1059
8 0.1766 10023096 EventManager->processEvent( ) ../NewChangesetCreatorBase.class.php:159
9 0.1766 10023096 EventManager->processEventOnListener( ) ../EventManager.class.php:94
10 0.1766 10023096 PluginProxy->processEvent( ) ../EventManager.class.php:106
11 0.1766 10023176 AgileDashboardPlugin->tracker_event_artifact_post_update( ) ../PluginProxy.php:64
12 0.1782 10101832 Tuleap\AgileDashboard\RealTime\RealTimeArtifactMessageController->sendMessageForKanban( ) ../agiledashboardPlugin.class.php:1285
13 0.1824 10179888 Tuleap\AgileDashboard\Kanban\RealTime\KanbanArtifactMessageSender->sendMessageArtifactMoved( ) ../RealTimeArtifactMessageController.php:77
14 0.1824 10180304 Tuleap\AgileDashboard\Kanban\RealTime\KanbanArtifactMessageBuilder->buildArtifactMoved( ) ../KanbanArtifactMessageSender.php:84

request #10926 Unable to scroll horizontally when column is empty or has scrollbar

Given I have many columns or use a small resolution (so that there is a horizontal scroll)
When I put the cursor in a column that is totally empty (0 cards) OR when I put the cursor in a column that has many cards (with a scrollbar)
Then I am unable to scroll horizontally.

When a column has cards but no scrollbar (for example one or two cards) then I am able to scroll horizontally

request #10921 Ability to disable "BACKLOG ITEMS" column in scrum cardwall

The first scrum cardwall "BACKLOG ITEMS" column is never populated for setups, that are not using remaining_effort in Tasks artifacts (linked as child from User Story).
Hence, there should be a way to disable (or collapse it, like in kanban) this column to gain more space for the remaining Status columns simultaneously used in User Stories and Bugs/ Requests .

In my case this will reduce the column size from 6 to 5.
From:
BACKLOG ITEMS <---------
IMPLEMENTING
TESTING
REVIEWING
DEPLOYING
CLOSED

to:
IMPLEMENTING
TESTING
REVIEWING
DEPLOYING
CLOSED

request #10912 Add realtime in planning v2

Real time for:
- Drag & Drop:
- from a milestone to an other milestone
- in a milestone
- from backlog to milestone
- from milestone to backlog
- Edit
- Add in backlog, in milestone

request #10887 Adding members when user is already present is not consistent between members and user groups

In members when user is already member,
if we add him twice an error message is displayed

In user groups when user is already member of a static group
if we add him twice an error message is displayed

In user groups when user is already member of a dynamic group
if we add him twice, no error is displayed

request #10871 Fatal error for navbar history appearing in the error log

PHP Fatal error: Uncaught exception 'DataAccessQueryException' with message 'DB error ==> DELETE FROM plugin_tracker_recently_visited WHERE user_id = 0 AND created_on <= (
SELECT created_on FROM (
SELECT created_on FROM plugin_tracker_recently_visited WHERE user_id = 0 ORDER BY created_on DESC LIMIT 1 OFFSET 30
) oldest_entry_to_keep
) @@ /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php at line 160

request #10852 Tuleap notification enhancement

Is not easy to read the change of an artifact value when the "to" is used to separate the values.

request #10835 Tracker Notification menu appearing for non Project Admins

The Notification menu is appearing for non Project Admins. When the user clicks on it, he sees the possibility to “Include [Assigned to me] flag in subject for people who are assigned to the artifact” and the Submit button is displayed. However, on selecting the option and submitting the changes, the following error is generating. “Access denied. You don't have permissions to perform this action.”

request #10832 Empty permission delegation group can not be removed

As a siteadmin, I go to Admin / Permission delegation and create a group to test.

I cannot delete this group even if I made no modifications to it (it is empty and no user is member).

request #10830 Cross references are no longer extracted in TTM

request #10819 Forums page does not reflect the # of messages

When you click and go to the Forums page, the # of messages per forum displays (0 msgs) next each forum, when in fact there are more messages.

request #10813 nginx configuration not automatically redeployed at plugin installation / activation

When I install a new plugin, it's configuration is not automatically redeployed to it doesn't work.

 

As a workaround I can manually run /usr/share/tuleap/tools/utils/php56/run.php --module=nginx

request #10809 Max upload size should be displayed in tracker attachment field

E.g: I'd like to see that the limit is set to 5Mb before the upload of my 10Mb is done ;)

request #10802 An error message is displayed when no link is present in release FRS

How to reproduce:
In FRS, Edit a release, click on "Add link" don't fill any information,
then save, an error message is displayed:
"An error occurred in form submission, a link is not valid. Please retry."

request #10800 Strange Graphical Artifacts

Some "black" graphical artifacts appears on tuleap gui (version 9.13.99.144-1.el6, google chrome on windows) (I have more example if required)

request #10788 Computation compute artifacts of deleted trackers

It will impact burndown "force cache generation":
we should be able to compute values before and after tracker deletion

request #10769 HTML changesets with base64 images should be either refused or stripped from changests

As of today if someone paste an image in ckeditor the image will be displayed and stored in changest as a base64 encoded string.

The image is not displayed at artifact rendering time but if one edit the image, ckeditor will display it.

This will make the database growth way to much so we should either

  • refuse changests/artifacts with that kind of content
  • strip the base64 content before saving into the DB

 

request #10768 Option to turn off mail notification based on event type or role

Right know it is only possible to decide whether you want mail notifications for a tracker to be activated or not. It is not possible to turn off mail notification based on the event type (e.g. submission) or role (submitter, assignee).

It would be great if it would be possible to turn off mail notification for submitter. Such kind of notifications are literally flooding the mailbox if you are used to work with Tuleap all day long. Not kidding. Notifying the people who submitted makes sense when you do have a Service Desk and you want to notify the client that his request has been saved. It does not makes sense for power users (developers, etc.).

request #10763 Tuleap Realtime installation documentation not up-to-date

Installation documentation (http://tuleap-documentation.readthedocs.io/en/latest/administration-guide/realtime.html) not up-to-date. The plugin cannot be installed when following the instructions.

The documentation says:

The first step consists to configure yum in order to exclude nodejs packages. Edit the file ‘/etc/yum.conf’ with:

# NodeJS from scl seems to conflict with NodeJS from epel
# hence, exclude everything that come from scl for node related
# stuff
exclude=nodejs-*

You can now install the tuleap-realtime package:
$ yum install tuleap-realtime

 But this leads to an error:

# yum install tuleap-realtime
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: ftp.halifax.rwth-aachen.de
 * epel: vesta.informatik.rwth-aachen.de
 * extras: mirror.maeh.org
 * updates: mirror.maeh.org
Resolving Dependencies
--> Running transaction check
---> Package tuleap-realtime.noarch 0:1.3.0-1 will be installed
--> Processing Dependency: nodejs for package: tuleap-realtime-1.3.0-1.noarch
--> Processing Dependency: supervisor for package: tuleap-realtime-1.3.0-1.noarch
--> Running transaction check
---> Package supervisor.noarch 0:2.1-9.el6 will be installed
--> Processing Dependency: python-meld3 for package: supervisor-2.1-9.el6.noarch
---> Package tuleap-realtime.noarch 0:1.3.0-1 will be installed
--> Processing Dependency: nodejs for package: tuleap-realtime-1.3.0-1.noarch
--> Running transaction check
---> Package python-meld3.x86_64 0:0.6.7-1.el6 will be installed
---> Package tuleap-realtime.noarch 0:1.3.0-1 will be installed
--> Processing Dependency: nodejs for package: tuleap-realtime-1.3.0-1.noarch
--> Finished Dependency Resolution
Error: Package: tuleap-realtime-1.3.0-1.noarch (Tuleap)
           Requires: nodejs

request #10741 Notifications bar enhancement

As some work is enhanced on the Git plugin, I though we could enhance navbar notifications for Pull Requests.

For example :
- I'm notified when a pull request is created in a git repository where I'm "integrator"
- I'm notified when comments are posted, on my pull request (the author side), on the pull request I'm reviewing (the reviewer side)

request #10732 Manage multiple server names

Hi,

We have a tuleap instance which was initially accessible only from our internal network. We wanted to allow some external users to access it. But the problem is that we have defined an internal name which is not linked to the external IP.

For instance, internally we access to Tuleap using https://mytuleap/ and the internal users have the DNS to link mytuleap to the internal IP of our VM.

But, even if the VM is accessible now externally using a public IP, the server name can't be the same. For example, external users will access to tuleap with https://35.200.200.200

It seems that we have some problems as users can access to tuleap et browse the projets, but they can't use the Agile Dashboard (Kanban or Scrum), as it doesn't display their content when accessed from the external URL.

Is it possible to change our tuleap configuration to be able to be reached from an external IP, and from an internal name ? Or do you have any recommandation to configure it correctly ?

request #10715 Additional functionality around current user logged in

Would be nice to have a checkbox for  bind with users select boxes , so when is checked the default value shown will be the current logged in user. 

Similar for rules in transitions, would be nice to add an option to complete automatically a field type of users bind select box to :

  • Blank
  • A specific user
  • Current user

request #10714 widget last svn commits

https://tuleap.net/plugins/forumml/message.php?group_id=101&topic=40026&list=1

On my personnal page i have a widget for the last svn commit but there is nothing on the widget.

request #10695 Unable to make cross reference to a wiki page with accentuated characters

Create a wiki page named: été
In another page, create a reference to this page: wiki #été

The link should lead to the page. There should not be any &eacute displayed on the page.

request #10682 Add an option to enter the site admin email.

Currently, there is no possible to enter the admin email during the Tuleap installation process.

request #10679 Documentation for REST route get /artifact_files/{id} is uncaccurate

Documentation should precise that file is sent encoded and should precise the concern RFC

request #10672 Unable to add additional information to existing issue here on tuleap.net

I have created the issue #10666 here in this issue tracker on tuleap.net.

I was then asked to add some additional information to this issue. This is not possible because I always get an error message (see attached screenshot) when I try to submit my changes.

request #10654 Define the visibility of a comment

When the user create a new comment, it can choose the visibility of that comment. For instance, some comments must be visible by all the members of the project and sometimes other comments are restricted to the dev team.

This functionality exists in Jira (see https://confluence.atlassian.com/jira064/commenting-on-an-issue-720416302.html). When creating a comment you can click on "viewable by" and choose a group for which the comment will be visible.

request #10648 Fatal error at first login after LDAP

Fatal error: Call to a member function getLogin() on a non-object in /usr/share/tuleap/plugins/ldap/www/welcome.php on line 120

request #10646 Project names can be "Unicode/international". But now Tuleap insist on ASCII "Invalid Short Name. The name must start with a letter."

Project names can be "Unicode/international". But now, on creating new project Tuleap insist on ASCII naming  "Invalid Short Name. The name must start with a letter."

 

request #10645 "Category() -> Support Team(Developer) Global rules are not respected"

Tried to edit my previous bug report
https://tuleap.net/plugins/tracker/?aid=10644

Failed on submit with "Category() -> Support Team(Developer) Global rules are not respected"

(probably because Category=none, but not sure).

request #10620 Possibility to disable "Create Account" on login page

When using Tuleap for professionnal use, sharing project with customers, we need to control the access and not allow anybody, including robots to create users.

Even if user creation has to be approved, Tuleap administrator has other tasks to do than delete fake users.

User creation should be limited to administrator through an option !

request #10612 User without permissions cannot unsubscribe from tracker notifications

Could we improve the belowing functionality 'Unsubscribe' of the tracker :
For a person who has no more access to some tracker and which still receives notifications for some tickets.
The link returns : "You don't have the permissions to view this tracker".
Indded the requirement is not to access but just to stop receiving the notification.
Thanks
Regards

request #10609 function service_replace_template_name_in_link is declared two times

request #10586 Tuleap performance issue

Dear Tuleap,

We are having almost 32000 ticket in tuleap on a single tracker,
and the tracker is used by 100 users from different UserGroups and some of the users were mapped for multiple UserGroups.
Currently, we are having slow down issues. While we analyze the reason for slow performance.
Users when search with private search results(Saved) the issues occurs and the same works fine on the public search.
Could you please suggest a fix for this issue.

Regards,
QA user

request #10578 Avatar should no be shrinked in navbar on small resolutions

request #10576 "Start Date" is resulting in wrong a value

When I change the start date of a Release or a Sprint, this happens:

I set to (for example) 20-12-2017, but when I save, It changes automatically to 19-12-2017.
( Like: MY_DATE_DAY -1 ) Always.

The funny thing is that if u keep open the Edit and just save(without any alteration) it will keep reducing the date(-1). (19,18,17,16,...)

This makes me crazy.

request #10567 Should TLP dropdown and navbar dropdown be homogenized?

Items color and hover background aren't the same.

request #10563 "That group does not exist." upon access to tracker and not signed in

I expect to have a request for login rather than the error "That group does not exist." when I access to a tracker report.
eg: https://my.enalean.com/plugins/tracker/?report=598 (restricted url)

request #10555 Artifact modal does not clearly says that there are errors

When the submission of the artifact is not accepted by the server, the error message is displayed at the top of the form, which may be hidden; this degrades user experience

request #10554 Open list widget in tlp reorder entered values

When I edit an Open List fIeld that has value "Marshall" and I add Fender, until I submit the artifact, I espect to see "Marshall, Fender" not "Fender, Marshall". The added value should be under my cursor, not in a "random" place.

request #10552 misleading legend colors in kanban reports

As seen in the attachment we don't know which value the orange area is linked to.
The legend color and area color should be the same without user interaction.

request #10548 Renaming a kanban should close the modal

The edit modal should be closed when the action is done

request #10544 Icons in tlp-label should have margins

request #10525 REST API method to update the dependencies between 2 SelectBox fields in a tracker

As a project administrator I want to update the dependency map between 2 fields ( SelectBox fields) of a tracker using a REST method.

The REST method should look like this "PUT /trackers/{id}/dependencies"

This functionality will be done by ST.

request #10508 Reduce some font-size and line-height on small resolution using mediaqueries

request #10507 Executions deleted in test management plugin aren't removed from the Realtime executions list

When editing a test campaign and removing an execution, the reference to this execution is not removed from the executions list on the Realtime side.

This causes errors about non existing executions when updating presences afterwards.

We should remove the execution from the list when broadcasting the trafficlights_execution:delete message.

request #10494 Browse all Projects - only shows public projects.

As all our projects in our tuleap are set to private the list shown with "Browse all Projects" is always empty. It would be much more reasonable if it would show a list of all my projects - meaning all projects i'm currently a member of.

request #10485 Stand up notification configuration should be in scrum section

request #10481 Tracker visualization can't show "Open List" source data items

In Tracker visualization, chart wizard allows me to use "Open List" field as source data.  But in the generated chart, "Open List" items are not shown in the Pie/Bar chart.  All items are shown as "None" (as shown in the attached figure).

 

 

request #10476 TLP tooltip should be appendable to any DOM element

request #10473 Artifact modal when artifact link field has an error the same error is always catched

In artifact modal add an artifact link field.
Then submit a new artifact with a non existing Id
An error will be displayed
Now provide a correct id
You still will see the previous error

request #10470 Restore deleted item launch a confirm instead of a modal

In pending deleted docs, the restoration of elements should be done with a confirm modal instead of a dialog box.

request #10462 Show report modal don't display all status

Given a kanban with many different status:
- all status are not displayed in the modal
- same for the graph tooltip

request #10458 Anonymous user is been asked to reconnect on expand/collapse column

Given a non logged user,
Go on a kanban.
Try to expand/collapse a column, a popup ask user authentication.

request #10457 Tracker removal does not clean cross tracker triggers

When you remove a tracker the cross tracker triggers are not removed.

This is an issue (besides leaving stuff in the administration interface that are not relevant anymore) when you do some tracker import/export (or agile dashboard import/export) since the triggers will reference non existing tracker and will block the import.

request #10439 Transition with file field not empty generates warnings in REST routes

The stack trace is the following:

Warning: reset() expects parameter 1 to be array, null given in /usr/share/tuleap/plugins/tracker/include/Tracker/FormElement/Tracker_FormElement_Field_File.class.php on line 740
Call Stack
# Time Memory Function Location
1 0.0001 660088 {main}( ) ../index.php:0
2 0.0719 10392576 Luracast\Restler\Restler->handle( ) ../index.php:94
3 0.0846 11008192 Luracast\Restler\Restler->call( ) ../Restler.php:304
4 0.0916 11354984 ReflectionMethod->invokeArgs( ) ../Restler.php:1024
5 0.0916 11355040 Tuleap\AgileDashboard\REST\v1\Kanban\KanbanResource->patchItems( ) ../Restler.php:1024
6 0.1190 12630944 Tuleap\AgileDashboard\REST\v1\Kanban\KanbanResource->moveArtifactsInColumn( ) ../KanbanResource.php:820
7 0.1222 12753000 Tracker_Artifact->createNewChangeset( ) ../KanbanResource.php:554
8 0.1474 15724744 Tracker_Artifact_Changeset_NewChangesetCreatorBase->create( ) ../Tracker_Artifact.class.php:1124
9 0.1477 15724872 Tracker_Artifact_Changeset_NewChangesetCreatorBase->validateNewChangeset( ) ../NewChangesetCreatorBase.class.php:91
10 0.2238 18237592 Workflow->validate( ) ../NewChangesetCreatorBase.class.php:252
11 0.2257 18240496 Transition->validate( ) ../Workflow.class.php:355
12 0.2272 18279192 Workflow_Transition_ConditionsCollection->validate( ) ../Transition.class.php:211
13 0.2297 18280152 Workflow_Transition_Condition_FieldNotEmpty->validate( ) ../ConditionsCollection.class.php:122
14 0.2312 18280248 Tracker_FormElement_Field_File->isEmpty( ) ../FieldNotEmpty.class.php:141
15 0.2312 18280248 Tracker_FormElement_Field_File->checkThatAtLeastOneFileIsUploaded( ) ../Tracker_FormElement_Field_File.class.php:1185
16 0.2312 18281024 reset ( ) ../Tracker_FormElement_Field_File.class.php:740

( ! ) Warning: Variable passed to each() is not an array or object in /usr/share/tuleap/plugins/tracker/include/Tracker/FormElement/Tracker_FormElement_Field_File.class.php on line 741
Call Stack
# Time Memory Function Location
1 0.0001 660088 {main}( ) ../index.php:0
2 0.0719 10392576 Luracast\Restler\Restler->handle( ) ../index.php:94
3 0.0846 11008192 Luracast\Restler\Restler->call( ) ../Restler.php:304
4 0.0916 11354984 ReflectionMethod->invokeArgs( ) ../Restler.php:1024
5 0.0916 11355040 Tuleap\AgileDashboard\REST\v1\Kanban\KanbanResource->patchItems( ) ../Restler.php:1024
6 0.1190 12630944 Tuleap\AgileDashboard\REST\v1\Kanban\KanbanResource->moveArtifactsInColumn( ) ../KanbanResource.php:820
7 0.1222 12753000 Tracker_Artifact->createNewChangeset( ) ../KanbanResource.php:554
8 0.1474 15724744 Tracker_Artifact_Changeset_NewChangesetCreatorBase->create( ) ../Tracker_Artifact.class.php:1124
9 0.1477 15724872 Tracker_Artifact_Changeset_NewChangesetCreatorBase->validateNewChangeset( ) ../NewChangesetCreatorBase.class.php:91
10 0.2238 18237592 Workflow->validate( ) ../NewChangesetCreatorBase.class.php:252
11 0.2257 18240496 Transition->validate( ) ../Workflow.class.php:355
12 0.2272 18279192 Workflow_Transition_ConditionsCollection->validate( ) ../Transition.class.php:211
13 0.2297 18280152 Workflow_Transition_Condition_FieldNotEmpty->validate( ) ../ConditionsCollection.class.php:122
14 0.2312 18280248 Tracker_FormElement_Field_File->isEmpty( ) ../FieldNotEmpty.class.php:141
15 0.2312 18280248 Tracker_FormElement_Field_File->checkThatAtLeastOneFileIsUploaded( ) ../Tracker_FormElement_Field_File.class.php:1185
16 0.2315 18283200 each ( ) ../Tracker_FormElement_Field_File.class.php:741

( ! ) Fatal error: Call to a member function getFiles() on a non-object in /usr/share/tuleap/plugins/tracker/include/Tracker/FormElement/Tracker_FormElement_Field_File.class.php on line 1170
Call Stack
# Time Memory Function Location
1 0.0001 660088 {main}( ) ../index.php:0
2 0.0719 10392576 Luracast\Restler\Restler->handle( ) ../index.php:94
3 0.0846 11008192 Luracast\Restler\Restler->call( ) ../Restler.php:304
4 0.0916 11354984 ReflectionMethod->invokeArgs( ) ../Restler.php:1024
5 0.0916 11355040 Tuleap\AgileDashboard\REST\v1\Kanban\KanbanResource->patchItems( ) ../Restler.php:1024
6 0.1190 12630944 Tuleap\AgileDashboard\REST\v1\Kanban\KanbanResource->moveArtifactsInColumn( ) ../KanbanResource.php:820
7 0.1222 12753000 Tracker_Artifact->createNewChangeset( ) ../KanbanResource.php:554
8 0.1474 15724744 Tracker_Artifact_Changeset_NewChangesetCreatorBase->create( ) ../Tracker_Artifact.class.php:1124
9 0.1477 15724872 Tracker_Artifact_Changeset_NewChangesetCreatorBase->validateNewChangeset( ) ../NewChangesetCreatorBase.class.php:91
10 0.2238 18237592 Workflow->validate( ) ../NewChangesetCreatorBase.class.php:252
11 0.2257 18240496 Transition->validate( ) ../Workflow.class.php:355
12 0.2272 18279192 Workflow_Transition_ConditionsCollection->validate( ) ../Transition.class.php:211
13 0.2297 18280152 Workflow_Transition_Condition_FieldNotEmpty->validate( ) ../ConditionsCollection.class.php:122
14 0.2312 18280248 Tracker_FormElement_Field_File->isEmpty( ) ../FieldNotEmpty.class.php:141
15 0.2320 18282472 Tracker_FormElement_Field_File->isPreviousChangesetEmpty( ) ../Tracker_FormElement_Field_File.class.php:1187

request #10430 Support for Tuleap user groups (CI administrators)

Please add the possibility to specify Tuleap user groups to allow editing/adding jobs (like "Git administrators"). At the moment it is necessary to assign the general Tuleap project administrator role.

request #10429 Tuleap Time Tacker - Be able to log time on task like WakaTime

Propose the hability to track time  per task and present the dashboard of results por each project with information per task the time consumed in that task. The Idea would be to evolve to something like WakaTime.

Then it would be developed plugins for IDE to inform of time spent in a specific task. This is particulary helpfull for the cases when a time is estimated to develop a project and verify the exact time need to develop the project.

request #10421 Better Tuleap defaults for new comers

Default tuleap configuration is not very welcoming for new users, there are a couple of things that needs to be fixed:

  • Default documentation and help pages
  • Default templates shipped to end users
  • Default settings in local.inc

request #10399 kill Git.class.php with fire

Git.class.php is a big ball of mud. It is a nightmare to play with Git/GitActions/GitVIews each time we add a functionality in Git. We should split it in small objects.

request #10395 Do not receive email on action I did myself

For instance, If I create an artifact, I might have an option to not receive by email the summary of the artifact creation.

The same concept must be done for Git, SVN, Documents ...

request #10390 Document widget is not viewable by anybody

Look at https://tuleap.net/projects/tuleap/ without being authenticated, getting started is empty despite the document being accessible directly in docman

request #10363 Can't change validated user status

When a user has been validated, the site admin can't change his status from this page /admin/usergroup.php?user_id=xxx.

request #10349 Separate credentials from other configuration options

Putting credentials in the same configuration than other options is risky and could lead to a leak of these credentials.

On regular basis, the configuration files are requested to debug an issue or to help a user with his configuration. Users should not risk to fully compromise their instances when they provide such files.

request #10347 SVN error during 9.9 validation

When I try to commit into a repo I'm getting:

Adding         README
Transmitting file data .done
Committing transaction...
Committed revision 2.

Warning: post-commit hook failed (exit code 1) with no output.

I un-commented the 2>&1 >/dev/null

but no output either

request #10345 "This project is not categorized" displayed 2 times

request #10344 Got the "new navigation bar" tour on "Register project"

I didn't connect on the given server since the introduction of this tour and I made

  1. Login
  2. Personal page
  3. Register new project

And I got this tour

request #10326 When a widget is unavailable, we should display a placeholder so that its absence doesn't break the layout

request #10324 Enhance unit tests

Following to request #9940 , when some tests fail in a random order, we fix it.

request #10316 Problem duplicate tracker

Hello,

When you duplicate a tracker with dependancies they are not duplicated, all the link are severed.

request #10306 Worlfow -> Trigger : choose "AND" in possibilities for multi trigger

When you are in trigger, tou can add a new trigger that use multi elements but its only one item with this value OR one item with another value.

 

It would be nice if could do trigger = one child item with this value AND one another child item with another value do the trigger

request #10291 [WORKFLOW] transition issue/not working as expected

Hello,

i just setup a tracker with workflow transition like

New => On going and define that field "assigned to" must not be empty ...

but i'm able to create an artefact with status 'on going' and no one assigned ...

request #10280 Filters in cardwall

the filter does'nt work with solo items (i.e story without tasks) if you enter the assigne name.

request #10206 Automatic follow ups on task/story etc from version control

It would be great if we can have this feature. Like we have a great feature of referencing trackers with XXX #NNN format. Its great and it would be better it has a way to auto populate commit message to task follow up.
Like for example,
I have done some commit with message :

bug #256 #comment exception while getting user information is fixed, it was due to incorrect if statement.


or it could be : 

story #658 #comment implemented ..... but still validations are need to corrected

those texts will be added as follow-ups automatically within referenced tracker id. It would be a very nice feature and trackers will have more transparency/interlinking with the code commits.

 

 

request #10193 Possibility to disable "New User" on home page

Home page is accessible to anybody.
We receive a lot of requests for user creation from people who will never be approved.
Since the decision of user creation for one of our customers belongs to us, we would like to be able to disable the link to /account/register.php in navbar.
To day, we have to edit theme Template to do that.

request #10190 Wiki pages with escapable characters misbehave

We have a tuleap server running tuleap v 9.2.99.35. When creating new wiki pages, if the wiki page title contains symbols such as a single or double quote character or a backslash, the page starts exhibiting all sorts of undesirable behavior such as:

-Whenever the page title is rendered (such as hitting the preview button), tuleap adds escape slashes '\' to the front of each escapable character.
-The above breaks all links to the page within the page html since there are a bunch of \s to the page title
-When trying to delete the page, tuleap comes back with an error saying the page is not in the database (I am an admin for this wiki), but the page is still listed under pages even after logging out and back in/waiting a while.
-When viewing the wiki-pages list, several other pages are missing, and there is an error message for users at the bottom of the list saying "Wiki page is not unique. Please contact an administrator"

The above symptoms were seen with google chrome and with microsoft edge.

The problem isn't that bad since we can avoid putting these types of characters in titles, but we are looking for a workaround to delete the corrupt pages so the page listing will work.

Thank you for your help!

request #10174 Allow user to crop and to resize his avatar in his account settings

There is currently no way for the user to resize his avatar. It could be nice to have a small piece of javascript that allows the user to crop and resize its avatar.

Here is an example/idea of what could be done: https://lingohub.com/blog/2016/03/angularjs-directives-image-cropping/

request #10153 Advanced Search in Document Manager makes not sense

When you click on the "Advance Search" option it does not switch to ”advanced criteria search.

request #10147 Add a way to see the sum of the backlog points

There is currently no way to see the sum of the points of all the items in a backlog, the points are summed for each milestone view in the agile dashboard.

It would be convenient to see "Total Backlog points: N" somewhere in the page when the backlog is displayed.

Currently in a project with backlog only (so where no milestones are defined) the only way is to sum the points manually.

request #10124 "Validate" button in the document notifications is not intuitive

To remove a user that is being notified, it is not very intuitive that you have to check the name and then click "Validate". The wording does not make sense.

Comment: There is a difference in the UI from the tracker service and document service for the same functionality.

request #10110 Have a dedicated way to check that a user is site admin

As of today, site admin status is given by being project administrator of the project of id 1, "Administration Project"
Given that removing the "Administration Project" of id 1 is possible AND locks admin out to the point that they need to restore a backup (see request #10097), we should aim to remove the "admin project" and use a safer way to store site admin status.
This is going to be a long process, there are many checks almost everywhere in the platform for membership of project 1.

request #10107 new task card feild can't be in-line edit

If I add a new field to task card, it can't be inline edited. This is inconvenience because full screen view will lost after opening the task for editor.

request #10105 Unable to copy a whole docman folder via webdav

Given the following hierarchy Folder1 -> Folder1.1 -> File
If you copy Folder1 in webdav explorer and paste it in another folder (Folder2) then the copy of File fails.

request #10103 Files uploaded through webdav do not respect max_file_size setting

If you edit webdav settings and set max_file_size to 1 (in site admin » manage all plugins » webdav » details) then user can still upload big files.

request #10097 Removal of the administration project breaks Tuleap

Removal of the administration project break the Tuleap instance, it should not be possible or at least not cause issues.

See this ML thread for example: https://tuleap.net/plugins/forumml/message.php?group_id=101&topic=38540&list=1

request #10089 TTL - Page selection not available

While creating a test campaign and selecting tests to add, I can't switch to test page number 2.
Depending on the display resolution, the page selection buttons are sometime not available.
Reproduce with Safari.

request #10087 Can't access pull request dashboard when there is not an active pull request

When we are on a git repository page, the button indicating the number of active pull requests is linking to the pull request dashboard.

But when it is indicating "0 pull request" the link is not working anymore.
We can't have access to closed pull requests.

request #10085 When an artifact is moved in a complex agiledashboard structure no 409 is thrown

Given the followin structure
Top Backlog
Release A
Sprint B
Sub-sprint C
-> Bug 1

Go on release A planning, open sprint B, move Bug1 directly in Release A backlog,
no 409 error is thrown, we should never be able to move from child to grand father.

request #10049 Tracker CSV import should check if a list value is hidden or not

If you have a static list field (e.g. "Status") with two values with the same label (e.g. "Verified") and the first value is hidden, when you import artifacts with status set to "Verified" using CSV import, imported artifacts will have their list field set to the hidden value instead of the visible one.

 

request #10041 Angular applications are improperly cached by revsere proxy

Our angular applications (kanban, planningv2, frs, etc) are not fingerprinted.

Hence, when we release a new version and a reverse proxy cache assets in between, the old version is still served and it might conflict

 

request #10040 REST tests do not rely anymore on constants

request #10033 Realtime doesn't reconnect

Everytime there is a network issue I'm disconnected from RT server and I'm asked to reload my page.

Apps (kanban or TTL) should reconnect automatically.

+ on firefox, when I click on a link in TTL I get a message about disconnection + must reload

request #10024 artifact link edit with myself and a required option

Given an artifact link field, with a required property
if I have only one artifact (myself) I can by pass the required link.

link to myself is not saved and no link are store in db.

request #10023 Project Dashboard Error

When I was install new Tuleap in centos6.6, and we create a project and go to the Project Dashboard we found all code in there.

we also screen short with this.

request #10022 Inconsistencies in required fields behavior when editing an artifact

When I go to an artifact, if there are required fields that are still empty, then those fields are automatically switched to edition mode. This is not the case for Computed and PermissionsOnArtifact fields.

request #10011 TLP modal: can open more than one modal « what happen next will frighten you — nterray »

request #10010 TLP modal: autofocus on first input (modal danger, focus on cancel)

request #10009 Avatar in small autocompleter is not well handled

request #10008 BurningParrot: have a condensed mode

Maybe we could propose a condensed mode (cf. Gmail)

request #10007 Manage SVN in site admin sidebar: why not in the plugins section?

request #10006 System events list: created at + time taken (instead of three dates)?

request #10004 Every time a project is mentioned in Tuleap, display its id (and it should be a link?)

request #10002 Site admin homepage: click on the diagram should lead to the active projects list or deleted projects list

request #10001 Add breadcrumbs in project, users… in site administration

request #10000 Merge plugin properties with plugin configuration

A plugin can be configured in plugin properties AND plugin configuration. Maybe we could merge this two screens.

request #9998 Add a confirmation modal on project details page in site administration

request #9995 System events in site admin homepage: maybe they could take more place on the dashboard

request #9994 System events in site admin homepage: all system events status should be visible without scrolling

request #9991 BurningParrot labels: Delete (yes) vs Remove (no), Close (if only choice) vs Cancel

"Delete" should be preferred instead of "Remove".
"Cancel" should be preferred instead of "Close", unless "Close" is the only choice.

request #9990 BurningParrot sidebar: active link in the sidebar is not highlighted

request #9988 BurningParrot sidebar: collapse too thin

request #9984 Bug in SystemEvents regarding date headers

Sometimes, date headers are empty

request #9981 Assigned/submitted Tracker widget is slow and unaccurate

"My artifacts" widget has severe performance hurdle. It's reported to take more than 40s for some users and according to slow queries log, it can take up to 200s!

While inspecting the query, we found that, in addition to performance issue there is a functional issue, the query is overfiltering "Assigned to" artifacts and report less artifacts than there actually are.

For the 40s user, we got better results (still 23s...) but the number of returned results is way too high (~2000 artifacts returned).

If obviously not usable to have 2000 artifacts on "My personal page", even if we manage to fetch the data faster. So the question is: how this widget is actually used or could be more useful by displaying less information ?

request #9978 Tuleap sessions hang constantly, need browser restart

We have been experiencing constant hangs with Tuleap. No pages can be loaded after it has frozen until restarting the browser or sometimes after varying timeout (from several seconds to tens of seconds or minutes)

The problem seems to happen with all browsers.

The hang seems to be related to *cancelling* a page load. Problem is likely to happen with pages with embedded lists that take time to populate and are populated with asynchronous http request. Some examples:

- "My Personal Page" when using "My Artifacts (Tracker V5)" which
loads list of issues asynchronously and can take very long to load

- Agile dashboard planning view when opening "milestones" folder

When user navigates to next page without waiting for the page to fully load, the pending asynchronous request is cancelled. This seems to trigger the bug.

I have observed following when making a new HTTP requests after the session has frozen:

1. New HTTP requests are received by the server but server does not
respond at all (no bytes are received).
2. Deleting cookie PHPSESSID will fix the problem.

The following link provides some links provides some tips: http://konrness.com/php5/how-to-prevent-blocking-php-requests/

request #9976 Do not over compute disk statistics

When nothing changed, there is no reason to re-check disk size

request #9969 Two suspicious code fragments

Hi.

 

We've checked your project with static analysis tool AppChecker. It found two suspicious code fragments:

1) https://github.com/Enalean/tuleap/blob/d0053a4e617d11eb8fe3f6fa9641959f77875c83/plugins/docman/include/Docman_VersionDao.class.php#L340

$sql = 'SELECT v.id, v.number, v.item_id, v.user_id, v.label, v.changelog,'.
' v.create_date as date, v.filename, v.filesize, v.filetype, v.path '.
' FROM plugin_docman_version_deleted v '.
' WHERE v.item_id = ' . $this->da->quoteSmart($itemId);
' AND purge_date IS NULL';

 

Last string ' AND purge_date IS NULL' is not concatenated to SQL query

 

2) http://https://github.com/Enalean/tuleap/blob/e9c822b4042af43e80dcf98b2c35b58db147ea78/src/common/wiki/phpwiki/lib/HtmlParser.php#L353

 

if (!$alignment and preg_match("/float(right|left)/i",$css_class,$m));
  $alignment = $m[1];

Body of if statement actually is empty. Probably there is an extra semicolon.

 

 

AppChecker web-page - https://cnpo.ru/en/solutions/appchecker.php

request #9968 Can't search for artifacts assigned to suspended user

In the Tracker reports,
given a list field 'assigned_to' bound to a dynamic user group (like project members)
and given I had set the 'assigned_to' value to 'edobransky' for an artifact
and given that the user 'edobransky' is suspended
when I search "assigned_to = 'edobransky'" using TQL (expert mode)
Then I get the error
> The value 'edobransky' doesn't exist for the list field 'assigned_to'.

But I can see the 'edobransky' in the report when I enter no query, so I expect to be able to search using this value.
This only happens for dynamic ugroups, if the list if bound to a static (user-created) ugroup, suspended people are returned as well.
When I search in normal mode (not expert mode), 'edobransky' is not selectable (it's not in the criterion selectbox).

This means that if I assign artifacts to a project member and then suspend them, I will never be able to search for artifacts that were assigned to them.

request #9964 Tooltip goes crazy when the resource is not accessible by the user

Please see attached screenshot.

request #9963 How to change default sent Emails

How to change the default Emails:

forge__artifacts@localhost.localdomain
and
noreply@localhost.localdomain

?

request #9958 Bind a selectbox to "Authenticated users" » the box is `empty`

I think that the list of "authenticated users" should be the same as "registered users".

request #9935 Mathematical Field

It would be nice to have a field type that can mathematically calculated from other fields in the same tracker. With basic math such as *, /, +, -

Such as
Field 1 : Float Field called Percent Progress
Field 2 : Estimated Number of days

I would like to have a field such as remaining number of days which is:
Estimated Number of days - (Estimated Number of days * Percent Progress)


request #9913 Potential regular expression denial of service through Tuleap Realtime dependencies

Tuleap Realtime has a dependency to convict < 2 which himself depends on a vulnerable version of moment [1]

In our context it is not really exploitable but potentially vulnerable dependencies should be updated.


[1] https://github.com/moment/moment/commit/663f33e333212b3800b63592cd8e237ac8fabdb9

request #9905 Enabling image inclusion Into submission/follow-up fields

In many tracker discussions, using images in folMinor-up messages would be very helpful. We often exchange screenshots for example.
In the current system by switching to html input it is possible to include images but only via an url link.

This is almost useless as user will never start by uploading the image to some web server and then type their folMinorup.

As a consequence, either user work-around using an image by an explanation or use an attachment which is less informative.

 

request #9902 Cross reference does not work in embedded files

On tuleap-campus, the references are no more processed in an embedded file

request #9895 Size of the "Single line text" field is not respected in Dashboard modal view

Bug:
The Tracker's "Single line text"="String" field is useful for Summaries in any trackers that are parents to User Stories, i.e. Epics, Themes, Adventures. However, when editing artifact fields from the screen modal within Agile Dashboard Backlog (=editing fields NOT from tracker), the SIZE of the "String" field is displayed the same as for Select Boxes (28 characters), albeit being set to for example 56 in tracker. Hence, the Summary string is cropped to 28 chars in length. This should be fixed in the backlog modal view, so that "String" field respects its SIZE setting like it is done by the "Text" fields, i.e. "Text" fields do stretch accordingly to their in-tracker size setting.

Additional enhancement:
to extend the size of "Selectbox" from 28 to 56 chars in the backlog modal view.
Rationale: some Workflow Process Definitions implemented as Selectbox values (like "Ready for Deployment" etc.) are slightly longer than 28 chars, and thus do not display nicely.

request #9889 Multi-selectbox required - field can be empty

Given a multi-selectbox field with Required property:
- on create, at least one value must be selected
- on update, field can be empty.

The update condition is wrong when field is required, empty value should
never be an acceptable value.

request #9888 Fix the privacy of public forum in private projects

Fix the behavior for :
◦Existing projects that are private with public forums
◦Projects that switch from public with public forums to private
It's a follow-up to the (request #9822)

request #9877 Impossible to update a release in FRS

When clicking on "Update Release" button, I've got the following javascript error:

"ReferenceError: release_mode is not defined"

The javascript error is due to permission preconditions:
- given a public project with FRS permissions set for registered users, when the project is switched to private, then the FRS permissions are not updated to project members
- This causes the javascript error

request #9875 Tracker events must be logged in a dedicated log file

request #9866 TV5 comment collapse lacks a visual cue + collapse-all

As discussed today on tuleap-devel, TV5 followup comments can be collapsed/expanded by clicking on otherwise inactive areas of the header line (see invoke('toggle')), but there is no visual cue. A (+)/(-) icon played that role in TV3, it is just missing in TV5.

TV3 also had a collapse-all/expand-all button, which is important for very lengthy histories.

Please restore this functionality in TV5, which cannot be claimed to be iso-functional with TV3 until then.

request #9843 color card based on select field on cardwall renderer

Hi
Is it possible to color the entire card on a cardwall renderer based on a specific field ?
I would like to have a "urgency" field (not urgent, very urgent) and be able to color the card red when it's urgent.
Is this doable ? Interesting ?
Cheers
Rui

request #9836 Import content from SVN core into SVN Plugin

Done:
-> repository import (with svnadmin dump)
-> Tuleap settings (SvnaccessFile, Notifications...)

Remains:
-> add a clit tool to purge already migrated repositories
-> externals url should be correct after migration

request #9835 New user must not be able to use an already in use email address

request #9823 Cardwall renderer columns based on a multi-select field

I would like that on the cardwall renderer of a task lisk I can choose a field which is multi-select for the columns. The cards would then be "repeated" on all corresponding columns.

request #9821 Nouns have to be singular to agree with the preposition

  1. "Add a User Stories" (Correct - "Add a User Story")
  2. "Add a Releases" (Correct - "Add a Release")

request #9806 Message feedback incorrect after adding new action on transition

When you add a new action on transition feedback messages are "Permissions on transition have been updated." and "Empty fields on transition have been updated." not related to a new action.

request #9798 Fix user filter in project admin user permissions

Entering a user with the autocomplete field never filters the list

request #9777 Project FTP Space, private and/or pub

Our goal is to have a directory for storing files and documents like a cloud drive for each project. In the Tuleap file structure there are two directories of interest for storing project files and documents. 

  1. First there is the directory under "/home/groups/myProject/private"
    1. no one is able to FTP or SFTP into this directory. I was only able to get the root user to have access which does not seem secure. 
    2. How to make this directory accessible to logged in users with read write ability?
  2. Second is the directory under "/var/lib/tuleap/ftp/pub/myProject"
    1. The anonymous FTP space is literally anonymous and public which is not OK for our purposes, we want to store private files and docs only accessible by registered users
    2. Is it possible to make this directory accessible to only logged in users instead of public to the world? This would be the best option. 

We are using OwnCloud to connect the external drives for Google Drive like access. In the mean time I simply created a directory like so, "/home/groups/myProject/share," and then the following:

chmod -R codendiadm /home/groups/myProject/share

With my own Share directory only useable by condendiadm I was able to connect it to Owncloud and share the folder with everyone directly on their own personal computer, awesome! My last question, is my "share" directory under the group safe? Will this confuse or cause any problems with other Tuleap services? 

request #9767 Reference artifacts from other Tuleap sites

For example, on my Tuleap site, me and other users are submitting bugs and issues found with the site. I then come to the Tuleap project Bug tracker and submit the valid issues for resolution. It would be a nice feature if I could reference the tuleap.net artifact on my local tracker the same way I can reference artifacts local to my site.

request #9764 Quirk in editing front page news items

Editing a "News" item that has been submitted to the front page requires an Admin to open the News item specifically from the Approved News section and making changes as needed then rejecting the article then re-approving it.

request #9763 Initial sign-in timezone selection

When signing in for the first time, you are asked to select a timezone. The timezone selection apparently doesn't apply anywhere. Please click your username in the upper-right corner of your screen and change your timezone from "GMT"

request #9762 Deleting news message.

Deleting a message submitted as news is futile. News messages are saved as a forum topic and can only be deleted if you know the message ID which is nowhere to be found.

request #9755 Can not delete LDAP user from Tuleap Database

Hi,

Conflit from tuleap user Admin and Freeipa user Admin

We have integrated Tuleap with Freeipa. By default Freeipa have the user admin. For the first time because all the filters wasn't on during the ldap configuration, after the configuration was correct when I authenticated it logged in as admin, but not from Tuleap but from LDAP.

Now I add a ldap user filter to allow only users that are in developer group and admin is not there. But still I cannot delete this admin from Ldap. Because this issue are not able to login as admin when tuleap is configured with ldap.

request #9726 Disappearing card on a newly created column until refresh

Edit the Kanban from the "Edit this Kanban" button on the Kanban view and create a new column confirm and close the modal.
Without refreshing the page move a card from any column to the newly created column.
The card disappears until the page is refreshed.

request #9723 Sorting on the "Submitted by" does not work

Sorting on the "Submitted by" field does not work. I tried with Login Name as well as Real Name. There were no other columns being sorted.

request #9721 Fatal error in project restrictor for mediawiki

The generated url is wrong for projects in mediawiki restrictor and leads to a fatal error:
Fatal error: Call to a member function getID() on a non-object in /usr/share/tuleap/plugins/mediawiki/www/LocalSettings.php on line 118

request #9719 Certify OpenID Connect plugin

It could be great if the implementation in Tuleap of OpenID Connect as a relying party can be verified against the conformance tests of the OpenID foundation.

Tuleap implementation should at least pass the Basic RP profile.

As of today, these tests for RP are still in pilot phase.

https://openid.net/certification/rp_testing/
https://openid.net/certification/rp_submission/

request #9695 Wiki anchor and referring to the anchor

I found the Bug using the wiki anchor!
When I clicikg on the link with anchor - I going to a head, but this head is cuted by Tuleap MENU (see screenshot).

Yes, I can to placing anchors a little higher of the heads, but its too longly...

Maybe You can develop follow offer:
When user cliking on the link with anchor - its going to a head + size Tuleap MENU.


see
https://tuleap.net/plugins/forumml/message.php?group_id=101&topic=37449&list=1

This is my first bug report on Tuleap - do not judge strictly if not in detail fill in the fields.

Please, say me a decision by this bug, because I need to write a lot of Wiki pages with anchors - and I need to know: how placed anchors?
1. little higher of the heads - If You dot'n fix this bug
2. normally - If You fix this bug in the near future )

request #9680 Admin Page /admin/ not loading for new projects confirmation

The /admin/ pages of the site admin user is crashing.
History: worked fine a month ago.
1-2 weeks ago: after registering a new project, the confirmation link failed to load the /admin part of the page. Now: same failing behaviour (I hoped the problem was temporary and would be resoled with daily updates).

Error log of Apache HTTPD as of today:

PHP Fatal error: Call to a member function header() on a non-object in /usr/share/tuleap/src/common/admin/AdminPageRenderer.php on line 31

Additional Software Versions Info:
Sun Nov 27 03:43:14 2016] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 SVN/1.6.11 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips mod_python/3.3.1 Python/2.6.6 mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations

request #9679 No iFrame with Hudson

So I have been fighting with Hudson now for a while. Now I finally got Hudson all up and running and all of a sudden Tuleaps "Continuous Integration" section on the builds shows an empty iFrame and it links to something like this "http://localhost:8089/hudson/job/my-project-build/" which does not resolve to anything because it's localhost. 

I was unable to find any errors anywhere. Earlier the iFrames and everything with Hudson worked fine, then right after I got Hudson to finally clone a GIT repo from Tuleap they disappeared and now point to localhost. I also restarted the server in the mean time, could something not have turned on correctly? 

Other steps I took include adding my CI server to known hosts by using SSH and is asks to add to known_hosts file. 

Anyone know how to get the iFrame to come back?

Any advice on how I can debug the iFrames?

request #9672 Can't see artifacts in Scrum or Kanban

Can't see artifacts in Scrum or Kanban in Safari after update to 9.1.99.24

If I tried to send failed query(I changed mine tuleap dress, be careful):
https://tuleap-adress/api/v1/projects/101/milestones?fields=slim&limit=50&offset=0&order=desc&query=%7B%22status%22:%22open%22%7D

I got the message:
{"error":"Referer doesn't match host. CSRF tentative ?"}

request #9671 Hidden charts in personal dashboard

Dear Tuleap,

We have 8 projects currently configured in tuleap. Each project has a list of 3 charts and 2 list view items.

As a User when I try to add more than 3 charts and list view from 8 of my project to my personal dashboard. The values of my previous charts and lists were getting hidden.

Please suggest us with a fix for the above issue (or) is there a possibility to change the pagination

Regards,
Markford

request #9660 get /projects/{id}/trackers | returns incorrect number of tracker define in project

get /projects/{id}/trackers is returning one less tracker then what is defined in the project. In attached images please note there are 11 trackers in the web interface.

Bugs ( 0 total ) Epics ( 2 open / 2 total )
Features ( 9 open / 9 total ) 
Kanban Tasks ( 0 total ) 
Project Charter ( 1 open / 1 total ) 
Releases ( 0 total ) 
Request New Feature ( 0 total ) 
Sprints ( 0 total ) 
Stories ( 11 open / 11 total ) 
Tasks ( 17 open / 17 total ) 
Testing ( 5 open / 5 total ) 
In the REST API it only returns 10 trackers 
Bugs
Epics
Features
Kanban Tasks
Project Charter
Releases
Request New Feature
Sprints
Stories
Tasks
We are missing the last tracker: 
Testing

JSON

[
   {
      "id":179,
      "uri":"trackers/179",
      "html_url":"/plugins/tracker/?tracker=179",
      "project":{
         "id":111,
         "uri":"projects/111",
         "label":"IBN-EMP Sales Order Entry Pad"
      },
      "label":"Bugs",
      "description":"Bugs Tracker",
      "item_name":"bug",
      "fields":[ ],
      "structure":[ ],
      "semantics":{ },
      "workflow":{ },
      "parent":{ },
      "resources":[ ],
      "color_name":"fiesta_red"
   },
   {
      "id":180,
      "uri":"trackers/180",
      "html_url":"/plugins/tracker/?tracker=180",
      "project":{ },
      "label":"Epics",
      "description":"Epics are a collection of features.\r\n* Logical Grouping of Features",
      "item_name":"epic",
      "fields":[ ],
      "structure":[ ],
      "semantics":{ },
      "workflow":{ },
      "parent":{ },
      "resources":[ ],
      "color_name":"plum_crazy"
   },
   {
      "id":181,
      "uri":"trackers/181",
      "html_url":"/plugins/tracker/?tracker=181",
      "project":{ },
      "label":"Features",
      "description":"Features - Are services provided by the system that fulfill stakeholder needs. In most cases a Feature should be a testable function independent of the full project.",
      "item_name":"feature",
      "fields":[ ],
      "structure":[ ],
      "semantics":{ },
      "workflow":{ },
      "parent":{ },
      "resources":[ ],
      "color_name":"deep_blue"
   },
   {
      "id":182,
      "uri":"trackers/182",
      "html_url":"/plugins/tracker/?tracker=182",
      "project":{ },
      "label":"Kanban Tasks",
      "description":"A tracker of tasks for kanban",
      "item_name":"kanbantask",
      "fields":[ ],
      "structure":[ ],
      "semantics":{ },
      "workflow":{ },
      "parent":null,
      "resources":[ ],
      "color_name":"inca_silver"
   },
   {
      "id":183,
      "uri":"trackers/183",
      "html_url":"/plugins/tracker/?tracker=183",
      "project":{ },
      "label":"Project Charter",
      "description":"Project Charter defines the detail and objective of the project. There are 2 section defined for clients approval:\r\n\r\n1. \"Project Charter\" to captures the vision of the Client\r\n* Provides a Vision of project\r\n* Goals and Dependencies\r\n* Scope both In-Scope and known Out-of-Scope\r\n* Known Constraints and Known Risks\r\n* Agreement to move forward with \"Project Plan\", \"Discovery\" and to pay the cost of doing so\r\n\r\n\r\n2. \"Project Plan Estimation\"\r\n* Discovered Constraints and Discovered Risks\r\n* Create Features list\r\n* Define Epic Stories\r\n* Layout User Stories\r\n* Estimate Tasks and assign hours to each Tasks\r\n* \"Project Plan Sign Off\" agreement to begin and pay the cost",
      "item_name":"Charter",
      "fields":[ ],
      "structure":[ ],
      "semantics":{ },
      "workflow":{ },
      "parent":null,
      "resources":[ ],
      "color_name":"clockwork_orange"
   },
   {
      "id":184,
      "uri":"trackers/184",
      "html_url":"/plugins/tracker/?tracker=184",
      "project":{ },
      "label":"Releases",
      "description":"releases",
      "item_name":"rel",
      "fields":[ ],
      "structure":[ ],
      "semantics":{ },
      "workflow":{ },
      "parent":null,
      "resources":[ ],
      "color_name":"sherwood_green"
   },
   {
      "id":185,
      "uri":"trackers/185",
      "html_url":"/plugins/tracker/?tracker=185",
      "project":{ },
      "label":"Request New Feature",
      "description":"Request a New Feature to be added to the product or solution.",
      "item_name":"request",
      "fields":[ ],
      "structure":[ ],
      "semantics":{ },
      "workflow":{ },
      "parent":null,
      "resources":[ ],
      "color_name":"chrome_silver"
   },
   {
      "id":186,
      "uri":"trackers/186",
      "html_url":"/plugins/tracker/?tracker=186",
      "project":{ },
      "label":"Sprints",
      "description":"sprints",
      "item_name":"sprint",
      "fields":[ ],
      "structure":[ ],
      "semantics":{ },
      "workflow":{ },
      "parent":{ },
      "resources":[ ],
      "color_name":"acid_green"
   },
   {
      "id":187,
      "uri":"trackers/187",
      "html_url":"/plugins/tracker/?tracker=187",
      "project":{ },
      "label":"Stories",
      "description":"User Stories",
      "item_name":"story",
      "fields":[ ],
      "structure":[ ],
      "semantics":{ },
      "workflow":{ },
      "parent":{ },
      "resources":[ ],
      "color_name":"lake_placid_blue"
   },
   {
      "id":188,
      "uri":"trackers/188",
      "html_url":"/plugins/tracker/?tracker=188",
      "project":{ },
      "label":"Tasks",
      "description":"task",
      "item_name":"task",
      "fields":[ ],
      "structure":[ ],
      "semantics":{ },
      "workflow":{ },
      "parent":{ },
      "resources":[ ],
      "color_name":"flamingo_pink"
   }
]

 

 

request #9659 First LDAP authentication notice

Given an existing LDAP account "gerard",
and given that no user account exists on Tuleap DB for "gerard"
and given the LDAP property sys_ldap_default_user_status = P
When I log into Tuleap for the first time
Then a notice is displayed and a feedback "Pending Account" is displayed.

There should not be a notice
The stacktrace is in attachment.

request #9656 Deploy a gerrit <-> tuleap bot to ease link between patchset and requests

As a first helper (and an excuse to play with Golang...) deploy a hook to automatically add a reference to a gerrit review that reference a request:

https://tuleap.net/plugins/git/tuleap/tools/gerrit-hooks

Acceptance criteria:

  • Look for "request #XXX" or "request #XXX" pattern in the whole commit message (subject & body)
  • if there is a corresponding artifact and the reference "gerrit #YYY" is not already present in the follow-up comments, the bot will add "Review gerrit #XXX"

request #9643 Your request doesn't appear to be valid

Good Morning,

When I try login or logout in tulep the message show:

Your request doesn't appear to be valid

request #9632 Javascript error after multiple drop into in planning v2

In Agiledashboard plugin, in Planning-v2

Given User story A with 1 child Task Alpha
and given User story B without children
When I drag Task Alpha and drop it into B
and I drag it from B and drop it from A
and repeat the above twice
Then there will be a javascript error from the dragular library: Uncaught TypeError: Cannot read property 'parentNode' of null

After this error is triggered, it can cause problems with drag&drop and "ngRepeat:dupes" errors.
It happens on 'cancel' event in dragular, 'null' here is the dom element that was dragged (the backlog item).
I think it might be caused by the fact that the 'drop into' mechanism removes the item that was dragged from the dom.

request #9624 Projects dropdown menu

The projects dropdown, on the main task bar, doesnt work on tuleap 9.0.

request #9582 Version changes in the marketplace/tuleap update site are not reflected in the "Install more connectors" view from Tasks Repositories (Mylyn)

As seen in bug #9532, installing the Tuleap Connector by using the Mylyn wizard made for installing other connectors still installs an old 2.2 build from 2014. I don't know how it works and where it fetches those versions, so I asked on the mylyn-dev mailing list.

The version from the marketplace (and thus the one on the update site hosted on tuleap.net) and the one in that wizard should always be the same, to avoid any further confusion.

request #9560 Required fields is not recognized when field format is HTML

Steps to reproduce:
1. Open (Manage Field Usage) of Bug Tracker.
2. Add a new (Text Field)
3. Make this field as (Required) Field.
4. Now try to add a new bug from agile dashboard.
5. Change the format of the added new field to (HTML)
6. Do not enter anything the field value of this field.
7. Click on (Save Changes).

Expected Behaviour:
New added bug cannot be added because the required field has no value in it.

Actual Behaviour:
The new bug is added successfully, ignoring the required field.

request #9558 In service usage, when project has specials characters it can break the CSV export

When the project has specials characters like & without spaces arround
it can split project name in new columns.
Example "aa&&bb" will break import "aa && bb" won't break import

request #9554 Overall dashboard view for all projects

Dear Team,

We are running 10 Projects in Tuleap. As a TL I want to monitor all the project upfront instead of going to each project in tuleap. Is there a possibility to display the project status upfront in "My personal Page" or a seperate "Link"

request #9549 After creating a kanban column dropping a card does not appear

Create a kanban column and drop a card in this column, then the card does not appear in the column.

request #9543 Update Scrum template

A few things can be imporved:

  • In user stories, sprint and releases "Remaining effort" and "Initial effort" should be computed fields
    • so people can choose whether they set the value or let the system compute
  • Add a computed field for Epics: remaining effort and initial effort
    • so we have an aggregate view of epic cost
  • Activate cardwall on Release planning
  • Correct spelling of Ongoing
  • A few layout changes

request #9532 Eclipse Tuleap Plugin not working with 8.x

Recently we have just performed a full re-install of Tuleap since our old one was quite out of date. We held off so long on upgrading because every time we tried, afterwards, the Eclipse Mylyn Tuleap plugin would start failing.

Now we have a new OS, new server, new Tuleap, new server admin, new Eclipse, new SSL, and basically new everything else too. Now that everything is brand spankin new I can truly confirm Eclipse can't connect to the new Tuleap. We still have our older Tuleap and Eclipse connects just fine. 

Here is the response from our new tuleap in eclipse:

POST /api/v1/tokens

body:

{"username":"someUser","password":"(hidden in debug)"}

________

response:

HTTP/1.1 201 Created

body:{"user_id":100,"token":"sometoken","uri":"tokens\/sometoken"}

An exception stack trace is not available.

Now here is the response from our old Tuleap:

POST /api/v1/tokens

body:

{"username":"someUser","password":"(hidden in debug)"}

________

response:

HTTP/1.1 200 OK

body:

{"user_id": 100,"token": "sometoken","uri": "tokens/sometoken"}

Now why in the heck does the newer tuleap return a 201 and the older one returns a 200? The fact both will return a valid token is really weird. I used both tokens from eclipses attempt at logging in, then used some curl to test them out and I received all kinds of data back from new and old. 

I think it has something to do with the "/api/v1/tokens" enpoint. On all the docs for the API I see it is 3.x now. Also the docs say a token is at the "/api/tokens" endpoint, i.e. no v1 in the enpoint. 

The following commands are both on the new tuleap and they kinda show the issue:

 - this one does not have the v1 and it works with a 200 response. 

curl -XPOST --header 'Content-type: application/json' -d '{"username":"someuser", "password":"somepasword!"}' https://tuleap.example.com/api/tokens -i

 - when the same command is run with the v1 you will receive a 201 response. 

curl -XPOST --header 'Content-type: application/json' -d '{"username":"someuser", "password":"somepasword!"}' https://tuleap.example.com/api/v1/tokens -i

Is anyone else having this issue? Can anyone point me in the right direction to fix this? 

request #9521 Fatal error in Kanban when using semantic status with non static values

Given I set up a tracker with a selectbox bound to users and I set it up as semantic status
When I try to access the kanban
Then a fatal error will be displayed

 Catchable fatal error: Argument 2 passed to AgileDashboard_KanbanColumnFactory::isColumnRemovable() must be an instance of Tracker_FormElement_Field_List_Bind_StaticValue, instance of Tracker_FormElement_Field_List_Bind_UsersValue given, called in /usr/share/tuleap/plugins/agiledashboard/include/AgileDashboard/KanbanColumnFactory.php on line 100 and defined in /usr/share/tuleap/plugins/agiledashboard/include/AgileDashboard/KanbanColumnFactory.php on line 118
Call Stack
#	Time	Memory	Function	Location
1	0.0000	637744	{main}( )	../index.php:0
2	0.0713	3840176	AgileDashboardPlugin->process( )	../index.php:30
3	0.0760	4852904	AgileDashboardRouter->route( )	../agiledashboardPlugin.class.php:389
4	0.0776	5163824	AgileDashboardRouter->renderAction( )	../AgileDashboardRouter.class.php:198
5	0.0776	5163824	AgileDashboardRouter->executeAction( )	../AgileDashboardRouter.class.php:352
6	0.0776	5164264	call_user_func_array ( )	../AgileDashboardRouter.class.php:372
7	0.0776	5164512	AgileDashboard_Controller->showKanban( )	../AgileDashboardRouter.class.php:372
8	0.0797	5374080	KanbanPresenter->__construct( )	../AgileDashboardController.class.php:365
9	0.0801	5410992	Tuleap\AgileDashboard\REST\v1\Kanban\KanbanRepresentationBuilder->build( )	../KanbanPresenter.class.php:65
10	0.1095	7676680	Tuleap\AgileDashboard\REST\v1\Kanban\KanbanRepresentation->build( )	../KanbanRepresentationBuilder.php:91
11	0.1109	7709576	Tuleap\AgileDashboard\REST\v1\Kanban\KanbanRepresentation->setColumns( )	../KanbanRepresentation.php:115
12	0.1109	7709576	AgileDashboard_KanbanColumnFactory->getAllKanbanColumnsForAKanban( )	../KanbanRepresentation.php:134
13	0.1134	7842000	AgileDashboard_KanbanColumnFactory->instantiate( )	../KanbanColumnFactory.php:60
14	0.1142	7850504	AgileDashboard_KanbanColumnFactory->isColumnRemovable( )	../KanbanColumnFactory.php:100

request #9516 403 forbidden errors when refreshing the artifacts after reopening the workspace after a long time

It seems that reopening the eclipse workspace after a long time welcomes the user with a ton of "403 forbidden errors". After investigating a bit I noticed that this isn't caused by credentials not being saved correctly as validating them doesn't fix this.

However, when you have the list of trackers in the modal dialog, there is a refresh button that can pressed and upon pressing it the connector refreshes its current configuration, as well as receiving all the available trackers from the server. When doing so, I think that's where the connector refreshes its token for further api calls, so that's probably why refreshing the trackers fixes the issue.

I don't know if it was working before, or if the api changed since then (expiration added?) but this should be fixed as users might find themselves blocked with a non-working connector with no easy way to make it work.

request #9507 TItle field specified in semantic admin not visible in my personal page

The field specified in the administration page/semantic/Title is not taken in account when I in my personal page in the My Artifacts V5 section

request #9498 Error when refreshing certain artifacts

I get the following error when trying to refresh certain artifacts from certain trackers :

null
org.tuleap.mylyn.task.core
Error
Thu Sep 15 10:51:31 EDT 2016
An error 403 occurred while invoking GET /api/v1/projects/199/user_groups: Forbidden: Permission Denied

Looking at the api explorer, it seems like there is a padlock next to that route. Does that mean it's restricted to certain people with the correct access rights only? Using postman, I can reproduce the error with the same route, so I assume the connector behavior is normal. The thing is, even if the error is informative, I'm not entirely sure it's a good thing to show it to the user, why is the connector even trying to access it in the first place etc.

request #9480 No placeholder in docman » search » my saved search » import

request #9477 No placeholder in docman » admin » properties » import

request #9475 bind_value_ids are strings with a field of type sb (select box)

When using the following route : [GET] api/v1/tracker_reports/247/artifacts?values=all on the tuleap.net repository I get some values with are of type sb with string bind_values_ids. In the Mylyn Tuleap connector, this causes an exception as the connector expect numbers for select boxes, and strings for open lists. For example, this is an example where the bind_value_ids are Strings :

      {
        "field_id": 1511,
        "type": "sb",
        "label": "Support Team",
        "values": [
          {
            "id": "101",
            "uri": "user_groups/101",
            "label": "Developer",
            "users_uri": "user_groups/101/users",
            "short_name": "Developer",
            "key": "Developer"
          }
        ],
        "bind_value_ids": [
          "101"
        ]
      }

and another where they are numbers :

      {
        "field_id": 1082,
        "type": "sb",
        "label": "Reported in version",
        "values": [
          {
            "id": "3229",
            "label": "6.8",
            "color": null
          }
        ],
        "bind_value_ids": [
          3229
        ]
      }

As discussed in the mailing list, should I work my way around that in the connector code or is it easily fixable in the api route? 

Best regards,

Patrick

request #9473 ApacheDS LDAP Integration

It seems the Tuleap LDAP plugin does not support ApacheDS LDAP. It does support ActiveDirectory and OpenLDAP but we don't use these. We are a Java shop and use ApacheDS with our own apps because of the awesome integration with Spring and Eclipse.

I have tried numerous times to get tuleap to work with ApacheDS but to no avail. Simply nothing happens at all, it does not even try to connect. Eventually I found out it is not supported.

We will be upgrading from 7.6 to the latest and greatest soon.

Maybe this is possible in newer versions?

request #9453 'Open List' card fields not appearing in the backlog during planning in the Agile Dashboard

In the Agile Dashboard, when viewing the backlog in the 'Detailed View', 'Open List' fields do not appear. These fields are shown in the cardwall but not in the backlog. This means data in these fields cannot be used to filter the backlog.

A quick troubleshoot suggests the field type is not managed in javascript...

Agile Dashboard version: 1.396

request #9447 Unable to push changes to Git repository

We are unable to push changes to the git repository and there is a system event error generated as below,
Command execution failure: git --work-tree='/var/lib/tuleap/gitolite/admin' --git-dir='/var/lib/tuleap/gitolite/admin/.git' push --porcelain origin master (return value: 128):

request #9442 Change Date format in Tuleap tracker

Currently tuleap TRACKER is showing date in the format YYYY-MM-DD. How can this be changed to DD-MM-YYYY

request #9441 GIT repository not created

When I try to enable git for a project in Tuleap. System events is throwing the below error,
Command execution failure: git --work-tree=&amp;#39;/var/lib/tuleap/gitolite/admin&amp;#39; --git-dir=&amp;#39;/var/lib/tuleap/gitolite/admin/.git&amp;#39; push --porcelain origin master (return value: 128): fatal: https://xxxxxx.xxx.xx/plugins/git/info/refs not valid: is this a git repository?

request #9433 Bind to users is lost when a project is created from a template

Bind to users (Multi Select Box Fields) is lost when a project is created from a template: the selected groups are no more selected if these groups are not native groups (registered_users, project_members, ...).

It works well if we import only a tracker.

request #9430 Group name is ugly when it has specials characters

On xml import a project has a name with specials caracters they are encoded two times

request #9426 API error triggered by Eclipse connector

The eclipse connector issue API call that generate error code 500, on tuleap.net:

https://tuleap.net:443/api/user_groups/101_15/users?limit=10

In error logs:

[Mon Aug 29 10:38:56 2016] [error] [client 127.0.0.1] PHP Notice:  DB error ==> (SELECT user.user_id, user.user_name AS full_name, user.user_name FROM artifact_perm ap, user WHERE (user.user_id = ap.user_id) and group_artifact_id= AND perm_level in (2,3) AND ( status='A' OR status='R' OR status='S')  ORDER BY user.user_name) LIMIT 0, 10 @@ /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php at line 96 in /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php on line 156, referer: https://tuleap.net/api/explorer/
[Mon Aug 29 10:38:56 2016] [error] [client 127.0.0.1] PHP Notice:  DB error ==> (SELECT user.user_id, user.user_name AS full_name, user.user_name FROM artifact_perm ap, user WHERE (user.user_id = ap.user_id) and group_artifact_id= AND perm_level in (2,3) AND ( status='A' OR status='R' )  ORDER BY user.user_name) @@ /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php at line 96 in /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php on line 156, referer: https://tuleap.net/api/explorer/
[Mon Aug 29 10:38:56 2016] [error] [client 127.0.0.1] PHP Fatal error:  Call to a member function count() on a non-object in /usr/share/tuleap/src/common/project/ProjectUGroup.class.php on line 329, referer: https://tuleap.net/api/explorer/

 

request #9423 Artifact link type not taken into account after preview

In an artifact, edit the artifact link field and open the artifact link selector (button with magnifying glass) to choose an artifact to link. When done you can see a yellow line in artifact links table corresponding to the selected artifact. The "type" selectbox in this row is selected to /empty/.

If you update the first "type" selectbox (next to magnifying glass) and choose a type like (fixed_in) and submit the artifact, then the type is not taken into account. You have to change the selectbox in the temporary row.

This is problematic as users usually choose the type for added artifacts via the main "type" selectbox. Furthermore the temporary row can appear in a tab and the user may not notice it.

I don't know what is the best approach to take for this issue, maybe remove the "type" selectbox in temporary row for added artifacts?

request #9418 Editing Task Tracker item from Agile Dashboard shows no field labels

When opening a Task Tracker item from the cardwall or content list within the Agile Dashboard, the tracker opens for edit, however the field labels are missing, causing confusion with the items listed.

Please see attached screenshots.

request #9384 [PUT/artifacts/{id}] Improve API error message (invalid field)

While assigning a story to a valid user, using the /artifacts/{id} endpoint, I get back the following error message:

{"error":{"code":500,"message":"Internal Server Error: Les champs ne sont pas valides"}}

This is due to the user_id not being part of the right user_group. He can't be assigned to this story.
Couldn't you be more precise in the above error? The json is correct, it works perfectly using correct user_id.

v.8.15.99.51.

request #9380 Add project log history when a SVN multirepository is deleted

And restored & purged

request #9376 Git over HTTP can not be used to push a large set of references

If you try to push a large set of references composed of data that can not be efficiently compressed (eg a commit with a large file of random data) you will get an error.

The push does not complete because we reach the PHP memory limit and PHP segfault.

The segfault is a bug in PHP 5 that will not be fixed [1] and we do not have easy solution to not reach the PHP memory limit due to limitations of the PHP API [2].

[1] https://bugs.php.net/bug.php?id=64297
[2] https://bugs.php.net/bug.php?id=54004

request #9372 Add Tuleap version information in REST API

Sometimes it might be useful to know which version of Tuleap is running on a given server.

I propose to add the information in OPTIONS /api/projects route. It would return a header like

X-Tuleap-Version: 8.16

request #9343 Connect GitLab issues with tuleap

We would need two-way sync of GitLab issues and Tuleap artifacts

request #9332 Cannot disable an unavailable service on predefined services.

In Admin/predefined services, when I uncheck the "Available" and "Enabled" boxes and validate, the services is "Unavailable" but still "enabled"

I cannot set a service "unavailable" and "disabled" at the same time.

request #9320 Improve performances of the front end

Tuleap can take quite some time to load the user interface, here are some key points that could be improved:

1- Number of requests
In order to load my planning view, Tuleap makes 51 requests to the server, among them, there are 1 html page, 19 javascript files, 18 css files, some resources (images, fonts, etc) and a couple of XMLHttpRequests. All the JavaScript files and the CSS files could be concatenated to have only one of each in order to reduce the number of requests.

2 - Usage of the compression
Using gzip compression, you could reduce the size of the Javascript and CSS downloaded by about two thirds (1.2MB). The use of gzip on some files like planning-v2.js could save 370KB (which is almost the size of 15 of your other JavaScript files).

3 - Use browser caching
None of your Javascript files, CSS files or font is cached by the browser, including files which will not change like jquery-2.1.1.min.js or bootstrap-tooltip.js etc. On top of the two previous pieces of information, this could speed up dramatically the user experience for a Tuleap user.

4 - Optimize the order of the styles and scripts
Most of your Javascript and CSS files are in the document head, in order to improve the performances of the loading of the page, you should include external CSS before external Javascript and include the Javascript at the bottom of the body.

5 - Minimize all your Javascript and CSS code
All your Javascript and CSS files are not minimized, as such files like "themes/FlaminParrot/js/motd.js" or "project-privacy-tooltip.js" may have most of their content composed of comments then code. Most of the bootstrap code is not minimized too (button, dropdown, modal, popover, tooltip) and some of the JQuery code too.

6 - Usage of your CSS
Most of the content of your CSS files is not used by your site, you could trim some of the CSS to reduce the size of your CSS file and speed up the loading of your pages.


You can find attached to this issue a HAR file with the trace of the loading of the planning view of tuleap.net which you can analyze using the website http://www.softwareishard.com/har/viewer/. I have found those issues on both tuleap.net and on tuleap.eclipse.org.

request #9317 Error results statistics plugins

As an administrator of a Tuleap instance I want to know how many new users have created a new account. I go to /plugins/statistics/frequence_stat.php . The results change a month from an other. See screenshots in attachements.

request #9304 Drag Drop not working or I am doing something wrong?

I attempted to drag one User Story off a milestone which contained roughly 8 stories all of them were removed and now I cannot get them back to the Milestone. I'm getting this error -> "409 Conflict: Submitted id 5 is not part of the set to order"

What does it mean and why is it so hard to drag and drop in a project?

request #9285 Be able to request null criteria for date fields in REST API

We would like to query artifacts with only date fields containing null value.
For example :

{
"9202": {
"operator":"=",
"value":[null]
}
}

Should give only artifacts with no date set for field 9202.
To send this parameter does not throw any error but it is not taken into account.

request #9277 SVN plugin must notify when it's accessible only with LDAP users

request #9273 Internal Server Error: Fields are not valid (adding someone in CC)

Using Tuleap 8.14

When I open a bug from the Kanban, it pops-up a dialog to edit the bug. If I try to add myself in CC and save, I get the error: "Internal Server Error: Fields are not valid". I attached a screen shot to make sure this is clear.

If you want to try this yourself, the Kanban page is here:
https://tuleap.eclipse.org/plugins/agiledashboard/?group_id=102&action=showKanban&id=6#/kanban
For example, I opened bug #243 and added myself in CC then clicked save.

I think some people for Enalean have an account there so it should be possible to test this :) If not, let me know.

BTW, if I open the same bug in a separate page (middle-click), then this works correctly.

request #9268 Unable to import a hidden release

In xml, you can set a package to hidden, but not a release.
http://tuleap-documentation.readthedocs.io/en/latest/administration-guide/project-export-import.html#releases-and-files-frs

request #9248 Global date rules - ability to validate a date to current date

It is currently not possible to compare a date field to the current date in the Global Rules.

request #9243 Is it possible to have Git Issue tracker integrated with tuleap?

I have a gogs (git) server which has its own issue tracking. Is there a way I integrate it with tuleap.. So that in tuleap I get to know what issues/bugs are raised in GIT

request #9236 Identify and display bad git repositories to siteadmin

This is the first step to integrates some Git repositories housekkeping scripts in Tuleap;

This feature aims to:

1-We'll add a simple cron job that walks thru the list of repositories in a given timeframe (two params, runtime_start and runtime_end, to be given to the cronjob), and chatch repositories that needs to be garbage-colelcted (we do not implement the GC in this change).

2- Repositories caught by the check are added to a dedicated housekeeping table witihn DB, we keep also a trace in git_syslog.

3- A fourth pane is added to the git plugin interface within site admin where we display all git repositories flagged as "bad". 

request #9227 No "codendi-admin:" entry exist in aliases.codendi after a fresh install of Tuleap.

request #9223 Not able to install Tuleap using IP address (without a domain name)

Hello

I was trying to install Tuleap on Centos 6x. But I do not have a domain name for it. I can access it only using the public IP.

So while installing, it asks for a domain name. I tried to give my public ip but it does not accept it. I try to create a host entry, it doesnt work

So, could you please let me know how to install tuleap using public ip?

request #9221 Add the project and tracker name to the email subject for truncated emails

Add the project and tracker name to the email subject for truncated emails. Also added the project name in the regular tracker email.

Patched in /usr/share/tuleap/src/common/mail/MailBuilder.php arounf line 56

private function buildEmail(Project $project, Notification $notification, MailEnhancer $mail_enhancer, $email) {
$mail = $this->getMailSender();
$mail->setFrom(ForgeConfig::get('sys_noreply'));
$mail->setTo($email);

if ($project->getTruncatedEmailsUsage()) {
$presenter = new MailPresenter(
$notification->getServiceName(),
$notification->getGotoLink(),
ForgeConfig::get('sys_fullname')
);

/* Replace this with the following with the 2 lines after . The mail_enhacer adds the token information for replies
$mail->setSubject($this->renderer->renderToString(self::TRUNCATED_SUBJECT_TEMPLATE, $presenter));
*/

$mail_enhancer->enhanceMail($mail); /* allows for replying to the tracker when active */
$mail->setSubject($project->getPublicName() . ' - ' .$notification->getSubject()); /* Add the project and tracker name to the subject */
$mail->setBodyHtml($this->renderer->renderToString(self::TRUNCATED_BODY_TEMPLATE, $presenter));
} else {
$mail_enhancer->enhanceMail($mail);

if ($notification->hasHTMLBody()) {
$mail->setBodyHtml($notification->getHTMLBody());
}

if ($notification->hasTextBody()) {
$mail->setBodyText($notification->getTextBody());
}

/* Replaced with the following line to add the project name
$mail->setSubject($notification->getSubject());
*/
$mail->setSubject($project->getPublicName() . ' - ' .$notification->getSubject());
}

return $mail;
}

request #9214 The repository is in queue for creation. Please check back here in a few minutes

I created a git repository. There was "The repository is in queue for creation. Please check back here in a few minutes" showing up. I checked the git location and there was no git file created. I used to create a git repository successfully once before I changed the server name of tuleap. By the way, I could not delete the unsuccessful git repository. Here is two screen shot attached.

I got two questions:

Where can I find the log to figure out the exactly error?

How to fix it?

Do I need to clean up the queue?

request #9207 Only success is recorded for jenkins webhook in git repository

…whereas both successes and failures are recorded for custom webhook. This means that git administrators must ask to Tuleap instance administrators to look at the hudson_git_syslog file in order to detect if the url is ok or if there aren't any jobs that use this repository. Cet tres domage.

request #9191 Loss of layout when invalid entry is given as column size

Given a project using a layout
When I edit the layout, choose custom layout and enter an invalid entry as column size (empty field or non alphanumeric field)
Then the form is sent and the dashboard of the project is wiped off, I can no moar add a widget (I must do nasty sql requests to bring back the layout)

request #9190 Service not available and can't be created

Hi,

I have an initial parent project A, that we have used as template to create a new project B. In A, some services where not available, but we have added them since.

The problem is that even if I activate the service in A, I can't activate it in B. The problem appears for the Wiki service for example. How can I update B to enable it ?

request #9189 Homepage empty after changing project name

After changing the project name in the project settings, the Home page plugin doesn't show anything anymore.

request #9164 documentation of configuration of Tuleap <-> Gerrit integration

Write documentation for import existing git repositories to gerrit

The documentation should have a "quick start" section (plus all the stuff related to the configuration of Tuleap <-> Gerrit integration should be moved in the administration guide).

There are some opcion for import existing git repositories to gerrit.

1. AFTER of migrate
Create a Git repo inside your Tuleap project
Push your history into this new repo.
Migrate the repo to Gerrit.

2. BEFORE of migrate
Create a Git repo inside your Tuleap project
Migrate the repo to Gerrit
Push your history into this new repo.

If choose "2. BEFORE of migrate"
https://gerrit-review.googlesource.com/Documentation/install-quick.html#_already_existing_project

Another thing for add to documentation is the question of beginner AFTER of migrate:
Permisos vs No permissions
May be is good write about this ( how see proyect.config of git )

request #9163 Continuous Integration

I cannot succeed to add jenkins job, I always have: File not found at URL: https://....... <MyURL>
there is the api/xml file at the given address.

JobURL: https://almops.lme/job/OpenALM/job/Test-Tuleap-Jenkins-Integration/build
Trigger a build after commits: Git
repository: SomeRepo
with (optional) token: newtoken

the string newtoken is already setted up in my Jenkins job


request #9159 Two html bodies are sent in Mediawiki service

Browers get a nasty soup of tags in mediawiki service: there is two html headers sent: one by the mediawiki engine and one by Tuleap. This messes up the favicon, the title, …

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" dir="ltr" class="client-nojs" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Create stable release - Enalean Wiki</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="generator" content="MediaWiki 1.20.3" />
[…]

<!-- FUSIONFORGE BodyHeader BEGIN -->
<!DOCTYPE HTML>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Mediawiki-Create_stable_release - Tuleap</title>
[…]

 

request #9133 Required verifications fails

In route POST artifact in REST API, required verification fails for Fields SelectBox and RadioButton.
You can submit an artifact with empty values

request #9127 Preconditions are not checked for new artifacts

Transition defined for artifacts are not checked when definition is set on "new" to "..." status.

request #9121 Buttons appear everywhere above the labels on trackers

Hello,

I have just updated to 8.14.99.7 and I notice that ugly buttons appear everywhere on the pages without reasons (see attached file).

I can't click anymore on the pen icon to edit values but I need first to click on the button to unlock the edit function.

Any help ?
Thank you.

Nicolas

request #9120 Modal view on Kanban and V2 Planning does not show submitted by or last modified by name( only avatar)

On the modal view on Kanban and V2, the Submitted By and Last Modified by does not show the name when you hover on the avatar. When you have thousands of users on your instance there is no way to know who the user is unless you open the artifact in the tracker view

request #9113 Having a REST route to monitor Sysevents

As a sysadmin i'd like to monitor sysevents statuses (done, running, error, ...) for all the queue.

Make a sysadmin happy and add a REST route to feed my nagios :)

request #9102 Database Upgrading ( ForgeUpgrade script output error)

This error was present the last 3 times we upgraded to a newer version of Tuleap.
ForgeUpgrade fails and it does not show any error, so I have to execute already-applied script: /usr/lib/forgeupgrade/bin/forgeupgrade --config=/etc/codendi/forgeupgrade/config.ini already-applied and it shows an output that contains those scripts that were not successfully applied due an error. ex. 2016-03-19 14:41:52 Error 239 /usr/share/tuleap/plugins/tracker/db/mysql/updates/2016/201602081457_add_is_child_into_existing_data.php

Solution: I have to open the php file (those with error), run the sql script manually and update forge_upgrade_bucket table and rerun ForgeUpgrade script again.

We would like to know why we are getting those errors and how to avoid that behaviour in future upgrades. We have a short time window to upgrade our server and this error increases considerably upgrade time.

I attached a file with the output we get after running forgeupgrade --config=/etc/codendi/forgeupgrade/config.ini already-applied script.

request #9094 Tracker Hierarchy - pre existing artifacts can't select parent

Hi,

I have two trackers, both based on the Tasks template and both already containing artifacts and I have decided to make one the child of the other.

So artifacts in Tracker B become the children of Artifacts in Tracker A.

In Tracker Administration I have created the hierarchy.

Now, if I create a new artifact in Tracker B I am prompted to select the parent artifact in tracker A.

However if I edit one of the artifacts in Tracker B that was created before the hierarchy was imposed I can find no way to select a parent artifact for it.

I've added a couple of screen grabs to demonstrate.

request #9084 Planning view shows initial effort as ? when the value is 0

How to reproduce:

  • Create a story with initial effort 0 in planning
  • The card is show with initial effort as "?"

request #9082 Issue when adds chart to a dashboard

When I try to add a chart from a tracker to a dashboard(mine or the project one) I have an error message:
"Your request doesn't appear to be valid. Please retry."

For information SELinux is well in permissive mode.

Do you know the reason of this ? Where can I found the associated log file ?

thanks !

request #9077 CSV Import Error Message

If you try to import a csv file that contains a blank space after Low/Med/High words in the "Priority" column you get an empty error message panel in the browser (without the error description).

request #9035 Unable to push changes to git remote repository

A project is enabled with git plugin in tuleap(Version 8.13). We are able to clone, add, commit the changes and when we push the changes to the repository on http, It throws the error as no DAV locking support on the repository url. and the git version installed in the server is 1.7.12.4. Please help us out of this.
thanks for the consideration

request #9030 External references must no display a tooltip

request #9006 Text fields with HTML content are not correctly rendered in cards

When tracker fields with HTML content are used on Kanban-Cards, the markup is visible.

There are two possible solutions to this:
1) Render the HTML correctly
2) Remove the markup and just show the plain text

request #9005 Missing challenge while adding tracker report in dashboard

This lack of CRSF token does not allow tracker report to be added as a widget in dashboards.

request #9004 User is not warned if his project is not approved

When a site administrator does not approve a new project and delete it, a mail should be send to inform the user. The mail should look like the one sent when a project is approved.

request #9003 CLI docmon does not retrieve the good remote_name

If we specify an old version while downloading a file, then the filename is not the good one.

Example:
version 1: filename: toto.txt, content: AA
version 2: filename: titi.txt, content: BB

if I do `cli/tuleap.php docman getFile --project=test-files --id=2354 --remote_name --version=1` I will get this:
filename: titi.txt, content: AA

request #8998 On Planning tab user cannot create an epic but from the Content tab it is possible

There seems to be some inconsistent behaviour. The Epic tracker allows for the creation of artifacts by Project Members. In the Planning, only the PO group can do the Ranking. Due to this, Project members cannot create an epic from the Planning tab but if they switch to the Content tab they can create. Please see attachments.

The artifact, however, does not appear in either view. It is visible in the Tracker view.

request #8997 Node.js server sends a response to tuleap server before broadcasting

request #8994 Text field's format changed from "Text" to "HTML" when its contents is updated via the REST API

If a user, who has selected "HTML" as the default format for trackers' text fields in "My Account", creates a new artifact, the "Original Submission" field is in "HTML" format (OK). If the user changes the format to "Text", and writes some contents in the field before clicking on "Submit", the artifact is created and its format is "Text" (OK). Now, if the user changes the contents (not the format) of the field via the REST API, the contents is modified and the format is set to "HTML".

request #8993 Unable to change a text field's content and format from HTML to Text, at the same time, via the REST API

When a text field's format is set to "HTML" (typically the "Original Submission" field of a new artifact), it is not possible to change its format from "HTML" to "Text" via the REST API. On the other hand, when a text field is formated in "Text", it is indeed possible to switch its format from "Text" to "HTML" via the REST API.

N.B. the user who reported this issue said that it's not possible to change the field's format from "HTML" to "Text" while changing its contents at the same time. In my tests, though, I confirmed that it's not possible to change the field's format from HTML to Text even if one does not try to change the field's contents at the same time. It has to do with the format change, not with the user also updating the field's contents. And the other way round, when one tries to change the field's format from "Text" to "HTML" via the REST API, it can be done successfully even if updating the field's contents at the same time.

request #8992 Rename example configuration files as file.inc.example

We provide 2 example files with the ldap plugin: ActiveDirectory.inc and OpenLDAP.inc. We then need to copy one of them in ldap.inc.

I suggest that these two files are renamed ActiveDirectory.inc.example and OpenLDAP.inc.example to avoid confusion with real configuration files.

request #8991 Using double quotes in configuration files can cause bugs

During the configuration of an Active Directory server, using the default variable for the bind password, I entered a password with a '$' symbol between the default double quotes.

It is then interpreted as a php variable and the configuration does not work (and the display in the admin page of the plugin is broken)

request #8990 Debug and error message during setup.sh

Debug messages and error messages that should be hidden/fixed are displayed during setup.sh

request #8989 HTML tags displayed, instead of interpreted, in text field in HTML format

If a user creates an artifact with the "Original Submission" text field displayed in HTML format, and adds an attachment but forgets to add a description for that attachment before submitting (cf. community #8985 "Attachment description became mandatory and it should not"), the artifact creation is refused and the user remains on the artifact creation page, where the "Original Submission" is displayed again, with the HTML tags visible, which is incorrect (see attached screenshot).

request #8987 Old_passwords parameter in mysql configuration

We are using the old_passwords parameter in the mysql configuration we deliver (/etc/my.cnf). We should probably remove it.

request #8986 Wrong permission on mysql user during installation

During an installation of tuleap with an external mysql server, I had a problem with mysql users creation and permission associated.
The mysql users creation is ugly, we should have a look at it and make it better.

Description of the problem:

I have:
- A tuleap server (tuleap_server)
- A remote mysql server (mysql_server)
- A mysql user 'tuleap_root'@'%' with all permissions and grant permissions.

I run the setup.sh with the following options (in addition to the basic ones):
--mysql-host=mysql_server
--mysql-user=tuleap_root
--mysql-user-password=xxxxxx
--mysql-httpd-host=tuleap_server

During the installation a new mysql user 'tuleap_root'@'tuleap_server' is created without grant options. This user is then used instead of the 'tuleap_root'@'%' initially created.

As the created user has no grant permissions we have errors during the setup.sh as we try to give permissions to codendiadm and dbauthuser.

request #8973 Bad OpenID url generated with reverse proxy

On my.enalean.com we are behind a reverse proxy and that block the OpenID authentication.

Generated URL seems wrong:

https://github.com/login/oauth/authorize?client_id=....&redirect_uri=https%3A%2F%2F%2Fplugins%2Fopenidconnectclient%2F&response_type...

request #8969 Format of "Text" type fields should be set by Project Admin

Scenario:

A user submits an artifact with data entered as HTML in a text field. Another user comes along switches the format of the field to Text and makes some modifications and saves the changes. It is possible that some formatting was mistakenly changed which may cause the original data to not be displayed correctly. If a user whose preference is set to HTML opens the same artifact, the format will be Text.

request #8958 Anonymous users are waiting too much longer for the kanban to be loaded

There are many 403 errors in the console. And the figures continue to blink indefinitely.

Maybe we should redirect the user to the login form?

request #8953 Follow-Up doesn't trigger submit button

Running Tuleap 8.12.99.2 on Centos 6.7

I have created a tracker using the Tasks template.

If a user goes into an existing task and fills in just the follow-up field there is no submit button to allow them to save that information.

Instead the user must select the pencil icon on one of the other fields to make the submit button appear on the screen.

request #8951 AgileDashboard does not automagically link user story to a milestone when created in a submilestone

In Sprint S1 of Release R1, I create a new user story with an initial effort. The initial effort of R1 does not add this initial effort.

Workaround: go to planning of S1, unplan the story and replan the story. Go back to R1: initial effort is now correct \o/

request #8945 truncated emails

When using truncated emails, the notification is too generic. It is then useless.

Should be better to have in the email title at least the project name and the tracker and at best the summary/description as we have when not using truncated emails.

The body of the email is correct as a link to the tracker.

request #8942 FRS import is not working when value of "arch" is unknown

In attachment, if the value arch="x86_64" in project.xml is unknown from Tuleap server, nothing is created in FRS.

request #8939 Allow to dynamically add entries to select fields.

It shall be possible to share a certain field in one tracker such that it occurs in a multi-select in another tracker.

It shall be possible to have static values in the multi-select beside the dynamically added entries.

E. g. I have a tracker called "release" which has a field "version". If I add an artifact in release I want to have the content of the "version" field automatically showing up in the multi-select in my bugtracker.

request #8938 Move/Copy artifact to another project

I want to be able to copy and/or move an arifact to another project (like export and import again) if the structure allows it. 

request #8937 Criteria Artefact ID for cross search

Have a place somewhere (on trackers home page ?) to search artifact by id in all trackers (task, bugs, epics, user stories...).

  • the workaround adding the field in the report filter is unsatisfactory because it searches only on current tracker and ask for saving report change,
  • using url ./plugins/tracker/?aid=... is not user friendly.

Thanks

request #8915 check if domain name is enable

request #8892 Use divarea plugin for CKEDITOR

Instead of having the default iframe for CKEDITOR, it could be great to use the editor in a div instead.

There is a plugin for that: http://ckeditor.com/addon/divarea

request #8891 Allow adding artifact to sprint from the artifact create / edit page

When I create an artifact, e.g. from https://tuleap.ring.cx/plugins/tracker/?tracker=13&func=new-artifact , I would like to be able to assign it to the current sprint.

Same when editing.

Currently, the only way I could find was to go to the planning of the current sprint, e.g. https://tuleap.ring.cx/plugins/agiledashboard/?group_id=101&planning_id=1&action=show&aid=6&pane=blcontent and click the "Add a new item button".

Tested on 8.11.99.24.

request #8889 Cannot change working days of the project

<p>How I can change the working days of my project. Currently, it shows me that Saturday and Sunday are off and the other days are working days. What I want to change is making Friday and Saturday off, while the other days are working days.</p>

request #8881 Tuleap python cli

Hi,

Based on a recent informal talk we had and my need to have an unified tool to manage tuleap platforms, I started to write a small python tool to perform basic admin tasks.

For now it can only update the platform, but I tried to write it to easily add plugins:

What I would like to add in the near future:

  • Check-update
  • Freeze/unfreeze
  • Setup.sh wrapper and then a next-gen setup
  • a full installer?

What do you think? Any suggestions? Where should I push my code if you're interested?

I would like to call it tuleapcli, but this name is used by the soap cli tool, is it a problem?

request #8878 Don't send an email to yourself when you create an issue

I already know about issues I create :-)

Is it possible, e.g. with some setting?

Should be the default behaviour.

request #8877 Add request Summary to the html title element

Advantages:

- shows on the tab name, making the tab easier to find when many tabs are open
- allows Firefox to autocomplete from the URL location input by matching parts of the title. This saves me obscene amounts of time when I know one or two words of an issue I've already visited.

Currently it shows only the request ID, e.g. `request #1234`.

request #8874 Homepage missing

Clicking on a project's homepage (house icon) would yield to this error msg: "The requested URL <site installation>/www/<projectnmae/ was not found on this server." 

This error has been around for some time. Still on the latest released version.

request #8872 allow_underscore param in DB

Hello,

As site admin, I need to be able to set the value of allow_underscore for the platform and manage it from properties interface in order to allow/prohibit the underscore use at project creation/rename.

It is part of request #8763

request #8862 Move sys_disable_subdomains to database

*Move sys_disable_subdomains from local.inc to database

*Manage this parameters from siteadmin interface :

     -In Configuration panel add "properties" link

     -In properties interface : if the variable still exist in local.inc , then a warning is displayed to ask the siteadmin to update the file 

 

request #8853 Artifact-modal: autocomplete 'at' username in follow-up comments

When I type 'atusername' (@) in a follow-up comment

Then it should autocomplete it with a list of usernames like it does in the trackers.

request #8852 Artifact-modal: Focus on first required field

Given a tracker with at least one required field, 

When I open the artifact-modal,

Then the first required field should be focused

So that I can directly edit it, saving me a mouse click.

 

Given a tracker with no required field,

When I open the artifact-modal,

Then the first field should be focused

request #8851 Database Error views corrupted

Hi,

ftpusers view is corrupted,

Error: base table is mssing.

kindly help us to repair this issue as possible

request #8845 Problem using Eclipse/MyLyn to access the tracker v5

Hello,

Recently, maybe one month ago,the Mylyn connector stop working. In particular:
1. I can configure the task repository using my credential.
2. When I try to make a query to the repository, it fails with an exception.

I attched the error log file.

Best regards,

Hanen

request #8832 Artifact modal vertical scroll bar doesn't allow to go to the end

When you have a burndown image or when several (2 or 3) textareas with HTML by default, then the bottom of the artifact is no longer reachable

request #8829 Expand one card in kanban: focus issue on firefox

The expand zone is very small and it seems that I can only expand if I'm over the expand caret

request #8804 TV5 : accented letters converted to HTML entities when switching from HTML format to Text format

On V5 trackers, it has been noted that when a user types some text with apostrophes, accented letters, carriage returns and the like, in a text area displayed in "Text" format, the display is correct, but if the user then switches from the "Text" format to "HTML" format, and back to "Text" format, the accented letters, carriage returns, etc. are inappropriately converted to HTML entities such as &#13; &eacute; leading to hardly legible text.

How to reproduce:
- In a tracker, type some text with accented letters, carriage returns, etc., in a text area.
- Note that by default, such text areas are displayed with the format selector set on "Text" format.
- Submit the artifact (and stay on the page). Note that the text you typed is displayed correctly.
- Click on the pencil icon next to the text area's caption, and change the format selector from "Text" to "HTML" (no need to change anything in the text itself). Note that carriage returns disappear (this is normal).
- Change the format selector back to "Text" and notice that accented letters are converted to HTML entities, such as &eacute; instead of 'é', and that the text is now surrounded by <p> and </p> HTML tags, which is abnormal.

request #8803 Wrong permissions for tuleap's syslog file

After a fresh install of tuleap using docker compose,

ls -l /var/log/tuleap/codendi_syslog
-rw-r--r-- 1 root root 125357 Jan 26 09:39 codendi_syslog

it should be owned by codendiadm

request #8800 When a project member is removed it is also removed from binded ugroups

When you removed a project member it is also removed from binded ugroups. It should not, the next modification in the ugroup (add or remove a member for example) will add again the incorrectly removed user.

Steps to reproduce:
1. Create 2 projects Project1 and Project2
2. Both Project1 and Project2 has project members User1 and User2
3. In Project1 create a new ugroup and add User1 and User2
4. In Project2 create a new ugroup binded to the previously created ugroup in Project1
5. In Project2 remove User2 from project members. User2 is not a member of the ugroup anymore but it is still present in Project1 ugroup.

request #8799 PHP Warning: chgrp(): Unable to find gid

Similar to request #1483.

I'm using Tuleap 8.10 and receiving the following PHP warning via CRON's email ((cd /usr/share/codendi/src/utils; ./php-launcher.sh ./process_system_events.php default))

-----
Warning: chgrp(): Unable to find gid for PBase in /usr/share/tuleap/src/common/backend/Backend.class.php on line 207
PHP Warning: chgrp(): Unable to find gid for PBase in /usr/share/tuleap/src/common/backend/Backend.class.php on line 207

Warning: chgrp(): Unable to find gid for PBase in /usr/share/tuleap/src/common/backend/Backend.class.php on line 207
PHP Warning: chgrp(): Unable to find gid for PBase in /usr/share/tuleap/src/common/backend/Backend.class.php on line 207

Warning: chgrp(): Unable to find gid for PBase in /usr/share/tuleap/src/common/backend/Backend.class.php on line 207
PHP Warning: chgrp(): Unable to find gid for PBase in /usr/share/tuleap/src/common/backend/Backend.class.php on line 207

Warning: chgrp(): Unable to find gid for PBase in /usr/share/tuleap/src/common/backend/Backend.class.php on line 207
PHP Warning: chgrp(): Unable to find gid for PBase in /usr/share/tuleap/src/common/backend/Backend.class.php on line 207
-----


PBase is shortname of a new project that I created.

There is any missing configuration? Could you check please?

request #8792 OpenList values added are not taken into account in reports

How to reproduce:
Add a field of type OpenList to a tracker, and from the tracker's administration screen, add a few values (Alpha, Bravo, Charlie, for example). Then, as a non privileged user, submit a new artifact and add some more values (say Delta, Echo). Please note that the values are not correctly taken into account in various reports, especially graphs (see attached screenshot, where they appear as 'None') but also when one uses the "Count (Group by)" feature.

And finally, back in the tracker's administration screen, when logged as the tracker's admin, add even more values to the OpenList, including one already added by the non privileged user (Delta) and notice that after that, when submitting a new artifact, as you type the name "Delta", the OpenList displays the 'Delta' value twice, so that the user doesn't know which is which (see second attached screenshot) and the tracker's admin has no way to know either, and to delete the "wrong" one.

request #8786 Change not saved in Modal

When I paste an artifact number (12423) in the "Artifact links" edit box, press "Save Changes", and then come back to the Modal, the artifact number doesn't show up, just as if it hadn't been saved, while other changes (in the "Assigned to:" list box, for example) are correctly saved.

request #8784 Help description does not appear when you hover on field label in V2 Modal

When you hover over a field label the field description should be displayed to the user. This works in V1.

request #8782 Change in a tracker's fields may lead to fatal error

In order to perform some tests on cross-trackers triggers, I first created a 'Tests' tracker and I've set the built-in 'Tasks' tracker to be a child of the 'Tests' tracker. The parent 'Tests' tracker had a 'Status' field, and the children 'Tasks' tracker initially had two drop-down boxes, respectively labelled 'First select box' and 'Second select box'. I also defined a cross-trackers trigger so that when both drop-down boxes in every child task are set to 'Done', then the status of the parent 'Tests' tracker is set to 'Done'. This worked fine, alright.

Then I decided that, for this tests, one drop-down box would be enough in the child 'Tasks' tracker, so I renamed 'First select box' to 'Unique select box' and I deleted 'Second select box'. But I hadn't changed or suppressed the cross-trackers trigger before doing this, and when I came back to the triggers definition/modification tab, in the 'Manage Workflow' administration screen, I got a fatal error (see attached screenshot) and was unable either to submit or cancel any modification in that triggers definition/modification tab.

request #8781 Multiple mandatory fields on transition

As an process owner
I want to set multiple mandatory fields on transition
So that my process is simplier to use as it is defined more strictly and force more necessary fields to get a transition

request #8777 Cannot clone Tuleap sources with http protocol

On git repository there are two protocols to clone Tuleap sources: ssh & http

https://tuleap.net/plugins/git/tuleap/tuleap/stable

However, when you use the given url for the http protocol, an error is displayed:

$> git clone http://tuleap.net/plugins/git/tuleap/tuleap/stable.git
Cloning into 'stable'...
fatal: repository 'http://tuleap.net/plugins/git/tuleap/tuleap/stable.git/' not found

This works fine if you change http to https.

request #8771 Codendiam user and group absent when installing viewvc-tuleap

On both my docker image and on a fresh install of tuleap 8.10 when I install the viewvc-tuleap-1.0.7-6.noarch (from yum install tuleap-all) i got the two following lines repeated multiples times:

warning: user codendiadm does not exist - using root
warning: group codendiadm does not exist - using root

I'm not sure of the impact as I did not test viewvc.

request #8763 Allow underscore in project short name

Allow underscore in project short name when dns delegation is set to 0 and Home Page service is disabled.

request #8755 Inform users keep token (and keep it safe) when generated

When I generate a svn token I'm not informed that what it displayed is temporary and I must keep this info safe as a password.

request #8750 Rule on transition error message on Kanban not user friendly or meaningful

If you define a field to be not empty on a transition (transition enforced), and then perform the transition without entering a value the error message thrown to the user is not meaningful and it does not give any clue to the user as to what he needs to do so that the error is not thrown. It should function in a similar way as the current Scrum cardwall, when a transition is done on the scrum cardwall and if there is a transition validation rule, the modal is displayed to the user with a meaningful message so that the user can enter a value for the field described in the error message (please see screen capture)

request #8745 In register mails, links on buttons are only on text

Can we made the entire button clickable.

request #8722 Missing Cross Reference when SVN Commit

Found that there was an issue in the past: request #7996

We used the 8.X (Think it was 8.6) Version until last weak. After Update to 8.9.99.5
the SVN commits with ref #ID not working.

In tuleaps "SVN Query" you get a Tooltip when hovering over the comment. But in artifact there are no cross references added anymore.


request #8720 Mailman admin iframe not displayed

The iframe showing mailman admin page on the list service is not displayed.
This is probably due to the http connection as my browser raise the following error:

Blocked loading mixed active content "http://tuleap.example.com/mailman/listinfo/myproject-testlist/"

I use an nginx reverse proxy in front of my tuleap apache server so I don't force https.

request #8699 Unable to add in a package a file that has accented letters in its name

request #8687 Display Initial Effort value for children artifacts in compact view

In the compact view of the Agile Dashboard, the Initial Effort value is displayed only for the parent artifact but not for the children artifact.

Is there a technical reason behind this behavior? If not, can you display the missing information field?

request #8676 Tracker Performance Issue. Artifact retrievement takes 60 seconds

Our Tuleap instance is getting slow ...
we have one 2 big projects fed with 3-7 Tracker.
One project has ~ 100 Artifacts
The other one has ~ 150 Artifacts

now whenever and no matter what project (we have a few one with only one tasks tracker) the report which lists the artifacts as soon as so click on the tracker takes > 10s

We made the agile approach and have sprints which calculate the efforts.
All computed fields have the option fast computation.
The Agile Dashboard even takes about 60s.

Pls give me a few tips what kind of info i can provide for you?
log files?
sql query times?
...

the requests from clientside are:
http://cbasealm.ads.dlh.de/plugins/agiledashboard/?group_id=101 = 58 seconds
http://cbasealm.ads.dlh.de/plugins/tracker/?tracker=89 = 10 seconds


request #8675 Need larger font size in pv2 strips

Can you increase the size of the font used in the pv2 strips?

The current font size is too small and quickly tires the eyes when using Tuleap a lot. In comparison, the font size used for pv1 is much easier to read.

Can you please do that before switching off pv1 completely?

request #8674 Modification of git_ssh_url has no effect

When I modify the $git_ssh_url value in /etc/tuleap/plugins/git/etc/config.inc, the git URL shown in the git plugin is not changed.

(Tested with a fresh tuleap-all install and with tuleap-aio docker image)

request #8653 Cancelling/Closing an item in pv2 does not remove the artifact

Changing the status of an artifact to "closed" in the pv2 screen does not result in removing the artifact from the screen. A manual refresh of the screen is required to take the artifact out of the screen.

It is believed that the artifact should be removed automatically from the screen when closing an artifact.

Note: it behaves as expected in pv1.

request #8649 Bots exploring tuleap.net git public repositories break the platform.

When a google/yahoo/skynet/... robot indexes tuleap.net, it browses public git repositories and tries to open urls that return large binary content.

This connection then stay open for a long time causing tuleap.net to reach mysql or httpd connection limit (mainly opened by these robots).

An example of url: https://tuleap.net/plugins/git/tuleap/tuleap/stable?p=tuleap%2Fstable.git&amp;a=snapshot&amp;h=7d08ce7c82addc80b57708b1d788e14dfe6e2ff1 (it may crash your browser)

Edit: grammatical corrections.

request #8647 FRS file downloading incoherent access rights for project admin

As a project admin:

I create a ugroup in my project called "downloaders".
In the FRS, I create a package and a release.

In the release, I give permissions only to the downloaders ugroup.
I upload a file in this release.

I can see the file I've just uploaded, but I can not download it when I click on it (insufficient access).

request #8644 Submilestone not updated when change on content

- milestone initial effort not updated
- backlog item not "greyed" when closed

request #8616 User story created under a planned Epic should not be part of the Top Backlog

Tracker hierarchy & AgileDashboard configuration:
Request → Epic, User Story
↘ Sprint → Epic, User Story

Using Planning v2, create an Epic under a Release then create a User Story under this Epic → Boom: the User Story appears in the Top Backlog. It should not appear here because its parent is already planned.

(see request #8517)

request #8602 Reference links are broken when using non standard SSL (or other port) port

When using a non standard port (including SSL), all reference links in trackers grid are broken since the port is not included in the link renderer.

The file /www/include/utils.php can be changed in the function get_server_url() to append the port (using $_SERVER['SERVER_PORT']) to fix the problem.

This problem probably occurs in all versions 8.8 and previous, but I have verified using version 8.8.


request #8601 Avatar not displayed when non-standard SSL port used

The avatar image link generation for the UI does not account for a non-standard SSL port, hence the image not displayed.

request #8592 Update userlist interface:export function

As a site admin, in the https://www.tuleap.net/admin/userlist.php interface, I would like the export function to export the following columns as well:
- User email
- Last access date (date format as in tooltip, not as displayed "2 months ago")
- Last successful login (date format)
- Last login failure (date format)
- Site Member Since (date format)
This is in order to manage the suspended users: I want to export information in order to import it in a tracker where I follow-up the suspensions by asking approval/rejection to projects admins.

request #8566 If error during A.D. export, then UI tries to log error in STDERR

STDERR is only defined in CLI environment, so we got lot of warning/notices which breaks the output

request #8565 TV3»TV5 unused field status (tv3) is used in semantic status (tv5)

It breaks the xml export

request #8562 Daily historical data for milestones (sprints/releases)

As a scrum Product Owner
I want to see the activities performed during a sprint on a daily basis
So that I can easily see when the stories have been worked on
And so that I can visually see if the team suffers from bad practices, such as piling up stories in Review late in the sprint for example.

Basically, I am looking for a detailled activity report exactly like JIRA produces in association with the Burndown chart. See attached screenshot for a sample of what I am looking for.

request #8555 Database error when migrating from tv3 to tv5

When I migrate the standard TV3 tracker "Bugs" to TV5

Then the import succeeds (I do have a TV5 tracker "Bugs") but I get a PHP Notice about a DB error :

 

[codendiadm@52706db6c24f root]$ (cd /usr/share/tuleap/plugins/tracker/bin/ && ./migrate_tv3_to_tv5.sh jmasson 114 234 Bugs Fu bugs)
PHP Notice:  DB error ==> SELECT tracker_field.id as field_id, notified_people, notification_type, notification_start, recurse, frequency
                FROM artifact_date_reminder_settings
                    INNER JOIN tracker_field ON (old_id = field_id AND tracker_id = 269 AND formElement_type = 'date')
                WHERE group_artifact_id = 234 @@ /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php at line 95 in /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php on line 155
PHP Stack trace:
PHP   1. {main}() /usr/share/tuleap/plugins/tracker/bin/create_tracker_structure_from_tv3.php:0
PHP   2. TrackerFactory->createFromTV3() /usr/share/tuleap/plugins/tracker/bin/create_tracker_structure_from_tv3.php:56
PHP   3. Tracker_Migration_V3->createTV5FromTV3() /usr/share/tuleap/plugins/tracker/include/Tracker/TrackerFactory.class.php:704
PHP   4. Tracker_Migration_V3_RemindersDao->create() /usr/share/tuleap/plugins/tracker/include/Tracker/Migration/V3.class.php:117
PHP   5. DataAccessObject->retrieve() /usr/share/tuleap/plugins/tracker/include/Tracker/Migration/V3/RemindersDao.class.php:31
PHP   6. DataAccessObject->handleError() /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php:95
PHP   7. trigger_error() /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php:155
PHP Warning:  Invalid argument supplied for foreach() in /usr/share/tuleap/plugins/tracker/include/Tracker/Migration/V3/RemindersDao.class.php on line 31
PHP Stack trace:
PHP   1. {main}() /usr/share/tuleap/plugins/tracker/bin/create_tracker_structure_from_tv3.php:0
PHP   2. TrackerFactory->createFromTV3() /usr/share/tuleap/plugins/tracker/bin/create_tracker_structure_from_tv3.php:56
PHP   3. Tracker_Migration_V3->createTV5FromTV3() /usr/share/tuleap/plugins/tracker/include/Tracker/TrackerFactory.class.php:704
PHP   4. Tracker_Migration_V3_RemindersDao->create() /usr/share/tuleap/plugins/tracker/include/Tracker/Migration/V3.class.php:117

request #8551 Open List fields defined on Card Field Semantics are not displayed on Kanban Board

Even if you select an Open List field type that is defined on Card Field Semantics to be displayed on the Kanban Board and data exists, it does not display the field on the card on the Kanban Board.

request #8549 Can't submit an artifact if I only edit a text field using html + source

The submit button is not displayed when I edit a text field using wiziwig + source.

request #8540 "Select Parent" in the Linked Artifact does not appear once a child artifact is created

If a project has defined a tracker hierarchy, for example

Services
>>Features

and if a Feature is created without selecting a parent artifact, on editing that feature the "Select Parent" (see attachment) is longer displayed (only the Linked Artifact)

request #8523 Move to milestone option in addition to drag-drop

I find that I have to navigate across screens way too much in Tuleap, especially when reaching the transition period in between two releases. In this case I have to move incomplete items back to the backlog, and then again to a new release backlog.

My main screen is the sprint planning view of the release. During the transition period, I too often have to switch to the top planning view, open up the current release milestone, locate the incomplete items, drag-drop them to the top backlog, etc. This is time consuming and, to be frank, pretty annoying....

I would like to skip having to open up the top backlog planning view if I can avoid it and stay in the usual sprint planning view of my current release. I propose an additional action from the sprint planning view: select the item, and choose "move to Top Backlog", or "move one planning level up", or something along these lines.

The same concept would be applicable as an alternative to the current drag-drop. I could use it to plan an item for a given milestone by simply selecting it from the backlog and clicking "move to milestone 'x'", for example.

What do you think?

I am open to any other suggestion that would result in improving the usability of the agile planning views and reducing the number of clicks we have to perform all the time to get through our work.

request #8522 Sorting order of milestones in drop-down list

The milestones are listed from oldest to newest in the drop-down list of milestones when editing a milestone. This is very annoying when the list of milestones grows large, as the "current" milestones are always below the screen and one has to scroll down each time.

Can you simply change the sorting order so that the most recent milestones appear first in the list instead? This is a simple change to implement but it offers a significant payoff on a usablity view.

request #8483 Tuleap 8.7 on Centos 6.6 "My account" page is blank

I have just installed Tuleap V8.7 on Centos 6.6 using the instructions at

http://tuleap-documentation.readthedocs.org/en/latest/installation-guide/full-installation.html

The installation seems to have run without error and I can log in as the admin user using the generated password provided by install.sh

However when I try to open the "My Account" page so I can change the password I just get a blank page.

This also happens if I try to go to "My Account" for any users I have created too.

request #8465 Automating the Remaining effort field in agile projects

Hi Team,

Is there any way to automate the remaining effort calculation without manual input based on the user completion of tasks for the agile projects in tuleap?

request #8463 Open list field type cannot be selected as Assignee semantic

We have created an Open List field which is bound to a User Group in the project. The field does not appear in the Contributor/Assignee Semantic.

request #8462 Accessing any tracker link displays a blank page

When accessing any tracker, a blank page is displayed. The underlying error in httpd/error_log is:

PHP Fatal error: Call-time pass-by-reference has been removed in /usr/share/tuleap/plugins/tracker/include/Tracker/Report/Tracker_Report_HeaderRenderer.php on line 76

Software versions:
-----------------------
CentOS - 2.6.32-504.8.1.el6.x86_64
PHP - 5.4.45
Tuleap - 8.6.99.44
Trackers plugin version - 5.700

More Information:
----------------------
Beginning with PHP version 5.4, the compiler will throw an error when the '&' reference symbol is used in a function call to indicate a reference type. Indeed, on line 76 of file Tracker_Report_HeaderRenderer.php, a & symbol is used in front of the $warnings parameter, which under PHP 5.4x will throw an error.

Removing the & symbol from the $warnings parameter corrects the problem.

request #8448 Tuleap Upgrade - Mysql Issue

Hi,

We have updated our tuleap to 8.6.99 recently. After the updation, the mysql was too slow and unable to access the tasks. It keeps on loading. Rest trackers and personal page were loading as usual good.

request #8440 Aggregate View of Sub-Projects

Is there a way to do the following

In a project that has a tracker x, when there is connected sub-projects,

I would like to see all the tracker artifacts in the sub-projects with the same name as tracker x visible in the parent project's tracker

This is in order for a manager that is managing multiple projects (each project is its own tuleap project) to have an aggregate view of the overall status of all sub-projects. To able to view an aggregate planning scenario.

request #8405 Tuleap MyLyn synchronization does not work

It is basically only missing a null pointer check. See trace

org.eclipse.core.runtime.AssertionFailedException: null argument:
at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:85)
at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:73)
at org.eclipse.mylyn.tasks.core.data.TaskAttribute.setValue(TaskAttribute.java:617)
at org.eclipse.mylyn.tasks.core.data.TaskAttributeMapper.setValue(TaskAttributeMapper.java:334)
at org.tuleap.mylyn.task.core.internal.repository.TuleapAttributeMapper.setValue(TuleapAttributeMapper.java:57)
at org.eclipse.mylyn.tasks.core.data.TaskAttributeMapper.setRepositoryPerson(TaskAttributeMapper.java:320)
at org.eclipse.mylyn.tasks.core.data.TaskCommentMapper.applyTo(TaskCommentMapper.java:158)
at org.tuleap.mylyn.task.core.internal.data.TuleapArtifactMapper.addComment(TuleapArtifactMapper.java:524)
at org.tuleap.mylyn.task.core.internal.data.converter.ArtifactTaskDataConverter.populateTaskDataConfigurableFields(ArtifactTaskDataConverter.java:163)
at org.tuleap.mylyn.task.core.internal.data.converter.ArtifactTaskDataConverter.populateTaskData(ArtifactTaskDataConverter.java:222)
at org.tuleap.mylyn.task.core.internal.repository.TuleapRepositoryConnector.performReportOrCustomQuery(TuleapRepositoryConnector.java:282)
at org.tuleap.mylyn.task.core.internal.repository.TuleapRepositoryConnector.performQuery(TuleapRepositoryConnector.java:218)
at org.eclipse.mylyn.internal.tasks.core.sync.SynchronizeQueriesJob.synchronizeQuery(SynchronizeQueriesJob.java:312)
at org.eclipse.mylyn.internal.tasks.core.sync.SynchronizeQueriesJob.synchronizeQueries(SynchronizeQueriesJob.java:269)
at org.eclipse.mylyn.internal.tasks.core.sync.SynchronizeQueriesJob.run(SynchronizeQueriesJob.java:201)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

request #8404 enalean/tuleap-aio: export etc/pki/tls to /data

most of the configuration of the docker image has been moved to /data, so that then it will be accessible from outside the container.

Can you add the /etc/pki/tls directory to this as well? I'd needed to have access there in order to install my own server certificate on the docker image.

request #8402 Problems with permissions inheritance during project creation

Dear Tuleap team

We have problem with project creation in following setup.

We created new template with some documents inside it - these documents are meant to be a skeleton for the project documentation that should be filled by project admin/members.
Some of the documents are meant to be visible only for the project admin (e.g. sensitive data) so we set permission in template that only admin have read/write and everybody else have no access to these documents. However during creation of new project based on this template these documents with special permissions are not copied at all.

We have experimented a bit and it seems that whenever 'registered_users' have no permissions for given document in template, then it will be absent in a new project based on the template regardless of permissions for other groups.

Is there a reason for this behaviour? How can I make tuleap to copy docs&permissions "verbatim"?

Best regards
Andrzej

request #8390 Can't change status to on going on tasks

When we want change a status on a task from any status to on going, we have a white page.
In the /etc/httpd/logs/error_log we see this error :
PHP Fatal error: Call to a member function getAllValues() on a non-object in /usr/share/tuleap/plugins/tracker/include/workflow/Trigger/RulesManager.class.php on line 203, referer: https://xx.xx/plugins/tracker/?aid=900

request #8370 Incorrect text when trying to update an artefact with permissions field set

When you try to update an artefact that has the permissions set to a group you do not belong to displays an incorrect text.

In my case it displayed this:
"You are not allowed to update the field Permissions.
Fields are not valid"

The user was trying to update "Description" field, but the error message incorrectly said that the was trying to update the "Permissions" field. Permissions is the name of the field that controls the artefact's permissions.

request #8367 Deletion of a cross-reference is not "logged" in the comment section

Deletion of a cross-reference is not "logged" in the comment section like you get for basically any other change in an artefact.

request #8366 Cross-references can be deleted even though permissions is set to read-only

I noticed that individual cross-references can be deleted even though permissions for this field is set to read-only for all users.

Since there is no permission option other than "none" and "read-only" I would expect that another option should be added for deletion of cross-references.

At the moment if you allow a group to be able to see the cross-references ("read-only") then they also have the ability to delete them.

I also did not find any way to return the deleted cross-references.

request #8365 Change artefact permissions on transition

As a project administrator I would like to have the ability to "lock" an artefact, for example when it is baselined.

This can already be done manually with setting the "Permissions" field, but it would also be nice to be able to do it on a transition.

At the moment only date, int and float fields can be changed with an "action" on a transition. It might make sense to support all types of fields, but I would at least like to have the possibility to set the Permissions field.

One other valid use case could be to use this to automatically assign the artefact to one or multiple project members or groups.

request #8349 Angular modal in Kanban: open list choices are hard to read

Given a tracker with a static open-list field
and given that there is a "Spain" value
When I type "Spa" in the open-list field to select the "Spain" value
Then "Spa" will be highlighted with a yellow background and a white text color. (see attached screen capture)

The highlight should not have a yellow background to be consistent with the Angular modal in Planning v2.
Please note that this behavior is also present for any type of open-list bind (static or user or user group)

Tech details: this is due to a CSS class naming conflict: the angular-ui-select library uses a highlight class, which is also defined in kanban's css.

request #8347 Angular modal: default value in select box not taken into account

On planning v2, I'm adding new submilestones (for instance new release on tuleap.net).

My release tracker is set with a "Status" field with "Planned" as default value.
When I add a new release, I can see the field and "Planned" as selected value (I don't modify anything) but when the artifact is created, the status is "Null".

request #8343 Automatically set field value from parent

Hi,

We are using the Agile Dashboard trackers, including Stories and Tasks. We've added a field 'Team' on the stories are several teams are working on the same project and thus the same backlog.

This field is also added to the Tasks, and we wanted to assign its value directly from the Story 'team', when a new child Task is created under a Story.

Is it currently possible ? I haven't find a way to do it. If not, I think that it may be a good improvement.

Regards

request #8336 Logo in confirmation email is not the one of the platform

We should send the customized logo instead of tuleap.

request #8312 Removed deprecated UserRepresentation properties

In order to not directly affect existing API implimentations, the following properties have been made deprecated but not removed in the file src/common/user/REST/MinimalUserRepresentation.class.php:

  • $display_name
  • $link
  • $user_url

They should be removed and anything still using them (kanban ? card fields) should be updated

request #8309 Get rid of PrototypeJS

We do not need to provide two similar libraries such as jQuery and PrototypeJS.

Latest Tuleap development are based on jQuery. I suggest that we remove PrototypeJS as soon as possible in order to:
- don't confuse new comers
- don't bloat the page load

Many legacy pieces of code rely on PrototypeJS:

Integrated
========
✓ Is At Top (gerrit #4334)
✓ Check Password (gerrit #4400)
✓ Toggler (gerrit #4333)
✓ Tooltip (gerrit #4327)
✓ getText (gerrit #4477)
✓ defaultValueActsAsHint (gerrit #4461)
✓ embedded_file.js docman (gerrit #5141)
✓ load-artifactChildren.js (gerrit #5142)
✓ TrackerDateReminderForms.js (gerrit #5153)
✓ system_events.js (gerrit #5150)
✓ CreateProject.js (gerrit #5151)
✓ stats autocomplete.js (gerrit #5162)
✓ massmail_initialize_ckeditor (gerrit #5152)
✓ hudson_tab.js (gerrit #5163)
✓ ApprovalTableReminder.js (gerrit #5165)

To be reviewed
============
Nothing for now o/

To be implemented
===============
- Protocheck (field dependencies v3 & v5)
- Docman (pencil menu)
- Reorder columns in report
- Resize columns in report
- Tracker admin fields
- Tracker admin fields (bind)
- Tracker Field dependencies
- Artifact Links
- Artifact attachments
- Tracker reports
- Cardwall
- Trackerv3 Field Dependencies
- Feedback
- Layout Manager
- TextBoxList (open list field)
- massmail
- … (to be continued)

request #8303 Error on GET backlog_items/:id with a tracker that has no status semantic

Given a tracker with no "status" semantic defined (see attached xml)
and that in Agile Dashboard Admin it was added to the accepted trackers list for Sprint Planning
when I go to a Sprint planning v2 and I try to create a new artifact of that tracker (new "without_status")
then the artifact won't appear in the backlog. It will be correctly created but won't be reordered at the beginning of the backlog.

There is an error in the last REST request to GET /api/v1/backlog_items/:id (see attached screenshot).
When I refresh the page, the artifact will not appear (as expected because it should have the "open" status to appear).

request #8301 Speed up Tracker V5 homepage loading

request #8295 remove obsolete 'autoload' and 'less' targets from Makefile

request #8293 "User Name Display" defined in Account Preferences is not respected when csv export is performed

The csv tracker report export always displays the Login Name no mater what is selected in the Account Preference

request #8290 update empty required rb field

Create a rb (not required) field in a tracker
create an artifact
set the rb field value : "none"
go to the administration of the tracker and make the rb field required
edit your artifact without checked a value for the rb field
when you submit the update is accepted (with "none" for the rb required field)

request #8287 fatal error in RESt PUT /artifacts:id

  • Import the attached tracker
  • disable the workflow
  • create an artifact with field "sb" value "none"
  • reactivate the workflow
  • try to update the value of "sb" field via REST
  • observe the error

 

( ! ) Fatal error: Call to a member function getId() on a non-object in /usr/share/tuleap/plugins/tracker/include/Tracker/FormElement/Tracker_FormElement_Field_List.class.php on line 669Call Stack#TimeMemoryFunctionLocation10.0000659128{main}( )../index.php:020.17814768320Luracast\Restler\Restler->handle( )../index.php:8230.21394903872Luracast\Restler\Restler->call( )../Restler.php:30440.21475059512ReflectionMethod->invokeArgs( )../Restler.php:102450.21475059552Tuleap\Tracker\REST\v1\ArtifactsResource->putId( )../Restler.php:102460.23707886344Tracker_REST_Artifact_ArtifactUpdater->update( )../ArtifactsResource.class.php:17770.247310538256Tracker_Artifact->createNewChangeset( )../ArtifactUpdater.class.php:4180.248410686616Tracker_Artifact_Changeset_NewChangesetCreatorBase->create( )../Tracker_Artifact.class.php:102290.248510686744Tracker_Artifact_Changeset_NewChangesetCreatorBase->validateNewChangeset( )../NewChangesetCreatorBase.class.php:79100.248510686744Tracker_Artifact_Changeset_FieldsValidator->validate( )../NewChangesetCreatorBase.class.php:214110.285711539872Tracker_Artifact_Changeset_NewChangesetFieldsValidator->validateField( )../FieldsValidator.class.php:49120.285711539920Tracker_FormElement_Field->validateFieldWithPermissionsAndRequiredStatus( )../NewChangesetFieldsValidator.class.php:44130.286111541832Tracker_FormElement_Field->validateField( )../Tracker_FormElement_Field.class.php:910140.286111541880Tracker_FormElement_Field_List->isValid( )../Tracker_FormElement_Field.class.php:955150.286111541880Tracker_FormElement_Field_List->validate( )../Tracker_FormElement_Field_List.class.php:1283

request #8258 Artifact with a long summary is not well displayed

When the artifact is displayed, lines of the summary overlap.
See attached screenshot.

request #8255 user preferences not respected for select boxes binded to users in pv2

request #8235 submit button does not appear when adding ctrl+v follow-up in html format

create an artifact
edit and choose html follow-up format
paste some text
-> no submit button appears

request #8234 Bad URL in mail for list

The URL in mail for approve a message in a mailing list is wrong

request #8223 Docker : missing dependencies

In the version 8.1 of the docker image, 2 dependencies were missing :
tuleap-plugin-ldap perl-LDAP

The last one was causing an error in the post commit hook of svn :
Can't locate Net/LDAP.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/lib/tuleap/bin/commit-email.pl line 308.
BEGIN failed--compilation aborted at /usr/lib/tuleap/bin/commit-email.pl line 308.

Could you please add them in the version 8.3 of the image ?

request #8219 Field with no permission should not be visible in tracker structure

  • Given a tracker with a field that nobody has permission to read
  • When I GET /v1/trackers/{id}
  • Then the "structure" object should not contain fields I don't have permission to read.

 

In the attached json file, you'll see an example of the result of a GET /v1/trackers/{id} where the problem is visible. The user I used to make the request does not have permission to read the field with id 1385. It is  not present in the "values" array, as expected but it is present in the "structure" object when it should not.

request #8211 Printer version of Tracker v5 contains over purified HTML (table headers)

How to reproduce:
Go to printer version of a tracker v5 report and print as pdf (tested with firefox 38) and you get sth like attached

request #8199 user account add mail address if LDAP do not have mail property

My LDAP do not have mail property of user account, and i want to use LDAP user to login Tuleap system.
But user do not get mail notification if there is not mail address :(
There are two solution:
a) user can write mail address property to LDAP server
b) user can add mail address if LDAP server do not have and do not write mail address to LDAP server

request #8191 Open lists bind to users does not work with Authenticated (Registered + restricted) user group

request #8190 Mark message of the day as "read", and hide it

Message of the day is very useful for displaying important information, but it linger too long at the top of the pages. I would like to hide the MOTD after it has been read, because after a while it is not obvious whether it has changed or not, making me waste time by revisiting links it points to. Here is a possible solution:

Let each user mark the message "read" and have tuleap hide it on a user basis, perhaps with the generally adopted X mark in the upper right corner. It would suffice to just cache the time stamp of the MOTD file, and store a timestamp when the user marked the MOTD as "read". If the user time stamp is less than or equal to the MOTD time stamp, then the message is shown.

I would probably be prudent to add as way to show or bring back the MOTD as well. That would be easy with proposed solution above, by setting the user time stamp equal to the MOTD file time stamp.

request #8187 None value for required radio button in planning v2 modal

Given a tracker with a required "Radio button" field,
When I open the new planning v2 modal to create an artifact from that tracker
Then there should not be a "None" field value (because the field is required). There is no "None" value when I open the tracker's "Submit new artifact" page.

request #8183 Artifact deletion made easier

It is pretty complicated to delete an artifact right now, (click on artefact > administration > delete artifact > artifact number)

Wouldn't it be nice to have a delete feature on the artifact detail page?

request #8182 Cannot save columns display in reports of trackers

Hello,

I am using the Tuleap virtual appliance but I can't create any display report of trackers.

1. We create a new tracker from scratch
2. We go in the "report" view of this tracker and click on the "columns" button
3. We choose which columns we want to display
4. We see the table with all columns we selected
5. We click "save" on top (blue button)
6. Suddenly, all parameters are deleted and the table "report" become all empty again

request #8177 Mandatory Dependency Constraints

Hello everyone,

At JTEKT, would like to be able to:

Trigger a madatory dependency constraint on artéfact link field or text field when select field has specific value.
Trigger a madatory dependency constraint on artéfact link field or text field when text field is not empty.

Today, it is only possible to define a dependency constraint from select field to select field.

Best Regards.
Timothée TRONCY
JTEKT Corp.

request #8165 I shouldn't have to right to create a submilestone in planning views I don't have the right to link it to the milestone

Bug exists in planning v1 and planning v2

request #8164 Can't import Tracker SOAP WSDL file into Visual Studio

I started writing a little connector for Visual Studio, as the REST API doesn't provide endpoints for the data I need I decided to go with the SOAP API.

When I import the Core and the Project WSDL Visual Studio imports the file without problems, but with the Tracker WSDL file there are some errors.

Here they are (also in the attached txt file):

Error 1 Custom tool error: Unable to import WebService/Schema. Unable to import binding 'TuleapTrackerV5APIBinding' from namespace 'https://tuleap.example.com/plugins/tracker/soap'. Unable to import operation 'getArtifacts'. Choice is not supported with encoded SOAP. Please change definition of schema type 'CriteriaValue' from namespace 'https://tuleap.example.com/plugins/tracker/soap': use all or sequence (not choice) for fields/parameters. c:\data\visual studio 2013\Projects\TuleapConnector\TuleapConnector\Properties\Settings.settings 1 1 TuleapConnector

Warning 3 Custom tool warning: Cannot import wsdl:portType
Detail: An exception was thrown while running a WSDL import extension: System.ServiceModel.Description.XmlSerializerMessageContractImporter
Error: Choice is not supported with encoded SOAP. Please change definition of schema type 'CriteriaValue' from namespace 'https://tuleap.example.com/plugins/tracker/soap': use all or sequence (not choice) for fields/parameters.
XPath to Error Source: //wsdl:definitions[@targetNamespace='https://tuleap.example.com/plugins/tracker/soap']/wsdl:portType[@name='TuleapTrackerV5APIPortType'] c:\data\visual studio 2013\Projects\TuleapConnector\TuleapConnector\Service References\TuleapSoapTracker\Reference.svcmap 1 1 TuleapConnector

Warning 4 Custom tool warning: Cannot import wsdl:binding
Detail: There was an error importing a wsdl:portType that the wsdl:binding is dependent on.
XPath to wsdl:portType: //wsdl:definitions[@targetNamespace='https://tuleap.example.com/plugins/tracker/soap']/wsdl:portType[@name='TuleapTrackerV5APIPortType']
XPath to Error Source: //wsdl:definitions[@targetNamespace='https://tuleap.example.com/plugins/tracker/soap']/wsdl:binding[@name='TuleapTrackerV5APIBinding'] c:\data\visual studio 2013\Projects\TuleapConnector\TuleapConnector\Service References\TuleapSoapTracker\Reference.svcmap 1 1 TuleapConnector

Warning 5 Custom tool warning: Cannot import wsdl:port
Detail: There was an error importing a wsdl:binding that the wsdl:port is dependent on.
XPath to wsdl:binding: //wsdl:definitions[@targetNamespace='https://tuleap.example.com/plugins/tracker/soap']/wsdl:binding[@name='TuleapTrackerV5APIBinding']
XPath to Error Source: //wsdl:definitions[@targetNamespace='https://tuleap.example.com/plugins/tracker/soap']/wsdl:service[@name='TuleapTrackerV5API']/wsdl:port[@name='TuleapTrackerV5APIPort'] c:\data\visual studio 2013\Projects\TuleapConnector\TuleapConnector\Service References\TuleapSoapTracker\Reference.svcmap 1 1 TuleapConnector

Error 6 Custom tool error: Failed to generate code for the service reference 'TuleapSoapTracker'. Please check other error and warning messages for details. c:\data\visual studio 2013\Projects\TuleapConnector\TuleapConnector\Service References\TuleapSoapTracker\Reference.svcmap 1 1 TuleapConnector

request #8159 Duplicate ticket creation

Hi,
While i am trying to create new ticket,It would take more time so what i tried to refresh the page that time two ticket was created.Both ticket having same content

Details:
Total number of ticket in that Tracker :36700
Tuleap version : 7.1.99.16

Anyone can provide enough details?

Thanks.

request #8157 New field whose value is defined/computed from 2 "Selectbox" fields

During our evaluation of Tuleap we identified a missing feature.

We wanted to define (compute) a value of a field from two Selectboxes, but it appears this is not possible.

In the simplest form this could be done in a similar way the workflow is defined or the "Manage field dependencies" feature - in a matrix. For each "cell" of the matrix, where column is represented by one Selectbox and row the other one, you would define a value to be shown in the field.

A more generic way would be to allow multiple fields as the inputs and you would then need to define a specific combination of values of input fields to get a specific output. As far as I see the most practical filed types for it would be: Selectbox, Multi Select Box, Radio button, Checkbox, Integer and Float.

Probably the simpler form would cover most needs...

An example (of the simpler implementation) where this would be useful is in a risk management tracker.

Imagine that you have Selectboxes for a "Probability" and a "Consequence" field and you want to "compute" the value of "Risk Level" field from them.

Each combination of values from the two input fields would generate an appropriate value for "Risk Level" field.

See attached image: "example.png"

request #8152 Could not dump ssh keys for user

Hello, i have CentOS 6.6 with last update (today) and latest version of Tuleap (thanks for this fabulous forge)

My problem is, when i add my SSH key on my account.
in administration i can see :

SystemEvent_EDIT_SSH_KEYS root ERROR 2 user: #102 2015-05-09 01:45:28 2015-05-09 01:59:01 2015-05-09 01:59:01 Could not dump ssh keys for user FooUser

And gitolite don't work.

Do you have any idae why i have this problem ?
Thanks you

P.S : i have exactly the same problem with Tuleap appliance 8.2
Clean install. Tuleap seems worked. but i get "Could not dump ssh keys for user admin"

P.S 2 : https://tuleap.net/plugins/forumml/message.php?group_id=101&topic=33132&list=1

request #8150 an error occured in the logger.DB error

Hi,

This error occurred while i'm trying to update artifact.
Any one could help to fix it

Thanks

request #8149 Artifact Links in a tracker with custom filtering

During my evaluation of Tuleap I noticed that the Artifact Links component could be improved.

What I would like to have in the new component:
- possibility to filter by one or multiple tracker (only artifacts from the selected trackers would be shown)
- possibility to filter by "reference to" and "referenced by"
- possibility to enable or disable displaying the "tab control" like you see in Artifacts Links component (could be decided based on the number of trackers from the tracker filter)
- allow multiple instances of the same component in a tracker (curretly only one is allowed, which makes sense based on the way it is implemented)

The way I imagined this component is like this. For example in an requirements artifact you would have separate fields for:
- references to higher level requirements
- references to lower level requirements that are referencing this requirement (automaticaly linked)
- references to test cases that reference this requirement (automaticaly linked)
- references to software units that reference this requirement (automaticaly linked)
- etc.

request #8143 gerrit.tuleap.net lost conf when repo is migrated

When a repo is migrated to gerrit, the parent project (here tuleap), is forced to inherit from All-Projects.
However tuleap project already inherits from core (that inherits from All-Projects).

Tuleap-Gerrit migration should not change the config already put in place. In our case users lost the capability to give a -2/+2 to a review.

Workaround:
- do the migration to gerrit
- revert the change:

```
git fetch gerrit refs/meta/config:refs/remotes/origin/meta/config
git log
git revert <sha-1> #Changed parent to All-Projects
git push gerrit HEAD:refs/meta/config
```

request #8131 Tuleap Won't Start anymore

I tried installing the agile dashboard and cardwall which did install. Then when I went to activate the agile dashboard everything went white!!! Now when I go to Tuleap it will not even load. I tried uninstalling the agile dashboard but that did nothing and tuleap is just a white screen. I fond the error log, what is posted below. It has numerours fatal php errors as well as other errors saying stuff is missing.

I am worried now I made things worse trying to fix it. All I have tried to do was yum remove tuleap-plugin-agiledashboard and then restart httpd and tuleap services. Please help me asap, my company just hit a wall and we can't get anything done until this is fixed.

Httpd error log:

[Tue Jun 09 03:28:07 2015] [notice] Digest: generating secret for digest authentication ...
[Tue Jun 09 03:28:07 2015] [notice] Digest: done
[Tue Jun 09 03:28:07 2015] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 SVN/1.6.11 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips configured -- resuming normal operations
[Tue Jun 09 03:28:07 2015] [notice] Graceful restart requested, doing restart
[Tue Jun 09 03:28:07 2015] [notice] Digest: generating secret for digest authentication ...
[Tue Jun 09 03:28:07 2015] [notice] Digest: done
[Tue Jun 09 03:28:07 2015] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 SVN/1.6.11 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips configured -- resuming normal operations
[Tue Jun 09 06:24:58 2015] [error] [client 104.243.24.211] File does not exist: /usr/share/tuleap/src/www/muieblackcat
[Tue Jun 09 06:24:58 2015] [error] [client 104.243.24.211] File does not exist: /usr/share/tuleap/src/www/phpMyAdmin
[Tue Jun 09 06:24:58 2015] [error] [client 104.243.24.211] File does not exist: /usr/share/tuleap/src/www/phpmyadmin
[Tue Jun 09 06:24:58 2015] [error] [client 104.243.24.211] File does not exist: /usr/share/tuleap/src/www/pma
[Tue Jun 09 06:24:59 2015] [error] [client 104.243.24.211] File does not exist: /usr/share/tuleap/src/www/myadmin
[Tue Jun 09 06:24:59 2015] [error] [client 104.243.24.211] File does not exist: /usr/share/tuleap/src/www/MyAdmin
[Tue Jun 09 06:28:52 2015] [error] [client 94.102.53.195] File does not exist: /usr/share/tuleap/src/www/html
[Tue Jun 09 11:36:21 2015] [error] [client 89.248.164.65] File does not exist: /usr/share/tuleap/src/www/ncsi.txt
[Tue Jun 09 12:20:45 2015] [error] [client 75.98.36.146] script '/usr/share/tuleap/src/www/admin/bootstrap.inc.php' not found or unable to stat
[Tue Jun 09 14:11:27 2015] [error] [client 93.174.93.192] File does not exist: /usr/share/tuleap/src/www/payment
[Tue Jun 09 16:32:00 2015] [notice] caught SIGTERM, shutting down
[Tue Jun 09 16:32:01 2015] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Jun 09 16:32:02 2015] [notice] Digest: generating secret for digest authentication ...
[Tue Jun 09 16:32:02 2015] [notice] Digest: done
[Tue Jun 09 16:32:02 2015] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 SVN/1.6.11 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips configured -- resuming normal operations
[Tue Jun 09 16:57:11 2015] [error] [client 67.166.121.110] File does not exist: /usr/share/tuleap-documentation/en/user-guide/images, referer: http://tuleap.saltlakeconnected.com/doc/en/user-guide/project-admin.html
[Tue Jun 09 17:08:22 2015] [notice] caught SIGTERM, shutting down
[Tue Jun 09 17:08:23 2015] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Jun 09 17:08:23 2015] [notice] Digest: generating secret for digest authentication ...
[Tue Jun 09 17:08:23 2015] [notice] Digest: done
[Tue Jun 09 17:08:23 2015] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 SVN/1.6.11 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips configured -- resuming normal operations
[Tue Jun 09 17:09:45 2015] [error] [client 67.166.121.110] PHP Fatal error:  Undefined class constant 'REST_RESOURCES_V2' in /usr/share/tuleap/plugins/agiledashboard/include/agiledashboardPlugin.class.php on line 75, referer: http://tuleap.saltlakeconnected.com/plugins/pluginsadministration/?action=available&plugin_id=14
[Tue Jun 09 17:09:56 2015] [error] [client 67.166.121.110] PHP Fatal error:  Undefined class constant 'REST_RESOURCES_V2' in /usr/share/tuleap/plugins/agiledashboard/include/agiledashboardPlugin.class.php on line 75
[Tue Jun 09 17:10:29 2015] [error] [client 67.166.121.110] PHP Fatal error:  Undefined class constant 'REST_RESOURCES_V2' in /usr/share/tuleap/plugins/agiledashboard/include/agiledashboardPlugin.class.php on line 75
[Tue Jun 09 17:11:07 2015] [error] [client 67.166.121.110] PHP Fatal error:  Undefined class constant 'REST_RESOURCES_V2' in /usr/share/tuleap/plugins/agiledashboard/include/agiledashboardPlugin.class.php on line 75
[Tue Jun 09 17:11:21 2015] [notice] caught SIGTERM, shutting down
[Tue Jun 09 17:11:22 2015] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Jun 09 17:11:22 2015] [notice] Digest: generating secret for digest authentication ...
[Tue Jun 09 17:11:22 2015] [notice] Digest: done
[Tue Jun 09 17:11:22 2015] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 SVN/1.6.11 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips configured -- resuming normal operations
[Tue Jun 09 17:11:30 2015] [error] [client 67.166.121.110] PHP Fatal error:  Undefined class constant 'REST_RESOURCES_V2' in /usr/share/tuleap/plugins/agiledashboard/include/agiledashboardPlugin.class.php on line 75
[Tue Jun 09 17:12:22 2015] [error] [client 67.166.121.110] PHP Fatal error:  Undefined class constant 'REST_RESOURCES_V2' in /usr/share/tuleap/plugins/agiledashboard/include/agiledashboardPlugin.class.php on line 75
[Tue Jun 09 17:12:56 2015] [error] [client 67.166.121.110] PHP Fatal error:  Undefined class constant 'REST_RESOURCES_V2' in /usr/share/tuleap/plugins/agiledashboard/include/agiledashboardPlugin.class.php on line 75
[Tue Jun 09 17:12:56 2015] [error] [client 67.166.121.110] PHP Fatal error:  Undefined class constant 'REST_RESOURCES_V2' in /usr/share/tuleap/plugins/agiledashboard/include/agiledashboardPlugin.class.php on line 75
[Tue Jun 09 17:13:01 2015] [error] [client 67.166.121.110] PHP Fatal error:  Undefined class constant 'REST_RESOURCES_V2' in /usr/share/tuleap/plugins/agiledashboard/include/agiledashboardPlugin.class.php on line 75
[Tue Jun 09 17:13:10 2015] [error] [client 67.166.121.110] PHP Fatal error:  Undefined class constant 'REST_RESOURCES_V2' in /usr/share/tuleap/plugins/agiledashboard/include/agiledashboardPlugin.class.php on line 75
[Tue Jun 09 17:16:19 2015] [error] [client 67.161.212.108] PHP Fatal error:  Undefined class constant 'REST_RESOURCES_V2' in /usr/share/tuleap/plugins/agiledashboard/include/agiledashboardPlugin.class.php on line 75
[Tue Jun 09 17:19:17 2015] [notice] caught SIGTERM, shutting down
[Tue Jun 09 17:19:18 2015] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Jun 09 17:19:18 2015] [notice] Digest: generating secret for digest authentication ...
[Tue Jun 09 17:19:18 2015] [notice] Digest: done
[Tue Jun 09 17:19:18 2015] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 SVN/1.6.11 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips configured -- resuming normal operations
[Tue Jun 09 17:22:53 2015] [notice] caught SIGTERM, shutting down
[Tue Jun 09 17:24:06 2015] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Jun 09 17:24:07 2015] [notice] Digest: generating secret for digest authentication ...
[Tue Jun 09 17:24:07 2015] [notice] Digest: done
[Tue Jun 09 17:24:07 2015] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 SVN/1.6.11 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips configured -- resuming normal operations
[Tue Jun 09 17:24:29 2015] [error] [client 67.166.121.110] PHP Notice:  DB error ==> SELECT * FROM forgeconfig @@ /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php at line 95 in /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php on line 155
[Tue Jun 09 17:24:29 2015] [error] [client 67.166.121.110] PHP Warning:  Invalid argument supplied for foreach() in /usr/share/tuleap/src/common/Config/ConfigValueDatabaseProvider.php on line 36
[Tue Jun 09 17:24:30 2015] [error] [client 67.166.121.110] PHP Notice:  DB error ==> SELECT * FROM homepage @@ /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php at line 95 in /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php on line 155
[Tue Jun 09 17:24:30 2015] [error] [client 67.166.121.110] PHP Fatal error:  Call to a member function getRow() on a non-object in /usr/share/tuleap/src/common/admin/Homepage/Dao.php on line 60
[Tue Jun 09 17:32:57 2015] [error] [client 67.166.121.110] PHP Notice:  DB error ==> SELECT * FROM forgeconfig @@ /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php at line 95 in /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php on line 155
[Tue Jun 09 17:32:57 2015] [error] [client 67.166.121.110] PHP Warning:  Invalid argument supplied for foreach() in /usr/share/tuleap/src/common/Config/ConfigValueDatabaseProvider.php on line 36
[Tue Jun 09 17:32:58 2015] [error] [client 67.166.121.110] PHP Notice:  DB error ==> SELECT * FROM forgeconfig @@ /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php at line 95 in /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php on line 155
[Tue Jun 09 17:32:58 2015] [error] [client 67.166.121.110] PHP Warning:  Invalid argument supplied for foreach() in /usr/share/tuleap/src/common/Config/ConfigValueDatabaseProvider.php on line 36
[Tue Jun 09 17:32:58 2015] [error] [client 67.166.121.110] PHP Notice:  DB error ==> UPDATE user SET password='$2y$10$NQmTKMYmqz80r2LnX38i4u2ZoW5R0s0aCWX4TeISEwpYSba3E9K42', user_pw='ad7a05602f58312adbf7b6ba77d5b59d', unix_pw='$1$Cp$iW5iAQ6Y6qBKnkqRjgGnh/', last_pwd_update=1433885578 WHERE user_id = 102 @@ /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php at line 147 in /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php on line 155
[Tue Jun 09 17:32:58 2015] [error] [client 67.166.121.110] PHP Notice:  DB error ==> SELECT * FROM forgeconfig @@ /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php at line 95 in /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php on line 155
[Tue Jun 09 17:32:58 2015] [error] [client 67.166.121.110] PHP Warning:  Invalid argument supplied for foreach() in /usr/share/tuleap/src/common/Config/ConfigValueDatabaseProvider.php on line 36
[Tue Jun 09 17:32:58 2015] [error] [client 67.166.121.110] PHP Notice:  DB error ==> SELECT DISTINCT groups.*\n                FROM groups\n                  JOIN user_group USING (group_id)\n                WHERE status = 'A'\n                  AND group_id > 100\n                  AND (access != 'private'\n                    OR user_group.user_id = 102)\n                ORDER BY group_id ASC\n                LIMIT 0, 50 @@ /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php at line 95 in /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php on line 155
[Tue Jun 09 17:32:58 2015] [error] [client 67.166.121.110] PHP Fatal error:  Call to a member function instanciateWith() on a non-object in /usr/share/tuleap/src/common/project/ProjectManager.class.php on line 626
[Tue Jun 09 17:35:38 2015] [notice] caught SIGTERM, shutting down
[Tue Jun 09 17:36:40 2015] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Tue Jun 09 17:36:40 2015] [notice] Digest: generating secret for digest authentication ...
[Tue Jun 09 17:36:40 2015] [notice] Digest: done
[Tue Jun 09 17:36:40 2015] [notice] Apache/2.2.15 (Unix) DAV/2 PHP/5.3.3 SVN/1.6.11 mod_ssl/2.2.15 OpenSSL/1.0.1e-fips configured -- resuming normal operations
[Tue Jun 09 17:37:07 2015] [error] [client 67.166.121.110] PHP Notice:  DB error ==> SELECT * FROM forgeconfig @@ /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php at line 95 in /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php on line 155
[Tue Jun 09 17:37:07 2015] [error] [client 67.166.121.110] PHP Warning:  Invalid argument supplied for foreach() in /usr/share/tuleap/src/common/Config/ConfigValueDatabaseProvider.php on line 36
[Tue Jun 09 17:37:07 2015] [error] [client 67.166.121.110] PHP Notice:  DB error ==> SELECT * FROM homepage @@ /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php at line 95 in /usr/share/tuleap/src/common/dao/include/DataAccessObject.class.php on line 155
[Tue Jun 09 17:37:07 2015] [error] [client 67.166.121.110] PHP Fatal error:  Call to a member function getRow() on a non-object in /usr/share/tuleap/src/common/admin/Homepage/Dao.php on line 60

 

request #8127 Hide password when creating user as admin

When I create a user as site admin, the password field show what you type. On the next page, when you create the user, the password is shown in clear text. It would be better to hide these passwords.

request #8126 HTML File Instead of iFrame

   The ability to add a service is very nice but limited due to the iFrame. Also the iFrame only fills about half of the available space. It should use 100% height to fill all available space.

   The services would benefit greatly from using an HTML page instead. When creating a new service it would ask if you would like to use an iFrame, options same as now, or upload an HTML file. For advanced users, we could sftp to the server, locate a folder representing that service, then add some more files, e.g. JS, CSS, and/or PHP to make it even nicer. The REST API could be the perfect glue to make it come together.

   The home page already kind of works like this except it is pr project and only publicly viewable. With a build your own service the community could even share useful plugins with eachother.

request #8125 Adding a URL to a text field in an artifact causes it to get turned into a link

When you add a URL to a text field in an artifact it gets turned into an <a href> html tag - this is especially apparent when that text field is then used on the agile dashboard which will then display the raw html instead of the link its self.

request #8123 ‘Generate Full Project Database’ link not visible

I cannot find ‘Generate Full Project Database’ link in the Project Data Export page.

request #8120 Add SOAP automated tests

request #8117 "Assigned to" field defined as OpenList does not appear in Semantic

In one of our projects there are over 800 users, therefore the "Assigned to" field had to be defined as an Open List (it was originally defined as a select box but it was impacting performance) bound to Project members. In the Contributor/Assignee Semantic the Assigned to does not appear so that we can select it.

request #8109 Size of the columns and fields in it prevent from editing a field

Please see attachment.

The following snap shots illustrates that the Label length in snap shot #2 prevents from opening the “update element”
function to modify the field setting, i.e. it overlaps the pencil icon from getting access to the
“update element” function.

request #8105 authentication fatal error with non ldap user

Given that
- your tuleap instance is in 'codendi' authentication
- you have a non-ldap user
- your platform does not allow anon

go to the following page: /plugins/ldap/welcome.php?return_to=%2Faccount%2Flogin.php%3Freturn_to%3D%2Fsoftwaremap%2F

Fatal error: Call to a member function getLogin() on a non-object in /mnt/dev/plugins/ldap/www/welcome.php on line 113

request #8103 A broken hash function is used to check the integrity of a file

Properties of collision and preimage resistance are broken with MD5. It is quite easy to generate two files with the same MD5 hash.
A cryptographic hash function must be used instead. A hash function from the SHA-2 family or SHA-3 are good candidates.

References:
http://merlot.usc.edu/csac-f06/papers/Wang05a.pdf
http://www.mathstat.dal.ca/~selinger/md5collision/
http://natmchugh.blogspot.fr/2014/10/how-i-created-two-images-with-same-md5.html

request #8099 Falsy error message while attaching a file to a release

  1. Create an empty release
  2. Create on the server a 3g file (dd if=/dev/zero of=/var/lib/codendi/ftp/incoming/3g bs=1024M count=3)
  3. Edit the release and add the file 3g
  4. Submit the form
  5. The file is attached to the release though an error message is displayed saying that "File name already exists in this release: 3g"

request #8097 Mailman email links are always in HTTP even if Tuleap is in HTTPS only

This leads to a 404 -> page not found

request #8096 CLI: cannot create Link item in docman

CLI is saying that:
"You do not have sufficient access rights to create something in this folder."

Whereas I can through the web interface

request #8088 Charts with float input

This is my first interaction with tuleap team so let me start with ... thank you for Tuleap!

My question/problem is following:
I wanted to track expenditures so I created tracker "Orders" where I added float field "Cost".
Then I wanted to create a report chart with total cost for project (e.g. continuous flow chart - that is cumulative cost vs time, or bar chart - sum of costs per "Category") but I'm not able to choose this float field as a "Source data". What are restrictions/requirements for this kind of use case?

I'm able to choose "Category"/"Assigned to"/"Status" (all of these fields are part of the "Orders" tracker) but not that float "Cost".

It is not a big problem since I can always export those artifacts and handle this outside of tuleap but it seems to me that everything needed for such a use case is already there in tuleap. I just don't know how to achieve it.

Best regards
Andrzej

request #8083 pts is not relevant for teams that use hours as effort

request #8068 HTML format extension

we would be happy if we could write <table> into HTML wysiwyg editor

request #8066 Cron should not raise fatal error when db is down for maintenance

When mysql is down (e.g every sunday for backups), it should not raise a fatal error.

request #8061 "Fixed/locked/floating" position of the statuses in cardwall view of the trackers

As in the attachment I show you and in the summary I wrote what can make me happy :)

request #8053 Project data export not working for new installs

Since some releases, codendiadm does not have full access to mysql databases.

This means that if cxuser user is not already created, it is not possible anymore to codendiadm to grant access to this user on project databases.

In order to fix the issue, one have to issue the following mysql command as root:

GRANT USAGE ON *.* TO 'cxuser'@'%';

This command should be included in tools/setup.sh unless we decide to remove completely the generate-full-database-export feature…

request #8046 email prefix conf is not inherited while forking a git repository

request #8038 Docker restart is not working

I had problems restarting the docker file located here: https://registry.hub.docker.com/u/enalean/tuleap-aio/

The problem was the boot-fixpath.sh. It misses the following line:

[ -f /etc/aliases.codendi ] && rm -f -v /etc/aliases.codendi

This script crashes, and passwd is not restored, causing mysql not to start and the run.sh gets in an infinite loop.

Best regards

request #8032 mediwiki theme broken on public page when browsing as anon

go to https://tuleap.net/plugins/mediawiki/wiki/tuleap-mobile/index.php/Set-up as anon

request #8031 Artifact Eport TimeOut Problem

HI,
I have around 15000 artifact on a queue,I received "TimeOut Error" on browser when i try to export those large amout of artifact.

I modified php_value max_execution_time "3600" at /usr/share/tuleap/src/www/project/export/.htaccess
But its not reflect as i expect,Kindly proive enough solution to Fix this issue

Tuleap Version : version 7.0.99.45

Thanks,
Kannan

request #8029 Big changeset can lead to server core dump

Example with the attached file, if submitted as a changset comment, it will crash.

As a workaround, you might want to extract the comment from the DB and remove the comment.
Given that the changeset comment that lead to issue was 45207:

select body from tracker_changeset_comment where id = 45207 INTO DUMPFILE "/tmp/val";
update tracker_changeset_comment set body = "... truncated ..." where id IN = 45207;

and you can attach val to the artifact as a file attachement

request #8022 Gantt chart sort option

The Gantt chart sorts the elements by start date. Unfortunately this does not work for milestones (due date only). Furthermore elements starting on the same date are shown in a unpredictable order. A great solution would be to have sort functionality like it is implemented for tables incl multisort.

request #8011 web site service not found

hi,

I have an issue with the service "web site". When I try to open the page: mytuleapserver/www/myproject I have an error 404 not found instead of the default page.

regards.

request #8010 Create user on the fly when create new task

Dear,

Sometimes I've partners or collaborators who aren't in my business but work in one common project I manage thanks to Tuleap in my side. I know they don't want change their organizations or practices to use Tuleap. At the same time, I want to assign task or other artifact of trackers to them ; it's the mean for me to animate the best I can the project with them and I can follow theirs on-going tasks.

In this case, two options in Tuleap would be great :
1/ create in the fly new user when I create a task in a project (in my mind, I create a task and I assign ressources, and if they don't exist, I create them)
2/ create a hybrid (or had oc) user which represents bodies involved in the project but not active in Tuleap for many reasons (for example an intern). The idea is to assign tasks to the contact, send email to keep the project clear to the manager.

request #8007 Modifier un artifact (radio bouton)

Un artefact ayant plusieurs éléments de type radio bouton est impossible à mettre à jour, ils perdent leur mise en forme (voir le fichier joint) et le bouton valider n'a plus aucun effet.
Pour contourner le bug la seule solution est d'utiliser la mise à jour massive.

request #7988 Weird error message when adding user by txt file

As of today, this is not possible to add a user by its email. But if I try to add him/her by its email, the error message said that the email is not valid.

request #7962 Issue with trigger set in a parent tracker

We have configured a tracker called RT Tickets with a child called RT Tasks. What we are trying to achieve is so that a user cannot set the parent to done before a specific field has been filled with information. We have configured a transition rule in the parent that before the status is set to done a specific field cannot be empty and also a trigger so that when all the children are set to done, the parent is also set to done.

When I try to move all children in the cardwall to done.

Expected: Once I move the last child to done, it should pop up the details window for the parent artifact allowing me to fill that field and submit. **Maybe** if I do not fill that field the child should not be updated and be left in whatever status it was before

Actual outcome: Once I move the last child, I get a pop up for the child detail window (not the parent) which is a bit useless in this case. Then if I submit the child, it will persist whatever changes I made to it but the parent will not set to be done as per the trigger.

request #7957 Plugin creation

request #7956 initializing agile dashboard

Bonjour,
j'ai installé une nouvelle instance de tuleap, tout s'est bien déroulé, cependant je n'arrive pas à initialiser l'agile dashboard
je me trouve sur l'écran "Import Configuration from Template" et en utilisant le template fourni par défaut, le résultat est une page blanche....
Seul les 2 premiers trackers sont importés (epic et release).
Après avoir chercher un peu, je me suis rendu compte que le tracker sprint ne pouvait plus être importé....
comment puis-je faire pour initialiser l'agile dashboard.
merci d'avance.

request #7941 cannot rank items on plnanning-v2 top backlog column

request #7936 Export Artifacts to PDF/DOCX

Can you please provide an Option to Export any Artifact over Pre-defined template to PDF/DOCX?

This is useful to share info to persons outside Tuleap

request #7927 Filtering ldap access with groups

I would like to be able to authorize users connections depending on their belonging to an ldap group or not.

Today we authorize all users from an OU to be able to access the tuleap platform (site admin filters access with default status restriction). It would be nice if we could add a filter on ldap groups that users are member of.

I've been asked multiple times for this missing feature during installation :(

request #7916 is there any way to override tuleap code?

request #7910 can not change foats

when I have a float number in float field, I can't change it only remove and retype.

request #7905 Permissions problem with Agile Dashboard

Hi,

We have encountered a problem with the Agile Dashboard. When a user (project admin, project member, not a site admin) tries to drag and drop an artifact from the backlog into a planning folder the system throws a '400 error'.

We did some investigation and this appears to be permissions related.

Best Regards,
-Isaac

request #7885 Problem with artifact after importing from CSV

A user recently imported an artifact into a tracker using a CSV and afterwards was unable to visit the artifact id, instead a blank white page would come up.

Checking the logs, the only thing that seems like it might be relevant was this error from php-errors.log:

[24-Feb-2015 10:00:53] PHP Fatal error: Call to a member function hasEmptyBody() on a non-object in /usr/share/tuleap/plugins/tracker/include/Tracker/Artifact/Tracker_Artifact_Changeset.class.php on line 326

request #7881 Repo metadata is not sanatised before being processed

request #7875 Tracker_Field_List getValue method seems broken

If I use this method with an existing value, this method returns false

request #7874 SELinux errors when running tools/setup.sh script.

Fresh install on Centos 6.6

Starting nscd: [ OK ]
Set SELinux contexts and load policies
/usr/bin/chcon: cannot access `/var/lib/tuleap/ftp/codendi': No such file or directory
Boolean nscd_disable_trans is not defined
libsepol.print_missing_requirements: codendi's global requirements were not met: type/attribute system_chkpwd_t (No such file or directory).
libsemanage.semanage_link_sandbox: Link packages failed (No such file or directory).
/usr/sbin/semodule: Failed!

The original script that trigger the error is src/utils/fix_selinux_contexts.pl

There are two distinct errors:
1) nscd boolean
2) semodule module insertion (codendi.pp)

request #7870 Pie Chart Bug

Pie Chart shows 99% and 101%.
I know this is because of the rounding. But it's funny :)

request #7868 Changable fields in trackers

In trackers view i could change the field of the task

request #7867 Search Fields Order

admin can't change the order of the search fields

request #7863 Field dependency limit?

Hi,
I need some clarification regarding tuleap field dependency limit that is for how many fields i can set the field dependency ?
I have created field dependency around 150,now dependecy page take too much time to load when i try to see field depency
Now i need to know is there any limit for create field dependency


Thanks

request #7850 cannot make column smaller

in trackers if we have a long link, we can't make column smaller

request #7848 is it possible to show contact number of current logged in user when artifact is created in tuleap

We are using the Tuleap 7.0 for Project management. We have a new requirement that we need to show the contact number of current logged in user when a artifact is submitted either in a separate field or in the same field (submitted by). Is it possible to show or what type of code change has to be done, to retrieve the current logged in user information when artifact is created. Kindly do needful.

request #7837 notice when removing user from ugroup

may need the user group to be used within mediawiki

request #7835 git permissions not migrated to gerrit

request #7833 Cannot delete a version of a Link item.

In the docman, I can delete the version of a file, an embedded file but not the version of a link. This brings inconsistency.

request #7832 Notification html code display

When I create a new project and the email is not delivered, I have a notification:

"The email was not accepted for delivery. Please contact <a href='me@example.com'>me@example.com</a>

request #7827 SOAP does not prevent creation of documents larger than defined max file size

request #7825 Programmable widgets

to motivate our team for a daily administration of their tasks, I would be pleased if I had a widget with daily dilbert or garfield, so I could write a php code for new widgets.

request #7824 Can't change the groups in Agile Dashboard

I would be happy, if I can change the group by parameters. Columns are Statuses, that's ok. But it would be nice, if I could have the rows by people and not only the UserStory's level.

request #7812 Confirm hash does not work for new user

A new user receive a confirm hash that does not work. And the issue is that this is not possible to regenerate a confirm hash. So the account is blocked.

request #7810 Tracker - Text Fields - HTML edition improvment

Hello,

We noticed that many html tags are not taken into account (dropped or filtered by the app) in HTML text fields.
We would like to be able to insert html tables or to stroke elements.
Of course I'm aware that it could be difficult to render well the view with such html structures. But it would be a real plus for us.

Best regards,
Timothée TRONCY,
JTEKT Corp

request #7808 Shared fields - label edit option

Hello,

At JTEKT, we would like to be able to change the label of shared fields.
Why:
When we add twice the same shared field inside a tracker, we can't make the difference between them when we visualise them.

Solution: adding a new table making the link between a specific shared field instance and its parent field.

Best regards,
Timothée TRONCY,
JTEKT

request #7807 Computed values in tasks

For example if I have estimated effort and and remaining effort, it would be nice if I had an automatic field for spent effort.

request #7798 Dashboard loss when updating layout of the template

Given I have a project template T with a custom layout and I create a project P based on T,
When I change the template layout to another one,
Then T dashboard becomes blank and [customize] button disappears.

request #7794 Export docman files

The aims of this feature is to provide a tarball of Document root for a given Tuleap project containing only the last version of docman items of type "file".
This tarball would also contain a docman manifest file with items metadata (basically an xml file with title, description and file path of each docman item) we would need during the import of this tarball within another Tuleap instance.

The import part would be handled in a dedicated request / Gerrit change.

request #7789 Admin settings changing automatically

We are creating the ticket with number of fields including Resolved date field, initially resolved date field is set as empty in field usage settings. The dependency of resolved date field is set to current time while the ticket status is changing from any status to resolved.

But because of some bugs in admin setting(field usage). While creating new ticket resolved date setting is automatically changing from empty -> Today
If above criteria is happen in admin setting, the new ticket's resolved date is updated as current date while creating itself.

request #7782 No longer possible to include week-ends in burndown chart

A while ago, there was an option on the burndown chart to include/exclude week-ends. This option has been removed and by default week-ends are excluded. There are teams working on the week-end and as such the burndown is not being updated in a timely manner.

request #7781 duplicate entries in cvs query

when I commit many files with wincvs (latest version), there is one entry per file in cvs query whereas only one commit is performed.

After some tests, it appears that it is linked to the presence of accentuated letters in the commit message (furthermore it truncates the commit message). See request #7721.

request #7773 workflow transition

Hi,
We created a field called resolved_date ,it has default value is empty but this field get value ( current_date ) automatically when user change the artifact status from " work in progress " to " Resolved " status,Its Ok
The Problem is filter the artifact by " Resolved_date ",It should list the artifact with resolved date.Resolved date will transaction changed date ( ie when the artifact status changed from Work In Progress to Resolved status that date will be monitored as resolved date ) but it list the artifact by placing Today date ( today date mean when user filter the artifact ) as resolved date field

Thanks

request #7771 Planningv2 children status not properly displayed

When status is "Done", the cards at "top level" are displayed in grey.

For children, this information is not displayed so we cannot know wether a card is done or not (it's painful when you want to move all "not done" children from one story to another).

request #7769 create masschange button for non administrators

create masschange button for groups

request #7766 There is no submit bar in the masschange form

request #7756 tuleap soap api addArtifact encoding error

[Error Message : SOAP-ERROR: Encoding: string '<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<address><font face="Bitstream Charter">Hi Shankar,</font></address>
<address><font face="Bitstream Charter"><br>
As discussed yesterday, i will confirm you once the test is done
by our IT team.</font></address>
<pre class="moz-signature" cols="72">--
Thanks &amp; Regards
Mohan S.| Admin Manager
Mobile: +91 99406 48756
Xerago | www.xerago.com
Chennai | Mumbai | Singapore | Australia | London | Flat World</pre>
<div class="moz-cite-prefix">On Friday 09 January 2015 12:26 PM,
Narendran Swaminathan wrote:<br>
</div>
<blockquote
cite="mid:1782c141c4184bd199d55bb6d1772633@CPUNEXCHOTZP18.airtel.itm"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
<meta name="Generator" content="Microsoft Word ]

Encoding issue came while add or update the artifact by read email content,this issue only for some email client
Kindly give solution to solve this problem

Thanks

request #7752 Project member shouldn't be able to put more task in WIP

Currently multi tasks have been placed as WIP by a team member, required logic to be as below.

User should be allowed to place only one task as WIP at a time, In case if he/she try to place multiple tasks, system should generate a message stating "Please note, there is another task which is assigned to you is under WIP."

request #7746 Valid mail addresses are rejected at registration

Some mail addresses are rejected unnecessary and could prevent an user to finish his registration.
For example, it is impossible to register with mail addresses such as démonstration@example.com or example@démo.fr.

References:
RFC5321, RFC5322, RFC4291, RFC1123, RFC2821, RFC2822, RFC3696 (yeah, mail address and domain name are complicated stuff)
https://isemail.info/about
Test cases: https://isemail.info/_system/is_email/test/?all
http://www.mdswanson.com/blog/2013/10/14/how-not-to-validate-email-addresses.html

request #7743 project git dashboard widget ignores the first week of the year for some years

Two problems:
- the first week of the year is ignored because php says most of the week belongs in January but the date belongs in the previous year. E.g. if the timestamp evaluates to the 30th December 2014 then php says that we are in week 1 but the year is 2014.
- php and mysql do not evaluate the same work for a given date. E.g. 01-01-2015 corresponds to week 1 in php but to week 0 in mysql.

request #7732 Two different ways to delegate permissions

As of today, there are two different ways to delegate permissions:

1. admin » plugin » AdminDelegation (See project administrators, see projects)
2. admin » users » permissions delegation (Project approbation, tracker admin, retrieve user membership info)

In order to provide a unified user experience to the site administrator, there should be only one way to delegate permissions. Therefore the plugin AdminDelegation must be removed.

request #7724 Gerrit replication housekeeping

Hi all,

We noticed several times that Gerrit queue contains an important number of waiting replication job (more than 30 waiting push...). We need to ensure the Tuleap git mirror consistencyas much as possible by implementing something similar to what has been previously done with gitolite admin housekeeping.

For that purpose we need to check if there are replication jobs waiting in gerrit queue via a tiny script that would be processed each 30 minutes, and then if number of waiting jobs is greater than a quota param then we enforce replication using "gerrit replicate" command.

We would add a checkbox for each gerrit server, in order to enable/disable gerrit replication housekeeping and a text field for the maximum number of waiting replication jobs for each connected gerrit server.


request #7721 Encoding issue in CVS query

When I commit from a Windows client (cp1252? iso8859?) the commit message that is stored in Tuleap database to perform cvs queries is not converted in utf8 and thus prevent display in web interface if it contains accentuated characters, though the commit message is well displayed in viewvc.

Should we convert to utf8 or should we force the client to send utf8 content?

request #7717 Remove dependencies between REST api and plugins

request #7703 V2 Planning - Issue when moving a solo artifact to a story

It is possible that a previously created solo artifact (for example, a bug) needs to be linked to a story. This use case is failing.

In the UI it looks as though it worked, it allows you to drag and drop,but when you check on the cardwall that the solo artifact is now linked to the story, it is not and then when you navigate to the V2 Planning the solo artifact is back to it's original location.

request #7696 Can't update planning configuration in AD

"Kanban can uses only trackers not used in Scrum" commit breaks the configuration page:

Cardwall columns are not always shown, mapping is not saved etc.

request #7691 Custom sequence of trackers

Would be nice to create ranked trackerorder.

request #7681 import_project_xml does not work if not forge admin

request #7655 A project admin can prevent himself to access a tracker

A project admin can redirect a tracker to another one by using this URL:
https://tuleap.tld/plugins/tracker/?tracker=<tracker_id>&select_report=<report_from_another_tracker>&func=report-scope&report_scope_public=0
After the URL has been executed by an user, this user is redirected directly to the other tracker when he tries to access the tracker <tracker_id>.

request #7644 Delete article not working

While trying to delete an article its not going ahead. the attached is the link http://tuleap/plugins/tracker/?tracker=29&func=admin-delete-artifact-confirm

While checking on firebug the following error is being displayed. An invalid form control with name='artifact[905]' is not focusable.

request #7632 Creating a new repoistory in Gerrit wipes out parent project and permissions

Hi there,

We are encountering a strange issue when a user is trying to create new repositories in Gerrit while using OpenALM.

Basically the situation is as follows:

The user created a project in OpenALM, then created a repository. The user then went into Gerrit and created a new project there, and assigned the project created by OpenALM as a child.

When creating a new repository in OpenALM under the first project's umbrella, OpenALM will wipe out the Parent project (created in Gerrit) and replace it with 'All Projects' instead... thus wiping out permissions and causing a bit of chaos.

The best theory we have is that OpenALM is enforcing all projects created by it to have 'All Projects' as their parents rather than respect whatever hierarchy might exist in Gerrit.

Any thoughts? is there any way to adjust this behaviour?

request #7625 it is possible to delete all reports of a tracker

set the ALL to private and then delete them one by one

request #7609 Warning while iinstaling tuleap-gitolite-membership

Hello,

On a new VM, I instaled gitolite3 rpm provided by tuleap (thus group and user are named gitolite3).
Just after I tired to install tuleap-gitolite-membership rpm and got thsi warnings.

[root@tunlx219 ~]# rpm -Uvh tuleap-gitolite-membership-0.1-1.el.noarch.rpm
warning: tuleap-gitolite-membership-0.1-1.el.noarch.rpm: Header V4 DSA/SHA1 Signature, key ID c82c2b1b: NOKEY
Preparing... ########################################### [100%]
1:tuleap-gitolite-memberswarning: user gitolite does not exist - using root
warning: group gitolite does not exist - using root
########################################### [100%]
warning: user gitolite does not exist - using root
warning: group gitolite does not exist - using root

request #7543 It is possible to configure the defaut "Ma page personnelle" /my

How it's possible to configure the defaut "Ma page personnelle" .../my for all new users when they log in for the first time ?

request #7533 All news is being sent to approval for front-page

Hello,
We recently noticed that any news item that is written if being sent to the Site news approval page. Even when we select the radio button

Request promotion to Open-ALM front page ? NO

the news item is being sent for approval. As admins we do not know what is really being requested and what is not.

request #7527 Wrong search result when I search on date fields

Given I have a tracker to enter my days off (absences)
And I enter an artifact with start date = 2014-09-01 and end date = 2014-09-02
When I query the tracker with 2014-09-01…2014-09-30 timeframe
Then I get no result
And if I query the tracker with 2014-08-31…2014-09-30 timeframe
Then I get no result
And if I query the tracker with 2014-08-30…2014-09-30 timeframe
Then I get results.

request #7517 PUT /milestones/:id/content throw error 500

I upgraded to Tuleap 7.5.99.49 and I now get an exception when trying to move an Epic from a product to a release.
It used to work, I don't know exactly in which version it was broken.

PUT /api/v1/milestones/329/content
body:
[328]
__________
response:
HTTP/1.1 500 Internal Server Error
body:
{
"error": {
"code": 500,
"message": "Internal Server Error: Les champs ne sont pas valides"
},
"debug": {
"source": "NewChangesetCreatorBase.class.php:185 at call stage",
"stages": {
"success": [
"get",
"route",
"negotiate",
"authenticate",
"validate"
],
"failure": [
"call",
"message"
]
}
}
}

request #7512 PUT /artifacts/:id with invalid workflow should return a 400 error code

As of today, when value is invalid (like invalid workflow or other invlid data) it returns a 500 HTTP status while a 400 is more suitable.

request #7454 mediawiki admin delegation doesn't give user same permissions as admin

request #7453 Permissions nor correctly set on git fork

Forking a project with "nobody" for read/write/rewind inherits the access in the background despite being able to choose the permissions at fork time. Thus, combined with the issue in the previous test, cannot clone repo unti I update the permissions.

request #7450 Can't add a user to my project if their login name is the same as someone else's display name

request #7417 Advanced computed fields in Tracker

It would be great to have more flexibility in the whole system. For inst:
Can choose a title for tracker in semantic which consists of two or more fields. In Agile Dashboard you get more details in the item column

Acceptance criteria
- concatenate two string fields into one new
- referencing strings from artifact links (when there is only one reference)

request #7396 Reset a text field to NULL value on a workflow to a given status

Hello, I'm a team manager working at ST with your brilliant application, I put a tracker in place in a project context.
here my request.
In our workflow we are fixing business problems, verifying and asking business to confirm solution is OK, hence in the workflow we have states like : "Business to confirm", "Business OK", "Business not OK".
In case of "Business not OK" we want to RESET a "provide more detail" field to force the business to explain more in detail why they reject the solution.
Unfortunatelly I did not found a such option which allow me for example to reset to NULL this field when the workflow come to the state "Business to confirm".
Something like you are doing in workflow state transition with date and that allow to reset a date to NULL.
Is this already feasible or could you add this feature ?
THANKS
PYC

request #7390 In Workflows a "send email" action would be nice

It would be nice that in workflow transitions that as an action I would like to be able to send an email to a specific user or group that can be either in a field in a tracker or a user/group that is part of the project.

request #7368 MailGateway is not compatible with mailing list global notification

Given I have a tracker with global notification sent to a mailing list support@myawesomecompany.tld
And email gateway feature is activated
When a notification is sent following an artifact update
Then the notification contains an invalid token (user_id = 0 since support@myawesomecompany.tld is not a Tuleap user)

This is an issue since I, as a ML member, think that I can answer to the email whereas it won't work (and I won't receive any feedback).

MailGateway works only for individual emails.

I suggest that whenever a recipient does not correspond to a regular user, then we should send as no-reply instead of forge__artifacts, and not include the useless token.

request #7362 tracker report can't search artifacts that match a certain value

* given a tracker with some artifacts, add a new select box field.
* make that field required and do not set a default value
* old artifacts will not have a value for that field
* in report search by that field all artifacts that do not have a value for it.
* the report returns no results

request #7356 No artifact notifications received in tracker v5 when user real name contain html characters

My real name ends with this top notch ascii fish:

<B"">>><

This prevent testlink #207 to pass.

request #7272 REST Get /v1/trackers/{id}/artifacts doesn't work

When you did a querry with an unexisting field, all results are displays.

request #7269 Forum entries clearing spaces

The forum entries seems to clear spaces in from of lines, which is very inconvenient if we are trying to paste code:

Data entered in the Post:

(please see attached file for what was pasted as original text. I added the text as an attachment as it seems that text fields also removed the spaces).

After Post:

if ( ClientWaitForResponseTime == ClientWaitForClearPort ){
log("No unexpected messages received.");
result := true;
}

request #7254 cannot edit wiki page created from docman

non project member tries to edit page. document admin delegates right to do it. Not work!

request #7253 incorrect gerrit url after project rename

request #7250 Multiple artifacts are linked to artifacts that being imported by a CSV import

When a CSV file is being imported the artifacts that are being imported are incorrectly linked to multiple parents.

The issue is that for example, the csv file contains 3 test cases each has a different parent user story. The Artifact Links column in the csv contains the artifact id# of different user stories for each test case that is to be imported. When the import is performed, the first test case is linked correctly. However, the second and third test cases are also linked to the same user story as the first test case (which is not correct).
It then imports the second test case and links it to the user story listed in the Artifacts Links field but it also links the next test case in the csv to the same user story. Since there are no other records after the third test case, it is linked correctly.

request #7249 Reference to svn revision is incorrectly displayed in artifact comment

When adding a reference like "svn #116" within an artifact comment, only "#" is displayed.

But if I edit the comment again, I can see "svn #116".

Is it :
> a display bug specific to V3 trackers ?
> a known bug ?
> a bug corrected in more recent Tuleap version than 6.11 ?

request #7242 display of project title

I created a new project with a quote in the title. However, in the title of the project Tuleap added a back slash just before the quote.

The title of my project is Gestionnaire d'études, and Tuleap registered Gestionnaire d\'études.

request #7214 Product status not taken into consideration on Agile Dashboard

We have defined some products in a project. The status of one of the products was changed to "End of life", however the product is still being displayed on the Agile Dashboard.

request #7213 submit bar floating above comment textarea when concurrent edits

I begin to write a comment in an artifact.
Someone else update it.
A popup is displayed and ask me to confirm that I saw that there is a concurrent edition.
I ok-got-it.
A message is displayed under the submit button. However it overlaps the textarea and I can't do anything to make it disappear (firebug is not an option).

request #7206 Project Dashboard (Summary) is not displayed anymore

Some Facts:
- updated Tuleap from 6.12 to 7.2
- created two new Projects in updated Tuleap version
- one works perfect
- the other is not showing the projects dashboard (maybe was shown after creation, not sure...)

request #7197 Very long delay when accessing large gerrit repository using git plugin

When using the git plugin with a large gerrit repository we see a very long delay visiting the 'Summary' page. When watching an strace on the httpd process that is tasked with generating the page, it seems to be going through all the git info for every commit in the repository.

Other pages in the git plugin, such as the log, short log, and so on are all fairly quick to respond, just the summary page seems to take several minutes to resolve.

request #7176 gitphp and smarty3

On Debian Wheezy, the packaged version of smarty is 3.1.10

This version doesn't have anymore the following functions :

load_filter
is_cached

which has been replaced by

loadFilter
isCached

This breaks the gitphp plugin.

I attach a patch in order to resolve this issue, using a wrapper class which add those 2 missing functions if necessary.

This patch works well on Debian Wheezy with smarty 3, but I haven't any CentOS server to test it for smarty 2.

request #7163 mediawiki page broken on new Tuleap themes

request #7139 navigate in artifact with next and previous

when your are in the artifact view, it should be nice to be able to navigate to the next or previous artifact

request #7135 Hitting F5 does not refresh the search results, but goes back in the history

1. search something
2. play around with facets/categories
3. hit F5

request #7134 Default search is not the first one when trove cat is not used

Whith the new search when I search something globally, the default search is the last available category (People or Snippets). It should be the first one (Project).

(I think that the ideal would be to display all results at once: projects + people + snippets; and then the user can choose a category to refine her query)

request #7114 TV3 -> TV5 tracker structure export adds empty group for date reminders

1. Go to tracker v3

2. Create a new tracker v3 with the following parameters :

name : "Tracker v3"

description : "tracker to migrate"

shortname : "tv3_to_import"

template : Task

3. Go to the tracker administration -> Email notification settings -> Date fields Email notifications

4. You see a table with 3 rows. First, click on the link named [Edit reminder settings] on the first row (start date)

5. Fill the form with the following values :

... wiil start 1 day before ... send 1 email to Submitter and project_members ... every 1 days

6. return on the table and click on the link for the second row (due date)

7. Fill the form with the following values :

... wiil start 5 day before ... send 7 email to Assignee and project_admins ... every 78 days

8. return on the table and click on the link for the last row (end date)

9. Fill the form with the following values :

... wiil start 4 day before ... send 4 email to CC and wiki_admins ... every 4 days



10. Go on tracker v5 tabs and create a new tracker

11. Choose "From a tracker v3" option

12. Create the tracker with the following parameters :

name : "Tracker v5"

description : "tracker v3 migrated"

shortname : "tv5_imported"


13. check the DATE REMINDER SETTINGS in the TV5 tracker

request #7111 permissions on mw of private projects are not repected for old projects with old mediawikis

Only verified on validation server c5 53

request #7095 [Feature Request] Mandatory field due to workflow is not marked as mandatory

When there is a pre-condition on the field, requiring that the field must not be empty, the little red star is missing next to the field label during submission/update.

request #7077 Not all group members are displayed in Group Admin Members

On the User Group Admin page the count of member is correct, however, on the Group Admin Members page not all members are displayed (please see attachments).

request #7076 Mediawiki, bold & Italic display

Select your text and click on "Bold Text" or "Italic Text" button twice, you will get "Bold text" or "Italic text" displayed.
In result, the original text is altered and we can't have a text that is Bold and Italic in the same time (See attached screenshot)

BR
Amin

request #7075 Mediawiki Summary page always empty

After creating a new mediawiki page with Summury filled, it's not displayed in the page : I got always "Main Page" displayed.
Also , when I tried to edit the page , the summury became empty. (See attached screenshot)

BR
Amin

request #7074 Mediawiki "Create" Button or link not found

After creating the first mediawiki page, I can't found the create button or link on the page again (See attached screenshot)

BR
Amin

request #7073 Size of fields defined as Strings is not respected when editing an artifact

As a example, a field defined as a string, Size=100 Max Characters=150. When submitting a new artifact the field is displayed correctly, however, when editing an artifact the field size is ~31 characters.

request #7066 PUT /artifacts/:id has issue with GMT dates

I submit
PUT /artifacts/24
{"values": [{
"field_id": 446,
"value": "2014-01-09T00:00:00+00:00" }]
"comment": {"body":"Test for dates 2", "format": "text"}
}

The submission occurs correctly,
but the date now returned by GET /artifacts/24 is offset by 1 hour:
{ "field_id": 446,
"label": "Start Date",
"value": "2014-01-09T00:00:00+01:00"
}

If I send "2014-01-09T00:00:00+04:00", Tuleap sets the date to "2014-01-08T00:00:00+01:00", which is incorrect too.

request #6970 Clean the Augean stables

There are a lot of legacy code/feature that need to be removed (example: tracker v1).

request #6965 Remove of font size lead to notices in PFUser class

PHP Notice: Undefined index: fontsize in /usr/share/tuleap/src/common/dao/UserDao.class.php on line 255
PHP Stack trace:
PHP 1. {main}() /usr/share/tuleap/tools/utils/data_generator/seed.php:0
PHP 2. runSetup() /usr/share/tuleap/tools/utils/data_generator/seed.php:25
PHP 3. GuineaPig->setUp() /usr/share/tuleap/tools/utils/data_generator/seed.php:33
PHP 4. GuineaPig->generateProject() /usr/share/tuleap/tools/utils/data_generator/GuineaPig.php:68
PHP 5. DataInit\ProjectHelper->createProject() /usr/share/tuleap/tools/utils/data_generator/GuineaPig.php:104
PHP 6. DataInit\ProjectHelper->addMembersToProject() /usr/share/tuleap/tools/utils/data_generator/DataInit/ProjectHelper.php:87
PHP 7. account_add_user_to_group() /usr/share/tuleap/tools/utils/data_generator/DataInit/ProjectHelper.php:116
PHP 8. account_add_user_obj_to_group() /usr/share/tuleap/src/www/include/account.php:35
PHP 9. UserManager->updateDb() /usr/share/tuleap/src/www/include/account.php:71
PHP 10. UserDao->updateByRow() /usr/share/tuleap/src/common/user/UserManager.class.php:646

request #6940 REST API - Dates of fields should not have time

It looks like date fields in Tuleap don't have time info, they're just calendar dates.
So these fields should be transmitted without time info in the REST API:
ISO-8601 date without time = "2014-05-26".

request #6927 trcaker migration throws errors if tracker_date_reminder plugin is not installed

request #6925 No gitweb

After creating new git repository from Tuleap, no gitweb interface is created.
I can see the message
"Le dépôt est en attente de création. Veuillez revenir dans quelques minutes."
but nothing happends.

I can push/pull normally from the git repo created.

request #6920 systems still showing as RUNNING when FAILED

request #6891 UI goes crazy when I add a chart on a report I should not be able to update

Proposal: remove [add chart] button if user cannot update the report

request #6803 Error when accessing Editin User Group Permission

When in user groups admin page.
Then go to the permission option

I get the following

Fatal error: Call to a member function getTrackerId() on a non-object in /usr/share/tuleap/plugins/tracker/include/trackerPlugin.class.php on line 341

request #6802 Cannot import Exported Project Data using mysql credentials

Maybe it's a mysql version thing.

Go to project admin section/ Project Data Export.
Click on "Generate Full Project Database" link

When running
mysql -u cxuser -p -h server_name -P port_number exported_data_base_name
and password = ""

mysql says
ERROR 1044 (42000): Access denied for user ''@'server_name' to database 'exported_data_base_name'

I.e. it wants a password or assumes user is blank

request #6795 Can't delgate global tracker admin permission to user for private projects

request #6706 Remove cross tracker search

The performance hit is no longer acceptable.
At very least it should be in lab mod and marked as deprecated.

request #6681 SOAP API evolution for Docman export

Two features are missing in order to allow export of the complete hierarchy of a project documentation (Docman) :

> get the type (extension) and the name of an attached file (in order to save it with the correct extension after base64 decoding)
> get the URL of a link

request #6664 Cannot click on Content or Planning icons on the Agile Dashboard Home Page if Release name is long

Cannot go the Content or Planning from the agile dashboard home page if the release name is long (please see attached screen capture). Cannot click on the icons.

request #6656 Tuleap Card Fields Error.

I have created a task and set the start date (08.04.2014) and end date(08.04.2014) as same date, hence in the card fields(included start date and end date fields) it shows as 8 hrs ago, instead of showing 8 hrs more as the day ends at midnight 12. But when I set both the dates with some days gap between them, it works fine by showing 1 day ago and as 1 day more.

Please provide a solution for this.

request #6635 Updating an artifact without status causes error

I try to update an artifact which has no status.
I'm using Tuleap 6.12

This causes an error here:
PHP Fatal error: Call to a member function getId() on a non-object in /usr/share/codendi/plugins/tracker/include/Tracker/FormElement/Tracker_FormElement_Field_List.class.php on line 643

Here is the JSON sent:
{
"values":[
{"field_id":1172,"value":"20"},
{"field_id":1179,"bind_value_ids":[]}, // <--- This is the line that causes the problem. If removed, the update is successful
{"field_id":1183,"links":[{"id":137},{"id":133},{"id":136}]},
{"field_id":1173,"value":"Sprint 1"},
{"field_id":1174,"value":"2014-04-04T00:00:00+02:00"},
{"field_id":1177,"value":"10"}
]
}

request #6509 GET /projects/:id/user_groups returns 403 Forbidden on public project

When I call GET /projects/:id/user_groups, I get a 403, even though I can access
GET /projects/:id

GET /projects/:id/user_groups should return an empty list if there is no group i'm allowed to see, but it should never return 403 Forbidden if GET /projects/:id does not return 403 Forbidden. (Any resource listed by GET /projects/:id should be accessible with the same credentials as /rpojects/:id)

request #6402 Can't modify project's description fields in administration

Can't modify project's description fields in administration : there is nothing (white page)

request #6378 TV3 field dependencies in read-only failed only at the creation

Preconditions:

  1. Define a select box as source field (ie S: s_1, s_2)
  2. Define a select box as target field.(ie T: t_1,t_2,t_3)
  3. Define a certain dependancy between S and T: (s_1=>t_1,t_2; s_2=>t_1,t_3)
  4. Set the permission to the source field as Read-Only for a given group (ie for project members)
  5. Set the permission to the target field as update for the same group.

Result:

  • Create an artifact: 
    • source field is not displayed and the target field contains all the values (not only values corresponding to the dependency definition) : NOK, source field should be displayed and targeted values should be the good ones
  • Update an existing artifact: 
    • source_field is in read-only and the target field contains only the values corresponding to the dependency definition) : OK

request #6351 SFTP READ permissions override WRITE

If you grant READ and WRITE permissions to the same group, the READ permission will override the WRITE one and nobody will be able to perform any modification.

request #6329 Decorator is not displayed in the read-only view

Given my selectbox values have decorators
When I go to the artifact
The decorator is not displayed whereas it is displayed in reports, tooltip, edit view, …

request #6279 No artifacts attributes shown in Eclipse Mylyn

No artifacts attributes are shown in Eclipse Mylyn with the Tuleap connector although configuration seems OK. Mylyn correctly shows the task list and existing comments and attachement, but attributes section remains empty. Installing Agile dashboard seems to be a workaround. https://tuleap.net/plugins/forumml/message.php?group_id=101&topic=27811&list=1

request #6262 Project tree (2)

I create a directory under "topic" (the lone directory that works), and a project in this under directory, but when I choose him in the project tree, it says : "no project in this category".

request #6260 Projects tree

In the projects tree, we can just choose the topic directory, when I choose another one, it does't work.

request #6246 Task linking does not work if there is space in the Tuleap project name

If the Tuleap project name has a space or another character such as an dash, the task hyper link does not work. See attached image

request #6184 Inlined images are not displayed in ForumML

See https://tuleap.net/plugins/forumml/message.php?group_id=101&topic=27696&list=1

request #6183 Anonymous FTP link is displayed even when there is no anonymous FTP space

In Public Areas widget

request #6084 Cross-projects artefacts reports based on semantic

Tuleap is cruelly missing a way to get a cross-projects artefacts view for global supervision or PMO(Project management Office) considerations.
A project director really need to have a cross project artefacts view.

request #6019 Incorrect size for titles 2 and 3 in Wiki page

The size for title in Wiki page are incorrect.

It seems that h2 and h3 are overiden within style.css and h4 is defined by bootstrap.

request #5910 aliases and aliases.codendi : tuleap admin alias inconsistency

Here is default /etc/aliases.codendi

# Codendi wide aliases

codendi-contact: codendi-admin

codex-contact: codendi-admin
codex-admin: codendi-admin
sourceforge: codendi-admin
codendiadm: codendi-admin
noreply: "|/usr/lib/tuleap/bin/gotohell"
undisclosed-recipients: "|/usr/lib/tuleap/bin/gotohell"
webmaster: codendi-admin


And here is default /etc/aliases entry set by installation process (I guess because I haven't added myself):
tuleap-admin: root

To me <name>-admin alias here should match the one in aliases.codendi or we'll get 'user unknown'.
(means need to choose between 'codendi' and 'tuleap')

request #5825 mandatory textareas are not enforced by backend

request #5806 http vs https login and resulting mailman issue

When login to Tuleap using http://my-tuleap.website.me directly from the homepage login (ie: not using top-right corner "login" option : https://my-tuleap.website.me/account/login.php ) then mailman URLs are not available - since the configuration file /etc/httpd/conf.d/mailman.conf is not included from /etc/httpd/conf/httpd.conf (but it is included from /etc/httpd/conf/ssl.conf).

The only way to access mailman URLs is https://.

Note the malfunctioning URLs are mentioned within mailman notifications emails too !

I think a choice should be made here : either configure the system so Tuleap can only be accessed with https:// links, or review apache configuration files.

request #5759 chcon error while installing tuleap

During the installation of Tuleap on CentOS 6.5, I got this error:

Set SELinux contexts and load policies
/usr/bin/chcon: cannot access `/var/lib/tuleap/ftp/codendi': No such file or directory

the directory should be: /var/lib/tuleap/ftp/tuleap

request #5735 Tuleap.net: lists plugin not accessible to registered users that are not project members

request #5725 PHP Fatal error when creating an artifact from an empty tracker

When I creat an artifact from an empty tracker, I've got the following error :

Fatal error: Argument 1 passed to Workflow::before() must be an array, called in /usr/share/codendi/plugins/tracker/include/Tracker/Artifact/Tracker_Artifact.class.php on line 788 and defined in /usr/share/codendi/plugins/tracker/include/workflow/Workflow.class.php on line 304

request #5711 Naming a field "id" breaks the report

If you name a field "ID" and try to display it in the report, the something is messed up and the report is empty. 

Logs shows the query is invalid (not saying why). This is the said query: 

SELECT a.id AS id,
       c.id AS changeset_id ,
       R2_25262.value AS `name`,
       a.per_tracker_artifact_id AS `id`,
       R2_25311.user_id AS `name_1`
FROM tracker_artifact AS a
INNER JOIN tracker_changeset AS c ON (c.artifact_id = a.id)
LEFT JOIN (tracker_changeset_value AS R1_25262
           INNER JOIN tracker_changeset_value_text AS R2_25262 ON (R2_25262.changeset_value_id = R1_25262.id) ) ON (R1_25262.changeset_id = c.id
                                                                                                                    AND R1_25262.field_id = 25262)
LEFT JOIN (tracker_changeset_value AS R1_25311
           INNER JOIN tracker_changeset_value_list AS R3_25311 ON (R3_25311.changeset_value_id = R1_25311.id)
           LEFT JOIN USER AS R2_25311 ON (R2_25311.user_id = R3_25311.bindvalue_id) ) ON (R1_25311.changeset_id = c.id
                                                                                          AND R1_25311.field_id = 25311)
WHERE a.id IN (5473)
  AND c.id IN (25957)
GROUP BY id

Running it by hand gives a `ambiguous column name 'id'` error. Replacing the last line by "Group by c.id" solves the issue. For now we change the name of the ID field and everything works again.

request #5705 Project not active is not visible in Project Tree

I have now some projects which do not have evolutions or traffic (end of life).
I would like to hide them within user's list but I still want the user to be able to reach them through project tree.

I nice feature should to be able to select which project are visible into project tree ("active" by default).
By selecting "Active", "Suspended" i will have what I need.

request #5572 Cannot multi select Milestone in a filter

The Milestone should have a plus (+) similar to other select box fields so that users can select more than one milestone

request #5553 duplicate permissions when creating a release

create a release via the CLI. It will show duplicate permissions inherited from the package.

request #5506 Mylyn Connector 1.1.1 SOAP error on validation

I am unable to validate a connection via the 1.1.1 Mylyn connector to my 6.6.99.13 Tuleap installation. Running Kepler and Mylyn 3.9.1 on Scientific Linux 6.4.

I AM able to connect to my Tuleap service via a web browser at https://tuleap.<mysite>.com/plugins/tracker/?group_id=101 and I see the tracker associated with that project. However the "https://tuleap.whcreative.com/soap/index.php" link at the bottom of the page results in the same error as generated below.

When I enter that URL in the Add Task Repository "Server" field and populate the rest with my ID and password, I get an error: "SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://tuleap.<mysite>.com/soap/codendi.wsdl.php?wsdl' : EntityRef: expecting ';'" This prevents all usage of Tuleap via Eclipse.

There does not seem to be any related log events but I may not be looking in the right place. Can anyone tell me what I'm doing wrong or point me in the right direction? Please let me know what additional info is needed.

Eric

request #5503 Status field displayed on card is not refreshed

If the status field is displayed on a card, and the card is put into another column the status field is not refreshed.

request #5499 Backlog item does not display in Cardwall

In my cardwall, some backog items show an error "The backlog item <my item> cannot be displayed since the column matchings have not be defined between Requests and this planning"

This happens when I have no tasks linked to this items and no column defined to determined the item status. I dont want to defined a status to this backlog item as I will add children tasks later.

As soon as I add a children task to my backlog item, it shows up correctly.

See attached screenshot.

request #5472 Have universally unique identifier for artifacts

I am in an organization that uses more than one instance of tuleap.
In order to not mess up with different artifacts with same id on different instances (art 123 on tuleap.example.com is different than art 123 on tuleap.example.net), I would like to be able to have universally unique identifiers so that artifact with id <uuid> refers to one and only one plateform.

request #5469 Allow to customize the subject of the artifact notifictation

When I receive a notification, the subject has the following form:

[bug #123] Bla does not work

If I belong to many project with a `bug` tracker, I am not able to distinguish to wich project the notification refers to.

It would be nice to offer the possibility to customize the prefix of teh notification:

[project][sla #123] Bla does not work
or
[project sla #123] Bla does not work

What do you think?

request #5435 The Copy ID menu option should return the base type with # for SCM commit

It would be good if the Eclipse Mylyn plugin return the ID is a format that can be used in the SCM submit comment so that the SCM cross reference is created. At the moment it generates project: Tasks: XXX, if it produced task #XXX then it could act as a commit message with change.

request #5434 Allow drag and drop priority in tracker content display - eg Epic user story list

Allow drag and drop priority in tracker content display - eg Epic user story list - this would allow stories within an Epic to be prioritised without having to be in the Agile dashboard, useful when Epic planning.

request #5431 When you add a backlog item in a milestone content, artifact link overlay is broken

request #5417 Unable to generate Graphs for Open List

I am unable to generate Bar Graphs / Pie Charts for values in Open List Fields.

request #5348 Live update of the cardwall does not update the status of the story

When I switch the last task to done on this project's cardwall, due to workflow the status of the story is set to done and the remaining effort is set to 0.

However on the cardwall only the remaining effort is reflected but the status does not change. If we refresh the cardwall, all is ok.

request #5347 User story not switching to done when all tasks are done

This occurs on this project.

When some tasks are cancelled the trigger `all tasks are done` is not fired when I switch to done the last task in the cardwall.

To solve this I propose to allow this type of trigger:

When [all children] of type [task] have their field [status] set to [done or cancelled]
Then …

Nowadays it is impossible since the value selector is a simple selectbox. Should be a multi selectbox.

What do you think?

request #5148 After editing artifact from Search UI user is returned to tracker query

When an artifact is opened for editing from the Search UI and the changes are submitted, the users is returned to the Tracker query (e.g. Bugs) instead of back to the Search UI results.

request #5146 No validation done on sprint name - able to create duplicate sprints

There is no validation on sprint name when the artifact is submitted. Able to create duplicate sprints.

request #5144 A Bug artifact created as a child of Test Case does not appear on the Card Wall

A bug artifact was created as a child of a test case. The bug does not appear on the Card Wall. The bug should be displayed in the same row as the test case artifact. It does not have to appear in a hierarchy on the Card Wall but it should appear.

request #5142 Computed Field issues on the Search

1. Cannot aggregate on a Computed field. No symbol shows (e.g Remaining Effort)
2. Field is exported but not the data (try with Remaining Effort)

request #5141 User Story not displayed in the Sprint Plan

We had this issue in one of our projects where in the Artifact Links section of a User Story a list of tasks that were associated were displayed. However in Artifact Links section of those Tasks there was the User Story. This caused the User Story not to be displayed in the Sprint Plan and of course the card wall. A lot of time was spent trouble shooting the issue as looking at the Release, Epic, Sprint and User Story all the Artifact Links seemed to be correct. The circular reference in the Artifacts Links caused a problem.

In order to a