How can I help improve the web interface?

  • I don't know much about the backend details of what pfSense does.  However I have a ton of experience in interactive web development.  It would actually be pretty easy to add a lot of cross-browser-compatible interactive features to the pfSense web gui.  There have been some incredible strides made the past several years in interaction via Javascript libraries like jQuery.

    A really good example:  It would be pretty easy to implement drag-and-drop reordering of firewall rules.  Stuff like this are not only cross-browser-friendly but very lightweight as well.

    Anyways, if I wanted to contribute in this way, where do I start?  Do I need to get someone's permission or do I just jump into it and see what I can come up with?  Do I just start hacking the php files on my install and submit the changes to you guys to see what you think?  pfSense is pretty kickass, but the interface could definitely be ramped up to be more interactive.  I figure maybe I could help out since I know a lot about it.

  • Hi,

    I am just a user and am contributing with implementing of the gettext() for the translation of pfSense. I am not a developer of the pfsense, but I think an interface using ExtJS will be amazing…

    remembering that ExtJS is now Sencha

    Who don´t know, please look the site

  • You could start by making your own local copy of the repository by cloning it with Git and committing your changes to your local repository as you work on it.  When you have some changes to share, you could make a publicly available clone on (which is where the main pfSense repositories also reside) and push your changes.  For testing your changes, a system (either physical or virtual) with a full install would be useful so you could use gitsync to apply your changes to your test system (playback gitsync from the developer shell on the console menu).

    Some useful documents for a new pfSense developer:

    If you do any development, it should be done on recent 2.0 snapshot builds (except if you are trying to make a package for 1.2.3).

Log in to reply