ExpressionEngine CMS
Open, Free, Amazing

Thread

This is an archived forum and the content is probably no longer relevant, but is provided here for posterity.

The active forums are here.

Very confused about channels, categories, pages, templates, fields, and member groups

May 11, 2012 12:36pm

Subscribe [6]
  • #1 / May 11, 2012 12:36pm

    Matthew81

    81 posts

    I just installed EE this morning, and got lost immediately upon beginning to configure it.

    Basically, I don’t understand how channels, categories, pages, templates, fields, and member groups interact. They all seem to allow different sorts of content and/or access permissions, but I can’t figure out how it all works together.

    My site has the following “sections:”

    Home
    —About
    —Contact
    —Copyright
    —Etc

    Resources
    —Several
    —Other
    —Pages
    —Here

    Publications
    —Print
    —Digital
    —Blogs
    ——- A few
    ——- Different
    ——- Authors
    ——- Will contribute
    —Articles
    ——- Several
    ——- Sub-sections
    ——- Here

    There are a few others, but this should give the general idea.

    Some main sections will need at least a slightly different template, and a couple of sub-sections will as well.

    With the above site structure, what should be a channel, a category, or a page?

    Also, some sections will need to be access-restricted according to member-group. What is the best way to do that?

    Finally, I will need at least the following member groups:

    1.) Authors (can contribute to certain selected article “categories” which may be different for each author)
    2.) Bloggers (can only contribute to their own blog)
    3.) Members who can comment on articles/blogs/etc.
    4.) Members who can comment AND be granted read-access to some restricted areas

    Some members may need to be in more than one member group. Bloggers and authors especially may have some overlap.

    Any and all help understanding these issues will be much-appreciated!

    Thanks,

    Matthew

  • #2 / May 11, 2012 1:19pm

    Boyink!

    5011 posts

    Hi Matthew -

    Welcome to the EE world.  No worries - your confusion isn’t unique but it is able to be overcome..😉

    Have you read:
    http://ellislab.com/expressionengine/user-guide/getting_started/the_big_picture.html

  • #3 / May 11, 2012 3:06pm

    Matthew81

    81 posts

    Yes, I read that but it didn’t help much.  I still don’t understand the purpose of Channels.  They seem like an unnecessary level of complexity to meet a need that Categories could handle just fine, yet somehow I can’t do anything without setting up channels first. And I can’t figure out, from my site structure, what should be a channel, a category, or whatever else.

    I’m also finding extreme difficulty figuring out how to restrict contributions to certain members, i.e., how to give specific members their own blog that only they can post to.

    Offhand, it’s beginning to seem as though EE is over-complicated in places I need it to be simple, and over-simplified where I need a bit more flexibility.  However, I’m absolutely positive that I’m missing some key points and that EE will likely do everything I need it to; hence my posts here. 😉

    So again, from my site structure as shown above, what’s a channel, what’s a category, and what’s a page?  I’m confident that if I can get that structure ironed out, everything else will fall into place.

  • #4 / May 11, 2012 3:58pm

    Boyink!

    5011 posts

    Channels are the heart of EE.

    Think of them as a database table, or a spreadsheet.

    They are the basic storage container for content - like virtual Tupperware. 

    And like Tupperware can be had in different shapes and sizes to store different foods, so can channels.  The way you dictate the size and shape of a channel is through the fields you assign to it.

    Need to store FAQ’s?  Create a channel with the title field to hold the question and another field to hold the answer.

    Need to store Timeline events?  Create a channel with year and event fields.

    Need to store product information?  Create a channel with product name, size, weight, colors, etc.

    Categories are simple filters.  Say you had created the product channel.  You could choose to implement colors as categories, then on the front end you could show all widgets that are available in blue.

    EE doesn’t think about websites in terms of pages (necessarily).  Pages are just what comes out in the wash.  One page as it appears in the browser may have content from a half-dozen channels.  A page is also generated by one or more templates.

    EE really flips website building upside-down from most CMS in this regard.  You don’t first create a nav structure hierarchy, then click each node to enter the content.  You instead create content containers (channels) and size/shape them with fields to hold the content they need to.  From there you can build navigation dynamically based on the entries in a channel.

    Permissions are handled through member groups - which you can map to channels for content management and templates for front-end access.

    It’s hard to tell from your sitemap what channels you should implement.  For each node on those trees I’d need to know more about the content there - is it one thing, is it a collection of things.  Is the structure the same as the other pages in the section or unique.

  • #5 / May 12, 2012 12:54am

    Enviromed

    375 posts

    http://ellislab.com/forums/viewthread/192695/

    Matt:P posted a great schematic on the forum link above, giving a color schematic example of the relationships. It is fundamental to what you’re asking.  Good luck!

  • #6 / May 12, 2012 8:10am

    John St-Amand

    865 posts

    Going though an example would provide you a bit of context as well.  The resource that got me started was Mike Boyink’s free tutorial, “Building a small business site” - I’d recommend going through it start to finish - it’s a step by step of a build in EE, so it will give you a concrete example, which should definitely give you a better understanding of how it all comes together and then you’ll better understand how to apply EE to your site.

  • #7 / May 12, 2012 9:35am

    ChiefAlchemist

    913 posts

    “...channels, categories, pages, templates, fields, and member groups interact…”

    Now sure how much this is going to help but:

    - Channels are *where* data is stored. They are database tables. If that doesn’t ring a bell, think of them as folders.

    - Fields are within Channels. They define *what* is stored. If each channel stores certain type of information, fields would be the fill in the blank lines on the paper forms you store in your channels.

    - Categories are more or less a specialized type of field. They are part of EE’s DNA as strictly a blogging platform. While EE is much much more than that now, Categories are still uber-handy. They are a way to organize the entries / content in your Channels.

    - Templates are how you display your content. EE is a true CMS in that content (channels / fields) are separated from presentation. Within templates are the rules for pulling content from DB and then EE creates the page on the fly to push it down the pipe for the browser to render. Keep in mind, regardless of the CMS means, the ends is always the same…markup the a browser can render. Templates are your EE means to meet that ends.

    - Members lets you define who interacts with your content / site. For example, you could have two channels, Chan A and Chan B. You can define which of your member groups can update what. For example, you might not want HR updating the channel(s) that are used by sales. Often, but not always, the only member group you’d need would be “Admin”. That is, people who can login, update channel content, etc.

  • #8 / May 14, 2012 11:09am

    Matthew81

    81 posts

    ChiefAlchemist, that’s quite a bit of the information I needed.  Databases are something I’m familiar with.  If Channels are just database tables (or at least analogous to them), that clears up a LOT of confusion.

    Regarding templates, I understand how a dynamic site uses them but I guess my questions were more about the access control features.  I’ve seen access control options for virtually everything, including channels, categories, templates, and more.  But that’s probably a separate issue that deserves its own thread.

    Thanks for the replies everyone!

  • #9 / May 14, 2012 12:06pm

    ChiefAlchemist

    913 posts

    Np. Glad to help.

    By “access control” do you mean roles? I probably should have mentioned that somewhere under members but I didn’t want to get too techie. I wasn’t too sure how deep your pool of general knowledge is.

    On that note, let me add:

    You can limit CP side access by member group. You can also do the same on the front end. For example, you can display public site info or not based on loggin status. And then further down from that, you can make decisions (read: if statement) within templates on which member groups see what.

    Yes, agreed, at the start EE is quite a bit to wrap your head around. Heck, I’ve been using it a couple+ times per year and I’m still learning things, refining my dev strategy and adding new stuff to me EE tool box.

    Con: There’s a lot to know.

    Pro: There’s not much it can’t do (since it’s more or less a PHP framework, or sorts).

    Hang in there, it’s worth it. The forums are (usually) a great place to get answers. Ask away and you’ll usually find your answer.

    Again, glad I could help.

    Mark

  • #10 / May 14, 2012 4:24pm

    Matthew81

    81 posts

    My pool of general knowledge is reasonably deep - I’ve been a web developer for ten years, know HTML and CSS inside and out, can do some of the more interesting .htaccess tricks, have programmed several largish PHP projects, and have worked with a goodly number of CMS, blogging, and e-commerce platforms.

    When it comes to EE, it is obviously very powerful but I’m finding almost all of it to be very counter-intuitive, both to what I’m used to and in some cases to what some of EE’s own stated goals are (as one example of the latter, I understand why templates would contain some front-end access control options, but for them to be the ONLY place this can be done seems like mixing data types with presentation, since access control would generally be a category-level property.)

    I’m committed to giving EE my best effort (mainly because I’m out of other options for this particular project), but to make an analogy, I feel like I’m trying to put together a model airplane without any glue - it’s just a bunch of pieces, and somehow I’m missing whatever it is that holds them together in a cohesive unit.

  • #11 / May 14, 2012 9:02pm

    ChiefAlchemist

    913 posts

    Matt - I hear ya. It wasn’t until my third EE site did I feel comfortable. And fwiw, I’ve evolved my EE coding strategy since that point.

    That said, given you background, don’t over-think it. Approach EE as a PHP framework. That is, there is functionality built into EE that would normally take you hours, if not days.

    Be sure to check out EE segments, Low’s Seg2cat (http://gotolow.com/addons/low-seg2cat), as well as preload_replace (http://gotolow.com/blog/snippets-and-preload-replace-variables), Pixel & Tonic’s Playa is handy often as well.  Of course there are ton of other details.

    If you’d prefer to carry on this discussion offline just PM me your email and we can carry on there. To be honest, based on what I’ve seen my approach to coding EE sites is a bit different. For starters, I don’t believe in EE pages. My pages end up in a weblog and I use categories to ID them and seg2cat to find them. This way, another page is just another row and another category. All pages have meta tags, etc. It’s more of relational model if you ask me. But that’s me. Others have their approach too.

  • #12 / May 19, 2012 2:15pm

    OrganizedFellow

    435 posts

    @Matthew81:
    In my opinion, I would first encourage you to NOT use any addons/plugins/modules/extensions/fieldtypes. While they can be very useful (especially Matrix by Pixel & Tonic), I find that they add unnecessary confusion for beginners to ExpressionEngine.
    Instead, try to get as much done without using them. It will provide you with a greater understanding of ‘How EE Works’. If you find that EE can not natively do what you need done, head on over to Devot-ee.com.
    😊

    I’m sure I don’t need to suggest this but ...
    Follow the EE Docs http://ellislab.com/expressionengine/user-guide/

    And definitely follow the tutorials provided by Mr. Boyink
    http://www.train-ee.com/courseware/free-tutorials/

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases