Loading...
 
Skip to main content

Category: 27.x

27.x
Show subcategories objects

Name Type
jQuery Sortable Tables feature warning is visible when using wiki fancy table
{syntax type="tiki" editor="plain"}
On a Tiki27 where I don't use jQuery sortable tables.
I set a fancytable wikiplugin to display 2 columns side by side.
One contain a diagram (wiki plugin image) the second some text.

Under the fancytable the following warning is displayed even for anonymous:
"The jQuery Sortable Tables feature must be activated for the sort feature to work."
tracker item
"Display on device" module setting doesn't work and doesn't make sense IMO
{syntax type="tiki" editor="plain"}
First, the simple problem: the module visibility preference "Display on device" doesn't seem to work. I tested setting a module to "Desktop" only and "Print" only and it still displayed on my laptop.

Second, I think the thinking behind this is faulty. I don't understand why a site administrator would want a module to only display to people using a desktop PC and not to laptop users. I'm joking there because I assume the thinking wasn't really about the device but about the display resolution. was that "desktop" means larger displays and laptop means displays smaller than larger ones, or some breakdown like that. But this doesn't really work. My laptop's recommended resolution is 2560 x 1440, which is more than a lot of desktop displays. Similarly there is a lot of overlap between Mobile (phones) and Tablet resolutions. And again, there is no logic, as far as I know, to differentiate between these in regard to module display except on the basis of screen size/resolution.

Maybe user agent strings could be used to control module display, as listed on https://deviceatlas.com/blog/list-of-user-agent-strings for example, but even here there is no distinction between desktop and laptop, and I don't know what the rationale would be for controlling this way other than related to display size.

I don't know what the method was for the Tiki site to identify what type of device was being used but I suggest the module option be changed to explicitly target screen sizes, which would use the standard practice of media queries and would also make sense from the admin point of view. Actually this would just put a gui on top of the Bootstrap display classes (https://getbootstrap.com/docs/5.3/utilities/display/#hiding-elements, https://getbootstrap.com/docs/5.3/utilities/display/#display-in-print), so should be an easy fix. Instead of listing Mobile, Tablet, Laptop, Desktop, and Print, the dropdown could list "Hidden on all, Hidden only on xs, Hidden only on sm, Hidden only on md, Hidden only on lg, Hidden only on xl, Hidden only on xxl, Visible on all, Visible only on xs, Visible only on sm, Visible only on md, Visible only on lg, Visible only on xl, and Visible only on xxl".

This is a longer list but corresponds to reality. A help block can give info about what the sizes mean. Similarly, there are Bootstrap classes for print display that can be incorporated into this. (In that connection, maybe there is no need for the Tiki-specific "display_on_print" class that seems to be redundant because of these Bootstrap classes.)

I suggest fixing this quickly or removing it and starting fresh because IMO it could give to new Tiki site admins the impression that we don't know what we're doing.
tracker item
{{itemId}} broken in templates in 27.3 (works in 27.2)
{syntax type="tiki" editor="plain"}
Using { { itemId } } in a template shows the actual itemId followed by an equal sign in Tiki 27.3. This works normally is Tiki 27.2
tracker item
2FA tooltip should link to the documentation page
{syntax type="tiki" editor="plain"}
At tiki-user_preferences.php#contentmytiki_user_preference-4, Security user should setup 2FA authentication. This is not a simple thing and there should be a tooltip to link with Tiki documentation: https://doc.tiki.org/Two-factor-authentication
tracker item
Accessibility warning caused by redundant link title on wiki links
Wiki links (not external links) get a title in a tooltip that has the same content as the link text, so if you hover over a link to "HomePage", there'll be a tooltip saying "HomePage". This isn't helpful and also gets an accessibility warning error, I guess for cluttering the interface with redundant text. This doesn't happen with links made by WikiWords (camelcase links) but does happen with links made with double parentheses, which is the more common method these days probably.

Looking for info about this at doc.t.o, I noticed some wiki links had helpful titles that turned out to be the page description text of the target page, which does a good job as the link title. These can be seen at, for example, [https://doc.tiki.org/Wiki-Syntax-Links#Wiki_Pages] in the "Result" column of the table.

But it seems like most wiki pages don't have anything in the page description field, or maybe that feature isn't even turned on, so I think it would be best, if the feature is off or if there is no page description input for the target page, the link shouldn't have a link title. This would be better than redundantly showing the link text.
tracker item
Add a wiki dump feature
Hi. There are cases when you need a dump of the entire wiki. Such as for offline browsing. In my case, I need to be able to read the wiki when I can't run the web server.

There was the "Dump files" feature, which provided for this, but this is defunct and was about to be removed. See [https://dev.tiki.org/item8549-Defunct-old-Dump-Files-feature-should-be-removed|Defunct old "Dump Files" feature should be removed].

So I'm requesting to bring the feature back.
tracker item
Add an option to add the Newsletter Unsubscribe to the email header
{syntax type="tiki" editor="plain"}
There is already an option to add an unsubscribe link to the bottom of each Newsletter sent out, but this is a new request to be able to add that unsubscribe link to the email's headers.

Here are two articles that go into more detail about what is needed:

[https://digitalmarketinginstitute.com/blog/google-yahoo-email-changes-what-do-they-mean-for-marketers|Google & Yahoo Email Changes 2024: What Do They Mean for Marketers?]

[https://postmarkapp.com/blog/list-unsubscribe-header|List-unsubscribe headers: Here’s everything you need to know]

I copied, and redacted, this from an email header that complies:
{INDENT()}
Subject: *** *** ***
From: "***.com" <***@***.com>
Reply-To: =?utf-8?Q?***.***?= <***@***.com>
To: <***@***.com>
Date: Wed, 10 Jul 2024 18:12:15 +0000
Message-ID: &lt;0c5fce4d5ca3d085d.5d6f829.202120.027e2fd.f6a2d6@***.net&gt;
List-Unsubscribe: &lt;https://***.us11.list-manage.com/unsubscribe?u=0c5fce45a13d85d&id=a2fc1a946&t=h&e=25df82c19&c=024d72f&gt;, &lt;mailto:unsubscribe-***0a64a13dd.02fd-282c19@unsubscribe.***.net?subject=unsubscribe&gt;
List-Unsubscribe-Post: List-Unsubscribe=One-Click
Content-Type: multipart/alternative; boundary="_----------=_MCPart_1392722314"
X-IncomingHeaderCount: 25
Return-Path:
{INDENT}
tracker item
Add checks for node/npm in tiki-check.php
{syntax type="tiki" editor="plain"}
tiki-check.php does not check for the availability of Command-Line -+npm+- or the version of -+npm+-. It should.

I believe Tiki does not need npm to run, npm is required only for running -+sh setup.sh+-.
-+sh setup.sh+- is needed for GIT installations.

The absence of -+npm+- with a propoer version means installing from GIT is not possible and tiki-check.php should inform of this.

There is a related discussion during the [https://recordings.rna1.blindsidenetworks.com/citadelrock/d559965849921585c1849af03b7a51638700d979-1763647044279/presentation/|November 2025 Roundtable Meeting]
tracker item
Adding a group selector for the visibility of the wikiactions page_actions button at the top of the wiki pages
{syntax type="tiki" editor="plain"}
In the early days when Tiki Wiki was primarily a Wiki tool, keeping the **wikiactions** page actions button constantly visible at the top of Wiki pages made sense.

However, now this button often obstructs the user experience, drawing attention away from content with its contrasting color, even when only one or two actions are available.

While outlining the button (as discussed in the Matrix chat) would be a quick improvement.

I also propose we also enhance the admin settings at `tiki-admin.php?page=wiki#contentadmin_wiki-1`. Adding a __group selector__ under "Wiki top line location" would allow admins to choose which user groups see the page_actions button.

tracker item
adding an alias to the top page of a structure produces a CRSF error
{syntax type="tiki" editor="plain"}
At the Structure admin screen you can add text to be used as a page alias for any of the pages in the structure - useful to show more meaningful text or to use characters that cannot be in the 'real' page name.

This works fine for all the subpages in the Structure but when adding the alias text to the top/main page of the structure it triggers an Error which says:
''Your attempt was blocked as a suspected malicious operation. If you are a real person and this is an incorrect report, please report to the site administrators with the following code: CRSF_some_different_number_each_time''

The edit will eventually happen if you keep trying but each attempt still shows an Error message.


tracker item
Admin bar module causes fatal error
{syntax type="tiki" editor="plain"}
I assigned the module "adminbar" and, where the module should display, there was this error message:
{CODE()}
Fatal error rendering template file C:\laragon\www\G\master\templates\modules/mod-adminbar.tpl

TypeError: Smarty\Data::setVariable(): Argument #2 ($variableObject) must be of type Smarty\Variable, SmartyTiki\ReferenceVariable given, called in C:\laragon\www\G\master\vendor_bundled\vendor\smarty\smarty\src\Runtime\ForeachRuntime.php on line 153 and defined in C:\laragon\www\G\master\vendor_bundled\vendor\smarty\smarty\src\Data.php:268
Stack trace:
#0 C:\laragon\www\G\master\vendor_bundled\vendor\smarty\smarty\src\Runtime\ForeachRuntime.php(153): Smarty\Data->setVariable('page', Object(SmartyTiki\ReferenceVariable))
#1 C:\laragon\www\G\master\temp\templates_c\en_social^c5e86604880be3130d0af6581df4d5ab622f4e74_0.file_mod-adminbar.tpl.php(224): Smarty\Runtime\ForeachRuntime->restore(Object(Smarty\Template), 1)
#2 C:\laragon\www\G\master\vendor_bundled\vendor\smarty\smarty\src\Template\GeneratedPhpFile.php(111): content_660403c9195f44_19231142(Object(Smarty\Template))
#3 C:\laragon\www\G\master\vendor_bundled\vendor\smarty\smarty\src\Template\Compiled.php(110): Smarty\Template\GeneratedPhpFile->getRenderedTemplateCode(Object(Smarty\Template), 'content_660403c...')
#4 C:\laragon\www\G\master\vendor_bundled\vendor\smarty\smarty\src\Template.php(180): Smarty\Template\Compiled->render(Object(Smarty\Template))
#5 C:\laragon\www\G\master\vendor_bundled\vendor\smarty\smarty\src\Template.php(654): Smarty\Template->render(false, 0)
#6 C:\laragon\www\G\master\vendor_bundled\vendor\smarty\smarty\src\Template.php(586): Smarty\Template->_execute(0)
#7 C:\laragon\www\G\master\vendor_bundled\vendor\smarty\smarty\src\Smarty.php(2120): Smarty\Template->fetch()
#8 C:\laragon\www\G\master\lib\init\smarty.php(277): Smarty\Smarty->fetch('C:\\laragon\\www\\...', NULL, NULL, NULL)
#9 C:\laragon\www\G\master\lib\modules\modlib.php(1187): Smarty_Tiki->fetch('C:\\laragon\\www\\...')
#10 C:\laragon\www\G\master\tiki-modules.php(47): ModLib->execute_module(Array)
#11 C:\laragon\www\G\master\lib\core\Tiki\Render\Lazy.php(21): Smarty_Tiki->{closure}()
#12 [internal function]: Tiki_Render_Lazy->__toString()
#13 C:\laragon\www\G\master\lib\smarty_tiki\FunctionHandler\ModuleList.php(81): preg_replace('/ class=\\"modul...', ' class="module ...', Object(Tiki_Render_Lazy))
#14 [internal function]: SmartyTiki\FunctionHandler\ModuleList->SmartyTiki\FunctionHandler\{closure}(Array)
#15 C:\laragon\www\G\master\lib\smarty_tiki\FunctionHandler\ModuleList.php(52): array_map(Object(Closure), Array)
#16 C:\laragon\www\G\master\temp\templates_c\en_social^d438dc65c3e7c21814fa87f7f6bb014ac6bc7480_0.file_layout_view.tpl.php(217): SmartyTiki\FunctionHandler\ModuleList->handle(Array, Object(Smarty\Template))
#17 C:\laragon\www\G\master\vendor_bundled\vendor\smarty\smarty\src\Template\GeneratedPhpFile.php(111): content_6602f1787e3b44_95978552(Object(Smarty\Template))
#18 C:\laragon\www\G\master\vendor_bundled\vendor\smarty\smarty\src\Template\Compiled.php(110): Smarty\Template\GeneratedPhpFile->getRenderedTemplateCode(Object(Smarty\Template), 'content_6602f17...')
#19 C:\laragon\www\G\master\vendor_bundled\vendor\smarty\smarty\src\Template.php(180): Smarty\Template\Compiled->render(Object(Smarty\Template))
#20 C:\laragon\www\G\master\vendor_bundled\vendor\smarty\smarty\src\Template.php(287): Smarty\Template->render()
#21 C:\laragon\www\G\master\vendor_bundled\vendor\smarty\smarty\src\Runtime\InheritanceRuntime.php(112): Smarty\Template->renderSubTemplate('layout_view.tpl', NULL, 'en--social', 0, 3600, Array, NULL, 'C:\\laragon\\www\\...')
#22 C:\laragon\www\G\master\temp\templates_c\en_social^5872da7c53441c3be37310ab82eabc40ec121b2f_0.file_tiki-show_page.tpl.php(53): Smarty\Runtime\InheritanceRuntime->endChild(Object(Smarty\Template), 'layout_view.tpl', 'C:\\laragon\\www\\...')
#23 C:\laragon\www\G\master\vendor_bundled\vendor\smarty\smarty\src\Template\GeneratedPhpFile.php(111): content_6602f178750ab0_48596869(Object(Smarty\Template))
#24 C:\laragon\www\G\master\vendor_bundled\vendor\smarty\smarty\src\Template\Compiled.php(110): Smarty\Template\GeneratedPhpFile->getRenderedTemplateCode(Object(Smarty\Template), 'content_6602f17...')
#25 C:\laragon\www\G\master\vendor_bundled\vendor\smarty\smarty\src\Template.php(180): Smarty\Template\Compiled->render(Object(Smarty\Template))
#26 C:\laragon\www\G\master\vendor_bundled\vendor\smarty\smarty\src\Template.php(654): Smarty\Template->render(false, 1)
#27 C:\laragon\www\G\master\vendor_bundled\vendor\smarty\smarty\src\Template.php(591): Smarty\Template->_execute(1)
#28 C:\laragon\www\G\master\vendor_bundled\vendor\smarty\smarty\src\Smarty.php(2134): Smarty\Template->display()
#29 C:\laragon\www\G\master\lib\init\smarty.php(462): Smarty\Smarty->display('tiki-show_page....', NULL, NULL)
#30 C:\laragon\www\G\master\tiki-index.php(754): Smarty_Tiki->display('tiki-show_page....')
#31 C:\laragon\www\G\master\route.php(373): include('C:\\laragon\\www\\...')
#32 {main}
{CODE}
tracker item
Admin should be able to impose 2 factor authentication to users
{syntax type="tiki" editor="plain"}
On Tiki an admin can enable "Allow users to use 2FA" in the log-ion area /tiki-admin.php?page=login#Users Management

https://doc.tiki.org/Two-factor-authentication

But this step is not enough as __each user has to go individually__ to its user preferences (replace userId by an existing one) /tiki-user_preferences.php?userId=3#contentmytiki_user_preference-4 and enable it. So it is totally a user choice to use or not 2FA.

At /login or /tiki-login_scr.php?twoFactorForm if the user tries to login without a code pin he will simply login with his username and password.


We can consider very common for an admin to set __and impose 2FA__ for login into a site.
We should have an option to make it mandatory including links and/or email notification to allow users to set their Pin Code, etc.


In a previous version Tiki18 - 21 the feature was imposed to the users as when this feature was enabled, the user was forced to enter a code received by email. May be we could have both options as it was way much simpler and user friendly (easier).
tracker item
Allow mail templates to be overridden in wiki pages
{syntax type="tiki" editor="plain"}
It would be really useful to be able to override the smarty templates used for email notifications (currently in -+templates/mail+- and -+templates/activity+-)

Probably a new pref -+mail_template_wiki_pages+- to look for pages "named exactly like the template files" (maybe starting with -+mail_+-?) with the correct -+tiki_p_use_as_template+- permission and if found, use that as a tplwiki resource instead of the tpl file.

Hopefully to be backported to 21.x when tested.
tracker item
Anonymous user can't switch perspectives - new permission needed.
It's sometimes useful to allow anonymous or other users without full perspectives-related permissions to switch perspectives. For example, I want to demonstrate themes by using a link such as -+ tiki-switch_perspective.php?perspective=21 +- , in a dropdown menu, to switch to perspective 21. This perspective has preferences including a home page with info about the theme, using the theme itself, and so on, all set by the perspectives feature. The user continues to be in that perspective after leaving the page, so can see a blog or calendar or whatever using that theme, until switching to another perspective. This works fine for admin, who has all current perspectives permissions, but doesn't work at all for anonymous users. Visiting the page shows the theme set for the page but doesn't change the perspective.

I imagine there could be other scenarios where users would select a perspective and stay in it until they switch to another one.

There are now four permissions related to perspectives:
* Can admin perspectives (tiki_p_perspective_admin)
* Can view the perspective (tiki_p_perspective_view)
* Can edit the perspective (tiki_p_perspective_edit)
* Can create a perspective (tiki_p_perspective_create)
I propose that another permission be added:
* Can switch perspectives (tiki_p_perspective_switch)

Or whatever fix would be effective here. The "Users can change theme" option on tiki-admin.php?page=look serves the same purpose but seems to be set via that admin page rather than on tiki-objectpermissions.php.

Somewhat strangely, if I give anonymous the "Can create a perspective (tiki_p_perspective_create)" permission, then switch-perspective works for anonymous, who can see the list on tiki-edit_perspective.php and can input a perspective name but it doesn't appear in the list to be edited, etc. so this could be a hacky workaround but the clean solution of a new permission would be much better.
tracker item
Article custom attribute causes fatal error
{syntax type="tiki" editor="plain"}
Testing how custom attributes work when creating an article, I added a new custom attribute on the article types page (tiki-article_types.php), which added a new input on the advanced tab of my articles edit page (tiki-edit_article.php?articleId=3#content-edit_article1-5). I input text for the data of the attribute and published the article, and it worked fine (the attribute name and data displayed at the top of the article text). But when I tried to re-edit the article, I got this error:

{CODE()}Fatal error: Uncaught TypeError: Cannot access offset of type string on string in . . . \master\lib\articles\artlib.php:1661 Stack trace: #0 . . . \master\tiki-edit_article.php(685): ArtLib->set_article_attributes('3', Array) #1 {main} thrown in , , , \master\lib\articles\artlib.php on line 1661{CODE}

tracker item
Articles, adding an "Show the last update date" for articles
{syntax type="tiki" editor="plain"}
There is no option in the admin topics to display the last date an article was updated (modified).
This is very common for articles or news to show this information.

I believe we have it stored somewhere.
It would be nice to add this option at : tiki-article_types.php
tracker item
Better colors for the text color toolbar tool in Tiki
The actual text color selector should be improved.

{img fileId="2166" thumb="box"}

First the tooltip says "Foreground color" but it should be text color or... something.

Second the color palette is really from another age and the colors are really not good.
There no "real" green or red, etc.

We should use the bootstrap colors: https://getbootstrap.com/docs/5.3/customize/color/
tracker item
Better name for the wikiplugin Layout
{syntax type="tiki" editor="plain"}
Tiki Wiki has a plugin named Layout : https://doc.tiki.org/PluginLayout
"Create out of the box unique landing pages by turning off header, footer, and site columns."

It is almost very hard to figure what is the purpose of a plugin named "Layout" (https://en.wikipedia.org/wiki/Layout) in Tiki without looking at the documentation and even reading it may confuse the reader. (landing page ?)

While there will be a tons of interpretations we should find a better name that allow people to understand what, simply put, this plugin can do.
tracker item
Border on checkbox cells in tables broken by position: relative
{syntax type="tiki" editor="plain"}
Currently in master, the horizontal borders on table cells that contain check boxes aren't displaying. Removing the "position: relative" property from these cells solves the problem (the borders display, like those on the other cells in the table row). I would like to remove this property but don't know what its purpose is, or when it was added. (It's not a Bootstrap rule - it was added in themes/base_files/_tiki-tabs_and_tables.scss.)

Apparently related to https://gitlab.com/tikiwiki/tiki/-/commit/ea3869d71c9ede4765d06a336ac0f5233c7d1f80 .

When I disable it, I don't see a negative effect in desktop or mobile view, only the positive effect of the border displaying again. If someone knows the reason for this property, it would be great if they could switch to an alternative solution that doesn't mess up the table display. If no one knows the reason, I'll comment out the rule in the SCSS file.
tracker item
Bug in calculating password strength
{syntax type="tiki" editor="plain"}
The number count in a password is rated using this piece of code in lib/tiki-js.js:

// Numbers
var nNumberCount = countContain(strPassword, m_strNumber);
// -- 1 number
if (nNumberCount == 1)
{
nScore += 10;
}
// -- 3 or more numbers
if (nNumberCount >= 3)
{
nScore += 20;
}

This causes a password with 1 number to get 10 points extra, a password with 2 numbers extra points, and a password with 3 or more numbers 20 extra points.

EDIT @joel.magene 2026/06/02:
Current master still miscalculates password number scoring, but differently from the original report.

In lib/tiki-js.js, the current fallback branch gives +10 points when nNumberCount is less than 3, including when it is 0. This means passwords with no digits are overrated.

Expected:
0 digits = +0
1-2 digits = +10
3+ digits = +20

Fix: only apply the +10 fallback when nNumberCount > 0.
tracker item
Plugin edit help in wiki is broken
I just tried making a button in master and this is the result:

{CODE()}{button plugin_edit_row="((Homepage))" plugin_edit_row="Go to Homepage" plugin_edit_row="smile" plugin_edit_row="50px"}{CODE}

The parameter names are incorrect, obviously.

Update: I checked the articles plugin also and it shows the same broken behavior, so maybe this is true for all plugins. I added blocker status to this bug.
tracker item
Calendar dropdowns too narrow
The dropdown selectors for "Start of day" and "End of day" are too narrow, as the screenshot shows. This is with Select2 activated. I didn't check yet when Select2 isn't being used.
tracker item
CardDAV button link is wrong (hardcoded to webmail)
{syntax type="tiki" editor="plain"}
Hello,

when I press "CardDAV" button in ../tiki-contacts.php, it leads/maps to

[CardDAV](https://mydomain/tiki-carddav.php/addressbooks/admin/webmail)

which does not exist (if webmail is not activated) and does produce:

<d:error>
<s:sabredav-version>4.4.0</s:sabredav-version>
<s:exception>Sabre\DAV\Exception\NotFound</s:exception>
<s:message>Addressbook with name 'webmail' could not be found</s:message>
</d:error>

However, if I change the link to:

https://mydomain/tiki-carddav.php/addressbooks/admin/

I can see two entries under Nodes:

* gour
* system

The first one was the *.vcf which I did upload, but the problem is that its contacts are not visible at:

https://mydomain/tiki-contacts.php

So, the question is whether it is possible to upload CardDAV addressbook (*.vcf) file and have its contacts visible within Tiki and possibly sync them with desktop/mobile clients?


Sincerely,
Gour


tracker item
Categories, adding page should be easier and the field that display the pages expandable
At tiki-admin_categories.php?parentId=2&cookietab=3#content_admin_categories1-5, Add objects, you have a selector field that display all the pages available for categorization (the pages that are not in this category). It show only 5 pages and it make the user action quite uncomfortable.

https://ibb.co/yWDWL67

It should be possible to expand this selector and display more pages.

tracker item
Codemirror and heavy scripts
{syntax type="tiki" editor="plain"}
Hi, as explained here : [https://tiki.org/forumthread79604|https://tiki.org/forumthread79604] ,
heavy scripts such as codemirror (1.2 MB) are always loaded (tiki 21, 24, 27), even when not in use, resulting in unnecessarily long loading times for visitors. Is there a way of loading heavy scripts only for pages that use them?

thx
--
mb
tracker item
Show PHP error messages