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.

Tutorial showing a Control Panel with Create Page option?

August 02, 2011 9:51pm

Subscribe [3]
  • #1 / Aug 02, 2011 9:51pm

    svedish

    93 posts

    Hi guys,

    Just bought EE 2.2.2 and I’m getting my head around how this works. I’m used to WordPress, Drupal, Silverstripe and I guess I need to change few basic things to grasp how EE works. Templates are pages, where usually you use templates that pages make use of, if you see what I mean. Channels woule be? Page types? The equivalent of nodes?

    Back to the point, the tutorial page I’m on shows, in the picture displaying the Control Panel, an option to create a Page (inside the Create box to the left), but I can’t see that option in my fresh installation of EE.

    The page is http://ellislab.com/expressionengine/user-guide/getting_started/logging_in.html

    Outdated tutorial?? Or am I missing something?

    Tx

  • #2 / Aug 02, 2011 11:37pm

    Dave @ Exp:resso

    465 posts

    The first thing to get your head around in EE is that everything is in channels. Channels are basically ‘content types’ (such as news, events, publications) which each have their own categories, statuses, custom fields and publish page layouts.

    Regardless of the option on the control panel, (thats just a shortcut) you should try and understand how it all works.

    A key concept is understanding how urls work in EE. Normally, urls map to a templategroup/templatename. Eg site.com/media/news would, by default use the ‘news’ template in the ‘media’ template group. Unless you use dynamic=“no” in your channel:entries tag, it will also detect certain things in the url, so if you had /media/news/christchurch_earthquake, it would try and find an entry with the url_title of christchurch_earthquake, and display it in the media/news template. Theres similar behaviours for categories and pagination.

    So for pages, this too is a channel, we call our pages channel ‘static content’. Theres a built-in ‘pages’ module that lets you override the default url behaviour in EE, and define your own url and template to use for each page (so all your pages use the same templates, which doesn’t happen by default since the url normally determines the template to use).

    EE doesn’t auto-create menu structures, its up to you how you design this, theres plenty of ways to make dynamic menus. You should look into Structure or Navee for a start.

    Hopefully this clarifies it a bit!

  • #3 / Aug 03, 2011 9:09am

    svedish

    93 posts

    Hi, I went through the whole tutorial and I have to admin that several things looked outdated, like menu options that I didn’t find in my installation, or had moved. Also the tutorial is so thin, this is channels, they are data, create categories, status, give example names, display with a template, Boom! You’ve learned how this works… Then it goes into the details of the Control Panel, but the general concepts, like you suggest are not really explained in full depth. So what do we people coming form other CMS do? We get help here in the forum or maybe there are more resources that can explain to me this properly? Channels, how to build menus, how to use categories, examples. You know..How to make websites with EE? 😊

    Anyway I understand channels are content types, a little bit like nodes are in Drupal but I miss how to create a regular website with EE, at least to start with. Then I’m happy to learn how to create portfolio, a blog, a magazine etc. Say, in fact, I have a 100 pages website, nothing fancy, no listings, no limits. JUST 100 pages sharing the same template with custom fields for each page. All pages would share the same template, apart from some areas that may be sub-templates for 5 different groups of pages (say different sidebars with different banners).

    This is the kind of stuff I find difficult in EE. I understand it’s flexible, it’s powerful, it doesn’t make assumptions, but it’s also useful to talk about normal scenarios, like building a blog, or a 20 pages brochure website, or a portfolio of design projects, so we can get to grips with it? And these kind of tutorials should really be part of the documentation.

    I don’t want to sound blunt, but I’d like to understand if this product is worth the money and, most of all, the time to learn it, which is much more valuable. There are few shortcoming I’m noticing (URLs, editor, documentation) but I’m not willing to let this stop me from going further. I want to really give it a shot.

    Please let me know if the best place to learn is this forum or if I’m supposed to look somewhere else?

    P.S. You say the Page command in the Control Panel is a shortcut, but still I can’t find it. other documentation pages mention Weblog. Again, unable to find it.

  • #4 / Aug 03, 2011 9:38am

    Dave @ Exp:resso

    465 posts

    I definitely understand where you are coming from, it took me a while to really ‘get’ EE, but once you do, you can say yes to nearly any scale of project, especially once you’ve grasped add-on development.

    I have to admit the default support for ‘pages’ is a bit thin and rather confusing, but saying that, we’ve built quite complex content-driven sites with EE with hundreds of pages. Add-ons like ‘Structure’ or Navee really help, but you can do everything with the built-in pages module. Basically, all EE URLS map to a templategroup/templatename/url_title by default. Using the pages module, you can override this with any url structure you want, and link it to use a template. So you can have hundreds of pages, all with different urls, all using the same template. Automatically generating the menu for this needs ‘structure’ or ‘navee’ unless it doesn’t change often and you can hardcode the menu tree. Theres other ways too

    I agree EE usability could be hugely improved. Some things take 10 clicks when they should take 2. I think they made a mistake trying to give an upgrade path for 1.X users, if they had actually re-thought some concepts instead of reinventing the wheel EE could be a lot better. However its still a great CMS and the best I’ve used, we can create huge client sites in a fraction of the time it’d take in anything else.

    Let me know if you have any questions - will help where I can!

  • #5 / Aug 03, 2011 10:25am

    Dan Decker

    7338 posts

    Hi svedish,

    There are many resources out there that can help someone who is new to ExpressionEngine. Our greatest resource is the wonderful Community, as evidenced by Dave. We’ve all been where you are, but once you get a grasp for how EE works, you’ll get a sense for how powerful it really is.

    I’m going to move this over into Community Help to keep the discussion going. Now that I’m on the thread, I can chime in and offer suggestions as you have questions. Thanks Dave, for sharing your expertise!

    Cheers,

  • #6 / Aug 03, 2011 10:28am

    svedish

    93 posts

    Hi Dave,

    You are very kind and I actually have several of questions as you can imagine, but there’s something I’d like to understand first. Judging from your signature and the things you’ve just said, I guess you’re not part of the EE team right? I wonder, shouldn’t someone from the EE team answer to paying customers as I read before buying?

    Of course if you are willing to help me, I’m more than happy, but I don’t want to sap anyone’s time, unless I have paid to do so. I hope you see what I mean. I really don’t want to use an addon to create menus, I strongly think this should be part of any decent CMS, even the most flexible one.

    Back to the point. the URL structure, have to say, was one of the few clear points in the tutorial http://ellislab.com/expressionengine/user-guide/overview/templates.html so I get the template_group/template/title structure and yes, I’d like to be able to chose a simpler structure fro SEO purposes also. So in the example of a folio, I’d like to be able to do something like domain.com/print-design/great-project, or, some times just domain.com/about-us like for a normal brochure website. Now you say that using the Page module I can do this. But where is this page module? Is it a background thing? There is no mention of this in the tutorial? /cry I remember with SilverStripe I read one tutorial in 2 hours and a website was structured in no time. So simple, so practical, so NOT theoretical.

    Another thing that is worrying me a little bit is that since one and a half (1.5!) year ago, when I came around to test EE among other CMS, not many things have changed. It it perhaps that this project is dying? What about a version 3 with all the improvements I’ve read in the features requests or that we are discussing? Wordpress is massively improving, Drupal has done a big step forward with v7 and they are already on 8. Even SilverStripe, as small as the project is is lovely and flexible. Where are these guys heading. These are things you need to know when you chose a professional tool. Don’t you agree?

    Unfortunately my suspect is that EE is built by very good developers, but there is only one problem with developers: that they are developers. End user who?? “C’mon it’s so simple and flexible, it allows a great layers of abstraction” (possibly I said nothing, but you get the idea 😛). The trouble is that real people need slightly different things, that’s why WordPress is so popular. Don’t get me wrong though, that said I think the absolute best and fantastic idea behind EE is this no assumptions thing, which makes it powerful, otherwise I wouldn’t be here. I was lookign for something more *flexible*, but then you find the opposite excess. I think an between approach needs to be found and *most importantly* common scenarios for common web design and architecture *really should* be addressed at least in a great and DEEP documentation / cookbook if not in the software itself. This is commercial software, we pay for it. Hope it makes sense.

    If one and a half year ago this looked pretty much the same I sit and wonder.

    Thanks again for your help.

  • #7 / Aug 03, 2011 10:43am

    Dan Decker

    7338 posts

    Hi svedish,

    I am on EL staff, and I’m happy to offer suggestions and explanations about how ExpressionEngine works.

    Let me see if I can get you started with Pages. Pages is an ExpressionEngine Module. It comes as part of a standard installation, but it is not “installed” by default. First, you need to make sure it is installed. In your Control Panel, navigate to Add-ons-> Modules The next screen will list any modules that are available to ExpressionEngine. Look in the list for Pages and verify that it is installed. If the “Status” column says “Not Installed”, click the “Install” link for Pages. This should enable a new tab in your Publish Entry layout for your Channel. Have a go over the Docs for the Pages Module to get a sense for how it all fits together.

    Again, we are all here to help each other, and the Community is a big part of that. All of us got help from the Community when we first started using ExpressionEngine 😊

    Cheers,

  • #8 / Aug 03, 2011 11:08am

    svedish

    93 posts

    Hi Daniel,

    Thanks. Ok then, in a more practical way, I will look at the module, read the pages that you’ve linked and will also write down a possible structure for a website I have in mind so I can come back with something tangible we can chat about and hopefully I’ll get the basic concepts starting from a real life scenario? Sorry, but I need to think about practical samples to really understand things, otherwise I get very confused.

    Thanks.

  • #9 / Aug 03, 2011 11:10am

    Dan Decker

    7338 posts

    svedish,

    That’s perfect. I have used the Pages Module very recently and would love to share my experience to help you along the way 😊

    Cheers,

  • #10 / Aug 03, 2011 11:48am

    svedish

    93 posts

    Ok Dan,

    That was not too hard actually. I understand this module allows you to overwrite the normal URL structure. As we know (from the other thread) I have also managed to get index.php out of the way which is great, so thanks to this module I will be able, to create simple(r) URL structures.

    Ok, let’s get to the practical stuff then. Let’s imagine I would like to create the following.

    Part of my website inside a folder (the Italian version of the main website). In particular it needs to feature:

    • 7-8 (possibly growing) brochure style pages. Let’s say static pages (home, about us, contact, team (team could be a list of nodes actually), services etc).
    • A blog area where you can see a list of latest entries, archives on the side and if you click on each entry you can read the single story. Pretty basic.
    • A portfolio area made of: a folio home page showing maybe a selection of projects and a menu where you can browse projects. If you click on a project you end up in the single project page that has the following fields: 3 images (can it be variable amount of images?), title, client, brief, solution, date, category or tags.

    Now if I was in another CMS I would create all these page / content types with fields for each page type (static page type with title, body text and maybe sidebar fields, blog entry with title, summary, text etc fields, folio project with all it’s fields). I would then create a number of pages based on these types. I’d then create the templates to display all pages so I’d use a template for home, a template for static internal pages, a template for blog home, a template for blog single, a template for folio home and a template for folio single project. Some of these templates would just aggregate lists of content types, like the blog home page that lists the 10 latest blog entries. I’d finally create a good navigation menu that could even be populated automatically when I create a new 1st level page. I’d in fact also be able to tell the CMS if a page has parents to allow nested menus.

    How would I go about this with EE?


    Also I have few points that I need to understand because the tutorial was really not very clear but please feel free to answer these points in the explanation of the project above. Probably everything will just come together at some point. Finger crossed 😛

    • Can I assume that channels are like content types like nodes are in Drupal? Basically, very very in short collections of fields with data? Like the page types I mention in my ideal website?
    • Is a template a single page? In other CMS you have pages using templates if you see what I mean. Here you have templates that are the pages? Is this right or am I missing something?
    • How do categories relate to the channels? Can I just create categories independently and then assign entries / pages, to certain categories or do categories need to be linked to channels? Please explain more here because again here the tutorial is not great.
    • Fields? Do they need to be in groups? Also, in other CMS the fields relate to the page type if you see what I mean, so if I think of channels as page types, I would imagine fields linked to channels (like a blog channel has the title, summary, body text, thumbnail, date fields and I can create new blog channel instances by creating new and filling those fields) but maybe it’s not the way EE works? Can you please elaborate?
    • Menus, I really need to not use third party addons to do basic stuff if I’m going to use this CMS for client work. Not for the money, for the support / stability (I imagine you know perfectly where I’m coming from after 15 years of web 😉) so I need to know the best way to build a dynamic menu for the structure I’ve explained earlier. I add a page -> menu items gets created.
    • Statuses, they are gray to me, do I need to create them or can I also forget them since I’m the only admin?

    That’s a lot of stuff, isn’t it? But that’s where I feel I am unfortunately. Other CMS took a snap to understand, this is hard for me. Sorry.

  • #11 / Aug 03, 2011 12:02pm

    Dave @ Exp:resso

    465 posts

    Don’t worry, you’re not sapping my time! I wouldn’t help unless I wanted to. Would be good if I could get some help from EE on my own support threads though! And no, I’m not affiliated with Ellislab in any way, you can tell EE staff by their signature.

    You make some valid points, most of which I agree with
    - The pages module is confusing and hard to get your head around at first, so I completely understand what you mean. Seems easy once you get it though! Dan should be able to help you with any specifics here
    - The pace of development is really slow. Seems to be picking up a bit now, but I’ve seen very few significant changes in the last 2 years, possibly due to spending time on MojoMotor (another ellislab project), which I fail to see the market for.There was a lot of hype around the file manager but our clients never use it and Brandon Kelly’s assets is still better. Am seeing a lot of examples of add-ons being created for things that shouldn’t need add-ons (such as our ‘freemember’). I wouldn’t say its dying, but they definitely need to get some more good developers with good strategic direction. Or open-source it and find another revenue stream. So many opinions/ideas here but guess this isn’t the time or place.

    Anyway, despite all this we still use & love EE (most of the time), so I guess that says something about it!

    Funny that you mention silverstripe - that CMS is run by a company just down the road from me in Wellington, New Zealand! Have only briefly looked at it but one of our clients used to use it, before we switched them to EE 😊

    For a simple portfolio site, create a channel for ‘content’, a channel for ‘blog’ and a channel for ‘portfolio’. In the content & blog channels, create fields to store the content (a textarea). In the portfolio channel, get the ‘channel images’ add-on. Make a template group called ‘embed’ and create a .header and a .footer template (the dot means it cant be accessed directly). Embed the header and footer in all templates. Also create a ‘page’ template here, with a simple channel entries loop with channel=“content”. Enable/set up the pages module. Create any static pages you want (publish > content), selecting the ‘page’ template, and typing in the url you want (/about, /contact etc). Create a portfolio template group, with a channel entries loop to list all the portfolio entries (in the ‘index’ template), and a ‘detail’ template with a tag to show a single portfolio entry and loop through all the associated images (with the channel images tag). Set up the blog in a similar fashion. Use ‘navee’ to build your navigation, embed this in your header and you’re done. Sorry, I could have explained this better, just not at 2am! This is just one way to do it.

  • #12 / Aug 03, 2011 12:17pm

    svedish

    93 posts

    Hi Dave, you’re very kind. I appreciate your help. And about SilverStripe, lol that’s a coincidence. My experience with is has been very good to be honest. The only thing is that the project is really not mainstream and the speed could really be improved. I’ve seen page loads of 15 seconds before setting up caching properly.

    As for the other concerns, i guess my instinct then was not completely wrong then. Anything that doesn’t change much in 2 years in such a fast paced marked is not really keeping up I guess. Guess we shall see what happens. Faith is the last to die.

    As for your explanation, I have to admit that there are several points I don’t get sorry! But I have a great idea about it. Just get some sleep now! 😊

    I’m sure Dan will take some time to explain few things in more detail.

    Nite! 😉

  • #13 / Aug 03, 2011 12:20pm

    Dave @ Exp:resso

    465 posts

    Basically, every channel can be assigned a category group, status group and custom field group. You can ignore statuses for most sites. Yep custom fields work as you described. You create a channel called ‘blog’, then create a custom field group called ‘blog’ (or whatever) and assign it to the channel. Inside the custom field group, you create all the fields you need. Categories are similar

    When you click publish > blog, you are adding a single entry in the ‘blog’ channel. You can customise this publish page layout for the client. You’ll see all the fields you’ve set up, and the categories. One entry can be in multiple categories.

    You can build a dynamic menu in a few ways, without using a module (although you may as well get the module, pass the cost onto the client). If you want new entries to be added to your menu, you’d just have a channel:entries tag (remember the dynamic=“no” param) in your header, looping through entries in a channel and displaying the titles. EE is not great at this out of the box, most things your saying can be done, but needs a bit of understanding first. If you’re just building simple page/post sites for low-budget clients, stick with Wordpress & off-the-shelf templates. If you want serious, flexible websites for clients that pay for quality, use EE

  • #14 / Aug 03, 2011 12:33pm

    svedish

    93 posts

    Hi Dave, it’s not a cost problem of course. The addon in UK pounds costs like a coffee in London. Well…Not that much, but unfortunately close to it. 😛 It’s a support / stability / learning issue. I’d like to chose a CMS that can do it all, even if I have to do some little bit of coding with tags and php. I don’t mind the understanding as you can see from the loads of questions I can produce. 😊

    As for the other answers I guess I may start to understand a little bit. So the channel is a content type and you assign the fields to it. I just don’t understand why you can’t assign a number of field to the channel directly. Why do you need a group? Same goes with categories. I understand that once you have then set up a channel you create entries, as per your blog example. So you create a single blog entry in the blog channel. I imagine the Page module works in the background to allow you to choose a URL of your choice, that’s all it does, is that right? At the end of the day it’s all about channels right? And when I create the custom fields a field can be an image field as well right? No need for modules? (much like Drupal or Silverstripe do). Lastly once you have a bunch of blog entries or content entries (top level pages) you can use one template for ‘content’ and one template for ‘blog’ entries I guess. And I assign the template to the entries in the channel window somewhere? because you don’t assign templates to single entries, you assign templates to channels right? Hope I got at least some of it right! 😛

    In general I do use WP but I’d like to discover something that can do any kind of project, from small to big. That’s why I’m exploring EE. 😉 And to add to this last point, I didn’t chose Drupal because I didn’t like 2 things: speed, lack of WYSIWYG out of the box, because as for the custom fields out of the box they finally did it in version 7. Too bad they didn’t get also the editor in. Even though speed remains a critical issue. Usability for me is paramount. I’d say no one can afford to loose a user because of too many seconds of wait time. That’s why my main website is developed in php and html by me, by hand. Not even a data base, just text files.

  • #15 / Aug 04, 2011 12:36am

    Dave @ Exp:resso

    465 posts

    Why do you need a group? Good question, I asked the same thing myself 2 years ago when starting with EE. Theres no good answer, other than they’re stuck with the design decisions they made with EE1. I would love an interface where you could add fields to channels directly on the publish page. If EE was open source all these problems would have been solved long ago. I guess its just something you get used to.

    You will hardly ever need category custom fields.

    Yes, all content in EE is in entries, and yes the page module just allows you to overwrite the default url to template mapping, and specify a single template to use with multiple urls.

    Templates are separate, you create them in the template manager, the url structure determines which template it uses. Eg you could have your blog list template in blog/index, and your blog detail template in blog/detail (which would become blog/detail/url_title). Or, you could put them both in the template, and control how it displays each page using {if segment_3 == ''} for example. The pages module overrides this behaviour, and lets you set a template and url to use for each entry.

    Re. usability, EE doesn’t spit out any code on the frontend, so you have a blank canvas to code your entire site. With the exception of annoying default notification pages (which give login confirmations etc), but theres addons to fix this behaviour.

    Hope this all makes sense!

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

ExpressionEngine News!

#eecms, #events, #releases