Loading...
 
Skip to main content

Category: Easy for Newbie Dev

Easy for Newbie Dev
Show subcategories objects

Name Type
Interactive translation top bar is not displayed with Bootstrap classic layout
Interactive translation top bar is not displayed with Bootstrap classic layout.
It is displayed only if you use Tiki classic layout.
tracker item
Interface, action should be showed in the confirm action screen
There are places Tiki ask to confirm "an" action but the action is not stated.
User should be told "what" is to be confirmed.

Here a video from Calendar, delete event.
{file type="gallery" fileId="1696" showicon="y"}


tracker item
Issue with hreflang tag in the page header
{syntax type="tiki" editor="plain"}
We have now, when we use multilingual, an hreflang tag that is added to display alternates pages.
This is it should work;
Every page in a multilingual set should:
* List itself with its own hreflang.
* List all other language/region versions.

Ensure all those other pages return the favor.

But in Tiki, it create ONLY the code for the alternative pages.
IE:
I have 3 page for en, fr and de.
There should 3 alternate rel link, one for each language.
However, when I'm on the de (German language) page, I see only:

<link rel="alternate" href="tiki-index.php?page=Community Members HomePage" hreflang="en">
<link rel="alternate" href="tiki-index.php?page=Bonjour" hreflang="fr">

This leads to error on website checkers.

{img fileId="3141"}
tracker item
Issues with chunkSizeWarningLimit value that is unset at vite.config.mjs and is set by default to 500 (on my osx setup)
{syntax type="tiki" editor="plain"}
When I compile a Tiki27 or 28 or 29 from git I have a warning about the "chunkSizeWarningLimit" that is limited to 500.

To fix it I edited src/js/vite.config.mjs and added;

{CODE(caption="line 159, after: target: "es2022")}
chunkSizeWarningLimit: 2500,
{CODE}

{CODE(caption="line 197, after: //preserveModulesRoot: 'src/js/',)}
manualChunks(id) {
if (id.includes("node_modules")) {
if (id.includes("jspdf") || id.includes("html2canvas")) {
return "vendor-pdf";
}
if (id.includes("element-plus")) {
return "vendor-element-plus";
}
return "vendor";
}
},
{CODE}


May be this could be of some help ?
tracker item
It should be possible to hide page listing based on group membership
{syntax type="tiki" editor="plain"}
When a group, including anonymous, can view pages, the group can view the page listing at tiki-listpages.php.

Actually we switch to enable or disable the option for this at tiki-admin.php?page=wiki -> Page listing but it is quite radical. If the "Page listing" is disabled even "admin" doesn't have access anymore to the page listing.

It should be possible for a webmaster to decide which group can see the page listing and which cannot.

I suggest adding such permission.
tracker item
It should be possible to use keyboard to select an option of the status resolution dropdown at dev.t.o
On the tracker 5 when you edit an item you can't type the first letter of an option in the "Resolution status" dropdown to jump to the option.

You use a search field, but the more "natural" type first letters option should work too.

{img fileId="1636" thumb="box"}
tracker item
Kanban plugin; API disabled error should contain a way to enable it right away (or a link to the admin control panel)
When you add for the first a KanBan plugin to a Wiki Page you may see the following error:

^
User error
Security -> API access is disabled but Kanban plugin needs it.
^

There should be a way for an admin to enable the API access right away and solve this minor issue.
Or at least a link to the relevant control panel.
tracker item
Last Actions module causes system error
I have two current Tiki master instances on my localhost and in both, when I try to activate the module "Last actions", I get a system error:

"You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'order by `lastModif` desc LIMIT 10 OFFSET 0' at line 1

The query was:
select a.* from `tiki_actionlog` a join `tiki_actionlog_conf` c on a.`action` = c.`action` and a.`objectType` = c.`objectType` and (c.`status` = 'v') where order by `lastModif` desc

The built query was likely:
select a.* from `tiki_actionlog` a join `tiki_actionlog_conf` c on a.`action` = c.`action` and a.`objectType` = c.`objectType` and (c.`status` = 'v') where order by `lastModif` desc"

Jonny said in the Matrix chat that the query is missing the -+where+- clause.

tracker item
LastMod Plugin does not show correct date when page param is used
When the page param is used it shows current date and time instead of the last modification of the specified page.
See https://doc.tiki.org/PluginLastMod#Examples
tracker item
Layout clash in history function of Wiki page
If the translation feature i18n is active, in Wiki page history the GUI clashes with other features. Look at the screenshot attached. The small "A" that is visible next to the flag icon of i18n is actually the drop down menu containing all languages (starting with Albaninian, hence the "A".
tracker item
lib/prefs/feature.php and global.pref contain untranslateable text
In line 520, lib/prefs/feature.php containts text (a hint) that cannot be translated into any language, because it doesn't call tra():

{CODE(colors=tiki)}
'feature_contact' => [
'name' => tra('Contact us'),
'description' => tra('A basic contact form a visitor can use to contact the site admin'),
'hint' => 'You can use Trackers to create custom Contact Us forms.',
'help' => 'Contact+us',
'type' => 'flag',
'default' => 'n',
'dependencies' => [
'feature_messages',
'sender_email',
],
'tags' => ['basic'],
'admin' => 'general',
'view' => 'tiki-contact.php',
],
{CODE}
tracker item
lib/prefs/permission.php, site.php contain untranslateable text
In lib/prefs/permission.php is a help text that resists all trials to translate it. It __does__ get pumped through tra(), but I cannot translate it even if I copy exactly the string from the PHP source code. I have also tried to substitute the line break that is contained by \n, the newline character. To no avail.

The code in question is this:

{CODE(colors="Tiki")}
function prefs_permission_list()
{
return [
'permission_denied_url' => [
'name' => tra('Send to URL'),
'description' => tra('URL to redirect to on "permission denied"'),
'type' => 'text',
'size' => '50',
'default' => '',
'tags' => ['basic'],
],
'permission_denied_login_box' => [
'name' => tra('On permission denied, display login module'),
'description' => tra('If an anonymous visitor attempts to access a page for which permission is not granted, Tiki will automatically display the Log-in module.
Alternatively, use the Send to URL field to display a specific page (relative to your Tiki installation) instead.'),
'type' => 'flag',
'default' => 'n',
'tags' => ['basic'],
],
];
}
{CODE}

The string in 'description' cannot be translated. And when I grep through the entirety of Tiki 18.6, in __no language__ has anyone managed to translate this part, because in all of the 58 languages that are available in /lang, not a single one custom.php or language.php contains a string starting with "If an anonymous visitor"...
tracker item
Link "Export through Action Log" displayed while the feature "feature_actionlog" is disabled
At https://tiki.org/tiki-syslog.php we have a link to "Export through Action Log".
It is displayed even if the feature "feature_actionlog" is disabled

The link shouldn't be displayed if the feature is disabled.

---

If the purpose is to show a new admin it is possible to see more logs then we should add an informative/help/tooltip text and not a link that is not active.
tracker item
Link directory: Total number of visits never gets updated
The link directory keeps track on how often each links gets a click, is visited. When you browse the directory, a total number of visits is stated.

This number stays at 0 forever, despite many visits on different links. At the link, the visit gets counted, but the total is never updated.
tracker item
List GUI contrast issue
See:
{img src="https://dev.tiki.org/tiki-download_item_attachment.php?attId=496&display" thumb="y"}
tracker item
Login box on dev.tiki.org only allows login, not registration
The first time I came here to "make a wish", I couldn't find the way to register. The login box on the top only allows login, not registration.
tracker item
Long (more than 200 char.) wiki page description output white page on save
There is no visible limit about the length of the description field in Tiki for the user.
However this field is limited and if you go over the limit you will have a white page when saving your work potentially losing your last edit.

{CODE()}
[Mon Jun 14 09:11:25.437718 2021] [proxy_fcgi:error] [pid 46913:tid 140057356769024] [client 10.0.0.138:52983] AH01071: Got error 'PHP message: PHP Fatal error: Uncaught TikiDb_Exception: Data too long for column 'description' at row 1 in /home/bernardsfez/public_html/lib/core/TikiDb/Exception.php:20\nStack trace:\n#0 /home/bernardsfez/public_html/lib/core/TikiDb.php(193): TikiDb_Exception::classify()\n#1 /home/bernardsfez/public_html/lib/core/TikiDb/Pdo.php(145): TikiDb->handleQueryError()\n#2 /home/bernardsfez/public_html/lib/core/TikiDb.php(101): TikiDb_Pdo->query()\n#3 /home/bernardsfez/public_html/lib/core/TikiDb/Table.php(130): TikiDb->queryException()\n#4 /home/bernardsfez/public_html/lib/core/TikiDb/Table.php(112): TikiDb_Table->updateMultiple()\n#5 /home/bernardsfez/public_html/lib/tikilib.php(5368): TikiDb_Table->update()\n#6 /home/bernardsfez/public_html/tiki-editpage.php(1227): TikiLib->update_page()\n#7 {main}\n thrown in /home/bernardsfez/public_html/lib/core/TikiDb/Exception.php on line 20', referer: https://bernardsfez.com/tiki-editpage.php?page=Comp%C3%A9tences+cl%C3%A9s+et+portefeuille+clients
{CODE}

It is an important bug (edit may be lost) on a popular feature (wiki page) and require an easy fix (real limit of text + small warning".
it should be fixed asap.

UPDATE:The value of the length accepted by the field in the database is 200 characters.
{img fileId="1608" thumb="box"}


tracker item
Look&Feel, Themes; Adding basic information about a the theme (Author, Documentation)
As discussed during the TRM January 2022: https://tiki.org/Roundtable-Meeting-2022-01
We would like to add an option for documentation link that comes with a theme (more and more theme need documentation).

We discussed the idea to add a manifest;

^
Something human readable like

author: blabla
documentation: https://bla

This can be edited by hand by a non coding themes author

I'd say plain text but yaml is also OK.
^
tracker item
Lots of wrongly escaped quotes in /lib/prefs/feature.php
/lib/prefs/feature.php contains 11 instances of quote characters that are wrongly escaped. To my understanding of PHP they shouldn't be escaped with a backslash if they are in single quote strings, which they are.

Example:
{CODE(Colors="Tiki")}
'feature_jquery_zoom' => [
'name' => tra('jQuery zoom'),
'description' => tra('Enables zoom in images on mouseover or click. Used in Plugin Img with the parameter \"thumb=zoombox\"'),
'type' => 'flag',
'help' => 'PluginImg#Zoombox',
'default' => 'n',
],
{CODE}

The description string is enclosed in single quotes, yet the double quotes that are part of the string were escaped with backslashes. And the strings are fed into tra().

This leads to the backslashes being visible to the user in English language, and making translating really hard: The only way that tra() will catch these with a content from custom.php is double escaping like this:

{CODE(Colors="Tiki")}
"Enables zoom in images on mouseover or click. Used in Plugin Img with the parameter \\\"thumb=zoombox\\\"" => "Emöglicht, in Bilder hineinzuzoomen bei Mouseover oder Klick. Im Img-Plugin mit dem Parameter \"thumb=zoombox\" verwendet",
{CODE}

I'm not sure if many writers of other translations out there know about this implication...

Not all strings in feature.php have been escaped like this, actually there are 11 instances of \" in there. Some, actually many, strings were written the right way like this example:

{CODE(Colors="Tiki")}
'feature_jquery_reflection' => [
'name' => tra('Reflection'),
'description' => tra('Creates a reflection under an image. Used in Plugin Img with the parameter "class=reflect"'),
'type' => 'flag',
'help' => 'JQuery#Reflection',
'default' => 'n', // reflection effects on images
],
{CODE}

The 11 instances are on lines 1526 (2), 1841 (2), 2084 (2), 2191 (2), 2928 (2). Line 2496 uses \" for something else.
tracker item
Make it possible for non-admins to show or hide tracker fields in the items list
It's really useful to be able to set which fields show on the tracker items list, especially when using inline editing, but this is a -+tracker_admin+- only feature, so it would be good to add a new permission just to be able to set which fields show.
tracker item
Make PDF Preview Optional
{syntax type="tiki" editor="plain"}
This feature arrived in {mr id=5960} but wan't made optional sadly, i might get round to it one day, so this is just a reminder really
tracker item
Malformed date syntax in tiki-calendar_nav.tpl
In tiki-calendar_nav.tpl the display of calendar dates is formed (template), but in a IMHO rather bizarre mix of hard-coded and localizable syntax, which
a) does not make use and thus circumvents the existing user pref for date formats and
b) effectively makes correct localization impossible.

I quote from this template a code snippet:

{CODE(colors="tiki")}
{if $viewlist ne 'list' or $prefs.calendar_list_begins_focus ne 'y'}
{if $calendarViewMode eq 'month'}
{$daystart|tiki_date_format:"%B %Y"}
{elseif $calendarViewMode eq 'week'}
{* test display_field_order and use %d/%m or %m/%d *}
{if ($prefs.display_field_order eq 'DMY') || ($prefs.display_field_order eq 'DYM') || ($prefs.display_field_order eq 'YDM')}
{$daystart|tiki_date_format:"{tr}%d/%m{/tr}/%Y"} - {$dayend|tiki_date_format:"{tr}%d/%m{/tr}/%Y"}
{else}
{$daystart|tiki_date_format:"{tr}%m/%d{/tr}/%Y"} - {$dayend|tiki_date_format:"{tr}%m/%d{/tr}/%Y"}
{/if}
{else}
{$daystart|tiki_date_format:"%B %Y"} - {$dayend|tiki_date_format:"%B %Y"}
{/if}
{else}
{$daystart|tiki_date_format:"{tr}%m/%d{/tr}/%Y"} - {$dayend|tiki_date_format:"{tr}%m/%d{/tr}/%Y"}
{/if}
{CODE}

So there is some testing for localized date format, but it assumes that only the order of day and month may be swapped through translation? This only works inside the USA or partly in the UK. It does not work in Germany, and not in Japan and possibly conflicts with other countries as well.

Germany uses
{CODE(colors="tiki")}
%d.%m.%Y
{CODE}

Japan uses
{CODE(colors="tiki")}
%Y-%m-%d
{CODE}

Look at the peculiar coding in tiki-calendar_nav.php. To magnify, I have extracted one example that clearly shows the logical error in it:

{CODE(colors="tiki")}
{$dayend|tiki_date_format:"{tr}%d/%m{/tr}/%Y"}
{CODE}

The year was excluded from translation and also the slash that comes before the year (at least in the USA...). So the slash cannot be removed by custom.php, because it is outside the translation. And it would be even worse for a localization into Japanese, because of their year leading the date...

It would be far better if date format was used in the form of the user pref that exists! But for a faster "quick resolution" moving the %Y into the translation braces would do the trick, and later introduce the "proper" way... Thanks.
tracker item
Minor UI issues with Select2
1) Forms where only a single option can be selected have the Select2 gadget for multi-select options. For example, in the Switch Theme module, there can be only one theme selected for the site. But the selected item has the "x" icon (with tooltip: "Remove all items"). According to the examples on [https://select2.org/getting-started/basic-usage] and [https://apalfrey.github.io/select2-bootstrap-5-theme/examples/single-select/] , this icon shouldn't be here, and UI-wise it is redundant.

2) Actually this is related/caused by the first issue: the "x" icon is mis-located when used with a single-option selector: it's at the far right of the selector rather than being to the left of the option name. But this will be fixed when the "x" icon no longer displays in single-option selectors.
tracker item
Missing "array_merge" when the custom.php file is created by Tiki (admin, I18n)
When you use the I18n admin control panel for the first time to create a custom translation (/tiki-language-manage_custom_translations) , it create the custom.php file.

However translation are not performed as it miss at the end of the file (like in the sample file we distribute : custom.php_example)
~pp~$lang = array_merge($lang, $lang_custom);~/pp~

Once you paste it custom translation are working.

Update: Even if you paste it in the file it is removed each time a translation is saved.
tracker item
Missing cheat sheet or extanded help on the Markdown toolbar's help
{syntax type="tiki" editor="plain"}
On the toolbar we have a "Help" button that displays common syntax to help the user editing a page.

The markdown help is quite limited with basic syntax.
It should be good to add a link to a more global cheat sheet like: https://www.markdownguide.org/cheat-sheet/
tracker item
Show PHP error messages