LuCI changes from LEDE 17.01 to version 21

I'm upgrading from LEDE 17.01.5 to OpenWrt 21.02.3.
At LEDE I have made some changes in LuCI and want to make the same to Openwrt 21.
But as I looked at /usr/lib/lua/luci/controller/admin folder, I noted that the files changed. Now there are only 2 files: index.lua and uci,lua.
My changes were done to system.lua.
Where this file is now?
I must say that all the LuCI documentation available, both on the OpenWrt site and on Git, are very weak. Trying to understand the structure of LuCI screens in OpenWrt is quite difficult.
I would like to duplicate the "System / Scheduled Tasks" screen for another file, but I can't find where it is.
Can anyone give me a clue?


Continuing to try to understand the structure of LuCI, I followed the tutorial
Nothing appears on my OpenWRT LuCI screen.
This document is also out of date.

LuCI has been moved to "client-side rendering" by converting most of the stuff to javascript.

the luci-mod-admin-full was also split to three packages, and you likely want luci-mod-system

You might be looking for


Thanks hnyman for your help.

From which version has this changed? What is the actual version and what the previous?
I suggest documenting the fact in the tutorials pertaining to LuCI ( and at least). This two pages were updated recently without comments about.
Is there any tutorial to implement an "Hello World" called from Menu (not an application)? The tutorial on is outdated too.

The source, including its full revision history, is at your fingertips.


... and so is the wiki, feel free to chip in, update when/where needed.

I would like to write an tutorial about.
First I'm trying to understand how it works, now.
Can you please explain what happens after in /www/cgi-bin/luci?
Where is luci/modules/luci-mod-system/htdocs/luci-static/resources/view/system/crontab.js called?

Only to document my progress.
I found an interesting tutorial that will help me to understand LuCI 0.10:

Hello. To document LuCI 0.10, I'm in need of more help.
Can anyone give me a hint on how the structure of the files involved in the Menu works?
So far I've found that the root of the Menu is in the /usr/share/luci/menu.d folder (if not, which one?), and apparently the first file used is luci-base.json.
My question is what is the name of the files called and in which folder they are located. The current documentation available for version 0.9 ends up confusing me.

LuCI 0.10 was the year 2010 version. No idea why you talk about that.

Because there are no documentation of it. Only for 0.9, as you can see in frolics ansver on jul, 25.
I'm only trying to help. Your answer have not helped.

At some point you will have to start doing your own homework or re-evaluate your ambitions against your abilities. As already mentioned, the full source is at your fingertips, including its complete revision history, show-casing example migrations from lua to ECMAscript.

@slh, I'm not here to study the deepness of OpenWRT code. If that is what you like, then that is your part.
Just because OpenWRT is opencode, doesn't mean everyone has to study the code.
I'm trying to help users that like to develop small things like including specific functions, for specific use, not bare metal programmers. This specific prigrammers need documentation, and this is what I am offering to do.
I know that programmers do not like to document, so someone must do it. OpenWRT.
I've been using OpenWRT since version 15 and I've always found enough documentation (including Lua and LuCI) to make use of functions that aren't installed by default.
If you understand LuCI, please share as little as possible. Just answer specific questions for me to find the thread. I leave from there. If you don't know, just don't answer at all. This is the spirit of a forum as successful as this community's.
Thank you if you can understand my point of view.