Filling a Niche: PHP, MySQL, and Open Source Web Applications at LANL Chad Kieffer, Web Developer Los Alamos National Laboratory DOE InterLab 2003 Friday, November 7th, 2003 LA-UR 038001 11/2003 Alternate Presentation Title: Cool, Free PHP Stuff on the Web (Without the sticky legal issues surrounding music sharing) LA-UR 038001 11/2003 Example: LANL in the News • Challenge: Make it quick and easy for content developers to post simple news content without knowing HTML or HTML authoring tools • Solution: Build simple database-driven content management tool with web-based administration tools LA-UR 038001 11/2003 Web Development Evolution • 1994: In the beginning, there was HTML • 1996: Perl CGI for form & text processing (ex. Press Releases) • 1997: Dreamweaver library items/ templates • 1998: Apache server-side includes • 1999: Investigated JSP and ASP • 2002: Now there is PHP/MySQL LA-UR 038001 11/2003 Factors in our Team Evolution • IT department focused on enterprise-level applications • Able to hire and develop dedicated developers LA-UR 038001 11/2003 How Our Team Thinks LA-UR 038001 11/2003 Why PHP and MySQL? • • • • • • • • Already in LAMP environment Free Fast and powerful Cross-platform Easy for non-programmers to learn PHP supports most popular databases Growing popularity Many useful open source applications LA-UR 038001 11/2003 Why Not PHP/MySQL? PHP • No corporate source of support • Poor XML support • Not truly object oriented (yet) • Developer tools are immature MySQL • No stored procedures or triggers LA-UR 038001 11/2003 Open Source: Pros and Cons • Pros – Free – Standards friendly – Great community support with little corporate intervention • Cons – Little corporate support (training, installation) – Poor documentation – Potentially steep learning curve LA-UR 038001 11/2003 Open Source Applications • Candy stores: sourceforge.net, hotscripts.com • Test drive at opensourcecms.org • Popular Applications – – – – – – – MySQL administration: phpMyAdmin Image Management: Gallery Collaborative project management: phpCollab Discussion board: phpBB Code documentation: phpDocumentor Full-featured web portals: PostNuke, Tiki, GAIM Groupware and e-mail: Horde, Squirrel Mail LA-UR 038001 11/2003 If You Haven’t Built It Maybe Someone Else Has PhpGedView • Web-based genealogy application • Uses standard genealogy data format (GEDCOM 5.5) • Maybe we could use it for organization charts? LA-UR 038001 11/2003 Sample LANL Applications • PHP public class library Payroll Calendar , RSS Feeds • Service request forms: IPSR, 3rd Party Software Requests, ESA-WMM HE • Conference registration forms • Content management: LANL in the news, Protecting Information, Helpdesk, R&D proposal tracking, Licensable technologies directory, Personnel skills directories • Utilities: Network Registration Service, Web Publishing Assistant, Authorities Manager, Phone book • Training: Simple quizzes • Many dynamic enhancements to static sites LA-UR 038001 11/2003 Development Practices • No widely accepted PHP application framework (MVC, Struts, .NET) • Fusebox framework for PHP • Source management (not yet) – CVS LA-UR 038001 11/2003 PHP Authoring Tools • • • • • • Macromedia Dreamweaver (Mac/PC) Zend Studio (Mac/PC/Linux) Eclipse + TruStudio Plugins (Mac/PC/Linux) BBedit (Mac) Homesite (Win) Ultraedit (Win) LA-UR 038001 11/2003 LANL Developer Community • PHP Study Group • Bring together PHP developers from other groups to share ideas, work, and expertise. • Expand PHP public class library LA-UR 038001 11/2003 Closing Remarks • Contact me at cmk@lanl.gov • Would love to expand the PHP developer community within DOE • If you embrace open source, give back to the community LA-UR 038001 11/2003 Example: LANL Payroll Calendar • Problem: Tedious update process of static calendar graphics • Solution: Found a freely available PHP class that creates and displays an HTML table-based calendar for a specified month and year LA-UR 038001 11/2003