Have you been using Joomla for years, and have recently discovered concrete5? If so, you're probably finding concrete5 incredibly refreshing, but are still thinking in terms of the 'Joomla' way of doing things.
So here's a list of questions and answers about concrete5, written from the perspective of someone transitioning from Joomla to concrete5.
Ok, I'm looking at my new concrete5 site, where's the Administration?
In Joomla, to get to the 'back end' administration you would normally go to yoursite/administrator. In concrete5, you log in by visiting yoursite/login (or depending on your settings, yoursite/index.php/login). The default theme has a link in the footer to the login page.
However, when you log in you'll view the homepage of your concrete5 site, but with an extra editing toolbar. In concrete5 the majority of editing and content management is done via the 'front end'. A logged in administrator simply navigates around their site and uses the toolbar at the top of their site to edit pages. Content is quickly edited and previewed.
There is a 'back end' side to concrete5, called the 'Dashboard'. This area is for managing more site wide concerns such as users, files and site wide configurations. You can change things like your site's name in the Dashboard for example.
I'm in, so where are my Articles?
In concrete5, it's really just about the pages of your site. You could think of each page of your concrete5 site as an Article... But instead of being limited to one chunk of HTML for each page, pages in concrete5 can have one or more 'blocks', which can be for HTML content, but also other elements such as forms, slideshows, lists of pages, navigation and so on. A page in concrete5 is really a collection of blocks placed in different areas. Each concrete5 page still has a page title and alias like in Joomla.
When you are logged in, on the toolbar to the left you'll see an Edit button. Clicking the edit button puts you into an edit mode, but the button is also a drop down for page options - after logging in, that's the first thing you should try out using.
Alright, I'll assume for now that Pages are my Articles. So where are the categories?
Unlike Joomla, pages in concrete5 are organised in a tree structure - a sitemap. This means pages are nested underneath one another, with each page having a parent page (with top level pages being nested under the home page). To add a new page in concrete5, you simply navigate to where in your site you want to place a new page and press the 'Add a Sub-Page' button (it's under the Edit button I just mentioned). The placement of the page helps to categorise the page somewhat, but there are other ways to categorise pages too.
I want an Article Manager, dammit!
Ok, ok, calm down. Although you can simply navigate around your site to be able to edit pages, if you do want to see all the pages in your site, you can view a sitemap. It is accessed via the Dashboard->Sitemap, and you can view it as a tree or as a list, and search for pages like you would in the Article Manager in Joomla.
But the sitemap looks more like a menu than a list of Articles, where's the Menu Manager?
This is where Joomla and concrete5 differ a fair bit. Joomla has separate entries for Articles, Menus and Menu Items, with menu items pointing at Articles. In contrast, concrete5 has a much simpler approach, whilst still being highly flexible. In concrete5, the placement of a page in the sitemap IS the organisation of a menu structure - there is no need to create menus or menu items.
When you're viewing the sitemap, you can drag and drop to re-order and re-nest pages. What you see in the sitemap is what you'll get in your site structure and in your site's menus.
So I only need to add an artic.., ahem, page, in concrete5 and it will automatically add it to menus?
That's right, there's no need for an extra step, any navigation displayed on your site will reflect the structure of your sitemap, linking to the pages using their page names.
In Joomla I can un-publish menu items and articles, how can I do that in concrete5?
In concrete5, when a page is created it is effectively published straight away. There are two main ways to 'un-publish' a page in concrete5: - Each page has a set of permissions - these can be edited and 'Guest' unchecked for viewing. Inaccessible pages will not be displayed on Auto-Navs or Page Lists. - Pages can simply be excluded from displaying on Auto-Nav with the use of a built in custom page attribute (pages can still be viewed by being visited directly).
Can I mark Articles/Pages as 'Featured' (or marked for the Front Page)?
The home page in concrete5 is really just another page, so you can place content on it how you like. If you do want to be able to mark pages in concrete5 as featured, you can create a 'Is Featured' page attribute and use that to mark pages. The Page List block then has an option to show only featured pages, so you could have a list of featured only pages on your homepage (or anywhere else in your site).
Since you're saying there isn't a menu manager, and it all comes from the sitemap structure, it sounds like I'm limited to one menu... what if I want sub-section menus or special menus? How do I even make a menu appear on the site, as there's no Module Manager..? There's no Module Manager!!
Don't panic, this is probably the best difference between Joomla and concrete5.
There isn't a module manager as there simply isn't any need for one. Before I mentioned that pages aren't limited to just one block of html, they can have multiple blocks that do different things, kind of like modules. So instead of modules, you add blocks on pages... and instead of module positions, you have different Block Areas on each page where you can place blocks.
When you edit a page, you can simply click on an editable area and add a new block. Blocks on concrete5 pages can be quickly edited, moved between areas and even copied to a clipboard for pasting into another area on another page. So you've got the same kind of things modules provide, but directly editable on each page. It's much more intuitive.
Menus on a concrete5 site are really just created using a block called an Auto-Nav block. An Auto-Nav block simply displays a list or tree of pages, directly mirroring the sitemap. An Auto-Nav block can be configured to show a particular number of levels, a particular part of the sitemap, or be dynamic based on where you are in your site. They're really flexible and easy to add. When concrete5 is first set up you'll have an Auto-Nav block already set up, but you can easily add more for additional navigation.
Complementary to the Auto-Nav block is the Page List block. It too will display lists of pages, but it has been designed to list them from a particular area of your site, or list pages of a particular type, along with extra information like descriptions. It will 'paginate' results. It's worth taking note of what it can do, versus the Auto-Nav block.
What about special pages on menus in Joomla, things other than Articles? If we don't have Menu Items as such, how do we have Menu Item Types to do things like Article lists and Category lists?
Although concrete5 does have the concept of 'single pages' for special cases like login screens, concrete5 simply doesn't need to have Menu Item Types as you are free to build each page how you like using combinations of blocks. Want to display a list of pages (you use a Page List block for this), a search form and a contact form all on the same page? It's up to you.
So the same kind of features available in Joomla are available in concrete5, but you're simply not limited to where the features are placed, you can mix and match.
If I've got a news heavy website, can I have rss feeds?
Yes, the Page List block has that feature built in and can be easily turned on.
Normally I'd manage things like banners and other special content through the Components Menu in Joomla's administration... where do I go for things that would normally be found there?
You'll find that in concrete5 things like banners are directly editable as blocks - you can add a Slideshow Block for example and upload and select a group of images for it without leaving the page.
Some add-ons for concrete5 do require additional management features - packages may create additional dashboard sections and pages. Add-ons that manage data like those for ecommerce and calendars will install new block types as well as create new dashboard pages.
You mentioned listing pages before, but it worried me that you said there were no categories. How can I categorise my pages so I can organise them properly? I love organising stuff.
There's actually several ways you can categorise pages in concrete5 and it gives you a lot of flexibility. You could for example: - Create some basic categorisation by the simply organising your pages in the sitemap - Create pages as particular 'Page Types' - Use additional page attributes such as tags to mark pages
For example, on your website you might want to categorise all pages that are considered 'news' items. This could be done by: - Treating all pages under a particular parent news page as news items - Creating a page type 'News' and using this for news pages - Adding a tag of 'news' to each news page These different ways of marking pages give rise to a very flexible categorisation system, whilst being very easy to manage. You use as much categorisation as you want, or none at all.
Page Types? You said that there weren't Menu Item Types, so what are these for then?
Page types are something that Joomla doesn't really have. In concrete5, they serve a dual purpose. First, they are often used to provide variations of layout/design. You could change the page type for a page to something like 'right sidebar', or 'three column' or 'full page'. Different page types can give you different editable areas and page layouts, while still having the same header and footer. Secondly, as mentioned before, Page Types can be used to make pages of a particular categorisation, such as a news page, a blog entry, a product outline or wherever you may need to mark a page as being of a particular type.
I think I've found an issue with not having modules. What if I've already got 100 pages and want to add something to a sidebar to all of them? Are you telling me I'd have to edit 100 pages? This fancy Auto-Nav block sounds great, but I don't want to have to add it every time I set up a page!
Neither would I. That's all covered though, and you'll find that concrete5 handles this problem better than Joomla.
First of all, concrete5 features two kinds of editable Area. There are normal areas on pages where placed blocks are unique. Your main area of your page where you place your main page content is going to be a normal Area.
Then you've got Global Areas. These are special areas that are common across all pages - any blocks you put these areas are going to appear in the same area across all other pages with the Global Area. Global Areas are often used for headers with logos and site menus and for footers, you know, stuff that's on every page. The Joomla equivalent is where you configure a module to appear on all pages of your site.
One further thing to explore in terms of Global Areas is the concept of 'Stacks'. A stack is a group of blocks that you can add to a page in one go. Stacks are global, meaning that if you edit the contents of a stack, the update will display everywhere on your site where you've placed that Stack. Think of a Stack as a Global Area that sits by itself in the Dashboard, but can be placed like a Block.
You're telling me I can edit my footer from any page?
For areas like sidebars, which are likely to be normal editable areas, you might want it to have a small sub navigation across most pages. Instead of having to add an Auto-Nav block every time you add a page (and having to remember what settings to use), you can set it up as a default block on a Page Type. Default blocks on page types are blocks that are automatically created every time you create one of the pages.
So just say you had a page type 'Right Sidebar'. You could go into the Dashboard->Page Types and select 'Defaults' against the Right Sidebar page type. You can then edit this default page, add your block (or Stack) and save it. Anything you add to this default page will automatically be created when you create a page of this page type.
When I would add a new page in Joomla, I would often have to go in an make sure a module would appear on that page a well. You're saying that page type defaults take care of that for me?
Yes, using defaults means you don't have to remember to add blocks (or in the Joomla case modules) to a newly created page.
But I said, 'what if I already had 100 pages set up?', will it add this new block to existing pages?
When you add a block to a page type it won't automatically add to existing pages of that page type ...but if while you are editing the page defaults, you click on the newly edited block and select 'Set up on child pages', you can pick the existing pages you want to add the new block to.
Well I think that's covered all the pages, but what about a Media Manager?
Concrete5 has a File Manager. Although Joomla's media manager can be configured to store any kind of file, it takes a bit of fiddling to set up to support more than just images. Concrete5's File Manager on the other hand is designed to handle all kinds of files such a PDFs, doc files, audio files, as well as images, out of the box.
When you insert links to documents or images into your pages, you don't have to worry about filenames and paths either - concrete5's File Manager allows you to simply click and choose files. Make sure you have a look at the 'Upload Multiple' feature of the File Manager, a great time-saver.
HA! The concrete5 File Manager doesn't even have folders!
Folders? Folders are so limiting! Instead, the file manager has the concept of File Sets. Sets allow you to filter and group files in many different ways. Sets are similar to folders, but you can do more with them. You can't place a file in multiple folders in Joomla, but you can put a file in multiple file sets in concrete5. They're actually more like tags for a files. You won't miss folders.
So you're telling me I don't need a separate component to manage documents?
Certainly not. You can simply upload things like PDFs to the File Manager and then link to them from within Content blocks, or even use a dedicated File block to create document links.
I've got the content side of things sorted out, but I want to change the way the site looks. Where are the templates?
In Joomla I would sometimes override the way something worked by by using Output Overrides. I could override the way pages and modules would output their HTML. Can I do that with concrete5?
Yes, nearly everything in concrete5 can be overridden. Blocks in particular can be overridden, and you can even create different 'block templates' for your site for you to select from when editing blocks.
Joomla's approach is to allow you to override component output or module output by putting files in an html folder of your template. Joomla has templates, then component output as well as module output.
With concrete5, you either edit the page types in your custom theme (to change the overall structure of pages), or override blocks by placing override files in top level folders. Once you've worked out the trick to overrides, it's quite easy, but you'll want to read up about it.
What about other common features in Joomla, things like user management, global configuration?
You'll find these kind of features in concrete5's Dashboard. User management is very straightforward, and you'll have user groups like in Joomla. Most global settings can be found through the System and Settings area of the Dashboard. In terms of a raw configuration file, in Joomla you would edit a file 'configuration.php'. The equivalent configuration file in concrete5 is found at /config/site.php'. It is not often that you would need to edit concrete5's config file, if ever.
Like Joomla, concrete5 has an extensive permissions system where you can set up users and groups with different levels of access to pages and editing controls.
So what's in Concrete5 that isn't in Joomla?
There are many features in concrete5 that don't really have equivalents in Joomla, but here are some of the bigger features to check out.
These blocks allow you to quickly create custom email forms. They can be used to create contact forms, questionnaires, etc. Joomla normally relies on extensions to create such elements.
Built into concrete5 is versioning. Every time you make a change to a page and publish it, the previous version of the page is recorded - your content, your blocks, everything. So if you make a change (or someone else makes a change....) and it needs to be reverted, concrete5 can quickly and easily roll a page back to a previous version. Files in the File Manager are versioned too.
Just say you have a page on your site where you'd like to use a few columns to present your information, but your theme doesn't have the kind of layout available as a Page Type... you can split editable areas into multiple areas using the 'Add Layout' feature when editing pages.
Earlier I mentioned Page Types. Well normally these are for things like news items or blog posts, and you want to always place the new pages in a particular spot. The Composer is a concrete5 feature that allows you to create and use a simple form that automatically picks a page type and location for a new page, presenting you with the fields you need to complete. There are many blog plugins for Joomla, but the composer in concrete5 allows you use any of your page types. If you've used a blogged system like Wordpress before, the Composer will be quite familiar.
Each page in concrete5 has the standard properties of a title, a path (the alias), an owner and a publish date, but a page can also have additional custom attributes. These attributes store additional information about a page, sort of like metadata. Page attributes can be used to do things like change the title of a page, mark a page to be excluded from search results or to be excluded from a being shown in Navigation.
Wait, you've really just described Article Parameters, the Advanced Parameters and Article Metadata...
Yes, these are quite similar, both Parameters in Joomla and Attributes in concrete5 are used to mark pages with extra information. However, concrete5's attributes are more flexible - you can actually create your own page attributes, things like extra pieces of text, dates, or even references to files in the File Manager. This is incredibly useful if you're wanting to customise your site.
What if I want to add some more functionality to my new site? In Joomla I'd normally go hunting across the web for modules, components and plugins (or collectively Extensions). So how do I find and add Extensions?
Although there's nothing to prevent you creating and installing your own add-ons, you'll find nearly all of them on the official concrete5 marketplace. From within concrete5 itself you can hook into the marketplace and directly install packages. There are both free and commercial packages, with all being tested before being made available. Unlike Joomla, you don't have to install components separately - a single package might contain multiple blocks, extra dashboard pages and page types for example.
Also unlike Joomla, updates and support for packages are all managed through the one site (you're on it now), with the forum being an additional resource to help answer questions.
What about updating, for bug fixes and security?
More recent versions of Joomla feature updating of the core from within the administration. Concrete5 has the same kind of updating facility built into its Dashboard. Concrete5 will automatically check if there is a new version available when you log in and offer to update the system for you. Any installed add-ons are also checked for new versions in the marketplace and these can be updated automatically too.
You can also update concrete5 manually if you prefer. Patching Joomla has traditionally required you to overwrite a bunch of files and folders from a patch zip. Concrete5 is easier to update manually - you simply replace the core /concrete folder with a new one and visit a special page on your site to trigger the upgrade. Much tidier.
So if all these things are covered, does this mean that concrete5 can be used to develop the same kind of websites I normally would have developed with Joomla?
Absolutely, concrete5 can create the same kind of site structures, layouts and interactions. It's also fair to say that concrete5 is more flexible 'out of the box' than Joomla, and if you're a developer you can extend and customise concrete5 just as much. Give it a go.