Search

Hi All

we are moving from custom made cms to some flexible cms. It has to be php-based and we are really into concept of custom content types, so that we can really better manage our clients content.

We have been looking for Drupal, Expression Engine, Ez Publish and just recently found Symphony. I have spend many hours for reading this site (very well written and nice to look at!), but I still have few questions before I take Symphony for test drive.

1) I am little confused about user management. There is admin & author users, who get backend access? What kind of control I have there to limit access and customize ui? Then there is front-end members as extension? Am I correct? How does front-end members management works? Is there member groups?

(This is very important thing for us, since most our projects are intranets or public sites with extranet. Our biggest clients have over 150 000 member accounts.)

2) Normal content pages with embedded images & videos and navigation. What is best practices here? Or is there? It has to be easy to create page tree and basic navigation. It has to be easy to add images between text. I know this is many ways different thinking than more structural content, but I see this as must have.

3) Forms. Is there extension or some easy way to content editors create forms where they can collect data from visitors?

4) Taxonomy? Is there something similar that they have in drupal?

I really like the ideology behind Symphony, and I am looking forward for using it. I hope that we end with minimal rather than bloated software… but of course our projects sets some basic requirements too. Not afraid to develop some parts in-house if it is needed (we have about 5 designers/coders).

Hi Antti,

Welcome to Symphony :) I’ll try to answer your questions, though I’m sure others in the community will gladly chime in as well:

1) User Management. In Symphony 2, there are two author types, ‘developer’ and ‘author’. Both have access to the admin interface, but developers can see all the site’s structural and configuration stuff, whereas authors normally only see the content. For users that do not need back-end access, the Members extension (stable release forthcoming in the next few weeks) will do everything you need. This site’s member functions are managed by that extension. You can create member roles (i.e. groups) with distinct permissions.

2) Content Pages and Inline Images. There are about a million and one ways to do this, and I’ll let the community tell you about their preferred practices. You can also search around this forum a bit for threads on static content pages and navigation. You’ll find many approaches, as I said, and several extensions that could be helpful.

Personally, for static content pages, I usually make a section called Pages and use that to generate my nav. For inline images, I normally have a separate section for images (to capture all their metadata and such), and then use some very simple markup in the textarea like:

<img src="title-of-attached-image" />

Then, you can do the rest via XSLT. Again, that’s only one approach.

3) Forms. Well, you actually don’t even need an extension for this. It’s built into Symphony. But extensions like EventEx and utilities like Form Controls will certainly make it easier.

4) Taxonomy. Not pre-configured, no. But it’s trivial to build any kind of taxonomy system you want.

Hope this is a little bit helpful. Feel free to post follow-up questions :)

czheng, thanks for your reply. Just as I tought, that there would be million ways to accomplish these things.

About forms… can authors create create public forms and see all the submissions that those get? Or is forms something that is always for developers? Usual use case would be something like this: our client has a single page about an event. Client want’s to collect contact details of the people who are coming to this event - and needs to create a simple web form for collecting data. Can he manage this? Is there form editor that can produce different forms without any technical knowledge? And can editor link or embed this form to that page?

I think we have difficult decision ahead of us. With Drupal we probably have to deal with concepts we do not like and remove clutter. But we got more building blocks ready. With Symphony we have to built more by ourselves - but in that scenario we would get exactly what we want and need.

Forms. Really depends on how you set it up. Normally, the developers themselves create the forms, but it would be possible to set up a workflow wherein authors could quickly create forms based on templates predefined by the developers (like an event registration form). From Symphony’s perspective, all that’s required is that the right form markup is used on the front end, and that an event is attached to the page which allows the data to be saved into a section. How the markup gets there and gets built is really up to you.

With regard to your decision, I’ll just say a couple of things from a personal standpoint. I was a loyal Drupal user before discovering Symphony, and it’s certainly powerful software that allows you to accomplish quite a bit. With Drupal, most of the effort I put into it was spent hacking and reverse-engineering things to stop doing what their developers thought they should do, and to instead do what I wanted them to. With Symphony, it’s sort of the opposite. I spend most of my time figuring out how I want things to work, and then setting the system up that way. The question is where you’d rather be spending your development time.

Also, as with any system, there’s a learning curve. But the more you work with Symphony, the less time and effort it takes. Just ask the several agencies around here who work exclusively with Symphony. One of the key reasons they do so is because it cuts their development time substantially.

About forms… can authors create create public forms and see all the submissions that those get? Or is forms something that is always for developers?

Usually for developers. There is nothing that allows for authors to build forms ad-hoc, choosing the fields that they contain. Symphony is very much geared toward the developer configuring the content architecture, meaning this is not a job the authors need to be burned with.

The closest you could achieve (with little effort) would be allowing for a single form structure for an event which the authors can enable/disable at will. This means you gather the information requirements at the first instance, and build the system to match.

To achieve this in Symphony you’d build a new section named “Event Participants” with the fields that this requires (name, email, telephone number etc.). When an author creates an Event they would enable this form to be shown on an event page with a checkbox “Show entry form”.

Regarding forms: Symphony’s built-in form creation is accessible to developer users, but not to author users. If you were to use the built-in function for this, each form would be a new data type, (aka ‘Section’ in Symphony terms).

I think we have difficult decision ahead of us. With Drupal we probably have to deal with concepts we do not like and remove clutter. But we got more building blocks ready. With Symphony we have to built more by ourselves - but in that scenario we would get exactly what we want and need.

Yes, I think you’re right here. I’m in the midst of a Drupal project, and there is quite a bit of clutter. One advantage that Drupal has out-of-the-box that it sounds like you may want is the more granular user access control. I believe the Members extension Craig mentioned will get you most of the way there, but I’m not sure its ready for production.

That said, Symphony can offer some pretty valuable efficiencies. Where many CMSs require a module/plugin, etc, in Symphony you can often do without one. Drupal in particular seems to have a fairly overgrown module ecosystem, with lots of dependencies.

Wow! Great responses, thank you all. I also found few other good threads about Symphony compared to Expression Engine & Drupal.

I want to tell you more about the situation where we are looking for solution. We have about 200 clients using our custom made cms. That is pretty powerful and straightforward system (inline editing, custom form editor, easy templating), but it has it shortcomings: all content are pages (ok, there is modules for events, news etc), so there is no metadata or structure in content. Also - developing own cms is hard work and also many clients are showing strong interest in open solutions (and this is a good thing). So we are not in panic mode or in hurry with this decision. We need something strong enough that we can stick with next 5-10 years.

For first impression it seems that Symphony would be more like cms framework for us: something that we would use to build our own cms good for our clients. And that doesn’t feel like a bad path at all.

The biggest hurdle while switching from my own CMS (pages+modules, just like yours) was wrapping my head around the idea that there are no “simple content-pages”.

Usually, I’d set up the System and start creating those pages according to the old site or whatever was necessary. After that, the client would take over (and not uncommonly create nonsense, break things or insert malformed text).

With Symphony, I have to sit down with my clients and start thinking about the content-model before I can actually create something.

For most of my recent projects I realized I didn’t need those content-pages at all, most of the content was very easily mappeable to the way Symphony provides it’s Sections.

My next project, however, will require me to allow pages, but only linked to other entries the customer will create (“additional info” pages for the events they’re hosting). So yes, that can be done easily.

But “irregular pages” that can be inserted (URL-wise) wherever you like… those will be quite tricky. (I don’t mind it though, I don’t feel like my customers are unhappy with me restricting the ability from “edit whatever wherever you like” to “we’ve agreed that you need to edit those bits of your page”).

Oh and as for XSLT (yay, another templating-language I’ve got to learn): Once you get your head around it you will feel stupid for trying other languages first. Seriously, it’s that good!

phoque: I am sure that more strict content-model will result in better results in the end. Also content re-use is much easier and updating big web sites gets easier. It is in many ways superior solution.

But still we need to allow pretty much power to our clients. In current system they can create simple sub-sites (own logo, header image, navigation) by themselves. Also they manage members and user access by themselves. Forms are very easy and so are polls, videos and images.

They are pretty big organisations (non-profit, political parties, unions etc), who many times have their own it-department and usually over 10 people working on communication. Public websites can be huge and intranets/extranets usually even bigger. That is why easy-to-use form-editor for authors is must have. If not possible, then our 5-people team would need to make 10 forms / day :)

But believe me: huge websites (over 1000 pages + news & events & forums) with over 20 authors and no structural content can get messy… So we are not looking to replace our current solution one to one, even if I may sound like that… :) Ideal would be if we can take best parts from there and make it work with something that respects different content. I do not want our clients to update “text and images”, I want them to update “news”, “press releases”, “available jobs” etc…

I do not want our clients to update “text and images”, I want them to update “news”, “press releases”, “available jobs” etc…

Totally the right mindset :-) Which is why I think I’d suggest, if at all possible, you can lock down the types of forms that can be build (for example if an Event has a participant subscription form, then you configure what data an event participant requires and build a section to match). I’m not sure how this requirement could be satisfied with Symphony “out of the box”, without a custom solution to build forms, polls etc.

I think my next step is install Symphony and take it for the test drive. One more question: I think this site is pretty nice and probably well modeled and a good example. Can you guys tell me how many sections there is at getsymphony.com? Which are they?

I am just trying to think out of the “pages + content” model, so all the real life examples are welcome.

Can you guys tell me how many sections there is at getsymphony.com? Which are they?

I ran my Entity Diagram export on getsymphony.com a few months ago. The output is in my Building Big Websites with Symphony presentation: slide 51. Should give you the overview you’re after.

Can you guys tell me how many sections there is at getsymphony.com? Which are they?

We also mentioned some numbers in the site launch announcement.

nickdunn & czheng: thank you very much! That is exactly the material I was looking for (and much more)!

I am very interested about customizing the UI. Edit buttons when browsing site in admin mode and modal box updating are very easy for clients. Is there extensions for that or is it a custom solution? Is it something we should build ourselves or can we buy custom development for that?

I am very interested about customizing the UI. Edit buttons when browsing site in admin mode

That’s probably gonna go into your XSLT, no special extensions needed for it. Login-information as well as section names and entry ids for building the URL to the backend are all in the XML.

and modal box updating are very easy for clients.

A very simple extension that hides the backend-menu and -footer using CSS to fit the form into a thickbox will do just fine.

Is there extensions for that or is it a custom solution? Is it something we should build ourselves or can we buy custom development for that?

It’ll probably be pretty easy. Once you’ve got the general idea on how Symphony works I suggest taking a look at the “Backend Add Script” extension on how you can manipulate the style and script elements in your backend.

Ok, I got it! Looks very promising, thanks all you guys about these answers and help.

This is a great thread summarizing lots of Symphony’s advantages.

It’s a bit of a cliff hanger, though. @apeisa, since you haven’t been back, did your agency end up deciding on another system? And if so, for what reasons?

Sorry for disappearing.

bewildergeist: Yes, we ended up using ProcessWire. It shares a lot with Symphony (no bloat, well coded, good architecture, php&mysql, dynamic content types, not a markup generator etc), but have very much differences too.

I liked both systems, but I "understood" ProcessWire much quicker. That is probably that there was nothing new for me to learn (I don't know XSLT or I am not too familiar with XML either).

I am (also our whole company is) very happy with ProcessWire. It evolves quickly, it is very easy to extend (I have already build few modules) and we have had only good feedback from our customers. Probably same thing would be with Symphony too, to be honest.

There is one interesting topic on ProcessWire forums, where people talk about pw and Symphony.

Oh, and I do enjoy friendly, professional and helpful atmosphere in both of communities. Something that is harder to find with bigger os products.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details