Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    BOUNTY: Web GUI reprogramming

    Bounties
    31
    256
    171.7k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      kelsen
      last edited by

      @c0urier:

      I tested it shortly but reverted back to the widescreen theme.

      Is it possible for you to add the possibility of using several boxes besides each other like in the widescreen package?

      I think @charlie0440 already did it, perhaps he can pull it to my github repository.

      1 Reply Last reply Reply Quote 0
      • C
        charlie0440
        last edited by

        yes I could add that. But really you should sort out your github, its really hard to see what you've done. I know you said your new to it, so heres what you should do:

        First Delete your existing pfsense repo from github.

        Second you need to fork a repo. Either pfsense master or one of my branches if thats what you've based your work on.

        Assuming your cloning pfsense master go to https://github.com/pfsense/pfsense and click "Fork" this will create a pfsense repo for you. If you use mine click fork from my github webpage. This creates a copy of the repo for you to amend.

        Now clone this repo to your PC ie git clone https://github.com/kelsen/pfsense.git

        cd into the pfsense folder

        Switch to a branch you based your work on via 'git checkout BRANCHNAME'

        make a new branch to commit your changes to (git checkout -b myTheme). You shouldn't use master, master should emulate the fork.

        Now edit the files that you have made. git add those files, commit them & push the files you changed (git push origin myTheme). Ideally use informative commit messages when you make commits, I like to make small commits, but your free to do as you like.

        If you get that done. I'll add multiple columns.

        Good luck

        1 Reply Last reply Reply Quote 0
        • K
          kelsen
          last edited by

          Thank you for your tips.
          I'll do that tomorrow.

          1 Reply Last reply Reply Quote 0
          • I
            iFloris
            last edited by

            @kelsen:

            Hey guys, i'd like to know if someone tested this new interface, I've added the slide menu  effect right now.

            yesterday I tried to get it working but I found it hard to see what files needed to be replaced. Might give it a shot again next week because it sure looks great in your screenshots.

            one layer of information
            removed

            1 Reply Last reply Reply Quote 0
            • K
              kelsen
              last edited by

              I've made the changes to my repository https://github.com/kelsen/pfsense/tree/metrolabTheme it must be easier now.

              1 Reply Last reply Reply Quote 0
              • C
                Clear-Pixel
                last edited by

                Anyone testing the Metrolab Theme?

                If so, any bugs?

                HP EliteBook 2530p Laptop - Core2 Duo SL9600 @ 2.13Ghz - 4 GB Ram -128GB SSD
                Atheros Mini PCI-E as Access Point (AR5BXB63H/AR5007EG/AR2425)
                Single Ethernet Port - VLAN
                Cisco SG300 10-port Gigabit Managed Switch
                Cisco DPC3008 Cable Modem  30/4 Mbps
                Pfsense 2.1-RELEASE (amd64)
                –------------------------------------------------------------
                Total Network Power Consumption - 29 Watts

                1 Reply Last reply Reply Quote 0
                • JeGrJ
                  JeGr LAYER 8 Moderator
                  last edited by

                  I'd really like to test, but as with the GIT repository I'm not quite sure, how to install it right (and to only install the theme without any unnecessary parts). It would be a real blast, if that could be packaged and installed via the package manager…

                  Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                  If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                  1 Reply Last reply Reply Quote 0
                  • I
                    iFloris
                    last edited by

                    @JeGr you only have to look at the modified dates; everything modified yesterday (mostly in /usr/www) is related to the new theme.

                    one layer of information
                    removed

                    1 Reply Last reply Reply Quote 0
                    • JeGrJ
                      JeGr LAYER 8 Moderator
                      last edited by

                      Yeah, the "mostly" is where it's going to blast. I really like git. But it's just not "practical" for me to go through your repository to cherry pick files i hope will be the right ones. I don't even know if the theme required changes to other templates or files outside of /usr/www, so sorry, that's just not usable for me while not developing on the project myself and having a GIT clone of my own I can check against. If you could provide an archive with the required files against a default 2.1-release installation base, I'll be happy to test them on my lab devices, as the theme(s) in this thread look really promising and awesome ;) but I don't have the time to copy and select single files, sorry :)

                      That's why I was hoping it could perhaps be done with a package installation routine.

                      Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                      If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                      1 Reply Last reply Reply Quote 0
                      • C
                        Clear-Pixel
                        last edited by

                        I have to say also its not efficient at all for everyone that wishes to test, have to pick through the files on Git and hope everything is in order.

                        What the creator could do for the time being is simply place the files which have been modified in a zip file and upload it to a drop box somewhere …... the tester than can upload and overwrite the files in pfsense in the appropriate directory's.

                        If a zip is prepared I will do some testing before I do a fresh reinstall of Pfsense in a few weeks.

                        I would also like to give a wise suggestion to charlie0440 and Kelsen ...... You two need to work together and merge your creations together even on Git ...... If your looking for recognition you have it ......  but merge the branches ....... A Team can achieve so much more working together.

                        Linux is a good example of similar problems ....... If Linux had not branched out into so many distributions, Linux distributions would be much further ahead today than what they are now.

                        HP EliteBook 2530p Laptop - Core2 Duo SL9600 @ 2.13Ghz - 4 GB Ram -128GB SSD
                        Atheros Mini PCI-E as Access Point (AR5BXB63H/AR5007EG/AR2425)
                        Single Ethernet Port - VLAN
                        Cisco SG300 10-port Gigabit Managed Switch
                        Cisco DPC3008 Cable Modem  30/4 Mbps
                        Pfsense 2.1-RELEASE (amd64)
                        –------------------------------------------------------------
                        Total Network Power Consumption - 29 Watts

                        1 Reply Last reply Reply Quote 0
                        • C
                          charlie0440
                          last edited by

                          @Clear-Pixel

                          I agree a zip is best for testing but we also need github to see what has been changed.

                          In regards to working together, I believe we are after 2 different things. I was not working on a nice looking fancy theme (that was the original goal). I moved my goal to trying to figure out a way to integrate bootstrap into pfsense existing GUI without breaking the existing themes. Which is where I believe I have hit a brick wall. It works fine (my version) but to make it better would mean editing a lot of the existing code which would probably effect the other themes, I hope to revisit it soon, been really busy recently.

                          I haven't tested or properly looked at Kelsen code but I'm pretty sure it breaks the other themes. Perhaps Kelsen or someone who has tried it can confirm? Also I suggested a few posts back that he forked one of my branches from my repo as it would make the most sense as he was working off of my theme, but he choose pfsense master.

                          1 Reply Last reply Reply Quote 0
                          • K
                            kelsen
                            last edited by

                            Here is the files needed https://www.dropbox.com/s/24c2wv45mdk769w/metrolab.tar.gz and a script to automate the process https://www.dropbox.com/s/7448ymuughld7f9/theme.sh …
                            Uncompress and run the script.
                            As it is unproductive, please note the repository for updates.

                            I haven't tested or properly looked at Kelsen code but I'm pretty sure it breaks the other themes. Perhaps Kelsen or someone who has tried it can confirm?

                            Completely!

                            Also I suggested a few posts back that he forked one of my branches from my repo as it would make the most sense as he was working off of my theme, but he choose pfsense master.

                            This implies something? Maybe I can do it again and fork your branch, if it's needed.

                            1 Reply Last reply Reply Quote 0
                            • JeGrJ
                              JeGr LAYER 8 Moderator
                              last edited by

                              Thanks, I'll gladly try it on a lab-installation

                              Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                              If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                              1 Reply Last reply Reply Quote 0
                              • C
                                Clear-Pixel
                                last edited by

                                @kelsen & charlie0440
                                Forget about the issue that it breaks the other themes for now ….. Make Metro the new Modern Standard.


                                @charlie0440
                                Your script adding and subtracting column rows

                                &

                                @kelsen
                                Tweeter boot strap with vertical expandable menu

                                With both combined why would you want any other theme? The tweeter boot strap kelsen setup you can change the color theme.

                                In the majority of all cases the most productive menus are the expanding vertical side menu ...... you cant defeat hard facts.

                                If this can be accomplished set it up as a package. If the user wishes to convert back to the standard Pfsense themes ....... have the package upon installing to backup the original Pfsense files and a restore button to remove the custom Metro theme and reinstall the original Pfsense files if the user has issues.

                                HP EliteBook 2530p Laptop - Core2 Duo SL9600 @ 2.13Ghz - 4 GB Ram -128GB SSD
                                Atheros Mini PCI-E as Access Point (AR5BXB63H/AR5007EG/AR2425)
                                Single Ethernet Port - VLAN
                                Cisco SG300 10-port Gigabit Managed Switch
                                Cisco DPC3008 Cable Modem  30/4 Mbps
                                Pfsense 2.1-RELEASE (amd64)
                                –------------------------------------------------------------
                                Total Network Power Consumption - 29 Watts

                                1 Reply Last reply Reply Quote 0
                                • JeGrJ
                                  JeGr LAYER 8 Moderator
                                  last edited by

                                  I have to agree with Clear-Pixel here, if the theme is awesome on it's own (and can easily be customized in terms of an e.g. own logo and a color scheme), why want another? The screens from Kelsen's ans Charlie's efforts seem like such is the case, so I fully agree to perhaps deliver that as a package that - on uninstall - reverts back to the original theme files and structure.

                                  I can remember at least one or two packages, that were built the same way in 1.2.x times. If you installed it, it would knowingly "break" another feature (more or less it replaces it) and on uninstall recovers the old feature. AFAIK the TinyDNS package works that way (or worked) and in the old times before there was the dashboard, you could install the dashboard "over" the status page and it was replaced by that. You even had to reinstall if you wanted the old status back. And with all the capabilities of scripting now, making a backup of certain files should be possible - as long as other packages don't break them.

                                  That's another point: Kelsen/Charlie do you know if your theme(s) work with additional packages that bring their own config pages?

                                  Greets
                                  Jens

                                  Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

                                  If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

                                  1 Reply Last reply Reply Quote 0
                                  • C
                                    charlie0440
                                    last edited by

                                    ok I see. I should be able to make the changes tonight. I'll make a PR to kelsen repo and he can update the zip.

                                    I'll also list some other files he should try adding from master to the zip which might improve the theme (work already committed to master which didn't make it into 2.1, but will be in 2.2)

                                    1 Reply Last reply Reply Quote 0
                                    • C
                                      charlie0440
                                      last edited by

                                      ok so this should have been a 5 minute job, but I cannot get this to work. Not sure if it is caused by some changes you (Kelsen) has made. I'm gonna leave it for you to investigate.

                                      The index.php file you have inside your zip is from pfsense2.1 not master, therefore is needs some changes for this to work. loader.js, the other file required for multiple columns is already good to go.

                                      The changes to index.php you can see in this commit: https://github.com/CharlieMarshall/pfsense/commit/cafb7dfe782cf9677ea5e24ba8dd8f9c014c2f91 & this one https://github.com/pfsense/pfsense/commit/bb38e8e5f970456e3430cb3a888a1abba5aa2b3b

                                      the entire PR for your reference is here: https://github.com/pfsense/pfsense/pull/682

                                      at this point it should be working, but it is not. The buttons are displayed fine but the columns are not connected together ie you can't drag and drop (jQueryui).  I'm not sure if its because there seems to be multiple jquery imports which may be conflicting:

                                      I suspect this a jquery, jqueryUI issue that you'll have to hunt down.

                                      –---------
                                      On another note, I guess unrelated but you never know: there are prototype errors on the console:

                                      Uncaught TypeError: Object [object Object] has no method 'dispatchEvent' prototype.js:5734
                                      fire prototype.js:5734
                                      _methodized prototype.js:438
                                      fireContentLoadedEvent prototype.js:5820

                                      You may have better performance if you add this commit: https://github.com/CharlieMarshall/pfsense/commit/5fa152f6f6b47054e7a04e9d79b94eab2916594c which fixes a conflict between bootstrap & prototype. This fixed some wierd behaviour on my theme.

                                      Also you might want to try this commit which changes the progress bars on the system information widget: https://github.com/pfsense/pfsense/pull/772

                                      Kelsen if you have time you could try applying your changes to this base https://github.com/CharlieMarshall/pfsense/commits/newTheme you would also have to take the index.php from there as well then you could find out what breaks the columns as you apply your code bit by bit.

                                      –-------------
                                      Finally your script to install, You need to cp the theme folder first and then apply the theme before copying the rest of the files, or at least thats the only way it worked for me.

                                      1 Reply Last reply Reply Quote 0
                                      • K
                                        kelsen
                                        last edited by

                                        I managed to make the columns work but, somehow it's not saving the preference, may you (charlie0440) know why?!
                                        https://github.com/kelsen/pfsense/commit/4cd4376bc90058c8830c9e406ca26e156b035fc4

                                        You may have better performance if you add this commit: https://github.com/CharlieMarshall/pfsense/commit/5fa152f6f6b47054e7a04e9d79b94eab2916594c which fixes a conflict between bootstrap & prototype. This fixed some wierd behaviour on my theme.

                                        There is no /usr/local/www/javascript/bootstrap.js

                                        Finally your script to install, You need to cp the theme folder first and then apply the theme before copying the rest of the files, or at least thats the only way it worked for me.

                                        That's right, I'm sorry if I have broke someone's pfSense.

                                        1 Reply Last reply Reply Quote 0
                                        • C
                                          charlie0440
                                          last edited by

                                          @kelsen:

                                          There is no /usr/local/www/javascript/bootstrap.js

                                          I mean try making those changes to the bootstrap file in your case:
                                          /usr/local/www/themes/twitter_bootstrap_fs/assets/bootstrap/js/bootstrap.min.js

                                          1 Reply Last reply Reply Quote 0
                                          • K
                                            kelsen
                                            last edited by

                                            fine, but there is no line like yours in bootstrap.min.js
                                            About the problem of saving the columns, do you have any clue what may be?

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.