Congratulations for the project. ( Is it ready for use? )

35 views
Skip to first unread message

Bruno Reis

unread,
Aug 8, 2014, 1:35:31 PM8/8/14
to symfony-...@googlegroups.com
Hi all, 

First I'd like to thanks everyone working on this project for the work done so far. IMO this is gonna be very very useful to a lot of people using PHP. I'm studying the project for some days now and I really think you are doing an excellent job moving towards a "decoupled CMS" as you proposed. I like a lot all the architecture and choices I've seen so far. 

I work with PHP since php 3, but for the last 3 years I was working full time with ruby (and rails). Now I'm full time with PHP again. I have a good experience with SF1 and small xp with SF2. 

Today, I'm evaluating using Symfony CMF for a new project. It's an old site we are gonna rebuild. We have some layers of access control, with different permissions to writing and reading contents (per level and per content area). I'd like you opinion if SFCMF is already stable enough for the task. 

One thing I'm struggling already is the lack of documentation. The dependencies in one of the tutorials are broken and my starting point was DBU's tutorial last pull request. I'm kind of "learning from example" here. I also hope that usign the CMF, I'll be able to help you improve it with the needs I have. 

So, what you think?
Is the project already stable to be used in production?
What are the requirements that might encounter a harder path? (I saw some issues with menus with lots of content and things like that)
Are there good references on the integration of the CMF with a robust user bundle? (I think FOS is the most used, right?)

Again, thanks for all the work done. 
Bruno Reis




 

Lukas Kahwe Smith

unread,
Aug 10, 2014, 8:28:23 AM8/10/14
to symfony-...@googlegroups.com, Bruno Reis

On 08 Aug 2014, at 19:35, Bruno Reis <bruno....@gmail.com> wrote:

> Hi all,
>
> First I'd like to thanks everyone working on this project for the work done so far. IMO this is gonna be very very useful to a lot of people using PHP. I'm studying the project for some days now and I really think you are doing an excellent job moving towards a "decoupled CMS" as you proposed. I like a lot all the architecture and choices I've seen so far.
>
> I work with PHP since php 3, but for the last 3 years I was working full time with ruby (and rails). Now I'm full time with PHP again. I have a good experience with SF1 and small xp with SF2.
>
> Today, I'm evaluating using Symfony CMF for a new project. It's an old site we are gonna rebuild. We have some layers of access control, with different permissions to writing and reading contents (per level and per content area). I'd like you opinion if SFCMF is already stable enough for the task.

While PHPCR in theory supports permissions on the database level, its currently not implemented.
For the Jackrabbit implementation this may soon happen though, as there is a student working on implementing the necessary APIs.

However one can of course use the Symfony2 permission system together with the CMF. The main drawback here is that this may not be so efficient when fetching a lot of content via search queries that then need to be checked for permissions in the middleware.

> One thing I'm struggling already is the lack of documentation. The dependencies in one of the tutorials are broken and my starting point was DBU's tutorial last pull request. I'm kind of "learning from example" here. I also hope that usign the CMF, I'll be able to help you improve it with the needs I have.
>
> So, what you think?
> Is the project already stable to be used in production?
> What are the requirements that might encounter a harder path? (I saw some issues with menus with lots of content and things like that)
> Are there good references on the integration of the CMF with a robust user bundle? (I think FOS is the most used, right?)

Indeed the tutorial situation is quite bad. We intend to release CMF 1.2.0-RC1 on August 19th. By then the code that is currently broken for the tutorial should be fixed and hopefully around that time we will update the tutorial to work again. However as we currently can only show one version of the docs on the site, we will likely not update the website until sometime in September when we have a stable release of 1.2 out.

Aside from this the codebase is stable and working reliably for many different companies and developers. If you have questions feel free to ask them here or in the #symfony-cmf freenode IRC channel.

regards,
Lukas Kahwe Smith
sm...@pooteeweet.org



signature.asc

David Buchmann

unread,
Aug 11, 2014, 2:42:19 AM8/11/14
to symfony-...@googlegroups.com
hi and welcome to the cmf!

glad you like what you see! this being an open source project, it
depends on the help of people who contribute big and small things.
improving the documentation for newcomers is an important task. so
whenever you have things that you think can be improved, please create
issues on https://github.com/symfony-cmf/symfony-cmf-docs or better yet,
create a pull request to improve things.

> One thing I'm struggling already is the lack of documentation. The

which areas would need more documentation? there is the cmf book and
quite some description of the bundles and how to configure them at
http://symfony.com/doc/master/cmf/index.html

> dependencies in one of the tutorials are broken and my starting point
> was DBU's tutorial last pull request. I'm kind of "learning from
> example" here. I also hope that usign the CMF, I'll be able to help you
> improve it with the needs I have.

are the dependencies on http://github.com/dbu/conference-tutorial
broken? or the ones on the symfony website where we use the
RoutingAutoBundle?

cheers,david

Bruno Reis

unread,
Aug 11, 2014, 7:56:56 AM8/11/14
to symfony-...@googlegroups.com
2014-08-11 3:42 GMT-03:00 David Buchmann <da...@liip.ch>:
hi and welcome to the cmf!

glad you like what you see! this being an open source project, it
depends on the help of people who contribute big and small things.
improving the documentation for newcomers is an important task. so
whenever you have things that you think can be improved, please create
issues on https://github.com/symfony-cmf/symfony-cmf-docs or better yet,
create a pull request to improve things.


Ok. I'll keep my eyes opened to see where I can help (or ask for help) in the docs. 

Maybe in 
> One thing I'm struggling already is the lack of documentation. The

which areas would need more documentation? there is the cmf book and
quite some description of the bundles and how to configure them at
http://symfony.com/doc/master/cmf/index.html


My first impression was: "men this is too complex for me". I'm getting used to SF 2 and this might contribute to this feeling, but I think that is not the only thing. 

Two points that come in mind right now are the big picture and the router...

This image is pretty scarry for a newcommer: 
Specially without good explanation of everything that is in there. 

I also got very confused by the router explanation, but cannot tell for sure what can be changed already. My overall impression was that there are a lot of components and extension points, but I could not understand very well how to work with each one and how to use them in real life examples. An example of these is the doubt on the other email: "ok, so there is a dynamic router. But, how does it really works? What is it really for? So, it connects a router to a content? Or not? There is some contentAware stuff in the middle... hum... How can I define more than a basepath?... and so on.." 
 
> dependencies in one of the tutorials are broken and my starting point
> was DBU's tutorial last pull request. I'm kind of "learning from
> example" here. I also hope that usign the CMF, I'll be able to help you
> improve it with the needs I have.

are the dependencies on http://github.com/dbu/conference-tutorial
broken?

No. That is probably the only reason I had the courage to continue. :-)
 
or the ones on the symfony website where we use the
RoutingAutoBundle?

 

Again, thanks for your work. Sorry if I was not clear enough here, but things are yet a lot blurred to me. Thanks for helping me to clarify.

David Buchmann

unread,
Aug 15, 2014, 4:53:55 AM8/15/14
to symfony-...@googlegroups.com
> http://symfony.com/doc/current/cmf/quick_tour/the_big_picture.html
> This image is pretty scarry for a newcommer:
> http://symfony.com/doc/current/_images/request_flow.png
> Specially without good explanation of everything that is in there.

thanks for that precise feedback, this helps a lot!

i created https://github.com/symfony-cmf/symfony-cmf-docs/issues/544 and
hope to improve there.

the dilemma is that the diagram is helpful to people that already know
core symfony well. we have to find a way to help both target groups there.

> I also got very confused by the router explanation, but cannot tell for
> sure what can be changed already. My overall impression was that there
> are a lot of components and extension points, but I could not understand
> very well how to work with each one and how to use them in real life
> examples. An example of these is the doubt on the other email: "ok, so
> there is a dynamic router. But, how does it really works? What is it
> really for? So, it connects a router to a content? Or not? There is some
> contentAware stuff in the middle... hum... How can I define more than a
> basepath?... and so on.."

yeah, it really is a complex solution. we should probably re-read that
documentation from the beginning and make sure to explain things in the
right order.

did you read the chapter on the Routing component and the RoutingBundle?

cheers,david

Bruno Reis

unread,
Aug 15, 2014, 9:20:19 AM8/15/14
to symfony-...@googlegroups.com
Some personal thought about those documents...
Use the ones you like and throw the rest on the trash, please. :-)


I would start with a brief: What is a Routing Mechanism? 
Also, I would do a straightforward overview before getting into details. Something like: 

"There is the chain, that first call the DR and then SF router. The dynamic will deliver a contentObject to a controller. And also determine which Controller and Template to use based on the Route that is matched. period."


Why a new Routing Mechanism?
this is ok 

The Solution

it's ok, but add complexity ( User-defined URLs; Multi-site; Multi-language; Tree-like structure for easier management; Content, Menu and Route separation for added flexibility ) before telling what it's about

The ChainRouter

ok too, but I'd like to see this information first: 

"The Symfony CMF Routing system adds a new DynamicRouter, which complements the default Routerfound in Symfony2."

The explanation about priorities is scondary to me and don't tell me the "core" of what it's about. It's reference info. 

The DynamicRouter


"In fact it only loads candidate routes. The actual matching process is exactly the same as with the standard Symfony2 routing mechanism"

This sounds like mystery to me if I read the first time. Candidate routes? Provider?

If it only loads candidates, how the match happens? That's probably where I'm stuck on the other email questions about the 2 route basepaths for simplecms.

Getting the Route Object


"For example the default PHPCR-ODM provider loads the Route at the path in the request and all parent paths to allow for some of the path segments being parameters." This could be explained more. Maybe with an example. allow path segments being parameters?

Getting the Controller and Template


This is fine to me. Very clear. Specially because of the examples. 

Linking a Route with a Model Instance


 Those Routes can implement the RouteObjectInterface, and optionally return a model instance. 
Why optionally? What is this interface really for? 


Redirects

" If you are using the defaultPHPCR-ODM route provider, a ready to use implementation is provided in the RedirectRoute Document."

This is the fist place I start to grasp that routes may live inside the repository! Maybe it should also be stated in the introduction somehow. 


URL Generation

  • Alternatively, supply an implementation of ContentRepositoryInterface and the id of the model instance as parameter content_id
content_id? It was not explained yet. What is content_id? What is the id of the model? It is not explained into the "The Model" section. BTW, I think that if the model section is better explainded, this one will be easier. 


I can send some thought about other docs later, if you think they are useful. 




cheers,david

--
You received this message because you are subscribed to the Google Groups "symfony-cmf-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to symfony-cmf-us...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages