BOUNTY: Web GUI reprogramming
-
Looking at the code structure last night for about 20 min. I'm afraid it would be to daunting of a task for just one person on the short term. There are at less a hundred files that would have to be HEAVILY modified. I'm thinking some if not all of the java/php/html code would have to be rewritten. Just a quick guess, there may be 100,000 to 150,000 lines of java/php/html code to review and rewrite.
Real world cost would be somewhere in the range of $3 to $6 per line of code…. $50 bucks for a rewrite at min would get ya 16 lines :D
Its not impossible to get this done.....There could be a model setup to help fund or a pay model to reward the programmers for there Huge contribution.I will look at the code more at a later date... :-\
-
100,000 to 150,000 lines …. somewhere in the range of $3 to $6 per line
Ouch!
As pretty as those pages are I'm sure they would actually help me get anything done faster or more accurately. I am also concerned about introducing extra load to ether the client or server simply to add some animated buttons. ;)
Steve
-
Its not about animation … it is formatting and presenting data in a informative efficient manner.
Take this sight for example .... this is animation :D
http://www.bombshellmanual.com/bombshell.swf
Site looks like my gf bedroom floor.... :DThis design is rather disturbing :o
http://bierzto.pl/administrator/teacup-pigs-full-grown&page=3 -
Probably best to avoid anything like that! ::)
Steve
-
u could take the current skin system and simply create a new skin for a start and then later on we could add the reprogramming for adding more functionality, this way u dont need to do 150k lines
-
It would be a page who will integrate the current items, no more.
But made in a modern design that allows for adaptation to different resolutions and widths.
-
It would be a page who will integrate the current items, no more.
But made in a modern design that allows for adaptation to different resolutions and widths.
+1, all resolutions and widths is what every1 needs and a better looking design with not so much red color ;D
-
If you wanted to do something like this as a package I would imagine it running along side the existing interface rather than replacing it. In the OpenWRT project a similar thing happened some years ago when a small group of developers wanted more GUI control. They created the WebIF² package. It no longer exists because the main webgui caught up with them (it was merged? :-).
http://www.x-wrt.org/Steve
-
I read this thread today and learnt about stuff I had never heard of ie Twitter bootstrap. This intrigued me…
I am NOT a web developer but after 10 mins on the simplest looking pfsense page I managed to make a responsive arp page. Its not much to look at but I was able to pretty much copy and paste the existing php code into the bootstrap copy template I had made to make it work ie no amendments were made to the code (just removed the menus, themes etc).
Screenshots > http://imgur.com/a/s8jKs#1
So the page title is being pulled from pfsense, as is the arp table but I haven't looked at importing the menu yet!
I'm gonna have a play tomorrow night and see what I can do.
Edit: figured out the menus they are imported and working fine
-
Not to bad charlie0440
Menu would be a great starting point but would require some jquery modifications for the menu controls. Most likely it would run into much more work than it seems to make everything work in harmony.
Take a look at the http://mosaicpro.biz/adminplus/php/ template if you haven't already ….. very sweet side menu layout. Be sure to check out the layout options in left bottom corner.
The standard Pfsense Theme option under System: General Setup might be the best one suited since it's already setup as a side menu.
Need some help give me a ring...
Here is one example method of a truly responsive table. There are other ways of doing it, but this is just a popular way of handling tables.
![responsive table.jpg](/public/imported_attachments/1/responsive table.jpg)
![responsive table.jpg_thumb](/public/imported_attachments/1/responsive table.jpg_thumb) -
Maybe I missed something but the menu works with minimal changes made (sorted it after my screenshots).
Im gonna start afresh tonight and make a decent attempt.
Do you have some links to good examples (source code) not images. I'm more of a hack some code together then write from scratch.
-
The link to the admin template is a very good example 99% of code is open source. If you need more examples just go to themeforest.net and codecanyon.net
Help solving coding problems stackoverflow.com is the best place to go on the web. They have other sights that are tailored to other technical computer related stuff.
You should highly consider using mosaicpro.biz/adminplus/php/ as a design reference. He is using some of the most productive methods in backend production.
There are some things you can do in CSS3 for collapsing, expanding and hiding divs for a sidebar menu, but sometimes you need jquery. Some browsers still have issues with CSS3 but by using jquery you eliminate all issues. You could use CSS3 and specify Chrome or Firefox which is supporting the majority of all of the CSS3 specifications.
-
So a little update. Getting the menu integration was quite straightforward and the way pfsense webGUI is written means that it works for all pages.
There seems to be some bugs (probably in my code) which messes some pages up. But it looks ok on most pages.
Note I have not touched any code per page ie all tables and forms are exactly how they are coded in stock pfsense. I have only edited the head.inc and fbegin.inc (a bit like editing all the frames except the mainframe). This has resulted in a responsive website on most pages.
Im not sure if this is something I can really run with, without some guidance/help from someone who knows pfsense and web development. I feel it wouldn't be such a huge job to a web developer, it only really needs one good template then someone/myself would have to go through each page and just amend the class names of each div, form, table etc
I would be keen to know what people think of the images so far?
screenshots > http://cubeupload.com/codes/56151b
PS I did make a new menu > Logout which I think is kinda cool
-
Looks good. :)
I appreciate the fact that you've actually gone and done something as opposed to just talking about it. Keep it up!Steve
-
Very good! Its not so much for the windows with config that needs redesign, but the dashboard to use the entire width of the screen. But I get where your going and it looks really good.
-
Very good! Its not so much for the windows with config that needs redesign, but the dashboard to use the entire width of the screen. But I get where your going and it looks really good.
Well with the changes I have done all pages are now full width
-
What about doing 80%-90% width in the CSS to leave a small edge around everything to make it nicer! ;)
Its more like the number of columns than the actual width of the widget.
-
Can't remember what they are set to, but if you look at the screenshots they are not 100%
-
Ok so I only have one issue with this template. It seems a single line of code is messing up the CPU / memory % boxes on the dashoard. Otherwise it looks good
The culprit line:
This line is one of the most important lines for the template so I can't remove it. Not sure why its causing an issue, any ideas?, it makes the boxes really big. It might just need some changes to the index.php file to fix this.
Anyway if anyone wants to have a play / look at what I have so far, download link > https://dl.dropboxusercontent.com/u/12367642/pfsenseGUI.zip I would only try it on 2.0.2/3 not a nightly as I was building against the stable and am sure some changes since will probably have broken it.
Installation Instructions:
1. Extract the zip to a folder on your PC
2. Backup the original files on your pfsense boxThese files will be replaced so make a copy:
/usr/local/www/fbegin.inc
/usr/local/www/fend.inc
/usr/local/www/head.inc
/usr/local/www/widgets/widgets/system_information.widget.phpI find it easiest to ssh in and just do a cp command ie:
cp /usr/local/www/fbegin.inc /usr/local/www/fbegin_bk.incIf your on a read only build dont forget to run this command first:
/etc/rc.conf_mount_rw3. Copy the files to pfsense
Easiest way is via scp on linux, you could copy and paste via the edit file on the webGUI
linux:
replace with your ip address (here I am copying the contents of the pfsenseGUI folder from the zip)scp pfsenseGUI -r * root@192.168.1.1:/usr/local/www
4. Open up the webGui and login to see the changes
To revert back to the original files:
To revert to the original files you need to restore the backed up files to their original name ie:
mv /usr/local/www/fbegin_bk.inc /usr/local/www/fbegin.inc
etcoptional delete this folder:
/usr/local/www/assetsPlease provide feedback (im looking at stephen here, he loves getting his hands dirty)
Edit: you can change the theme in the general settings but it will only effect the background color :(
Edit 2: had a thought the dashboard issue may just be a conflicting class name. I'll investigate it tonight
-
Another update, solved the dashboard problem, I had to implement new progress bars (they are blue unless you go over 90% then they are red).
They all work, although the CPU progress bar causes some of the dashboard to hang 1-2secs before rendering
Updated zip file available here: https://dl.dropboxusercontent.com/u/12367642/pfsenseGUI.zip.
Screenshots here: http://cubeupload.com/codes/38b032