C5 for Intranet

Permalink
Hi guys

I am assessing C5 for use with our intranet. We are a large VFX firm (MPC) with around 500 employees. We really like the usability aspect of C5 (namely front end editing), but have some concerns as to whether it can meet our requirements. If anyone could help answer these questions I would be very grateful.

1. How well does C5 deal with large numbers of pages (3000+)?
2. How easy is it to control the way blocks are added to a page (how many, which order, where on the page etc.)?
3. How far do permission controls go? Can I set sub-sections of a page to be editable by a particular group? can this be done without going into the code?
4. I have read through the documentation and although it gives a good sense of how it all works, it doesn't seem to give many actual examples or tutorials to get us going. Is this something that is going to be improved upon soon?
5. We have the desire to make what would be essentially global blocks, maintained by a single user (or group), but available for all users to add to a page. Does C5 offer anything like this built in or would we have to develop it ourselves? (I have looked at the scrapbook, but it appears to be something slightly different?)

Anyway I will stop there as this post is getting rather long!

Thanks in advance

Aram

 
frz replied on at Permalink Reply
frz
Good questions. Short answer, yes - concrete5 would be great for you.. details below.

1. How well does C5 deal with large numbers of pages (3000+)?

Sure. This site has over 6000 pages today. SchoolPulse.com has around a million.

2. How easy is it to control the way blocks are added to a page (how many, which order, where on the page etc.)?

Pretty easy if you're going to make your own templates. You can make a block area anywhere you want in the presentation logic and you can limit what types of blocks get added to which areas and by whom all through the UI. If you want to get more exotic than that, you can always use some some custom view logic in PHP - concrete5 was designed to be extended.

3. How far do permission controls go? Can I set sub-sections of a page to be editable by a particular group? can this be done without going into the code?

Yes. If you turn advanced permissions on, you can set types of access to users or groups at a page, block area, or individual block level - all through the front end UI.

4. I have read through the documentation and although it gives a good sense of how it all works, it doesn't seem to give many actual examples or tutorials to get us going. Is this something that is going to be improved upon soon?

Like most open source projects, documentation is always somewhat of an issue. I feel like we've left behind the challenge of "hey I just cant find ANYTHING" and entered the world of "I can't find things that are geared towards the way I learn". yes, I'd like to make a lot more screencasts as these seem to be good promotional tools as well. I think you'll start seeing more and more 3rd party guides emerging throughout 2009 as well. Is there a thing in particular we could do next to make you feel more comfortable?

5. We have the desire to make what would be essentially global blocks, maintained by a single user (or group), but available for all users to add to a page. Does C5 offer anything like this built in or would we have to develop it ourselves? (I have looked at the scrapbook, but it appears to be something slightly different?)

We have "defaults" in the page type section of the dashboard to deal with this today, but it is locked down to admin user only. We are working on a reusable blocks section as I type so you should have that in the coming weeks.


That's it? did you only ask 5 questions to stay on brand? ;)
MPC replied on at Permalink Reply
Hi Frz, thanks for the answers that's a great help. I am sure I will follow up with some more questions after our meeting tomorrow, but with respect to the documentation I think for me the thing that I was expecting to find that I didn't was introductory tutorials. I have been using Silverstripe for about 6 months on personal projects and I found that their 5 introductory tutorials really got you going so that you could start building pages and then the documentation, although still lacking seemed to make a lot more sense.
I think at this point we are pretty much down to using either C5 or SS. Obviously we love the accesible editing system of C5 and it seems like a very good system so likely it will come down to the finer points of extendability, flexibility and ease of development. Do you have any views on how C5 compares to Silverstripe in these areas?
frz replied on at Permalink Reply
frz
its better.

ask everyone else. ;)

anything has a learning curve, but the guts of concrete5 make a lot of sense. its OOP, its MVC, its got a growing community - hey -sourceForge made it project of the month 90 days after we released it open source. Its a beast of a site, but those folk know how to look under the hood.

Plus, as you've already figured out, not only do you get a framework that makes sense to you, the final site you give your customers makes sense to THEM!
Remo replied on at Permalink Reply
Remo
it definitely is! I used to work with silverstripe for a short time too and I never switched back..

I agree that there's not that much documentation, as Franz said. With some basic php knowledge (which I have) it's quite easy to understand c5. Just look a some blocks and you'll be able to write one within minutes...

But without php knowledge it's a bit tricky right now!

I wrote a few tutorials but English is the 4th language I've learnt and my skills are not good enough to write a decent c5 tutorial in English. If you understand German, let me know what kind of tutorial you want and I might write one (:
MPC replied on at Permalink Reply
Thanks for the replies. I am familiar with PHP, OOP and MVC so I will have a deeper look into the C5 code and see where I get to.
Remo, your english is pretty darn good if you ask me! I don't speak German (even though I was supposedly taught it in school), but my girlfriend is from Berlin so if I get stuck I may take you up on that offer and she can translate ;)

One more question for now, where do I switch on advanced permissions, I can't seem to find it and the links in other posts seem to be broken?

Thanks again guys
lab3 replied on at Permalink Reply
lab3
Here is what I used to enable advanced permissions. Not sure if this is what you are referring to or not.

http://www.concrete5.org/help/building_with_concrete5/installation/...
MPC replied on at Permalink Reply
Thanks lab3 :)
Remo replied on at Permalink Reply
Remo
Thanks! I would even write an English tutorial if there's someone who would fix my mistakes...

It's also a good way to improve my English skills!
synlag replied on at Permalink Reply
synlag
i'm on board ;)
MPC replied on at Permalink Reply
Hi guys, you will be pleased to hear that we have decided to go with concrete, the editing interface is just too good to pass up and your helpful replies made me feel confident that the lack of docs can be overcome through community participation :)
I'm sure you will be hearing a lot from me very soon, we are currently in the planning stages so C5 work will probably start in a couple of weeks.

Just a quick question, how does C5 deal with database calls? Is it easy to grab data from a page to use on another page or in a block? For example say I had a set of links on a page that I wanted to use in a block so people could add them throughout the site (without being able to change them) how easy would that be?

Once again thanks for your answers and I can say I am certainly looking forward to using C5 for this project :)
frz replied on at Permalink Reply
frz
well since concrete5 is a nice MVC framework, i'd say don't think about it that way..

you could...
A) use the scrapbook
B) set the block up in defaults under page types
C) make a custom block for your site
D) wait for the new "reusable blocks" setup we're building in 5.3 right now (due this month)
MPC replied on at Permalink Reply
but I'm still in Silverstripe mode so will probably take me a little while to switch over to C5 way of thinking (although both are MVC), was more wondering about the way the API deals with grabbing info from the database.
In SS you can do a call such as DataObject::get("pageType", "filter", "sort", "join", "limit"). I notice that C5 api has a getByPath() and a getByID(), but wouldn't these rely on pages already existing in the database when the code is written? Is there a way to do more dynamic calls such as grabbing pages by their type or parent or a particular page variable etc.?

Thanks for your help

Aram
frz replied on at Permalink Reply
frz
the page list block does a lot of what you're talkin about, dig into it.
MPC replied on at Permalink Reply
thanks :)
TheRealSean replied on at Permalink Reply
TheRealSean
Hi MPC are you still using C5 as your intranet site and how are you getting on with it?

I am looking into using it as an intranet that will be available to users across the world around the 500+ mark, so am wandering how you have found concrete to preform now you have had it for over a year(that is if you developed/still developing with concrete)
frz replied on at Permalink Reply
frz
a lot of folks are doing this type of thing but not that many tend to talk about it in public without being asked.. here's a case study that might help:
http://www.concrete5.org/about/showcase/enterprise/genisys-genco-in...