Typo3

CMS of the Month for March 2022 - Part 2 of 2 - Typo3 CMS Review

This is the continuation of a two part review of Typo3. Here is a link to part 1 if you missed that.

How to Log Into the Admin Side

This might be obvious, but I have too many times wasted time trying to find the path to login when working on a platform that I wasn’t familiar with. For typo3 it’s just [YOUR_SITE_URL]/typo3, so in the case of the demo website I’m creating for this review:

https://typo3.optimalcms.com/typo3/

Option 1: Create a Home Page with Content

Keep It Simple

As with other CMS of the Month Review, I don’t want to get into any customizations, if possible, and leverage the core features of the CMS with theme and extensions that are either already part of the core installation or can be obtained very easily.

Initial Website Setup

So, after the installation and before actually adding any website content, there are a couple (maybe) one time content management system items that need to be set.

Create a Site Record

After you login into typo3, click the “sites” tab and then the edit button for the single website that you should have.

configuraion1

As you can see, some fields aren’t filled in, while others are defaulted to some not so friendly values, so let’s change these. I think these should be pretty straightforward. Note the entry point is just probably going to be your main URL. Here is what I end up having:

configuration2

And, that’s pretty much it for the website setup, unless you have some language or special routing settings to make. These can always be updated later on, too.

Create a Page

So, I figured let’s create a page, and that’s what the content management system appears to be telling me in that blue info box below:

create-page

You have to click one of the icons above and drag to the main pane. It helps to hover over each icon to see the little tooltip popup showing what that item is. The first icon is “standard”, which I’m guessing is just a standard page.

So, I dragged the “standard” content item to the main pane, which worked. Then, I clicked on it and got some options of what to add

create-page-home

Option 2: Use the Demo Content

Note: I tried installing the demo content after doing the steps in option 1 above, and none of the demo pages seemed to show up on the homepage, so I ended up deleting all the website files and database and re-creating everything as in part 1 of this review.

Install the Extension

Whenever I start with a new plugin or theme or anything that will probably take me time to get up to speed on, if there is some package of pre-made elements, then I usually try that first to see some examples and get an idea of what I can make with it. Lucky for me, Typo3 does provide an introduction package that is installed similarly to the core package as follows:

composer require typo3/cms-introduction

This results in the following:

Continue as root/super user [yes]?
Info from https://repo.packagist.org: #StandWithUkraine
Using version ^4.4 for typo3/cms-introduction
./composer.json has been updated
Running composer update typo3/cms-introduction
Loading composer repositories with package information
Updating dependencies
Lock file operations: 6 installs, 0 updates, 0 removals
  - Locking bk2k/bootstrap-package (12.0.4)
  - Locking scssphp/scssphp (v1.10.2)
  - Locking typo3/cms-filemetadata (v11.5.8)
  - Locking typo3/cms-indexed-search (v11.5.8)
  - Locking typo3/cms-introduction (4.4.1)
  - Locking typo3/minimal (v11.5.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 6 installs, 0 updates, 0 removals
  - Downloading scssphp/scssphp (v1.10.2)
  - Downloading typo3/cms-indexed-search (v11.5.8)
  - Downloading typo3/cms-filemetadata (v11.5.8)
  - Downloading bk2k/bootstrap-package (12.0.4)
  - Downloading typo3/cms-introduction (4.4.1)
  - Installing scssphp/scssphp (v1.10.2): Extracting archive
  - Installing typo3/minimal (v11.5.0)
  - Installing typo3/cms-indexed-search (v11.5.8): Extracting archive
  - Installing typo3/cms-filemetadata (v11.5.8): Extracting archive
  - Installing bk2k/bootstrap-package (12.0.4): Extracting archive
  - Installing typo3/cms-introduction (4.4.1): Extracting archive
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
> typo3cms install:fixfolderstructure
No action performed!
47 packages you are using are looking for funding.
Use the `composer fund` command to find out more!

Then, the typo3 article says to run the extension, but they don’t seem to specify what command to run this with. After some digging around, I found the “typo3 cms cli” package that was installed and can be used to install the extension as follows:

vendor/typo3/cms-cli/typo3 extension:setup

With a brief time to process and then the following response:

[OK] Extension(s) "core, extbase, fluid, install, recordlist, backend, frontend, dashboard, fluid_styled_content,
      filelist, impexp, form, seo, setup, rte_ckeditor, belog, beuser, extensionmanager, felogin, filemetadata,
      indexed_search, info, sys_note, t3editor, tstemplate, viewpage, bootstrap_package, introduction,
      helhum/typo3-console" successfully set up.

And, that should be it.

Note: If you don’t install typo3 with composer, then you should be able to add this extensions package thru the admin side. Otherwise, you’ll get this message when viewing the extensions:

Composer mode

The system is set to composer mode. Please notice that it is this list is for informational purpose only. To modify which extensions are part of the system, use Composer. To set extensions up, use the TYPO3 cli (extension:setup)

Results

After installing the extension and viewing the backend, you should see a lot of new items under the “Page” tab. You can see various templates being utilized on the pages inside the “Congratulations” –> “Pages” section in the page tree navigation. For example:

demo-page

This is where you can add various types of content to each section of the template.

To preview the content, you switch to the “View” tab in the main left navigation. It should automatically put you on the page you were editing. For me, that’s as follows:

demo-page-view

And, to view the frontend, you can visit https://typo3.optimalcms.com/. It’s a fairly nice looking and refined Bootstrap theme.

My Review

I sense there is a lot of potential here, and my overview simply scraped the surface. Here are my impressions so far:

The Things I Liked

  1. Content is organized in a hierarchical tree
  2. Convenient preview mode switching from items
  3. The CMS platform manages file permissions
  4. The option to manage dependencies with composer or through the platform and that the platform is smart enough to recognize the website is already managed with composer
  5. A lot of granular control of the website features from within the admin side
  6. There is a CLI to run commands from shell
  7. The sense that security was a priority
  8. You can scan your environment and various areas, like the database and files, server parameters, etc. to ensure no issues exist
  9. Out of the box form creation with a drag and drop UI

The Not So Good

  1. Somewhat outdated looking backend
  2. Some getting used to what can be done from within the admin side, what each icon means, and where things are located
  3. Not really clear what goes on behind the hood, like when I installed the demo content after creating the site and content, and all frontend pages seemed to result in 404s

Typo3 is Not Requiring a Steep Learning Curve For Basic Setup

So, I felt the basic processes we ran through to install and setup this CMS and add some content either with option 1 or 2 did not require a lot of effort or developer skill. My small development Linux instance already had all the system requirements when I started the install, and during my work with the CMS admin backend, as well as browsing through the frontend, it didn’t seem to tax my server resources much. Typo3 appears to have many extensions available for free and a large global community to assist with any issues a newbie like me or someone more experienced might run into.

Is Typo3 an Enterprise Class CMS?

While it does have various extensions to potentially meet the bigger demands of what may be considered requirements of an enterprise level system, I don’t know for sure how well it’d perform until I had a completed website that I could review in detail and run through tests.

Some features I’d expect of an enterprise level CMS:

  1. Some kind of version control of content, structure, and other data that is managed thru the CMS
  2. Support for a very large number of users, content, and any other data that may be relevant to a large scale business website
  3. Possibility to control frontend and backend access separately
  4. Active directory login and authentication integration
  5. Integration with other applications
  6. Flexibility for customization by developers
  7. Great documentation that is kept up-to-date
  8. Regularly released hotfixes that ensure any security vulnerabilities get addressed without delay
  9. Vast array of content elements available for layout and content management
  10. Rock hard security
  11. eCommerce packages
  12. Localization

From my limited experience with typo3, I can’t really confirm which of these features are provided, but I am leaning towards the belief that at least a large amount of these are supported. Other than documentation on their site appearing thorough and helpful, here are some features that are supported:

  • Core
    • Localization
    • Definite attention to security
  • Extensions
    • Oath2 for authentication
    • Amazon S3 integration for file storage
    • Apache Solr integration for search
    • Shopping cart

While this overview is intended to only serve as an introduction to Typo3, we may in the future take a deeper dive.

Multisite & Multilingual: Manage Multiple Websites from One

The core installation already provides the feature to create a “site configuration”, which ends up in the “page” hierarchical tree. To add another site, you simply repeat that process and maybe choose a different culture or a different site altogether. Then, under the single installation and administrator user, you can edit content from each site.

There is also a multisite extension, which supposedly optimizes the core multisite feature.

How Does Typo3 Platform Compare to Other Leading Content Management Systems

Where WordPress pretty much rules the PHP opensource space in terms of popularity, where does Typo3 seem to fit in? I found it to be more complicated on the backend than Wordpress and Joomla but not so much as Drupal. Unlike all those 3 systems that tend to display content in flat lists, Typo3 uses a hierarchical tree, which I really liked, even though I think it might take some time to review things before getting familiar with all the icons, tools, and functions in that tree. Just to pick on Wordpress, I found it really challenging to find and manage content on a site that has a complex structure of different post types organized in multi-level hierarchies when all the posts are shown in a flat list. (Yes, there is some hierarchical representation, but it’s not very easy to navigate with, especially when comparing to the potential of a tree that lets you expand/collapse nodes to go deeper into the sub sections.)

Final Thoughts

Overall my impression of Typo3 has been positive, and I feel like there’s still a lot to uncover. For those who would like to check out Typo3’s own tutorial on doing content management system, you can find it at https://docs.typo3.org/m/typo3/tutorial-editors/11.5/en-us/Index.html#start

Share on:

Leave a Comment

Your email address will not be published, required fields are marked with *.

Comments

No comments yet.