unRAID-Web - complete web server w/ php for unRAID


Recommended Posts

  • Replies 280
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

I think its really getting there.  ;D

 

Comments based on cosmetics only this now. Standard disclaimer applies of "great work these are just comments/ideas not criticisms"

 

I dont like the top and left frames I think it takes away from the whole. I would much rather see a way for the extra plugins to get a tab like the normal tabs e.g "About". I realize this makes things harder but I really do think it will make for a more contiguous GUI as time progresses.

 

I would like to see manufacturer logos for the drives neatly integrated into this page.

 

I count 6 different shades of blue used on this page. This version makes excellent use of color to highlight important areas but I think it is important to try and minimize the shades even more (technology limitations apply obviously)

 

I would like to see less units of space used. i.e. Use TB or GB only and not TB, GB, MB and KB. Again this adds some hurdles but i think it will make for less mistakes in the long run.

 

You use icons to signify array started etc but text to signify open files. better to follow one approach i.e. use icons.

 

Nice work :)

Link to comment

I think its really getting there.  ;D

 

Comments based on cosmetics only this now. Standard disclaimer applies of "great work these are just comments/ideas not criticisms"

 

I dont like the top and left frames I think it takes away from the whole. I would much rather see a way for the extra plugins to get a tab like the normal tabs e.g "About". I realize this makes things harder but I really do think it will make for a more contiguous GUI as time progresses.

 

I would like to see manufacturer logos for the drives neatly integrated into this page.

 

I count 6 different shades of blue used on this page. This version makes excellent use of color to highlight important areas but I think it is important to try and minimize the shades even more (technology limitations apply obviously)

 

I would like to see less units of space used. i.e. Use TB or GB only and not TB, GB, MB and KB. Again this adds some hurdles but i think it will make for less mistakes in the long run.

 

You use icons to signify array started etc but text to signify open files. better to follow one approach i.e. use icons.

 

Nice work :)

 

Bubba, just to say I like the work you've been doing, coming along nicely.

 

I have to agree with NAS about the frames though but I understand they may be crucial to the way you have developed the new GUI and how it works.

Link to comment
I dont like the top and left frames I think it takes away from the whole. I would much rather see a way for the extra plugins to get a tab like the normal tabs e.g "About". I realize this makes things harder but I really do think it will make for a more contiguous GUI as time progresses.

 

I can live w/o the top frame, but the left frame has to stay, because I have to have the right frame.

 

The tabs are a PITA already.  If each extensions has a tab, what happens when you have an extension with its own tabs?  Disaster.  It would also make javascript for the extension developers very complex, because it would be in the same frame with other code, and parsing the DOM would be a disaster.  By putting the extensions in their own frame, it makes writing and testing extensions much easier and safer.  Essentially the only thing you have to to is make your variables private and don't use "top.[anything]".

 

I would like to see manufacturer logos for the drives neatly integrated into this page.

 

I think the screen is too busy already... please no more distractions like manufacturer logos.  They will be on the "drive info" page

 

My concept is of a "quick overview" page where all important info is present that will let you determine quickly if everything is OK, or your attention is needed to "look deeper."

 

I would like to see less units of space used. i.e. Use TB or GB only and not TB, GB, MB and KB. Again this adds some hurdles but i think it will make for less mistakes in the long run.

 

Then you end up with tiny fractions.  Plus many places I am not processing the units, but reporting the raw value because the units are not uniform or parsable (like the buffer size from the drive).

 

You use icons to signify array started etc but text to signify open files. better to follow one approach i.e. use icons.

 

Correct.  I intend to inconify the open-files widget.  It is under development.

Link to comment

Version 0.1.01 of unRAID-Web is now posted.  Link is in OP.

 

This version:

 

  - latest redesign of custom interface, which includes preliminary support for user shares on the user shares tab

  - new extension, for AjaXplorer  (no fancy installer or config editor yet)

Link to comment
I would like to see less units of space used. i.e. Use TB or GB only and not TB, GB, MB and KB. Again this adds some hurdles but i think it will make for less mistakes in the long run.

 

This reminds me of when we first began discussing a remake of the user interface, how it would be hard to satisfy such a broad spectrum of users and usage.  Some would want much more, some would want less, some want more graphics, some want less, some want to fit a small monitor or window, and some want to fill a large monitor, etc.  Even things like the units can lead to disagreement.  I agree with the above in that I really don't like 'human readable' numeric displays, but I also prefer much smaller units than others.  Since free space is a multiple of the drive cluster or block size, I really like the way Tom shows it, in K units.  This, like a number of other display items, is going to need to be easily 'skinnable'.  I also tend to lean toward less graphics and icons, unless they usefully convey information.  But satisfying the general need for 'prettiness' can still be a valid justification.  I do very much appreciate BubbaQ's flexibility and patience here.

 

I don't find a column about the disk size all that useful, especially since it does not change.  It could just as well be a part of the drive name, as I believe myMain does.  And as a part of the name, it could either be in GB or a mix of GB and TB as appropriate.  And thinking selfishly as a troubleshooter, it might be nice to see a bit of the serial number.  It helps a user and troubleshooter identify a specific drive more easily.  Optional of course, but perhaps something like these more compact display forms, as the default for new users:

Disk [dev]     Drive Model...sn# (Size)          Free (K)
Parity [sdc]   WDC WD10EACS...F23 (1TB)
Disk5 [hdf]    WDC WD5000AAJB...6K4 (500GB)         1,190
Disk6 [hdb]    ST3400632A...C21 (400GB)           259,820

  --- or ---

Disk    Device    Drive Model...sn# (Size)         Free Space
parity    sdc     WDC WD10EACS...F23 (1TB)
disk5     sdf     WDC WD5000AAJB...6K4 (500GB)         1.19GB
disk6     hdb     ST3400632A...C21 (400GB)           259.82GB

 

I really like and depend on the extra 'frame' below the drive display, that UnMENU and myMain show, a work space with a syslog tail.  It could be used very flexibly here, for a syslog tail by default, but also for 'Open Files' if that link or button is clicked, or the display of drive info if a particular drive is highlighted, and there are lots of other uses too, better than pop ups and other pages.

 

There is a lot of catching up to do, to replicate all of the options and displays that UnMENU and myMain provide!

Link to comment

One of the config options I have is whether a K=1000 or K=1024, so that will be user configurable.

 

I don't think we can have one "overview" page design that satisfies everyone... but it will be simple to support several, and let the user chose.  In fact, once all the widgets are done, a user can theoretically design their own by just selecting widgets.  This is especially easy to do in the main table of drives widget, as I already have 2 of them.

 

I don't understand usefulness of a bottom panel, that changes.  It takes 2 clicks minimum... 1 to select what content to display there, and 2 to scroll to see it since the drive table takes up most of the page.  It is easier and faster if the first click opens a window to the additional content.

 

Or you could have tabs /links that replace the drive-table area with different content.

Link to comment

I really like and depend on the extra 'frame' below the drive display, that UnMENU and myMain show, a work space with a syslog tail.  It could be used very flexibly here, for a syslog tail by default, but also for 'Open Files' if that link or button is clicked, or the display of drive info if a particular drive is highlighted, and there are lots of other uses too, better than pop ups and other pages.

 

There is a lot of catching up to do, to replicate all of the options and displays that UnMENU and myMain provide!

You can still get all that...  as I am attaching my unMENU extension for unRAID-web to this post.

 

Edit:  Version 0.2 is now attached.  All known issues have been fixed.  I also improved the configuration screens to be easier to navigate.   Unzip in the extensions folder as before.

Basically, put the attached zip file in the "extensions" folder and unzip it.  You should end up with the updated files in an "unmenu" folder under "extensions"

 

If you had to update the configuration to correct the unRAID directory for where you put the plug-in files you will need to do it once more.

Joe L.

 

Edit: Version 0.3 is now attached.    as far as I know, all is working. No other issues have been reported.  Have fun.

Unzip in the extensions folder as before.

Basically, put the attached zip file in the "extensions" folder and unzip it.  You should end up with the updated files in an "unmenu" folder under "extensions"

 

If you had to update the configuration to correct the unRAID directory for where you put the plug-in files you will need to do it once more.

Joe L.

This is an alpha/ a beta version...  I've run it through its paces, but there might be something I did not find. (if you wrote your own plug-in and depended upon something not in the "php wrappers")

 

Basically, put the attached zip file in the "extensions" folder and unzip it.  You should end up with the following files in an "unmenu" folder under "extensions":  (note, these sizes were from my original 0.1 version... sizes have changed.. file names have not)

[pre]

root@Tower:/boot/config/lighttpd/extensions/unmenu# ls -l

total 96

-rwxrwxrwx 1 root root   910 Mar 13 13:47 config.php

-rwxrwxrwx 1 root root    25 Mar 13 13:53 extension.conf

-rwxrwxrwx 1 root root   842 Mar 13 11:57 extension.dat

-rwxrwxrwx 1 root root 23534 Mar 13 13:47 index.php

-rwxrwxrwx 1 root root  1322 Mar 13 13:49 save_config.php

[/pre]When you run the "extension," (by clicking on the unMENU choice in the "Extensions Menu" on the left) it will create, in extensions/unmenu  a number of sub-folders and .php files, one for each unmenu plug-in found.

(By default it looks in /boot/unmenu)  The .php files it creates are "wrappers" that invoke the unMENU plug-in files and in turn send the output to unRAID-Web.   Yes, the extension I wrote writes all the other .php files for me (and you) based on your installed plug-ins.

 

If no unMENU plug-in files are found because you put them somewhere else than /boot/unmenu, it will display its config screen where you can enter in the correct location, press save, and then, after closing as instructed on the "save confirmation" screen, again click on the unMENU choice on the left Extensions Menu to have the main extension code re-scan the proper folder for plug-in files.

 

This time, assuming you entered in a path to a valid folder with unMENU plug-ins, it will display the most of same menu choices you got when using the unmenu.awk process.

The menu choices that are not available will be the old "Main,"Array Management", and "Disk Management".

 

Since BubbaQ is re-writing those, it is not a huge issue.  They were the built-in pages in unmenu.awk and will need to be re-written if I get enough pressure to do so.

I know people really like the ability to mount disks outside of the array, so I'll probably be forced to re-write the disk-management page dealing with disks outside of the array as a plug-in, or as a native .php if he does not.

 

I also had to replace the File-Browser in my unmeunu extension.   The replacement has none of the limitations of my old file browser.  I too now use the great Ajax based File browser AjaXplorer, in fact, I use the same files that Bubba recently included.  (You will need a recent version of BubbaQ's of unRAID-Web to use this feature, otherwise, you will get a file-not-found when you attempt to use that menu choice under unMENU).    

 

Once you save the correct unmenu plug-in folder location you will be brought into the first "plug-in" selection automatically.  Typically, this is "myMain"

 

The screen will look a lot like the one below and everything "should" just work  ;D  If you write a new unmenu plug-in, or user-script, they still go in the same folder as they used to.  Oh yes, you no longer need to start the unmenu.awk process using "uu" or otherwise.  This extension does not use unmenu.awk at all. It uses lighttpd, the new web-server BiubbaQ is providing.

 

Have fun... Joe L.

PS.  I've not used .php much in the past, so be gentile if you do a code review and see something unusual. I'm new at it.   Once BubbaQ has incorporated this into the files he is distributing and installing, and it is stable,  I'll remove the attachment from this post.

 

Edit: the attachment has been deleted.  This is available through unMENU. Installation through it fixes several items needing patching in BubbaQ's distribution.

2elaute.jpg

Link to comment

I would like to propose a feature for later consideration.

 

Primarily it would be used for support but it has other uses as well.

 

Essentially it would be a text summary of the unRAID installation and configuration. Elements that could not be automatically gleened would be user entered by hand.

 

So it would have elenets like:

 

CPU: xxxx

RAM: xxxx

Mptherboard: xxxx

Disk1: xxxxx

User Shares: enabled

unRAID version: xxxxxx

Plugins installed: xxxx

etc

 

When a user came to get support they would copy and paste this text summary in and the community would have a good idea of what system they had. This is superior than the current method where a community member invariable has to ask for each detail.

 

As unRAID grows in capabilities this should help ease support issues.

Link to comment

I've found one small bug in the unMENU extension.

 

Around line 267 of extensions/unmenu/index.php  the following line should be changed.

 

[pre]    //* a bit of special editing of the utility programs called by myMain

   //if ( $a->add_on_url == "mymain" ) {     <-- this is the old line that is is only looking for lower case

   // new line is below, case insensitive. I also test both the label and the URL, in case you changed it

     if ( strcasecmp( $a->add_on_menu, "mymain" ) == 0 || strcasecmp( $a->add_on_url, "mymain") == 0 ) {   

[/pre]

 

I'll post a new zipped version shortly.  The first version will work if you edited line 2 of the 07-unmenu-mymain.awk file to have it replace the usual "Main" I originally wrote by changing the "URL" (actually, by deleting the URL and leaving just the "=" sign or making the URL all lower case.)

 

from

#ADD_ON_URL=myMain

to

#ADD_ON_URL=

or by changing the URL to be all lower case like this:

#ADD_ON_URL=mymain

 

BubbaQ has reported he cannot get myMain to change to the other "views"  He is working with me to try to figure out what is happening.

If anyone else is seeing anything weird, let me know.   I think I'm going to add a "debugging" option in the next version... That way, you can enable debugging without editing anything. 

 

Edit: new version 0.2 posted.  This bug is fixed, as is the issue BubbaQ found (it only affected him, as he installed the extension in a different directory then expected)

Joe L.

Link to comment

I've updated the attachment in this post: http://lime-technology.com/forum/index.php?topic=3354.msg29904#msg29904

to have the fixed unMENU extension for unRAID-Web.

 

All known problems have been fixed.

 

As before, let me know if you run into any issues.  As distributed, it is configured as if you have the unMENU plug-in files in /boot/unmenu

 

If you have put them in a different directory on your server, you will need to update the field on the configuration screen to point to the correct directory.

 

Joe L.

 

As a tease, here is what the new File-Manager looks like under the unMENU extension. (And under the AjaXplorer extension) 

Yeah, it's me... You can just call me Joe (the phantom) L.

357oao1.jpg

 

Link to comment

I've been on a campaign to move everything 'custom' to subdirectories of my /boot/custom/ folder.  unMenu made this possible for me between the Package Manager and the Go Script Manager.  But, unRAID-Web added a wrinkle as I already had all of the dependencies loading via the Package Manager (so that I can control the versioning), and bubbaQ's package defaults to placing /lighttpd and /php directly in my /boot/custom folder (I'd like them in /boot/custom/unraid-web). 

 

My archive of unMenu .conf files contains a .conf for the Go Script Manager I've been working on to address this & other issues.  In this script has a CUSTOM_UNWEBPATH parameter to specify where you'd like unRAID-Web installed and it'll place it there instead of /boot/custom/.  (currently set to /boot/custom/unraid-web, but change it to anything you'd like.)

 

Also, this script will not overwrite unRAID-Web dependencies already installed via the unMENU Package Manager but will only install missing unRAID-Web dependencies.  This way you can control the versioning of packages (lighttpd, php, libXML2, Gamin, libidn, & curl) installed on your server.

 

When BubbaQ releases new versions, simply edit the VERSION parameter (currently set to 0.1.04) in the script and reboot. The new version will download and replace the old.  (be sure to disable/re-enable the script in the Go Script Manager to update the .auto_goscript with your changes.)  When upgrading, the script will only copy over new and updated files.

 

The code is not elegant.  I'm new to shell scripting, but it works for me.  I welcome comments from more experienced shell scripters (I know your out there).

 

http://www.vhahost.net/bitbucket/unRAID/unmenu_conf_files.zip

 

EDIT:

There are a lot of .conf files in that archive.  The one I'm talking about is unraid-web-unmenu-goscript.conf.  Place this file in your unMENU package directory and it'll show up on the Go Script Manager. 

 

If you don't have unMENU installed you can use the shell script version, unraid-web.sh - this script will also update your installed version without rebooting.  Once installed, you can use this script to update your installation of bubbaQ's unRAID-Web.  When there is a version change simply update the VERSION parameter in this script and run it.  The script will download & install the new version and also update your Go Script .conf files so that the new version installs properly the next time that you reboot your server.

Link to comment

Version 0.01.02 of unRAID-Web is posted for download.  Link is in OP.

 

This version:

 

- Frames redone to eliminate the top frame.

- Several little bug fixes

 

- "Super Shutdown" extension is now working.  It is simple, but sorely needed!  It will do a safer, scripted shutdown with several options.  It tells you if there are open files that will prevent stopping the array and gives you the option to force open files closed if you want.  It also checks for and unmounts loopback mounts, and several other niceties.  It also has an "abort" button that can be used at any time.

 

Suggestions for improvement and enhancement are invited.

 

Link to comment

I've updated the attachment in this post: http://lime-technology.com/forum/index.php?topic=3354.msg29904#msg29904

to have the fixed unMENU extension for unRAID-Web.

 

All known problems have been fixed.

 

As before, let me know if you run into any issues.  As distributed, it is configured as if you have the unMENU plug-in files in /boot/unmenu

 

If you have put them in a different directory on your server, you will need to update the field on the configuration screen to point to the correct directory.

 

Joe L.

 

Awesome Joe L!

 

I am having a small problem.  I may have missed something because, based on your screenshot, you have already fixed this.

 

The sys_log_tail iframe doesn't work (I get 404 error).  Similar thing happens if I try to click on any of the "utility" URL references.

 

(I installed 1.02 version of unraidweb if that matters.)

 

One other question - is there a recommended programatic way for the awk code to know if it is in a lighttphd or unmenu.awk?  I may add some code that takes advantage of the Web Server, but don't want to break unmenu compatibility.

 

Thanks!

Link to comment

I've updated the attachment in this post: http://lime-technology.com/forum/index.php?topic=3354.msg29904#msg29904

to have the fixed unMENU extension for unRAID-Web.

 

All known problems have been fixed.

 

As before, let me know if you run into any issues.   As distributed, it is configured as if you have the unMENU plug-in files in /boot/unmenu

 

If you have put them in a different directory on your server, you will need to update the field on the configuration screen to point to the correct directory.

 

Joe L.

 

Awesome Joe L!

 

I am having a small problem.  I may have missed something because, based on your screenshot, you have already fixed this.

 

The sys_log_tail iframe doesn't work (I get 404 error).  Similar thing happens if I try to click on any of the "utility" URL references.

 

(I installed 1.02 version of unraidweb if that matters.)

Are you using the .2 version of the unMENU extension?  (the earlier version was broken as it looked for myMain URL in all lower case.)

One other question - is there a recommended programatic way for the awk code to know if it is in a lighttphd or unmenu.awk?  I may add some code that takes advantage of the Web Server, but don't want to break unmenu compatibility.

 

Thanks!

I understand completely.  I think it is actually pretty easy.

 

The command used to invoke myMain is:

(cd /boot/unmenu_final/; gawk -v ConfigFile='unmenu.conf' -v MyHost=http://tower:89 -v ScriptDirectory='/boot/unmenu_final/' -v MyPrefix=http://tower:89/extensions/unmenu -vMyPort=89 -v LocalConfigFile='unmenu_local.conf' -W re-interval -f drivedb.lib.awk -f unmenu.base.lib.awk -f utility.lib.awk -f 07-unmenu-mymain.awk STARTED GET '/?view=performance&sort=num' 'mymain|myMain|links|Useful Links|system_log|Syslog|usage|Disk Usage|dupe_files|Dupe Files|sys_info|System Info|user_scripts|User Scripts|config_view_edit|Config View/Edit|crontab_view_edit|Crontab View/Edit|goscript_manager|Go Script Manager|package_manager|Package Manager|unraid_main|unRAID Main|ajax_explorer|File Explorer|config|Configuration|about|About')

 

You can see that MyPrefix has the directory "/extensions" as part of its value.  If you test for "/extensions" you are running under unRAID-Web.  (Don't test for extensions/unmenu, as BubbaQ has on one occasion installed it in a extension/random_name sub-directory as part of his extension manager.  That was originally why he could not use the links... but my new code should not care what the extension directory is named... if I did it right.

 

Joe L.

Link to comment

Are you using the .2 version of the unMENU extension?  (the earlier version was broken as it looked for myMain URL in all lower case.)

Yes

 

I'm having no problem accessing myMain.  It's the links on that page.

I know, it would have only affected the links...  see the PM
Link to comment

try admin/admin

 

That worked.  AjaXplorer is awesome!  But security is wide open on the entire array.

 

Anyone thought about how to use this in a family environment?  I really don't want my kids having access to sensitive data like tax records or inappropriate content - like R rated movies.  Best would be to somehow have AjaXplorer use the Samba configurations.  I spent a lot of time and thought setting  up security there.  Is this possible?

 

Otherwise it looks like I can set up separate "Repositories" that mimic the Samba share security in AjaXplorer.  Or just change that admin password effectively making this off limits to anyone but me.

 

Link to comment

try admin/admin

 

That worked.  AjaXplorer is awesome!  But security is wide open on the entire array.

 

Anyone thought about how to use this in a family environment?  I really don't want my kids having access to sensitive data like tax records or inappropriate content - like R rated movies.  Best would be to somehow have AjaXplorer use the Samba configurations.  I spent a lot of time and thought setting  up security there.  Is this possible?

 

Otherwise it looks like I can set up separate "Repositories" that mimic the Samba share security in AjaXplorer.  Or just change that admin password effectively making this off limits to anyone but me.

 

You can add additional users in AjaxExplorer... and assign a different passwords, probably with different access permissions to various folders.
Link to comment

Are you using the .2 version of the unMENU extension?  (the earlier version was broken as it looked for myMain URL in all lower case.)

Yes

 

I'm having no problem accessing myMain.  It's the links on that page.

I know, it would have only affected the links...  see the PM

 

Problem resolved.  I have a development instance of myMain that caused the behavior.  Thanks Joe L.!

Link to comment

Very cool.  It is impressive the amount of time and effort that is put into a project like this.  ;D

 

Don't forget to put the version number in the 'About' tab.  Also, could probably do without the little folder icon below the disk# on the 'Overview' tab; the "linked" drive# should suffice.

 

Cheers!

 

beerserved.gif

 

 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.