As we go through the spooky season 👻, we have some terrific updates for you in Tuleap: boosted full text Search in Tracker, GitLab Group integration, enhancements in Artifact Modal for easier link and parent selection, Baseline readers and administrators definition… all this in the release note of Tuleap 14.1 below!
Full text search in trackers under steroid
In 14.0, we introduced the reference implementation of Full Text Search, backed by MySQL full-text indexing capabilities. The reasons behind MySQL choice is the ability to provide a solution that works out of the box without a third party dependency.
But MySQL can only do so much. It’s not a dedicated full text search engine. Even though we got some pretty good feedback after the first deployments that were done.
We had a « battery included but removable » strategy in mind when we designed this feature. We always thought that we would need to rely on a real full text search engine at some point. You probably already have Elastic in mind since the beginning of this paragraph (so do we) but we walked another path.
The initial reasoning is that, for our cloud offering, we wanted to rely on a third party tool to avoid the burden of a dedicate piece of infrastructure. So Algolia was a rather obvious choice. We went on their price page, on ours, and back on the drawing table 🙂
Then we gave a look to the latest kid in the full text search engine block, Meilisearch, and we fell in love.
At the end of our previous release, as for each release, we had a two-day hackathon and there was a PoC already working. By the end of the following week, the implementation was complete. Most efforts went into the packaging part, to be able to ship a static build of it with our Nix-based environment (a lot of hype in this sentence).
That’s a long introduction for the new package of Tuleap Enterprise Edition: Full Text Search with Meilisearch.
On the surface, switching from one backend to another is barely noticeable. The only change is that Meilisearch provides context that matched the query so we could display it. Otherwise results look the same.
The key differences will be on the speed of the search and the quality of match. It’s surprisingly hard to describe it, so we can only encourage you to test by yourself. 🤓
Keep in mind that if you want to switch from one backend to another, you will have to re-index the whole platform so A/B testing is a bit heavy.
Integrate a GitLab Group in Tuleap
Tuleap can integrate GitLab repositories since a long time. However, when you have a lot of repositories or when you want to enforce a better alignement between the two tools, that might not be enough.
The integration of GitLab groups is done at project level for Tuleap. The goal is to automatically import all repositories of a group and share a common configuration. That’s especially useful when you want to ensure that all GitLab repositories are referenced in Tuleap, since it’s the central place where team gathers. That’s also useful in case you want to align the configurations.
Once the integration is done, all repositories are integrated and displayed as regular GitLab repositories and, of course, you can leverage all the features of the existing integration.
Ease selection of links and parents in Artifact Modal
During Spring, we made a major overhaul of the artifact links management in the artifact modal. With a bit of practice we identified a couple of annoying things that had to be improved:
- there were way to many clicks to add a link and, as a result, people lost links from time to time;
- by removing the old « Select parent » selector, we made linking with a parent too much of a burden.
We heard you and found a better approach:
- links are automatically added when they are selected (no more « add link button » needed);
- when a parent might exist (as per Tracker Hierarchy or Program Management), it’s proposed by default.
Define Baseline administrators and readers
Until Tuleap 14.0, you had to be project administrator to do anything on Baseline service. Now, project administrators can delegate administration and read access to user groups.
Bugs and requests
There were 43 bugs fixed and requests implemented during the 14.1 release cycle. Bugs and security fixes were already back-ported on Tuleap Enterprise builds. You will find below a detailed list of fixes. The most notable ones are in bold.
- #28257 Missing authentication of webhook requests made to the Jenkins Branch Source plugin – CVE-2022-43421
- #28848 GitLab repository branch prefix can be updated by any user – CVE-2022-39233 – CVSSv3.1 score: 4.3 (Medium)
- #28850 consistency is not guaranteed in tracker report query when a field is deleted
- #28875 Improve burnup performances
- #28853 Cloning an artifact created a ‘Warning’ in the cloned artifact
- #28861 Display of Sprint Overview force computation of Release BurnUp
- #28839 document fileupload must not silently ignore js error
- #28879 Display action icon beside the document name on hover in the Documents tree view
- #28855 Improve permission modal for long groupname
- #28864 document error is thrown when user navigate inside folder before its content have been finished to be loaded
- #29202 Create a GitLab branch + MR leads to an uncaught JSON parse error
- #28847 Updating GitLab repository branch prefix throws an error 500
Full text search
- #28858 Crash when deleting a project with indexed items in the FTS DB backend
File release system
- #28824 FRS check on version name already exists throw a fatal error
- #28871 Cannot add new .php file in core subversion repositories
- #28833 Remove nginx rules blocking access to Apache htaccess file
- #28868 project shortname must be unique
- #28880 Fix French translation in project’s permissions overview
- #28851 remove « updated » in Heartbeat widget