Loading...
 
Skip to main content

Category: Technical debt (dependencies, refactor, etc.)

Technical debt (dependencies, refactor, etc.)
Show subcategories objects

Name Type
Moment.js: "We now generally consider Moment to be a legacy project in maintenance mode. It is not dead, but it is indeed done."
{syntax type="tiki" editor="plain"}
https://momentjs.com/docs/#/-project-status/

So Tiki needs to transition, sooner or later

((How to pick a software library))

Internal tracking: [https://avan.tech/item118932-Moment-js-We-now-generally-consider-Moment-to-be-a-legacy-project-in-maintenance-mode-It-is-not-dead-but-it-is-indeed-done]
tracker item
Review and address all outdated or abandoned dependencies in vendor_bundled/composer.json
{syntax type="tiki" editor="plain"}
Brainstorming and decisions would be better to have in public as per https://dev.tiki.org/How-to-pick-a-software-library and summary can be on https://gitlab.com/tikiwiki/tiki/-/blob/master/vendor_bundled/composer.json


!!# laminas/laminas-text (Assigned to: @usbbush) Replaced here https://gitlab.com/tikiwiki/tiki/-/merge_requests/8095
||AlternativePackageName| Class Namespace| PHP version| Contribution Activity | Selected
[https://github.com/povils/figlet|povils/figlet]| Povils\Figlet\Figlet | php5 |last contribution: 3 years ago %%% Install by: 5 743 %%% Github Stars: 59 %%% Github fork: 23 [https://packagist.org/packages/povils/figlet|more] | Status: NO %%%Why: Can't be used without setting a background , Very old and no support for php8
[https://github.com/amasiye/figlet|amasiye/figlet]| Amasiye\Figlet\Figlet | php8.2 |last contribution: 11 months ago %%% Install by: 200 [https://packagist.org/packages/amasiye/figlet|more] | Status: NO %%%Why: Can't be used without setting a background, No support for width but this is also a potential candidate. It is a fork of povils/figlet
[https://github.com/gbhorwood/Macrame|Macrame]| Gbhorwood\Macrame\Macrame| ✅ php7.5 and higher| last contribution: 3 months%%%Install by: not available|Status: NO %%%Why: It has an issue that I reported [https://github.com/gbhorwood/Macrame/issues/19|here] and Currently there is no support for width which solve responsiveness issue but it is a potential candidate. This also dependends on povils/figlet when we check the dependencies list||
!!!!! Conclusion
The laminas/text package was officially archived in December 2024. However, no actively maintained PHP FIGlet library currently provides comparable functionality. Given the package’s stability and the limited scope of our use case, I propose we retain it for now and add an inline comment to document its deprecated status. This will make future replacement easier should a suitable alternative emerge.
__Note__: I found a [https://www.npmjs.com/package/figlet|npm-based figlet] alternative, which can produce similar results. However, it introduces additional complexity and dependencies compared to the current PHP-based solution, making it less ideal for this lightweight use case.
Related: https://github.com/laminas/laminas-captcha/issues/41

OK please add info to https://gitlab.com/tikiwiki/tiki/-/blob/master/vendor_bundled/composer.json and see if you can find a way to suppress warnings about it. {sign user="marclaporte" datetime="2025-06-13T14:00:24+00:00"}
!!# candy-chat/xmpp-prebind-php (Assigned to: @olivier.kango)
After an in-depth evaluation of available packages and compatibility requirements for PHP 8+, the following conclusions have been reached regarding the deprecated -+candy-chat/xmpp-prebind-php+-:
||__AlternativePackageName__| __Class Namespace__| __PHP version__| __Contribution Activity__ | __Selected__
[https://packagist.org/packages/dusta/xmpp-prebind-php|dusta/xmpp-prebind-php]| XmppPrebind | PHP >= 5.6| Very low usage (16 installs) Unimproved fork (last updated 2018) | Not selected
[https://packagist.org/packages/andrea11/xmpp-prebind-php|andrea11/xmpp-prebind-php]| XmppPrebind| PHP >= 5.3 | Very low usage (23 installs) Exact clone (no forks, 2016) | Not selected
[https://packagist.org/packages/zorn-v/xmpp|zorn-v/xmpp] | Fabiang\Xmpp* | PHP ≥ 7.2, PHP 8.0+ | ~8,346 installs, Active (last update March 2025, fork of fabiang/xmpp) | Not Selected.%%%Not a drop-in replacement for XmppPrebind, but modern, maintained, supports SCRAM-SHA.
[https://github.com/pbxapi/xmpp-php|pbxapi/xmpp-php] | XmppPrebind | PHP ≥ 7.0 | Very low usage, ~0 stars, 1 fork, last update 4 years ago. Provides Prebind for PHP backends (tested with Openfire, ejabberd). | Candidate: Closest %%%functional replacement for candy-chat/xmpp-prebind-php, but project inactive.%%% __Not Selected__ ||

Challenge documented in: https://gitlab.com/tikiwiki/tiki/-/blob/master/vendor_bundled/composer.json

[item91415]

!!# jasig/phpcas (Assigned to: @espoir.baraka) Replaced here https://gitlab.com/tikiwiki/tiki/-/merge_requests/8071 by @doddy.matabaro
Check this [item118571-phpCAS-is-unmaintained] for extra information
||AlternativePackageName| Class Namespace| PHP version| Contribution Activity | Selected
[https://github.com/ecphp/cas-bundle|CAS-Bundle]| EcPhp\CasBundle| PHP 8.1| last contribution: 3 months%%%Star: 46%%%Fork: 9| Status: NO %%%Why: This is used for symfony project %%% %%% @espoir.baraka: yes but it uses https://github.com/ecphp/cas-bundle/blob/master/composer.json
[https://github.com/apereo/phpCAS|phpCAS]| Psr\Log\LoggerInterface| php 7.1| last contribution: 10 months%%%Star: 796|Status: NO %%%Why: phpCAS is no longer maintained ||

!!# laminas/laminas-log (Assigned to: @olivier.kango) [https://gitlab.com/tikiwiki/tiki/-/merge_requests/7506]
||__AlternativePackageName__| __Class Namespace__| __PHP version__| __Contribution Activity__ | __Selected__
monolog/monolog| Monolog\Logger| PHP >= 8.1 | Last contribution: 3 weeks ago%%%Used by: +7.5K| Status: YES %%%Why: Actively maintained, widely adopted, PSR-3 compliant ||

!!# laminas/laminas-config (Assigned to: @doddy.matabaro) [https://gitlab.com/tikiwiki/tiki/-/merge_requests/7792]
||AlternativePackageName| Class Namespace| PHP version| Contribution Activity | Selected
hassankhan/config| Hassankhan\Config\Config| PHP >=5.4| last contribution: 2017-11-06 (archived)%%%Used by: ~600| Status: NO %%%Why: Archived, not maintained, lacks modern PHP compatibility
league/config| League\Config| PHP >=7.4| last contribution: 2 months ago%%%Used by: ~1K|Status: NO %%%Why: Strict on immutable configs and requires more structural changes
Native Tiki Config| Tiki\Config\Config| PHP >=8.0| Ongoing%%%Used by: Tiki core itself| Status: YES %%%Why: Fully compatible with Tiki's needs, preserves existing behavior (merge, nesting, readOnly), minimal changes across codebase. ||

!!# laminas/laminas-mail and laminas/laminas-mime (@usbbush)
Check [item118613-Deal-with-the-abandonment-of-laminas-mail-and-laminas-mime] for more details

!!# laminas/laminas-oauth
https://gitlab.com/tikiwiki/tiki/-/merge_requests/7591/

!!# laminas/laminas-twitter
Was used by laminas/laminas-oauth which got replaced in https://gitlab.com/tikiwiki/tiki/-/merge_requests/7591/

!!# laminas/laminas-crypt
Was used by laminas/laminas-oauth which got replaced via https://gitlab.com/tikiwiki/tiki/-/merge_requests/7591

!!# php-http/message-factory (Assigned to: @usbbush)
https://gitlab.com/tikiwiki/tiki/-/commit/e916b26e4aac849d13cdf51156aa7f6e74191a26

!!# laminas/laminas-dom (Assigned to: @usbbush) https://gitlab.com/tikiwiki/tiki/-/merge_requests/8001

!!# laminas/laminas-loader (Assigned to: @usbbush) [No MR]
https://gitlab.com/tikiwiki/tiki/-/commit/98308faf844877011038fc60c3a02489bbedffd9
tracker item
Review-and-address-all-outdated-or-abandoned-dependencies-in-vendor_bundled-composer-json
wiki
Wiki structure breadcrumbs should be updated to use Bootstrap breadcrumb classes
{syntax type="tiki" editor="plain"}
In recent Tiki versions, the breadcrumb ordered list has a "1." preceding it due to a recent commit related to ordered lists globally. I was looking into how to fix that (how to remove the "1."), when I noticed in my browser inspection tool that the breadcrumb ordered list is flagged as bad HTML because it contains content other than li elements - the item dividers. I checked the Bootstrap breadcrumbs doc page ([https://getbootstrap.com/docs/5.3/components/breadcrumb/]) and see how the dividers are added without breaking the ol / li structure (and also without displaying the "1.".

The breadcrumbs in Tiki would be improved by replacing the current Tiki HTML and CSS with the Bootstrap breadcrumb HTML and CSS.

I noticed this on a page in a wiki structure, which has the structure breadcrumb list at the top. I didn't check yet about other instances of breadcrumbs in Tiki.

__Update__: Checking again, it looks like the structure breadcrumb is already using the Bootstrap classes. One problem is that the item separators should be inserted using CSS ( -+.breadcrumb-item+.breadcrumb-item::before+- selector) rather than as they are now, where they become page content and disrupt the -+ol li+- structure. Also, the global rule to add the "1." is overpowering the -+list-style:none+- property of the -+.breadcrumb+- class, which needs to be fixed globally.

__Update 2__ : I committed a change to prevent the breadcrumb ol from having a "1." appended. The only thing to fix now is to update how the dividers or separators are inserted in the breadcrumb. It should be done via CSS rather than adding text between li elements. This is flagged as incorrect HTML.
tracker item
Show PHP error messages