News function...sort of

Permalink
I'm new to Concrete5, but not to PHP.

We're building a newspaper-type site. Many pages will have multiple stories that will stay up for a while and then need to be replaced while the old story get's archived. Archives must be accessible via search and some sort of directory.

Is there an add-on or built in function I should be exploring for accomplishing this?

Thanks.

caughill
 
jordanlev replied on at Permalink Reply
jordanlev
Concrete5 might not be the best CMS for this kind of site. Concrete5's strength lies in its straightforward model of a website revolving around pages (so in your example, one page equals one article). It sounds like you're more interested in a database of content that is distributed amongst many different pages in many different ways (and that this distribution changes over time). As much as I hate working with Drupal, I think it might be the best tool for your particular job in this case (or another CMS that is focused on chunks of content and doesn't revolve around pages as much -- Wordpress is kinda halfway between Drupal and C5 in this regard, and has much more general support/docs/tutorials/etc. available).

But if you want to go ahead with C5, I'd recommend sticking with the one-article-per-page, then make heavy use of page attributes on each page/article. Then make some custom blocks that retrieve pages/articles based on those attributes. If you're familiar with PHP, this thread should be useful to you:
http://www.concrete5.org/community/forums/block_requests/content-re...

Also check out how to set up the Composer interface, which might be a good way to streamline content entry for your users (especially if you have a lot of different attributes on each page -- because the Composer interface will let you put all of that stuff in one easy-to-see place).

Best of luck!

-Jordan
RadiantWeb replied on at Permalink Reply
RadiantWeb
No disrespect to JordanLev, but I just don't agree with him here.

I personally have clients that have thousands...yes, thousands of pages with over 300 users sharing data. This main C5 site has over 3000 pages (or more?)

Jordan may have a point about it not being as "obvious" to execute. but Pages are not the limitation if you know how to execute and filter attributes well.

Pages are not the limitation.

With what you described, it's totally possible.

Another thing is, as much as I like the composer tool for small tasks, it's not the best option so far as clarity goes. You get pages or articles with dozens of attributes, it starts to NOT make sense, and you would be greatly benefitted by something like ProEvents, ProBlog or ProNews. That's why those exist...to be helpful and make clients lives easier.

They also come with page_list blocks that specialize in filtering specific types of content related by specific types of attributes.

I've personally seen ProBlog nicely handling sites with over 2000 entries. Not even sweating.

I have one client that ropes in $125,000,000 per quarter in revenue that is serving C5 to entire worldwide intranet.

They are also building a very intese world wide distributor network and credit application based on C5.

This is serious stuff here.

When I see comments that all but insist that C5 is the poe-mans-I-don't-need-much-from-my-website CMS, I view that as HURTING its development and progress...not helping it.

I would love to see less energy talking about what C5 "can't" do or "isn't great at", and more on how to improve it.

Now, if you want to make a case against C5 and it's unstable releases....you'll get no argument from me :-)


ChadStrat
JohntheFish replied on at Permalink Reply
JohntheFish
Continuing from what Jordan suggested. Have 1 story per page, but put those pages at the bottom of the hierarchy and hide them from navigation.

Then, where you want the multi-story pages, use a number of the Global Areas (http://www.concrete5.org/marketplace/addons/global-areas/... ) block to pull each story from the Main area of the relevant story page.

Finally, create a modified controller for the Global Areas block to select the page it pulls from based on:
- age of story page
- attributes of story page

The code you want for that can be found in the page list block or one of the many alternative page lists in the marketplace.

Looking at it another way, its not far of from what a blog does, so maybe one of the blog addons would be an alternative starting point to achieve the same.