180 likes | 404 Views
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. Alternate Presentation Title: Cool, Free PHP Stuff on the Web.
E N D
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