0
votes

I need some inspirations on how to structure an Symfony(CMF) application. I have a customer which wants to manage all the content on his website with phpMyAdmin as he did this over the last years successfully. The old website need to be rewrite completely, but the customer still would like to add new contents and pages with the help of phpmyadmin.

The customer also has different kind of documents. There are for example courses, seminars and dates which belongs together (kind of 1:n relationship between courses and date, seminars and dates). And there are some other document-types without a relation to another type.

I'm not sure if I can use Symfony CMF and/or doctrine/phpcr-odm for this project? Can I manage relations between different document types? Or how can I mix Doctrine/ORM (Entities) and Doctrine/phpcr-odm (Documents) together? Are there some bridges that I still can manage my document contents with the help of phpMyAdmin?

I already took a look into symfony-cmf/sandbox and also took a look into CMS where are Symfony-CMF is underlying. But I'm still confused about the right choice.

I repeat the customer needs:

  • build site-structure / menues in a hierarchical tree (add, remove, delete nodes from tree)
  • edit contents of pages directly in phpmyadmin
  • seo optimization options page by page (title, descriptions, etc.)
  • adding contents which are related together (courses and dates => order-forms)

Thanks in advance for some nice ideas :-)

1

1 Answers

1
votes
  • managing a hierarchy via phpmyadmin seems a bit tricky
  • the CMF supports different storage systems via its business logic but at this point most Bundles only implement the actual storage into PHPCR which cannot be managed via phpmyadmin sensibly, but we have our own similar UI (github.com/marmelab/phpcr-browser)
  • CMF does come with a Bundle that can help with SEO meta data
  • PHPCR supports reference between any content type by default. using blocks etc you can build a page from different elements

in general administering a hierarchy via phpmyadmin sounds like a recipe for desaster. but if your customer is willing to have a look at the marmelab phpcr browser, it could be possible to get a decent experience (note I am not sure how well binary properties are supported there).

that being said, you should then ensure that your client doesnt mess up the content structure too much. ie. attaches a blog post underneath a content page etc. for this you can define custom node types with PHPCR which allow you do define what kind of child nodes are allowed under a specific node (f.e. a content page may only have an image, content block as a child page, a blog post may only be a child of the blog overview page etc)