Loading...
 
Skip to main content

Category: UI / UX (User interface and experience)

UI / UX (User interface and experience)
Show subcategories objects

Name Type
Interface, Select2; When jQuery Select2 Select Boxes is enabled all customSearch placeholder or first label parameter are lost
When "jQuery Select2 Select Boxes" _placeholder and _firstlabel are lost.
This is pretty bad when you create display in a modern way without wasting space for a label outside the field to be filled.
It displays instead "Select an Option".

-+{select _field="tracker_field_something" _trackerId="10" _firstlabel="pick somethingt" class="form-control"}+-

{img fileId="1783" thumb="box"}
{img fileId="1784" thumb="box"}
tracker item
Interface, UX; the Tikihelp href link on the user switch is not limited to the button and covers much more
As you can see on the video the href action is available on the entire row where the tikihelp button is placed.

It should be limited to the button area.

It may be not limited to the switch user module but elsewhere.

{mediaplayer src="display2120"}
tracker item
Is Tiki 26 breaking the layout of dto?
Have a look at this older post on dto:

https://dev.tiki.org/item7913-Migrating-18-8-to-21-4-fails-utterly-breaks-layout?highlight=update+cycle

It is currently being rendered to the screenshot (cf attachment), completely illegible. Without starting a new discussion on Tiki breaking existing layouts: What went wrong? dto was to my recollection not built on acient versions, but fairly up-to-date ones. My browser today is a current MS Edge on W10.

If something like the screenshot can still happen, how can an admin protect his/her website against that? How can it be remedied? Large sites like dto cannot be checked page by page for layout breaks...

Thanks
hman
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
JavaScript detect failure after update to 27.6
{syntax type="tiki" editor="plain"}
After successful update from 27.5 to 27.6, multiple UI elements that require JavaScript stop working, making it almost impossible to admin the website.
Browser affected: Firefox 149, not affected: Chromium. Other browsers were not checked.

@jonnybradley advised me to delete a cookie with a name containing to `javascript_detect` and the site started working again in Firefox.
tracker item
Kanban plugin; It should be possible to hide edit and anchor icon of a card, a user shouldn't see action he can't do
On Tiki 25 the plugin Kanban display trackeritem as card with an edit and link icon on mouseover.

It should be possible to hide them for non-admins, allowing users only to move the cards if he has tracker item tiki_p_modify_tracker_items permission.

(note that permission from tracker=>properties=>permissions should applied)

Note: if the user don't have the permission "tiki_p_modify_tracker_items" he will see the icon but clicking on it will display an error (Permission denied)

Instance here : http://bsfez-11581-8358.show2.tiki.org/tiki-index.php?page=Basic-board
tracker item
Logo module layout is broken
{syntax type="tiki" editor="plain"}
The logo module is broken in branch 28 - the logo, site title, and site subtitle are displayed in one column, one below the other, in the Basic Bootstrap layout. The problem is caused by something called -+[[data-mobile-tooltip]+- which was recently added and changes the display property of the -+a.navbar-brand+- element from -+flex+- to -+inline-block+-. This breaks the layout of the logo, site title, and site subtitle. I don't know what the purpose of -+[[data-mobile-tooltip]+- is but probably the person who added it should find a workaround that doesn't change the display property of -+a.navbar-brand+-.

The logo items display correctly for a second or so and then, apparently, a script takes effect and causes them to display incorrectly (lib/jquery_tiki/tiki-jquery.js:4869).

By the way, I moved the lines related to -+[[data-mobile-tooltip]+- from -+_tiki-selectors.scss+- to -+_tiki-miscellaneous_global.scss+- because they contain no variables for themes to provide values for, and so can be in tiki_base.css instead of repeated in each theme CSS file.
tracker item
Look and Feel, Logo module; It should be possible to hide the upload logo button
At some point a button was added to the logo allowing the admin to upload directly a logo without having to navigate in the admin control panel or modules. However it is not optional and is always displayed. See : https://tiki.org/forumthread78682-Is-it-possible-to-hide-the-admin-upload-logo-icon

Instead of using CSS, it should be possible for an admin to hide it for good.
tracker item
Looking at "events" in products tracker yields exception
My tiki contains a products tracker from the shop profile. I do not know why, but it's wrench symbol carries a "view events". When clicked, it yields this exception:
{CODE(Colors="Tiki")}
undefined extension class 'Smarty_Internal_Runtime_CheckPlugins'
{CODE}
I don't need events in this tracker, and I do not want that my users click on it, being confronted with the exception...
tracker item
Make PivotTable charts (plotly) responsive or map rendererOptions width and height from plugin params
I've made a page to display the ((Bug report evolution|Bug report evolution)) over time in dev.t.o, thanks to PluginPivotTable and dereived attributes of the dates, etc.

Charts are displayed, But the chart width seems to be hardcoded to 600px or similar, even if the PivotTable plugin params said width=100% initially, and I forced them to width=1000px, but no change. And in real world scenarios, with long dataset (like in the tiki community with the bug tracker :-) visualization is too concetrated.(and I did not find an easy way to make a quarter aggregation of items, but that's another topic)

Searching a bit, this seems to be an issue already identified in other implementations of pivottable.js in other softwares:
https://github.com/nicolaskruchten/pivottable/issues/848

An easy solution/workaround might involve maping param rendererOptions inside pivottable .tpl (to set plotly width and height) to to the width and height indicated in the pivottable tiki plugin params.
See:
https://pivottable.js.org/examples/scatter.html
{CODE()}
...
rendererOptions: { plotly: {width: 600, height: 600} }
...
{CODE}

Probably below this chunk of code in wikiplugin_pivottable.tpl (lines 411-51) in trunk:
{CODE()}
...
{{if $pivottable.heatmapParams}}
rendererOptions: {
heatmap: {
colorScaleGenerator: function(values) {
return Plotly.d3.scale.linear()
.domain({{$pivottable.heatmapParams.domain|json_encode}})
.range({{$pivottable.heatmapParams.colors|json_encode}});
}
}
},
{{/if}}
...
{CODE}

tracker item
Mobile view issue - Tap targets are too small and too close together
From a Lighthouse check of Tiki.org:

"MOBILE FRIENDLY
Tap targets are not sized appropriately - 28% appropriately sized tap targets
Make sure your pages are mobile friendly so users don’t have to pinch or zoom in order to read the content pages. Learn how to make pages mobile-friendly."

Some advise says that the minimum recommended touch target size is around 48 pixels on a page that has a mobile viewport set. The Lighthouse alert is apparently due to the social media icons.

Edge's AI search reply says:
{QUOTE()}
I understand that you are facing issues with the mobile view of your Bootstrap website. You mentioned that the targets are too small and too close together. Here are some possible solutions to your problem:

Increase the font size: You can increase the font size of your website to make it more readable on mobile devices. This can be done by adding the following CSS code to your stylesheet:

{CODE()}
@media (max-width: 767px) {
body {
font-size: 18px;
}
}
{CODE}

Increase the padding: You can also increase the padding around your targets to make them easier to tap on. This can be done by adding the following CSS code to your stylesheet:

{CODE()}
@media (max-width: 767px) {
.target {
padding: 10px;
}
}
{CODE}

Use larger targets: If increasing the font size and padding is not enough, you can also use larger targets. This can be done by creating custom CSS classes for your targets and applying them to your HTML elements. Here is an example:

{CODE()}
@media (max-width: 767px) {
.large-target {
font-size: 18px;
padding: 20px;
}
}
{CODE}{QUOTE}
tracker item
Module decorations=n parameter is broken in master
{syntax type="tiki" editor="plain"}
The decorations=n parameter - its label is "Backgrounds and Borders (if specified by the theme)" - turns off the module border and background. The module content and title display normally. I think this may not be a well-known option but it's a useful midway point between standard module display and nobox=y, which removes the border, background, and module header including the title. Anyway, it works in Tiki 29 but it's broken in master (to be Tiki 30). You can set the parameter, but it has no effect.
tracker item
Module title "Git detail" should be improved
{syntax type="tiki" editor="plain"}
The module title "Git detail" is not normal English. Usually as a title or heading, the plural form "details" would be used, and especially so in this case since there are two details, the git commit hash and the date and time. So at minimum I strongly recommend changing "detail" to "details".

But "Git detail(s)" in the module header and "Git information" in the module body have essentially the same meaning, so there's some redundancy here; so I suggest changing the module title to "Git information" and then changing "Git information" to "Branch" or "Commit" or "Branch and commit" (whatever would be better) in the module body.

Also, a small thing, but there needs to be a space after the colon following "master".
tracker item
Multilingual, RTL, CSS; Plugin modal / form element and directions are wrong
{syntax type="tiki" editor="plain"}
Several form elements of a edited plugin are now wrong

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

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

tracker item
n-gon value picker for tracker fields
{syntax type="tiki" editor="plain"}
{img fileId="1549" thumb="box"}
tracker item
Needed for Tiki 26: Color mode switch module
Themes in Tiki 26 will support Bootstrap (5.3) color modes, so we need a module to enable users to switch among the modes.

The Bootstrap example of this can be seen here: [https://getbootstrap.com/docs/5.3/customize/color-modes/#javascript]. The switch icon is at the top right of the page.

I think Tiki's color mode switch module should support light, dark, and auto (to use the browser's prefers-color-scheme setting) by default, but should also be extensible. That is, if a site or developer wants to offer an additional color mode (or more modes) and updates a theme to implement the mode, the module admin form should have a field where the new color mode name can be input by the site admin. Then that name can be selected in the color mode switch dropdown menu.

For working on the theme updates for color modes, I copied and adapted the getbootstrap.com page's color mode switch. (I put this in a wiki page and then used a menu page module to make a module and assign it to the top bar. So this is a rough, basic idea of what needs to be done. To do the completed module, someone needs to:
* Create a new module that essentially does what the rough menu page module does.
* Replace the svg graphics with Tiki icon font code, I would imagine.
* Implement the light, dark, and auto options by default.
* Implement a way for the site admin to add one or more additional color modes/names on tiki-admin_modules.php.
* Test to be sure the mode switch can be used by any user. In my rough testing, I found that, recently, I had to be logged in for the switch to work.

This is the content of the wiki page I used for the menu page module, for the mode switch in my test site:

{CODE()}
{syntax type="tiki", editor="plain"}
{HTML()}
<style>.bi {
width: 1em;
height: 1em;
vertical-align: -.125em;
fill: currentcolor;
}
/*.bd-navbar .dropdown-menu {
--bs-dropdown-min-width: 12rem;
--bs-dropdown-padding-x: .25rem;
--bs-dropdown-padding-y: .25rem;
--bs-dropdown-link-hover-bg: rgba(var(--bd-violet-rgb), .1);
--bs-dropdown-link-active-bg: rgba(var(--bd-violet-rgb), 1);
--bs-dropdown-font-size: .875rem;
font-size: .875rem;
border-radius: .5rem;
box-shadow: 0 0.5rem 1rem rgba(var(--bs-body-color-rgb), 0.15);
}*/</style>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="arrow-right-short" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M4 8a.5.5 0 0 1 .5-.5h5.793L8.146 5.354a.5.5 0 1 1 .708-.708l3 3a.5.5 0 0 1 0 .708l-3 3a.5.5 0 0 1-.708-.708L10.293 8.5H4.5A.5.5 0 0 1 4 8z"/>
</symbol>
<symbol id="book-half" viewBox="0 0 16 16">
<path d="M8.5 2.687c.654-.689 1.782-.886 3.112-.752 1.234.124 2.503.523 3.388.893v9.923c-.918-.35-2.107-.692-3.287-.81-1.094-.111-2.278-.039-3.213.492V2.687zM8 1.783C7.015.936 5.587.81 4.287.94c-1.514.153-3.042.672-3.994 1.105A.5.5 0 0 0 0 2.5v11a.5.5 0 0 0 .707.455c.882-.4 2.303-.881 3.68-1.02 1.409-.142 2.59.087 3.223.877a.5.5 0 0 0 .78 0c.633-.79 1.814-1.019 3.222-.877 1.378.139 2.8.62 3.681 1.02A.5.5 0 0 0 16 13.5v-11a.5.5 0 0 0-.293-.455c-.952-.433-2.48-.952-3.994-1.105C10.413.809 8.985.936 8 1.783z"/>
</symbol>
<symbol id="box-seam" viewBox="0 0 16 16">
<path d="M8.186 1.113a.5.5 0 0 0-.372 0L1.846 3.5l2.404.961L10.404 2l-2.218-.887zm3.564 1.426L5.596 5 8 5.961 14.154 3.5l-2.404-.961zm3.25 1.7-6.5 2.6v7.922l6.5-2.6V4.24zM7.5 14.762V6.838L1 4.239v7.923l6.5 2.6zM7.443.184a1.5 1.5 0 0 1 1.114 0l7.129 2.852A.5.5 0 0 1 16 3.5v8.662a1 1 0 0 1-.629.928l-7.185 2.874a.5.5 0 0 1-.372 0L.63 13.09a1 1 0 0 1-.63-.928V3.5a.5.5 0 0 1 .314-.464L7.443.184z"/>
</symbol>
<symbol id="braces" viewBox="0 0 16 16">
<path d="M2.114 8.063V7.9c1.005-.102 1.497-.615 1.497-1.6V4.503c0-1.094.39-1.538 1.354-1.538h.273V2h-.376C3.25 2 2.49 2.759 2.49 4.352v1.524c0 1.094-.376 1.456-1.49 1.456v1.299c1.114 0 1.49.362 1.49 1.456v1.524c0 1.593.759 2.352 2.372 2.352h.376v-.964h-.273c-.964 0-1.354-.444-1.354-1.538V9.663c0-.984-.492-1.497-1.497-1.6zM13.886 7.9v.163c-1.005.103-1.497.616-1.497 1.6v1.798c0 1.094-.39 1.538-1.354 1.538h-.273v.964h.376c1.613 0 2.372-.759 2.372-2.352v-1.524c0-1.094.376-1.456 1.49-1.456V7.332c-1.114 0-1.49-.362-1.49-1.456V4.352C13.51 2.759 12.75 2 11.138 2h-.376v.964h.273c.964 0 1.354.444 1.354 1.538V6.3c0 .984.492 1.497 1.497 1.6z"/>
</symbol>
<symbol id="braces-asterisk" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M1.114 8.063V7.9c1.005-.102 1.497-.615 1.497-1.6V4.503c0-1.094.39-1.538 1.354-1.538h.273V2h-.376C2.25 2 1.49 2.759 1.49 4.352v1.524c0 1.094-.376 1.456-1.49 1.456v1.299c1.114 0 1.49.362 1.49 1.456v1.524c0 1.593.759 2.352 2.372 2.352h.376v-.964h-.273c-.964 0-1.354-.444-1.354-1.538V9.663c0-.984-.492-1.497-1.497-1.6ZM14.886 7.9v.164c-1.005.103-1.497.616-1.497 1.6v1.798c0 1.094-.39 1.538-1.354 1.538h-.273v.964h.376c1.613 0 2.372-.759 2.372-2.352v-1.524c0-1.094.376-1.456 1.49-1.456v-1.3c-1.114 0-1.49-.362-1.49-1.456V4.352C14.51 2.759 13.75 2 12.138 2h-.376v.964h.273c.964 0 1.354.444 1.354 1.538V6.3c0 .984.492 1.497 1.497 1.6ZM7.5 11.5V9.207l-1.621 1.621-.707-.707L6.792 8.5H4.5v-1h2.293L5.172 5.879l.707-.707L7.5 6.792V4.5h1v2.293l1.621-1.621.707.707L9.208 7.5H11.5v1H9.207l1.621 1.621-.707.707L8.5 9.208V11.5h-1Z"/>
</symbol>
<symbol id="check2" viewBox="0 0 16 16">
<path d="M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z"/>
</symbol>
<symbol id="chevron-expand" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M3.646 9.146a.5.5 0 0 1 .708 0L8 12.793l3.646-3.647a.5.5 0 0 1 .708.708l-4 4a.5.5 0 0 1-.708 0l-4-4a.5.5 0 0 1 0-.708zm0-2.292a.5.5 0 0 0 .708 0L8 3.207l3.646 3.647a.5.5 0 0 0 .708-.708l-4-4a.5.5 0 0 0-.708 0l-4 4a.5.5 0 0 0 0 .708z"/>
</symbol>
<symbol id="circle-half" viewBox="0 0 16 16">
<path d="M8 15A7 7 0 1 0 8 1v14zm0 1A8 8 0 1 1 8 0a8 8 0 0 1 0 16z"/>
</symbol>
<symbol id="clipboard" viewBox="0 0 16 16">
<path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"/>
<path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"/>
</symbol>
<symbol id="code" viewBox="0 0 16 16">
<path d="M5.854 4.854a.5.5 0 1 0-.708-.708l-3.5 3.5a.5.5 0 0 0 0 .708l3.5 3.5a.5.5 0 0 0 .708-.708L2.707 8l3.147-3.146zm4.292 0a.5.5 0 0 1 .708-.708l3.5 3.5a.5.5 0 0 1 0 .708l-3.5 3.5a.5.5 0 0 1-.708-.708L13.293 8l-3.147-3.146z"/>
</symbol>
<symbol id="file-earmark-richtext" viewBox="0 0 16 16">
<path d="M14 4.5V14a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2a2 2 0 0 1 2-2h5.5L14 4.5zm-3 0A1.5 1.5 0 0 1 9.5 3V1H4a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V4.5h-2z"/>
<path d="M4.5 12.5A.5.5 0 0 1 5 12h3a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm0-2A.5.5 0 0 1 5 10h6a.5.5 0 0 1 0 1H5a.5.5 0 0 1-.5-.5zm1.639-3.708 1.33.886 1.854-1.855a.25.25 0 0 1 .289-.047l1.888.974V8.5a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V8s1.54-1.274 1.639-1.208zM6.25 6a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5z"/>
</symbol>
<symbol id="globe2" viewBox="0 0 16 16">
<path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8zm7.5-6.923c-.67.204-1.335.82-1.887 1.855-.143.268-.276.56-.395.872.705.157 1.472.257 2.282.287V1.077zM4.249 3.539c.142-.384.304-.744.481-1.078a6.7 6.7 0 0 1 .597-.933A7.01 7.01 0 0 0 3.051 3.05c.362.184.763.349 1.198.49zM3.509 7.5c.036-1.07.188-2.087.436-3.008a9.124 9.124 0 0 1-1.565-.667A6.964 6.964 0 0 0 1.018 7.5h2.49zm1.4-2.741a12.344 12.344 0 0 0-.4 2.741H7.5V5.091c-.91-.03-1.783-.145-2.591-.332zM8.5 5.09V7.5h2.99a12.342 12.342 0 0 0-.399-2.741c-.808.187-1.681.301-2.591.332zM4.51 8.5c.035.987.176 1.914.399 2.741A13.612 13.612 0 0 1 7.5 10.91V8.5H4.51zm3.99 0v2.409c.91.03 1.783.145 2.591.332.223-.827.364-1.754.4-2.741H8.5zm-3.282 3.696c.12.312.252.604.395.872.552 1.035 1.218 1.65 1.887 1.855V11.91c-.81.03-1.577.13-2.282.287zm.11 2.276a6.696 6.696 0 0 1-.598-.933 8.853 8.853 0 0 1-.481-1.079 8.38 8.38 0 0 0-1.198.49 7.01 7.01 0 0 0 2.276 1.522zm-1.383-2.964A13.36 13.36 0 0 1 3.508 8.5h-2.49a6.963 6.963 0 0 0 1.362 3.675c.47-.258.995-.482 1.565-.667zm6.728 2.964a7.009 7.009 0 0 0 2.275-1.521 8.376 8.376 0 0 0-1.197-.49 8.853 8.853 0 0 1-.481 1.078 6.688 6.688 0 0 1-.597.933zM8.5 11.909v3.014c.67-.204 1.335-.82 1.887-1.855.143-.268.276-.56.395-.872A12.63 12.63 0 0 0 8.5 11.91zm3.555-.401c.57.185 1.095.409 1.565.667A6.963 6.963 0 0 0 14.982 8.5h-2.49a13.36 13.36 0 0 1-.437 3.008zM14.982 7.5a6.963 6.963 0 0 0-1.362-3.675c-.47.258-.995.482-1.565.667.248.92.4 1.938.437 3.008h2.49zM11.27 2.461c.177.334.339.694.482 1.078a8.368 8.368 0 0 0 1.196-.49 7.01 7.01 0 0 0-2.275-1.52c.218.283.418.597.597.932zm-.488 1.343a7.765 7.765 0 0 0-.395-.872C9.835 1.897 9.17 1.282 8.5 1.077V4.09c.81-.03 1.577-.13 2.282-.287z"/>
</symbol>
<symbol id="grid-fill" viewBox="0 0 16 16">
<path d="M1 2.5A1.5 1.5 0 0 1 2.5 1h3A1.5 1.5 0 0 1 7 2.5v3A1.5 1.5 0 0 1 5.5 7h-3A1.5 1.5 0 0 1 1 5.5v-3zm8 0A1.5 1.5 0 0 1 10.5 1h3A1.5 1.5 0 0 1 15 2.5v3A1.5 1.5 0 0 1 13.5 7h-3A1.5 1.5 0 0 1 9 5.5v-3zm-8 8A1.5 1.5 0 0 1 2.5 9h3A1.5 1.5 0 0 1 7 10.5v3A1.5 1.5 0 0 1 5.5 15h-3A1.5 1.5 0 0 1 1 13.5v-3zm8 0A1.5 1.5 0 0 1 10.5 9h3a1.5 1.5 0 0 1 1.5 1.5v3a1.5 1.5 0 0 1-1.5 1.5h-3A1.5 1.5 0 0 1 9 13.5v-3z"/>
</symbol>
<symbol id="lightning-charge-fill" viewBox="0 0 16 16">
<path d="M11.251.068a.5.5 0 0 1 .227.58L9.677 6.5H13a.5.5 0 0 1 .364.843l-8 8.5a.5.5 0 0 1-.842-.49L6.323 9.5H3a.5.5 0 0 1-.364-.843l8-8.5a.5.5 0 0 1 .615-.09z"/>
</symbol>
<symbol id="list" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5zm0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5z"/>
</symbol>
<symbol id="magic" viewBox="0 0 16 16">
<path d="M9.5 2.672a.5.5 0 1 0 1 0V.843a.5.5 0 0 0-1 0v1.829Zm4.5.035A.5.5 0 0 0 13.293 2L12 3.293a.5.5 0 1 0 .707.707L14 2.707ZM7.293 4A.5.5 0 1 0 8 3.293L6.707 2A.5.5 0 0 0 6 2.707L7.293 4Zm-.621 2.5a.5.5 0 1 0 0-1H4.843a.5.5 0 1 0 0 1h1.829Zm8.485 0a.5.5 0 1 0 0-1h-1.829a.5.5 0 0 0 0 1h1.829ZM13.293 10A.5.5 0 1 0 14 9.293L12.707 8a.5.5 0 1 0-.707.707L13.293 10ZM9.5 11.157a.5.5 0 0 0 1 0V9.328a.5.5 0 0 0-1 0v1.829Zm1.854-5.097a.5.5 0 0 0 0-.706l-.708-.708a.5.5 0 0 0-.707 0L8.646 5.94a.5.5 0 0 0 0 .707l.708.708a.5.5 0 0 0 .707 0l1.293-1.293Zm-3 3a.5.5 0 0 0 0-.706l-.708-.708a.5.5 0 0 0-.707 0L.646 13.94a.5.5 0 0 0 0 .707l.708.708a.5.5 0 0 0 .707 0L8.354 9.06Z"/>
</symbol>
<symbol id="menu-button-wide-fill" viewBox="0 0 16 16">
<path d="M1.5 0A1.5 1.5 0 0 0 0 1.5v2A1.5 1.5 0 0 0 1.5 5h13A1.5 1.5 0 0 0 16 3.5v-2A1.5 1.5 0 0 0 14.5 0h-13zm1 2h3a.5.5 0 0 1 0 1h-3a.5.5 0 0 1 0-1zm9.927.427A.25.25 0 0 1 12.604 2h.792a.25.25 0 0 1 .177.427l-.396.396a.25.25 0 0 1-.354 0l-.396-.396zM0 8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V8zm1 3v2a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-2H1zm14-1V8a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v2h14zM2 8.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zm0 4a.5.5 0 0 1 .5-.5h6a.5.5 0 0 1 0 1h-6a.5.5 0 0 1-.5-.5z"/>
</symbol>
<symbol id="moon-stars-fill" viewBox="0 0 16 16">
<path d="M6 .278a.768.768 0 0 1 .08.858 7.208 7.208 0 0 0-.878 3.46c0 4.021 3.278 7.277 7.318 7.277.527 0 1.04-.055 1.533-.16a.787.787 0 0 1 .81.316.733.733 0 0 1-.031.893A8.349 8.349 0 0 1 8.344 16C3.734 16 0 12.286 0 7.71 0 4.266 2.114 1.312 5.124.06A.752.752 0 0 1 6 .278z"/>
<path d="M10.794 3.148a.217.217 0 0 1 .412 0l.387 1.162c.173.518.579.924 1.097 1.097l1.162.387a.217.217 0 0 1 0 .412l-1.162.387a1.734 1.734 0 0 0-1.097 1.097l-.387 1.162a.217.217 0 0 1-.412 0l-.387-1.162A1.734 1.734 0 0 0 9.31 6.593l-1.162-.387a.217.217 0 0 1 0-.412l1.162-.387a1.734 1.734 0 0 0 1.097-1.097l.387-1.162zM13.863.099a.145.145 0 0 1 .274 0l.258.774c.115.346.386.617.732.732l.774.258a.145.145 0 0 1 0 .274l-.774.258a1.156 1.156 0 0 0-.732.732l-.258.774a.145.145 0 0 1-.274 0l-.258-.774a1.156 1.156 0 0 0-.732-.732l-.774-.258a.145.145 0 0 1 0-.274l.774-.258c.346-.115.617-.386.732-.732L13.863.1z"/>
</symbol>
<symbol id="palette2" viewBox="0 0 16 16">
<path d="M0 .5A.5.5 0 0 1 .5 0h5a.5.5 0 0 1 .5.5v5.277l4.147-4.131a.5.5 0 0 1 .707 0l3.535 3.536a.5.5 0 0 1 0 .708L10.261 10H15.5a.5.5 0 0 1 .5.5v5a.5.5 0 0 1-.5.5H3a2.99 2.99 0 0 1-2.121-.879A2.99 2.99 0 0 1 0 13.044m6-.21 7.328-7.3-2.829-2.828L6 7.188v5.647zM4.5 13a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0zM15 15v-4H9.258l-4.015 4H15zM0 .5v12.495V.5z"/>
<path d="M0 12.995V13a3.07 3.07 0 0 0 0-.005z"/>
</symbol>
<symbol id="plugin" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M1 8a7 7 0 1 1 2.898 5.673c-.167-.121-.216-.406-.002-.62l1.8-1.8a3.5 3.5 0 0 0 4.572-.328l1.414-1.415a.5.5 0 0 0 0-.707l-.707-.707 1.559-1.563a.5.5 0 1 0-.708-.706l-1.559 1.562-1.414-1.414 1.56-1.562a.5.5 0 1 0-.707-.706l-1.56 1.56-.707-.706a.5.5 0 0 0-.707 0L5.318 5.975a3.5 3.5 0 0 0-.328 4.571l-1.8 1.8c-.58.58-.62 1.6.121 2.137A8 8 0 1 0 0 8a.5.5 0 0 0 1 0Z"/>
</symbol>
<symbol id="plus" viewBox="0 0 16 16">
<path d="M8 4a.5.5 0 0 1 .5.5v3h3a.5.5 0 0 1 0 1h-3v3a.5.5 0 0 1-1 0v-3h-3a.5.5 0 0 1 0-1h3v-3A.5.5 0 0 1 8 4z"/>
</symbol>
<symbol id="sun-fill" viewBox="0 0 16 16">
<path d="M8 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8zM8 0a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 0zm0 13a.5.5 0 0 1 .5.5v2a.5.5 0 0 1-1 0v-2A.5.5 0 0 1 8 13zm8-5a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2a.5.5 0 0 1 .5.5zM3 8a.5.5 0 0 1-.5.5h-2a.5.5 0 0 1 0-1h2A.5.5 0 0 1 3 8zm10.657-5.657a.5.5 0 0 1 0 .707l-1.414 1.415a.5.5 0 1 1-.707-.708l1.414-1.414a.5.5 0 0 1 .707 0zm-9.193 9.193a.5.5 0 0 1 0 .707L3.05 13.657a.5.5 0 0 1-.707-.707l1.414-1.414a.5.5 0 0 1 .707 0zm9.193 2.121a.5.5 0 0 1-.707 0l-1.414-1.414a.5.5 0 0 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .707zM4.464 4.465a.5.5 0 0 1-.707 0L2.343 3.05a.5.5 0 1 1 .707-.707l1.414 1.414a.5.5 0 0 1 0 .708z"/>
</symbol>
<symbol id="three-dots" viewBox="0 0 16 16">
<path d="M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"/>
</symbol>
<symbol id="tools" viewBox="0 0 16 16">
<path d="M1 0 0 1l2.2 3.081a1 1 0 0 0 .815.419h.07a1 1 0 0 1 .708.293l2.675 2.675-2.617 2.654A3.003 3.003 0 0 0 0 13a3 3 0 1 0 5.878-.851l2.654-2.617.968.968-.305.914a1 1 0 0 0 .242 1.023l3.356 3.356a1 1 0 0 0 1.414 0l1.586-1.586a1 1 0 0 0 0-1.414l-3.356-3.356a1 1 0 0 0-1.023-.242L10.5 9.5l-.96-.96 2.68-2.643A3.005 3.005 0 0 0 16 3c0-.269-.035-.53-.102-.777l-2.14 2.141L12 4l-.364-1.757L13.777.102a3 3 0 0 0-3.675 3.68L7.462 6.46 4.793 3.793a1 1 0 0 1-.293-.707v-.071a1 1 0 0 0-.419-.814L1 0zm9.646 10.646a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1-.708.708l-3-3a.5.5 0 0 1 0-.708zM3 11l.471.242.529.026.287.445.445.287.026.529L5 13l-.242.471-.026.529-.445.287-.287.445-.529.026L3 15l-.471-.242L2 14.732l-.287-.445L1.268 14l-.026-.529L1 13l.242-.471.026-.529.445-.287.287-.445.529-.026L3 11z"/>
</symbol>
<symbol id="ui-radios" viewBox="0 0 16 16">
<path d="M7 2.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1zM0 12a3 3 0 1 1 6 0 3 3 0 0 1-6 0zm7-1.5a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-7a.5.5 0 0 1-.5-.5v-1zm0-5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zm0 8a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 0 1h-5a.5.5 0 0 1-.5-.5zM3 1a3 3 0 1 0 0 6 3 3 0 0 0 0-6zm0 4.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"/>
</symbol>
</svg>

<div class="bd-navbar" style="width: 12rem;"><div class="dropdown dropdown-menu-end">
<button class="btn btn-link nav-link py-2 px-0 px-lg-2 dropdown-toggle d-flex align-items-center"
id="bd-theme"
type="button"
aria-expanded="false"
data-bs-toggle="dropdown"
data-bs-display="static"
aria-label="Toggle theme (auto)">
<svg class="bi my-1 theme-icon-active"><use href="#circle-half"></use></svg>
<span class="d-lg-none ms-2" id="bd-theme-text">Toggle theme</span>
</button>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="bd-theme-text">
<li>
<button type="button" class="dropdown-item d-flex align-items-center" data-bs-theme-value="light" aria-pressed="false">
<svg class="bi me-2 opacity-50 theme-icon"><use href="#sun-fill"></use></svg>
Light
<svg class="bi ms-auto d-none"><use href="#check2"></use></svg>
</button>
</li>
<li>
<button type="button" class="dropdown-item d-flex align-items-center" data-bs-theme-value="dark" aria-pressed="false">
<svg class="bi me-2 opacity-50 theme-icon"><use href="#moon-stars-fill"></use></svg>
Dark
<svg class="bi ms-auto d-none"><use href="#check2"></use></svg>
</button>
</li>
<li>
<button type="button" class="dropdown-item d-flex align-items-center active" data-bs-theme-value="auto" aria-pressed="true">
<svg class="bi me-2 opacity-50 theme-icon"><use href="#circle-half"></use></svg>
Auto
<svg class="bi ms-auto d-none"><use href="#check2"></use></svg>
</button>
</li>
</ul></div></div>
{HTML}
{JS()}
/*!
* Color mode toggler for Bootstrap's docs (https://getbootstrap.com/)
* Copyright 2011-2023 The Bootstrap Authors
* Licensed under the Creative Commons Attribution 3.0 Unported License.
*/

(() => {
'use strict'

const getStoredTheme = () => localStorage.getItem('theme')
const setStoredTheme = theme => localStorage.setItem('theme', theme)

const getPreferredTheme = () => {
const storedTheme = getStoredTheme()
if (storedTheme) {
return storedTheme
}

return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light'
}

const setTheme = theme => {
if (theme === 'auto' && window.matchMedia('(prefers-color-scheme: dark)').matches) {
document.documentElement.setAttribute('data-bs-theme', 'dark')
} else {
document.documentElement.setAttribute('data-bs-theme', theme)
}
}

setTheme(getPreferredTheme())

const showActiveTheme = (theme, focus = false) => {
const themeSwitcher = document.querySelector('#bd-theme')

if (!themeSwitcher) {
return
}

const themeSwitcherText = document.querySelector('#bd-theme-text')
const activeThemeIcon = document.querySelector('.theme-icon-active use')
const btnToActive = document.querySelector(`[data-bs-theme-value="${theme}"]`)
const svgOfActiveBtn = btnToActive.querySelector('svg use').getAttribute('href')

document.querySelectorAll('[data-bs-theme-value]').forEach(element => {
element.classList.remove('active')
element.setAttribute('aria-pressed', 'false')
})

btnToActive.classList.add('active')
btnToActive.setAttribute('aria-pressed', 'true')
activeThemeIcon.setAttribute('href', svgOfActiveBtn)
const themeSwitcherLabel = `${themeSwitcherText.textContent} (${btnToActive.dataset.bsThemeValue})`
themeSwitcher.setAttribute('aria-label', themeSwitcherLabel)

if (focus) {
themeSwitcher.focus()
}
}

window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', () => {
const storedTheme = getStoredTheme()
if (storedTheme !== 'light' && storedTheme !== 'dark') {
setTheme(getPreferredTheme())
}
})

window.addEventListener('DOMContentLoaded', () => {
showActiveTheme(getPreferredTheme())

document.querySelectorAll('[data-bs-theme-value]')
.forEach(toggle => {
toggle.addEventListener('click', () => {
const theme = toggle.getAttribute('data-bs-theme-value')
setStoredTheme(theme)
setTheme(theme)
showActiveTheme(theme, true)
})
})
})
})()
{JS}
{CODE}
tracker item
On tracker item edit there is now a switch to notify the users following the item when there are none or the actual user
{syntax type="tiki" editor="plain"}
Since Tiki30 I see now, when editing a tracker item, a switch to notify or not the users following the item.

Look like a good addition, but:
* it should not be displayed if no one is following the item
* it should not be displayed if no one is following the item but me
* it should be possible (accordion ?) to see which users will be notified

Without these elements this addition leads to concerns + require time to check who is concerned.
tracker item
Page Description in links within Structures
{syntax type=markdown}
(Suggested on community chat)
If anyone would consider adding Description to links within structures, structlib.php has a function `s_get_page_info()`. All it takes is add `description` to the queries and then, in the .tpl file, use `{$next_info.description|escape}` (previous/next/parent... depending on where the link goes).
As an alternate, it could be added as a tooltip to each of those links, to improve usability.
This would also have to be added to the preferences in Wiki Structures, not everyone needs that.
tracker item
Please add MIME types for hyperlinks
The list of MIME types that Tiki supports is missing text/x-uri and text/uri-list (RFC 2483 Section 5).

x-uri could also be opened (in a new window), if a user clicks on such a file (basically a text file, which is why currently it gets classified as text/plain.
tracker item
Please clarify: flagnames with and without underscores
Please clarify: /img/flags/flagnames.php contains several flags with duplicated entries. With and without underscores or spaces.

American Samoa, several British territories, Bosnia and Herzegovina, practically all country names that contain spaces have double listings. One with spaces and one with underscores.

The remark in the source code says
// Here come the dynamically generated strings for img/flags/*.gif
// This file ensures that the following strings will be included in the language translation files.

There I do not see any flags with filenames containing spaces (although on today's operating systems they wouldn't pose any problem.

So is this some historical relic? Then please clear this up, it unnecessarily inflates ALL (!) languages' translations.

Thanks.

P.S: Fun fact, there is even a flag "low germany" which does not exist. It was composed from the existing flags of Germany and the Netherlands.

P.P.S: Two flags are missing, since 2019 North Macedonia:
https://en.wikipedia.org/wiki/North_Macedonia
In 2018 Sudan split up in North (Republic of Sudan) and South:
https://en.wikipedia.org/wiki/South_Sudan
tracker item
Please explain GUI dialog
Now that I have finished my new tool to extract really ''all'' tra() and tr() throughout Tiki source code, I find some peculiar strings that really need explanation.

First, it is my understanding that text that is pumped through tr() inside a javascript file must get listed in language.js and not in language.php. Is this assumption correct?

If that is the case, practically all language's language.js are grossly underpopulated. I count > 600 strings that get tr()-ed inside javascript, so even after deduplication 400 could be expected...

Second, I find some peculiar strings that I do not understand. Why are they displayed at all, and why do they get fed through the translation function? Here is an example, taken from lib/jquery-tiki/tiki-connect.js. Line 13:
{CODE(Colors="Tiki")}
var spinner = $(this).tikiModal(tr(" "));
{CODE}

Ahem. That's as close to nothing as it could possibly get. Yes, this is really just one single space... And it got scheduled to become translated...

Thanks
hman
tracker item
Plugin Icon broken within wiki templates in 27.3 (works in 27.2)
{syntax type="tiki" editor="plain"}
The size parameter has no visible effect when Plugin Icon is used within a wiki template in Tiki 27.2, but works fine in 27.2
tracker item
Plugin List GUI failed to save edited values
I have used the Plugin Edit helper icon on the List plugin on the page ((Tiki20)) to edit some labels (I wanted to add "Status" to the status column label and to change "Volunteered" to "Volunteer to solve") and as it uses the GUI I edited them in the fields named "Label" and then clicked Save but the changes I made were not saved. Instead some not relevant change is indicated in the page history.

As you can see in the history here:
https://dev.tiki.org/tiki-pagehistory.php?page=Tiki20&newver=41&oldver=40
tracker item
Preference to disable tooltips also disables important back-end functionality
Javascript tooltips (bootstrap pop-ups) can be disabled in a Preference but then various JavaScript pop-ups with edit options will also be hidden. This will disable all edit options in lists (examples: module editing, page editing, etc, etc).
This option, if kept, should ONLY affect front end where tooltips only provide visual feedback. Otherwise, this should not be an option at all.
tracker item
Dev.t.o, Comments, user tag; Behaviour for the user tag (at-bsfez) has changed and look broken
I replied to a comment here : https://dev.tiki.org/tiki-view_tracker_item.php?itemId=8071&threadId=10284&cookietab=1#threadId10286

I inserted two user tags and the display is wrong...

{CODE()}@john.chishugi{CODE}
Only john is a link and it is broken

{CODE()}@chibaguy{CODE}
Display the user full "real" name

{img fileId="1763" thumb="box"}
tracker item
Show PHP error messages