Filling a Niche - SLAC Conference Website Server

advertisement
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
Download