Posts Aboutsymfony

Have a seat: CentreSource launches NashvilleOfficeFurniture.com

OFRSWe recently launched the Web site for Office Furniture & Related Services (OFRS). As a merchant of new, used and refurbished office furnishings, we built the site so that it would allow visitors to drill down to exactly the product that fits their needs. For OFRS, the site serves as a 24-hour, 7-days a week salesperson. As part of our line of Management services, we will also be working with OFRS to create a powerful SEM campaign to drive highly-targeted leads to their Web site.

More than a Facelift: Nashville Centre for Laser and Facial Surgery

Nashville Centre for Laser and Facial SurgeryWe recently launched a new site for Nashville Center for Laser and Facial Surgery. The practice is lead by Dr. Brian S. Biesman, a world-renowned authority on cosmetic, reconstructive, and laser surgery. For the site, the goal was not only to tell about Dr. Biesman’s practice, but to serve as a repository for helpful resources on a wide range of industry topics, including his own “Face Facts” resources. It was a lot of content — nearly 150 articles on research, services and treatments — and our goal was to make it user-friendly and easy to navigate. Think Wikipedia.

Code That Saves The Day: Symfony Admin Generator

Every day at CentreSource brings with it a new challenge. With every challenge comes the opportunity to try a unique approach. We all know sailing the interweb can be stormy at best. But if you keep your eyes open, you will find code that can be a lighthouse to your sinking ship. Today’s Code that Saves the Day™: The Symfony Admin Generator!

Tools That Make My Job Easier

Bash Aliases

Working on a Mac, I spend a lot of my time in Terminal (the command-line utility). This is where I do all of my interaction with my local databases, the central Subversion repository, and issue various system commands. Some of these commands can get quite long and are time consuming to type out. That’s where aliases come to the rescue!

Choosing the Right Tool for the Job

At CentreSource, we have a motto that “outcomes always outweigh the output.”  Through this, we try to focus on meeting the individual goals of our clients, versus focusing on the process of how they get done.  One goal we often hear is that our clients would like an easy way to update the website themselves.  By using a Content Management System (CMS), we enable our clients to accomplish this — without having to install anything on their computers, or know too much about how websites work.

Over the history of CentreSource, we’ve worked hard to choose the perfect CMS to be able to meet the individual needs of each client and project that comes our way.  There was always a balance that had to be struck — it couldn’t be too cookie-cutter, or else we wouldn’t be able to do everything that the client was asking.  Conversely, it wouldn’t be cost efficient if we had to custom build a CMS for our clients each time.  By focusing on the outcome  (the client’s goal of an easy-to-update website), we decided that the best single CMS option was not a single option at all, but instead a “toolbox” approach that would allow us to use the appropriate tool for each unique job.

Symfony Faux Form Serialization

Recently, I ran into an issue when building a Symfony plugin for Slideshow renderings.  When I added the support for multiple libraries, in this case Google Slideshow2 and JQuery Cycle, they had drastically different configuration options.  JQuery Cycle allows you to use a list of effects, such as blindX and blindY.  These effects are great, and I want the end user to be able to easily select between them.  Google Slideshow2 allows the adding of thumbnails and traversing controls.  Neither of these settings apply to the other, and this is only two slideshow renderers.  What happens when I add another one?  Five more?  I could create multiple tables for each renderer, such as google_slideshow2_options and jquery_cycle_options.  I could also just provide a textarea for key-value pairs (effect=blindX timeout=500) that the user typed in.  I did not like either of these options, as the former struck me as over-architecting, and the latter as unusable.

Centresource Releases New Plugins to the Symfony Community

Over the last week, the developers here at CentreSource have published nine plugins for the symfony community.  The plugins have been used in several of our internal projects and client web applications, but have been developed on a private repository.  We finally decided the plugins were properly documented and tested.  These plugins can be found here.

1) csDoctrineActAsAttachablePlugin – associates various uploads with multiple models, and includes an AJAX uploading client interface.

2) csDoctrineActAsCategorizablePlugin – associates models into nestable categories and category groups.

3) csDoctrineActAsGeolocatablePlugin – integrate your model with the Google Maps API to pull in geocodes based on record fields.  Supports radius and proximity searches.

Doctrine officially supported by symfony

A few weeks ago on the symfony blog, Fabien announced that as of symfony 1.1, Doctrine is officially supported. The documentation will slowly be updated and converted from Propel to Doctrine. Right now, the My First Project tutorial and a new Getting started with Doctrine + symfony 1.1 tutorial have been published on the symfony-project website. More documentation coming soon and tutorials for using Doctrine with symfony coming soon.

del.icio.us switches to symfony

del.icio.us, the popular web 2.0 social bookmarking site is getting a facelift. Underneath the hood, del.icio.us has made the move to use the symfony framework on their site. With over one million registered del.icio.us users, symfony is a professional framework capable of handling high demand web 2.0 applications.

Why did Yahoo! choose symfony? According to Dustin Whittle, Technical Yahoo!, the major reasons symfony was chosen are:

Great documentation – In-Depth Online Book + API Documentation + Wiki
Active development – Consistent improvements in design: flexibility + speed
Active community – Large community with plenty of free support
Flexibility – Overall design + configuration system + plugins
Use of best-of-breed components rather than reinventing the wheel

iPhone Development

I got a shiny new iPhone, and it is amazing. But you’ve already read that somewhere else.
Being a web developer, I immediately started looking for some best practices on how to write apps for this new tool of mine.

Google “iPhone development” and you get nothing but blog entries about people who don’t actually have much real concrete documentation, and a couple of development IDEs that give you preview for the frame and such. But no actual development guidelines. Shame on whoever does SEO for apple…