views:

76

answers:

1

I am looking for a clean, well-built CMS. I want to migrate a number of sites away from a self-built CMS which I will not be developing further.

I've come across Apostrophe and instantly fell in love with the great, integrated user interface.

It is based on the Symfony framework, which I have practically no experience with.

My questions:

  • I am planning to deploy sites I build with this CMS on shared hosting packages which do not offer any command line access. I know that many of Symfony's development and maintenance functions rely on command line access to the symfony script. Is it feasible to deploy an Apostrophe-based web site to such a web host, or is access to the command line tools required for a live product on a regular basis?

  • To be very honest, I'm not really keen on learning Symfony in depth right now: I'm sure it's a great framework, but I have tons of other obligations. I just really like what Apostrophe offers to the end user of the CMS. In your opinion as a seasoned Symfony or even Apostrope developer, will a professional PHP developer be able to set up a web site (without much customization on the code end - lots on the front-end, but that's a different matter) without being a Symfony expert? Or is this a recipe for disaster?

  • Are there any other arguments that, from your experience, speak for or against using Apostrophe in my situation?

+3  A: 

Hi, I'm one of the core Apostrophe developers at P'unk Avenue.

Right now Apostrophe's open source release is oriented toward folks who are willing to get somewhat up to speed with Symfony, yes, at least so far as understanding the layout of a Symfony project and learning to edit templates. You need those skills to add new page templates and edit the global layout.

You don't have to create entirely new PHP classes to launch and maintain an Apostrophe site, though. Sometimes "light PHP" skills (creating new templates) are all that is required.

Usually the Apostrophe ecosystem works like this: a client wants to work with us, or with another developer, to create a site that they can then maintain on their own without the usual problems of the client accidentally trashing the design, busting the layout with horrible HTML pasted from Microsoft Word, et cetera.

Apostrophe solves that problem very thoroughly with robust built-in HTML filters and media slots that aggressively manage images and video so that they display correctly for a given page template and so on.

So we take the problem of helping clients (who are very competent in their own knowledge domain, but not designers) to maintain their own content safely very seriously and have some unique solutions as standard equipment in the system.

As for your hosting situation though, yes, it is difficult to use Apostrophe (or other really modern PHP code) with zero command line access. Symfony tasks are used to clear the Symfony cache and to reoptimize the search engine nightly. You could work around the former with some other hack to empty the cache folder and the latter by ignoring it, which will work if the site is small.

Another problem with shared hosting is that it won't have APC running as a bytecode cache. Without APC pretty much all PHP code runs much much much slower. Systems with a lot of PHP classes are not meant to be run without APC and they appear much slower than is really accurate without APC.

I would strongly urge you to check out the offerings of ServerGrove (www.servergrove.com). When your client can have a virtual machine all to themselves for $20/month with all the security benefits that brings, I think it's a questionable decision not to go for it. (Use whatever host you want, the main principle here is that VM hosting is always vastly more secure and performs much better than old-school shared hosting. ServerGrove does specialize in Symfony hosting though which is a nice plus.)

Some shared hosting services are not completely terrible in this regard - servergrove does have a shared hosting offering, still no APC (which is a serious disadvantage for any big PHP system, including WordPress or Drupal) but they do give you shell access and secure the system by preventing other clients from being able to find your files through the filesystem via PHP. Some shared hosts don't do that at all, which is a horrendous security hole.

There is an apostrophenow community to help you along:

http://groups.google.com/group/apostrophenow

Whatever you choose, good luck with your site!

Tom Boutell
Thanks for this detailed answer. This gives me some good background info to make my decision. I have access to shared hosting that runs even Magento at reasonable speed, so that should be covered (I do not want to be involved in server administation at all any more, so VMs are out. But I agree, it's hard to find good and secure shared hosts...) I assume the big question will then be whether there are workarounds to use Symphony's command line tools in a command line-less environment: I'll look into that and then decide. Cheers!
Pekka
Sounds good. Keep in mind that many shared hosting environments do allow shell access.
Tom Boutell