During my career i have been able to work with a number of programmers, students working on thesis or masters projects and programming for personal projects. One of the projects i helped with the development of, was called scripts. It was built using a L.A.M.P. setup, but also leveraging on other linux freeware such as SNMP, freeradius, cron/shell scripting, Subversion and Rancid. Scripts does nightly backups of configurations, allowing myself and others to do diffs and searches using grep and other linux processing tools.
Scripts front end was via the web interface, it authenticates users via LDAP and only displays the options they should be able to see.
For example, almost everyone wants to be able to see the “Managed ADSL Authentication Logs” but not everyone should be able to see configuration generators. The configuration generation was used to help installers keep to the standard baseline configuration, allowing other tools (like an over worked CiscoWorks LMS) to still function.
Using information from mysql, it would then build the configuration, and leave it in a tftp/ftp directory that was cleaned out daily. Configuration of the switch once it was connected was a cut/paste job.
Other tools included L2/Spanning-tree and L3/Vlan/IP configuration, ACL generation and Routing (OSPF, Policy Routing, Static Routing) generation. Being a web interface it worked well on laptops, desktops and mobile devices making it a go to tool.