Introduction to Gallery

advertisement
Introduction to Gallery
Bharat Mediratta
July 25, 2002
What is Gallery
• Open Source PHP application
• Your photos on your website
• Provides similar functionality to
commercial ASP products like Yahoo!
Photos, Club Photo, PBASE
Brief History of Gallery
•
•
•
•
Started May 2000, small development team
Targeted at individual webmasters (me!)
Installed on 20-30K+ websites today
200-300 new installs every day
Why Do You Need Gallery?
• You have a digital camera – and you use it!
• You want the photos nicely integrated on
your website
• You don’t want to subject your visitors to
advertising
• You don’t trust dot coms with your data.
The Gallery 1.x Challenge
• Create an application with low barrier to
entry to reach the broadest user base:
– No database requirement
– Don’t require custom PHP configuration (eg,
compiled in GD, JPEG, PNG support)
– Don’t require shell access to install
– Run on Unix and Windows
– Provide configuration wizard
The Tradeoffs
• No database  concurrency issues
• External graphics library  config issues
Gallery Configuration Security
Problem
Config wizard needs to create an output file,
but we only want that file to be writeable at
configuration time:
Solution (borrowed from Horde)
Create scripts to switch Gallery between
configuration and secure modes
Gallery Config Wizard Part 1
• Check out the user’s system
Gallery Config Wizard Part 2
• Ask the user lots of questions and provide
example answers
Gallery Config Wizard Part 3
• Check the user’s answers!
– The sooner we find configuration problems, the
less time the user wastes
Add photos!
•
•
•
•
•
Log in
Create a New Album
Set Album title, URL, etc.
Upload Photos from browser
Slurp photos from
another website
Manage Photos
• Rotate images
• Automatically create
thumbnails
• Resize images
• Cutomize thumbnails
Organize Albums
• Nested albums
• User permissions
• Optional Features:
– Print Service
– Slideshow
– User Comments
Gallery Remote
• Java companion program
• Upload Photos using a
rich interface
Customizing: HTML Wrappers
• Use HTML wrappers to frame your Gallery,
Albums, and Photos
• Wrappers can
also be used to
add functionality
(like a Shopping
Cart interface)
Customizing: Style Sheets
• Easily change the look
by modifying
the Gallery
style sheet
Customizing: Change the code
• The Open Source advantage:
Add all new
functionality
to Gallery
by modifying
the source
code
Gallery and CMS/Portals
•
•
•
•
PHP-Nuke and PostNuke
Geeklog
PhpBB2
XOOPS
Gallery E-commerce Plugins
• Use the HTML Wrappers to add:
–
–
–
–
Shopping cart
Inventory integration
Virtual post cards
Print services
Strengths
•
•
•
•
•
•
Lightweight
Easy to install
Works in most environments
Uncluttered interface
Feature rich
Good support community
Weaknesses
• Performance degrades in large Galleries
• Reliability issues
– greatly improved in newer versions
• No Internationalization
• No Templates
• Concurrency Problems
Lessons Learned
•
•
•
•
Hold the user’s hand (config wizard)
Build a community!
Release early, release often
Accept and integrate user criticism
G2: The Future of Gallery
•
•
•
•
•
•
•
Reliability, Scalability, Flexibility
Templates
Concurrency Support
Relational Database support
Better CMS Integration
Internationalization
Dynamic thumbnail generation
Questions
Download