Drupal Europe – Tag 3

Heute morgen gab es das Future of the open web and open source Panel und es war durchaus interessant. Alle Teilnehmer waren am Überlegen, wie das denn nun ist mit der Zukunft und wie man die ursprüngliche Motivation und Kraft des offenen Webs wiederherstellen könnte. Ein paar Antworten fand ich bemerkenswert. Auf die Frage, was jeder Einzelne von uns tun könnte, antwortet Dries spontan und mit einem lächeln: “Start blogging!”. Er bloggt viel und verfolgt eine POSSE Strategie. Anschliessend antwortete Barb Palser (Google) und bedauerte, dass Dries ihre Antwort vorweg genommen hatte. Heather Burns ergänzte noch,  dass in der nächsten Zeit in allen Ländern Regulierungen für die Verwendung privater Daten entwickelt werden und sich alle Open Source Projekte dort engagieren sollten, weil :“if you are not sitting at the table, you are the menu!”. Ich finde das insofern bemerkenswert, weil das ja alles nicht neu ist, aber langsam, ganz langsam, fängt wieder eine kleine, vielleicht wachsende, Gruppe von Menschen an, Texte zu schreiben, die auch “Inhalte” haben und nicht nur Marketing Anforderungen erfüllen. Das gefällt mir gut. Continue reading “Drupal Europe – Tag 3”

Drupal Europe – Tag 2

Official Group Photo Drupal Europe Darmstadt 2018 https://www.flickr.com/photos/amazeelabs/43723875575/ (CC BY-NC-SA 2.0)

Erstmal ein paar Nachträge zu gestern.

  1. Die Content Planner Session ist erst morgen – There should be a better /admin/content! Improve your content management with Content Planner.
  2. Ich habe eine wichtige Session, die ich gestern gesehen habe, vergessen, nämlich Preston So mit dem Thema Decentralized Drupal: The decoupled Drupal endgame. Es ging darin um das “alte” offene Web, das viele Entwickler von heute nicht mehr kennen, das momentane “dark age” des “broken webs”und welche Rolle Drupal in einem neuen, dezentralen Ansatz spielen könnte.
Decentralized Webe
Decentralized Web

Wichtiges Thema, es lohnt sich das Video anzuschauen wenn es verfügbar ist (Hier sind die Slides ). Continue reading “Drupal Europe – Tag 2”

Drupal Europe – Tag 1

Photo by Rouven Volk https://twitter.com/rouvenvolk/status/1039445557855617025

Mein erster Tag auf der Drupal Europe in Darmstadt endet um 22:00 Uhr. Wir waren in einem Biergarten in Darmstadt. Das Wetter war schön, die Menschen freundlich … alles gut. Ich bin mit dem Auto da, mein Hotel liegt 15km ausserhalb in Gross Zimmern und ich bringe auf dem Heimweg noch Christian zu seinem Airbnb. Ich bin um 22:43 in meinem Hotelzimmer. So früh war ich auf einer DrupalCon noch nie im Hotel :). Das hat aber auch etwas Gutes, denn dadurch es gibt jetzt einen Blog Post! Wie war mein Tag ? … Continue reading “Drupal Europe – Tag 1”

Ich gehe zur DrupalCon Europe in Darmstadt

DrupalCon Europe

In den letzten Jahren hatte ich DrupalCons ein wenig aus dem Auge verloren. Es war einfach zu aufwendig (Zeit & Geld). Die letzte Drupal Konferenz, an der ich teilnahm, war 2012 in München. Drupal ist nach wie vor das CMS, mit dem ich am meisten arbeite und es gab bisher nichts, was ich damit nicht lösen konnte. Für einfache Seiten hat sich bei mir WordPress durch die Hintertür eingeschlichen. Mir gefiel in den letzten Jahren auch dieser ganze, in meinen Augen aggressive, Business Ansatz von Drupal/Acquia und grösseren Agenturen nicht so richtig. Business ist ja ok, aber irgendwie war gerade Drupal für mich ein Beispiel für ein recht gut funktionierendes Community Ökosystem. Nachdem mit der DrupalCon Europe nun eine eigene europäische Veranstaltung gestartet wird, will ich mal schauen, wie es nach 6 Jahren so aussieht und freue mich richtig drauf.

Continue reading “Ich gehe zur DrupalCon Europe in Darmstadt”

Das DIVI Theme ist …

In der letzten Zeit strandeten ein paar Kunden bei mir mit Problemen im DIVI WordPress Theme. Eigentlich hatten sie gar keine richtigen Probleme, die Site musste “nur” mal aktualisiert werden und hier und da war irgendwas nicht richtig zentriert auf demTelefon … Naja, und ein bisschen Datenschutzgrundverordnung. Und wo wir schon dabei sind, wäre eine Geschwingkeitssteigerung auch gut und überhaupt – wie machen wir denn das mit den Updates in der Zukunft.

Das DIVI Theme war bis dahin nicht bekannt. Es besteht aus dem Divi Builder, dem eigentlichen DIVI Theme und dem Elegant Themes Updater. Es ist ein kommerzielles Theme und kostet Geld (89 US$ pro Jahr oder 249 US$ für eine lebenslange Unterstützung). Laut Website benutzen 500.000 Kunden Elegant Themes Produkte. Der Laden macht also richtig Umsatz! Continue reading “Das DIVI Theme ist …”

Drupal Updates

Drupal Update

Für Mittwoch, den 28.3.2018 zwischen 18:00 und 19:30 UTC war ein extrem kritisches Drupal Update angekündigt worden. Das Sicherheitsteam des Projekts ging davon aus, dass in kürzester Zeit nach der Veröffentlichung des Patches die Sicherheitslücke von automatisierten Scripts ausgenutzt werden könnte.

Extrem kritisch bedeutet in diesem Zusammenhang:

  • Jeder Besucher der Website kann die Lücke ausnutzen, er muss kein Benutzerkonto auf der Site haben
  • Alle Daten, auch die nicht öffentlichen, sind zugänglich
  • Alle Daten, auch die nicht öffentlichen, können manipuliert werden

Continue reading “Drupal Updates”

WordPress Single Sign On … aber wie/but how?

Sorry for the language mix but I thought it’s better to have it in both languages 🙂

Heute habe ich mal keine Lösung, sondern ein Problem. Ich will in WordPress etwas programmieren. Eine Authentifizierung gegenüber einem Altsystem.

Today I have no solution, but a problem. I want to program something in WordPress. An authentication to a legacy system.

Es gibt eine Website (proprietäres System) auf dem sich Besucher registrieren und einloggen. Innerhalb einer Subdomain (wordpress.hauptdomain.com) liegt ein WordPress und der Wunsch ist nun ein Single Sign On bei dem das führende System das Altsystem (hauptdomain.com) ist.

There is a website (proprietary system) where visitors register and log in. Within a subdomain (wordpress.domain.com) is a WordPress and the desire is a single sign on where the leading system is the legacy system (domain.com).

Vom WordPress aus muss nun folgendes passieren:

  • Checken ob der Besucher beim Hauptsystem angemeldet ist.
    Wenn nein, dorthin schicken (erledigt)
  • Wenn der Besucher der WP Site beim Altsystem angemeldet ist, in WP nachsehen, ob es für dessen E-Mail Adresse schon einen WordPress User gibt.
    • Wenn nein, anlegen (erledigt)
    • Wenn ja, im WordPress einloggen (offen)

Looking from the WordPress installation, the following must happen:

  • Check if the visitor is logged in to the main system.
    If not, send to the system (done)
  • If the visitor to the WP site is logged in to the legacy system, check out WP to see if there is already a WordPress user for that e-mail address.
    • If no, create one (done)
    • If yes ja, log into WordPress (to do)

Das Einloggen ist ein mehrschichtiges Problem. Es ist einfach einen “Eingeloggt sein Zustand” auf der entsprechenden Seite zu ermöglichen. Das geht mit diesen beiden Befehlen sogar ohne Passwort (auch interessant 🙂 ).

The log in is a multi-layered problem. It is easy to enable a logged in status on the appropriate page. It works with these two commands even without a password (also interesting :)).
Continue reading “WordPress Single Sign On … aber wie/but how?”

News! I’m working as a Drupal Developer in Germany

The summer was wonderful. We finished the restoration of a house in the middle of July and we wanted to enjoy some weeks at the beach. As you know, we are Germans and there seems to be some truth in all these stereotypes about Germans, they always make plans 😉 So we did, we made a list about how we wanted to spend our “free” time. The plan was to work a few hours on projects that should be finally finished, like the green roof project in the garden, the Cave in 22 Grand’ Rue, some “little” things in our house …

Continue reading “News! I’m working as a Drupal Developer in Germany”

6. Display Content

Figure 4: Default frontpage

back to: 5. Create Content

After you managed to create content, you need to think about how displaying it. This sounds simple but it is quite important. In the last chapter we created an article and featured this article on the frontpage. Visitors can see the article only by visiting the front page.  

The frontpage

The standard frontpage (Home) has the menu item type Featured Articles. When you access the Main Menu in Menus → Main Menu you probably noticed the little “home” symbol. It means, that this menu contains the link to the front page (Figure 1).

Figure 1: Main menu with Home link
Figure 1: Main menu with Home link

You have different configuration options while editing the Home link. The featured articles menu item type offers leading articles, intro articles, columns and links. To understand how it works, we need a few articles. For the sake of simplicity in our example, just copy your first article. The copy process is possible in the Save dialog and in a batch dialog. Select the article you want to copy and click the Batch icon (Figure 2).

Figure 2: Copy articles in a batch
Figure 2: Copy articles in a batch

If you have more than 4-5 articles (don’t forget to “feature” them), you can try out the different options. Go to Menus → Main Menu → Home and take a look at the Layout tab. You can see one leading article, three intro articles in three columns (Figure 3).

Figure 3: Layout in Home menu link
Figure 3: Layout in Home menu link

Figure 3: Layout in Home menu link

On your front page it appears like in Figure 4.

Figure 4: Default frontpage
Figure 4: Default frontpage

Categories, tags and menu links

Joomla offers three possibilities to structure your content: Categories, Tags and Menu links. Each article belongs to one category. Categories can be nested. Menu links can point to articles or categories or they can point to a set of articles as with the featured articles for the frontpage. You can add an unlimited amount of tags to each article.

This simple and easy extendible structure offers amazing ways to display content.

As you already know, Joomla!’s templates are offering positions. Positions are places where you can place your content and your navigation elements.

Joomla!’s content display system is the arrangement of modules and the components on predefined templates positions.
 Each page can have exactly one component and an unlimited amount of modules.

Categories can be created and managed in Content → Categories.

Menus can be created, managed and filled with links in Menus → Manage (read more about creating a menu in chapter 4 – It’s all about users, permissions, modules and articles)

A navigation on top

An empty Joomla page has a “Main Menu” at position-7 in the default template. In the Protostar template position-7 is in the right sidebar, but let’s assume, we want to have the main menu on top. To achieve this goal, go to Extensions → Modules → Main Menu and move it to Navigation position-1. In the Advanced tab change the value of Menu Class Suffix to “ nav-pills” (there’s a white space at the beginning!) (Figure 5).

Figure 5: Menu Class Suffix
Figure 5: Menu Class Suffix

It will change the class attribute in the HTML code and when everything is correct, your navigation should look like in Figure 6.

Figure 6: Navigation with Main Menu
Figure 6: Navigation with Main Menu

Articles in categories can be displayed in “blog style” like on the frontpage or as tables of articles. Both are highly configurable. You just need to check out a few menu item types.

With these few tools you can create amazing layouts.

4. It’s all about users, permissions, modules and articles

Photo: Eric Lamy https://www.flickr.com/photos/agerix/23200243885/ (CC BY-SA 2.0)

Back to 3. Design, Layout, Colors

I know, we still have no content on our site but before we create it, let’s have a look on the user accounts of our new Joomla website.
When you installed Joomla, you created the Super Administrator account. This user is allowed to do anything. It is nice to be that user but it is dangerous too. You will probably have more than one user account on your website, e.g. authors who write articles.

To get more used to these topics, let’s build a platform for authors where they can post articles and upload images without the need to enter Joomla’s control panel. Follow the example and you’ll learn a lot about Joomla 🙂

About users, roles and permissions

Users are in general able to login on the frontend and/or the control panel just depending on their role permissions. A user account has to be a member of a user group. Instead of assigning access permissions to each user, they are assigned to a group. The individual user is then assigned to one or more groups. Imagine you have 10,000 users in four different groups. It’s very easy for the administrator to change the permissions for each of the groups. Without groups, you would have to change every user account manually. However, when using groups, you only have to change permissions once!

Joomla comes with predefined groups like author and publisher which are easy to understand. An author is able to create/write something, a publisher has the additional permission to publish content.

  • The predefined frontend user groups are: visitors, registered users, authors, editors, publishers.
  • The predefined control panel user groups are: manager, administrator, super administrator

Example: A website where authors can post articles

This is a very simple workflow but it covers some possibilities that exist in Joomla. I assume that you have a “naked” Joomla without sample data and you have a super administrator user account.

The desirable scenario

  • Admin user in control panel:

    – activates the admin notification when someone creates a new user account

    – creates a user menu for registered users with a link to create an article
  • Visitor on website:

    – registers as a new user
  • Admin user in control panel:
    – 
receives a notification and assigns the user to the authors group
  • Author user on website:

    – is able to create an article but is not allowed to publish it
  • Admin user in control panel:
    
- receives a notification that there is new content available

    – publishes the article on the frontpage

Parameter and user menu

We have to set a few switches in the user options. Go to Users → Manage → Options and activate Allow User Registration and Notification Mail to Administrators (Figure 1).

Figure 1: Notification Mail to Administrators
Figure 1: Notification Mail to Administrators

 

Then we need a menu for logged in Users. Go to Menus → Manage → Create new menu and create one:

  • Title: User
  • Menu Type: user
  • Description: A menu for a user with useful links

Save and close it. You have now created a kind of menu container. What’s missing is the links inside the menu container and a linked module that displays the new menu at a certain position in the template.
 To create and link the module, click on the link Add a module for this menu type (Figure 2).

Figure 2: Add a module
Figure 2: Add a module

In the module form you have to add a title (User Menu), the position (Right – Position-7 in the Protostar template), the access permission (registered users). Don’t forget to save & close it (Figure 3).

Figure 3: Creating the user menu module
Figure 3: Creating the user menu module

 

Now we need the “Create article” link in our menu that should be shown to authors. Go to Menus → User → Add New Menu Item (Figure 4).

Figure 4: Creating a link in the user menu
Figure 4: Creating a link in the user menu

 

In the following form you have to enter the name/description of the link (Menu Item Title), select a Menu Item Type (Figure 5) and restrict the access to registered. Each Joomla component can provide Menu Item Types. Our type (create article) is provided by the content component which is a part of Joomla core.


Figure 5: Select Menu Item Type
Figure 5: Select Menu Item Type

 

After you saved and closed the dialog a new menu item should be displayed in the list (Figure 6).

Figure 6: User Menu with the new menu item
Figure 6: User Menu with the new menu item

Test your work! Login on the frontend with your super administrator account. After the login, our new user menu with the create link appears (Figure 7).

Figure 7: User Menu after Login
Figure 7: User Menu after Login

 

Please log out after the test.

Registration as a new user

Now we create a new user account. Please access the website as any other visitor and click the Create an account link. Fill out the form and click the Register button (Figure 8).

Figure 8: Registration form
Figure 8: Registration form

 

If your server stack allows sending emails, a notification email will be send to the email address of the super administrator account.

Joomla offers a CAPTCHA to prevent spammers. To use it, activate the CAPTCHA plugin under Extensions → Plugins and select it in the options of the User Manager where you can configure the general behaviour of the login process too.

Assignment of the new user to the authors group

Log in with your Administrator account on the control panel, access Users → Users and click on the name of the new user (Hagen Graf). Check the Author group in the Assigned User Groups tab (Figure 9).

Figure 9: Assignment of a group to a user
Figure 9: Assignment of a group to a user

Depending on your environment it might be necessary to enable and activate the new user account. Just click on the red icons to do so (Figure 10).

 

Figure 10: Activate and enable user
Figure 10: Activate and enable user

Now we have a new author on our website.

The new author creates an article

Now switch your identity to the one of the new author, log in with your new user account on the website and click the create article link. Just add a title and a few words and click save (Figure 11).

Figure 11: Create an article
Figure 11: Create an article

 

The article is saved and submitted but the user (you) cannot see it, because it is not published. I configured this workflow intentionally as in some cases it is desired to have another person to edit the created content and then publish it.

Of course, it is also possible to skip that, add the user to the group Publisher and then the article would be published immediately.

The admin publishes the article on the frontpage

Joomla comes with a messaging system and this system creates a message when new content was created by a user. Depending on your settings (Components → Messaging → Options) the admin receives that message by email or via the screen. 
The admin has to go to Content → Article Manager and publish the new article. If the article should appear on the frontpage, click on the featured icon (Figure 12, Figure 13).

Figure 12: Publish an Article
Figure 12: Publish an Article

 

Figure 12: Featured Article
Figure 12: Featured Article

Tweaking the process

As we already noticed while following this example, many topics are covered and the configuration is easily done depending on your needs. There is a huge amount of permissions, options and settings to discover.
I’ll provide a few examples in the following chapters.