BOUNTY: Web GUI reprogramming
-
the only issue i'm thinking of with the way we are doing this (editing the main files) is that themes will not work any more.
It would be better if it could be done in a theme but its just not possible because of the way the whole web GUI is coded.
I had based my design on twitter bootstrap and was planning on removing all the existing css from pfsense, and getting it all into one file "bootstrap.css", as craymore said this would be best and will make reading the code easier.
Another advantage being it would be easy to theme as there would only be one css file
-
I think i am going to setup a dev pfsense box and download yours and then edit from there again.
-
Just installed your code in to my dev box and im getting tonnes of errors.
Warning: require_once(shortcuts.inc): failed to open stream: No such file or directory in /usr/local/www/fbegin.inc on line 8 Fatal error: require_once(): Failed opening required 'shortcuts.inc' (include_path='.:/etc/inc:/usr/local/www:/usr/local/captiveportal:/usr/local/pkg') in /usr/local/www/fbegin.inc on line 8
also got one about set_language in the guiconfig file
-
is that on 2.0.3? I've been coding against 2.1 as I had loads of issues with JQuery in 2.0.3.
Edit: I can highly recommend a virtual box (or any virtual machine) install. All that is required is the latest snapshot iso load up the machine and if you screw it up just reboot the VM. ;D
-
Thats on 2.0.2 and 2.0.3
-
Thats on 2.0.2 and 2.0.3
I suggest you move to 2.1 as there have many commits which affected the GUI code, plus there's no point working against an old build.
If you are continuing against 2.0x the only post of mine with files which should work is this one > http://forum.pfsense.org/index.php/topic,48140.msg333804.html#msg333804
-
Any such work should be using a 2.1 base mostly because 2.0.x was all using prototype.js, 2.1 was converted to jQuery.
-
Well im bit of an idiot i used to be on 2.1 but during a 1am madnas when i saw 2.0.3 was released i downgraded (thought i was upgrading)
I am now upgrading to 2.1 again! Duh…
-
So I've been busy and had put this project to rest (temporarily).
I Revisited it tonight but took a different approach. I started working on it as a theme ie CSS changes as opposed to rewriting the HTML.
In the process of attempting to get twiitter bootstrap implemented I ended up with a very basic full screen theme (with no fancy features) based on the pfsense_ng theme.Anyway I pushed it to pfsense master so maybe it will get merged.
-
Looks good but more columns are needed, they dont have to be wider…
-
Looks good but more columns are needed, they dont have to be wider…
Easier said then done.
I pretty much have accomplished this in my testing. I have a version which has 3 columns which are droppable but I haven't figured out how to save their state (Ajax code).
Problem is this can't be implemented as a theme. It requires changes to the HTML & javascript. Which I guess as most of the existing themes are fixed width would require all the existing themes to be edited :(
Edit: Does anyone know where the source code for the widescreen package is?
-
Rich did some rewrite of the widescreenpackage and got it working quite well.
Maybe you should talk to him about it since the 2 column code id hardcoded into pfsense.
-
Looks good but more columns are needed, they dont have to be wider…
Something like this ;) http://youtu.be/dYNSF3zIHlM
That is achieved using jQuery no changes have been made to pfsense's core, it is added as part of the theme (so far so good). The problem is, as I said before, I can't work out how the Ajax code is working with saving the states. So as soon as you navigate away from the dash we are back to 2 columns >:(
Rich did some rewrite of the widescreenpackage and got it working quite well.
Maybe you should talk to him about it since the 2 column code id hardcoded into pfsense.
How do I contact rich? Is that his forum username? or are there any devs reading this who can help. I think we all agree this would be cool for pfsense!
-
This is his profile.
http://forum.pfsense.org/index.php?action=profile;u=236308
This is a further discussion about the widescreen package.
http://forum.pfsense.org/index.php/topic,62410.0.html
-
This is a further discussion about the widescreen package.
http://forum.pfsense.org/index.php/topic,62410.0.html
Damn if I had seen this thread before I would of finished this ages ago. It enabled me to understand how the save states were being loaded!
So I think I have this solved (spend far too long on it today).
new vid (sound seems screwed up so you might want to turn it down/mute): http://youtu.be/irglXyn41Ys?t=3s
new theme pull requests sent to master. Fingers crossed -
Exactly why I posted it ;)
-
In the video it looks like it reverts back to 2 columns in the end??
-
it becuase I change back to the pfsense_ng theme.
This is a new theme called full_screen. Its a theme so it doesn't touch much core code ie break anything else.
the widescreen package is quite hacky changing lots of files etc. this only changes the index.php slightly all the rest is part of the theme files (its still a hack tho)
-
if anyone wants to test it. Download it here: https://dl.dropboxusercontent.com/u/12367642/full_screen_theme.zip
extract the zip to a folder ie tmp
you need to place the files onto pfsense.
In linux from a terminal:
cd /location/of/folder/tmp
scp -r * root@192.168.0.50:/usr/local/www/Remeber to change the ip address ;)
Then on the webgui select the theme full_screen
Edit for 2.1 only (not sure if it'll work with 2.0.x)
-
Something like this ;) http://youtu.be/dYNSF3zIHlM
That is achieved using jQuery no changes have been made to pfsense's core, it is added as part of the theme (so far so good). The problem is, as I said before, I can't work out how the Ajax code is working with saving the states. So as soon as you navigate away from the dash we are back to 2 columns >:(
Not sure what type of database pfsense is utilizing, but a record would need to be created for this task, so the column count state can be stored and be retrieved when a page loads or a refresh occurs.
OR
Look for a jquery cookie plugin and store the column value there.
OR
Haven't had a need to arise yet to try this, but you might be able to rewrite the default variable value of the column count in the jquery file itself. File of course would have to be set to read & write which I don't really like but the security might not be a concern depending on the deployment.
Note:
There is a need for a enhanced Menu. It should be in a side bar and capable of expanding and collapsing! There is a template already with a side bar menu that can be modified! The problem with the exsiting it its not collapsible!See my previous reply's