I just installed BuddyPress (http://buddypress.org) on one of my servers. BuddyPress from the creative minds of WordPress developers is an awesome social media platform tool. Enterprise 2.0 developers should take a look at the functionality and the web 2.0 gadgets built in to this tool. Take a look at BuddyPress and take a test drive through their demo. Let me know what you think about this and your strategy for Enterprise 2.0 and social media in general.
What is Smarty?
Smarty is a template engine for PHP. More specifically, it facilitates a manageable way to separate application logic and content from its presentation. This is best described in a situation where the application programmer and the template designer play different roles, or in most cases they are not the same person.
Using Smarty with the Zend Framework
Every Enterprise 2.0 strategy should include a plan for the base code. Our base code should easily support our Web 2.0 needs on our Enterprise 2.0 platform. The Model View Controller structure of the Zend Framework automatically supports a built-in template system. The Framework is flexible enough to plug-in your custom template system or existing systems. Smarty is a very well documented and supported system. The strategy of using Smarty with Zend will provide a solid foundation for our Enterprise 2.0 platform. This is what we define as Strategy 2.0, leveraging the effort of crowds. Thanks to all the dedicated developers at Smarty for keeping our costs down and making our lives easier.
Connecting to Your Server
Connect to your server with a command line tool like PuTTY
PuTTY is a free implementation of Telnet and SSH for Win32 and Unix platforms, along with an xterm terminal emulator. It is written and maintained primarily by Simon Tatham.
These steps are executed by super user (su) in your site’s root directory
- wget http://www.smarty.net/do_download.php?download_file=Smarty-2.6.20.tar.gz (Note: Check http://www.smarty.net for the latest version.)
- tar – zxf Smarty-2.6.20.tar.gz
- rm Smarty-2.6.20.tar.gz
- mv Smarty-2.6.20/libs /usr/local/lib/php/Smarty
- rm -rf Smarty-2.6.20
Install Steps Explained
- Get file package from site.wget http://www.smarty.net/do_download.php?download_file=Smarty-2.6.20.tar.gz (Note: Check http://www.smarty.net for the latest version.)
- Decompress the file.tar – zxf Smarty-2.6.20.tar.gz
- Delete the compressed file.rm Smarty-2.6.20.tar.gz
- Move the library files to your standard location.
Note: This is usually something like “/usr/local/lib/php”, but you may need to check your PHP Include Path to validate your standard location.mv Smarty-2.6.20/libs /usr/local/lib/php/Smarty
- Delete the decompressed directory and all it’s contents.rm -rf Smarty-2.6.20
Web 2.0 frameworks or Enterprise 2.0 frameworks serve as an abstraction layer supporting design patterns which allows integration of code libraries, services and application programming interfaces (APIs) to form a standard application programming interface (API). This approach promotes a rapid development strategy.
Your Current Enterprise 2.0 Framework
Oh yeah, every development team uses a framework. Your framework may consist of copying & pasting code snippets from various places in other projects, email, web sites, or somewhere on your network. Some frameworks are simple code structures that may store common header & footer elements separately from content elements that call the header & footer. This very simple framework could be a good early strategy for a car dealer business that may have 100s – 1,000s of pages to display car details. This approach would save a tremendous amount of time when updating the header or footer in one place instead of several thousand.
Which Framework should I Use?
The strategy for choosing your framework should include evaluating your Enterprise 2.0 goals. I recommend creating a framework comparison chart to assist you with the evaluation. The list of web application frameworks is fairly large and you should be able to easily find one to fit your needs.
The PHP Zend Framework
Extending the art & spirit of PHP, Zend Framework is based on simplicity, object-oriented best practices, corporate friendly licensing, and a rigorously tested agile codebase. Zend Framework is focused on building more secure, reliable, and modern Web 2.0 applications & web services, and consuming widely available APIs from leading vendors like Google, Amazon, Yahoo!, Flickr, as well as API providers and cataloguers like StrikeIron and ProgrammableWeb.
This is just an idea, but why not use WordPress Themes & Plugins across your social platform?
The idea of social platforms is to leverage the power of the crowd. Last time I checked, WordPress had over 650 different Themes & over 3,000 Plugins. Why not leverage the work from all those developers?
What if I modified my forum software to support these Themes & Plugins?
How much time would it take to simply install a theme and turn it on to have it’s styles carry across all my components?
I think it’s a good idea to at least take a look at how Themes work in WordPress and emulate that in the social platform. I have noticed here lately how sites like Google & MySpace have recently incorporated the Theme approach.
Something to think about!
In my article, “Installing WordPress” I mention how to redirect root requests to your new blog.
When I installed WordPress, I had nothing else on my server, but I wanted to reserve the root space for additional components, so I installed WordPress in a subdirectory named “blog”. Now I want all requests from my domain to just return the default view of my WordPress blog.
You can easily control this with an htaccess file in your root directory. Simply add the following line to your .htaccess file.
#I have nothing on root index, so redirect to /blog
RewriteRule ^(.*)$ /blog/index.php [L]
We can always go back and change this after we add new components and update the main index page.
This approach to the architecture will allow us to install other components and connect them in our root space. Let’s say we wanted to add a forum to the site. We could install the forum software in the /forums directory, then update the root space to show information about our blog and forums without disturbing the architecture of either component. This approach will allow us to easily integrate components at will and give us the ability to update the component through their natural interface.