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 …
Erstmal ein paar Nachträge zu gestern. Die Content Planner Session ist erst morgen – There should be a better /admin/content! Improve your content management with Content Planner. 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 …
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. …
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 …
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, …
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 …
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 … and spend the rest of the time at beaches, in art galleries, antique markets, reading books, … well … it worked somehow – I was everyday at a beach for these 8 weeks and now I’m the mayor
Nextcloud appeared in June and I’m very interested in the project. I went to Stuttgart in August for a Hackweek and to Berlin in September for the first conference. I wrote some blog posts about Nextcloud box and other aspects of the project.
While working on our summer projects we discussed how we will earn money in the future. Usually we do that regularly at Dec 31th but this time we planned in July at the beach. We came to the conclusion that we renovated more or less enough houses for us (You can buy one btw.). There is still one house project left together with our daughter and her husband but I thought
May be I can work on a nice software project.
Something related to Nextcloud, RaspberryPi, internet of things, Drupal 8. All these “new” stuff hat appeared while I was renovating
I applied officially at certain companies (my first applications since nearly 20 years) and I learned a lot about LinkedIn, Xing, Monster, writing a good CV and all those things where I’m still not good in (Help me to become better). A company in Frankfurt hired me as a Drupal developer. It’s a “digital interactive agency” called artus.com and their mission is:
We plan, create, develop and implement anything digital that builds our clients brand and business.
“Anything digital” sounded good and I never worked in an agency like that! They are using Drupal 8 for bigger projects, e.g. worldvision.de. They are planning to use it in more projects. The only problem is that they wanted to have me in their office in Frankfurt, Germany. We agreed on a kind of testing for six weeks and then
– I hope to continue with remote work from Fitou and
– they hope that I will move to Frankfurt.
I’m curious how we’ll figure that out – stay tuned!
Living in Frankfurt is ridiculous expensive, so I tried to find a place via Twitter and Facebook.
Hilfe: Suche Schlafplatz in/um Frankfurt/Main vom 3.10-31.10
WiFi + Parkmöglichkeit oder Anbindung an ÖPNV wären gut.
— Hagen Graf (@hagengraf) September 12, 2016
At the moment I live in Bad Homburg and commute with my bike to Frankfurt. Well, it’s actually not my bike, it’s a super posh electrical bike that I’m allowed the use (a blog post on that is coming soon). Each day I drive 40 km. I track the tours with an App, so if you want to follow me, become my friend on Strava. First week 200km!
I have no time anymore!
I start at 7:30am with my bike and I come back at 8pm with my bike. Additionally, this country is so cold, windy and mostly dark when I’m driving! It’s nice sometimes, you see
The work itself is interesting: The dev team works with PHPStorm, Vagrant, Bitbucket, Slack, several servers and is trying to organise everything as easy and smooth as possible. I’m curious to learn everything and it was for sure a good idea to be six weeks physically here! Last Friday, we had a so called Quarterly, followed by a workshop with all employees (37), very interesting! Later on there was a great dinner and we ended up with a little group in a kind of club in Frankfurt (Pik Dame).
The last days I heard so many opinions about work, controlling, planning, project management, creativity, brand management, mismanagement, open source software, closed source software, company culture, employee driven companies and the future in general that my daily commuting on the bike is a good way to reflect on that. Since that workshop I’m a proud member of a new team and I’m partly responsible for a handbook, that will help newbies like me to understand processes in this company.
I want to write about my experiences as often as possible but as I already said in the headline – I have not that much time anymore
The post News! I’m working as a Drupal Developer in Germany appeared first on Hagen Graf.
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 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).
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).
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
On your front page it appears like in Figure 4.
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).
It will change the class attribute in the HTML code and when everything is correct, your navigation should look like in Figure 6.
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.
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).
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).
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).
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).
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.
After you saved and closed the dialog a new menu item should be displayed in the list (Figure 6).
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).
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).
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).
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).
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).
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).
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.
Back to: 2. A fresh Joomla Installation
The template is one of the most important pieces of a website. It provides the appearance, the design. The combination with relevant content motivates new visitors to stay on your site and explore. Regular visitors and users appreciate being on a site with a beautiful and useful design. Think of other products, for instance. A car needs a good engine and tires but one of the most important reasons for buying one is often the design.
Even if the design is not the main reason, it is often a trigger to contemplate the idea of purchasing and may cause a buyer to consider more tangible reasons. If the design is well-made, people expect the rest to be well-made, too (Figure 1, Figure 2)!
Both of these cars are made for different target groups and they come of course from different car makers in different countries. They are just an an example of different approaches in design.
A few definitions related to the design of your website
I just want to clarify a few terms to sensitize your thinking.
What is design?
- The noun design stands for a plan or drawing which shows the function and the lookout of an object, to accomplish particular goals in a particular environment and to satisfy a set of requirements.
- The verb “to design”stands for creating a design, in an environment (where the designer operates).
The term design can be used in
- art (“almost instinctive”, “built-in”, “natural”, and part of “our sense of ‘rightness’),
- engineering (product design of a new car)
- production (planning and executing)
- processes (business process modeling)
What is color?
Color is the visual perceptual property corresponding in humans to the categories called red, green, blue, and others. Individual colors have a variety of cultural associations such as national colors. There is great diversity in the use of colors and their associations between cultures and even within the same culture in different time periods. HTML colors and CSS colors can have 16 million different values. The combination of Red, Green, and Blue values from 0 to 255, gives more than 16 million different colors (256 x 256 x 256).
BLACK = color HEX #000000 = color RGB rgb(0,0,0)
Several online tools like the one in (Figure 3) can help you to find the right colors for your website project .
Figure 3: Popular Color Combinations – http://www.colorcombos.com/popular-color-combinations
What is page layout?
Page layout is the part of “graphic” design that deals in the arrangement and style treatment of elements (content) on a page.
To speak in Joomla terms, it is the arrangement of Joomla modules and the components on predefined templates positions.
A template involves repeated elements visible to the visitors. Using a template to lay out elements usually involves less graphic design skill than that which was required to design the template. Templates are used for minimal modification of background elements and frequent modification (or swapping) of foreground content. Joomla! come with two site- and two administrator templates.
User Interface Design (UI) / User Experience Design (UX)
“User interface design (UI) or user interface engineering is the design of user interfaces for machines and software, such as computers, home appliances, mobile devices, and other electronic devices, with the focus on maximizing the user experience.” https://en.wikipedia.org/wiki/User_interface_design
“User Experience Design (UX) is the process of enhancing user satisfaction by improving the usability, accessibility, and pleasure provided in the interaction between the user and the product.” https://en.wikipedia.org/wiki/User_experience_design
The connection between both types of design is fluent. A simple but quite good explanation is based on Ketchup bottles. The UI part focusses on the interface of the bottle, the UX part of the experience in the moment of engagement (Figure 4).
Joomla! is only one more tool in the toolbox of a web designer.
A good Joomla template is not only about colors and graphics. The shape and positioning of the content is just as important. The website has to be user-friendly and reliable. Exactly this challenge reminds me of the two cars again.
Web design is still a young profession and it is starting to become an industry.
A web designer often has to deal with low bandwidth, incompatible browsers, inexperienced content editors and other people involved in the process of creating a ‘good’ website.
The creation of a Joomla! website is often a process, in which everyone involved learns a lot.
Good web design is hard work and everyone has to start somewhere!
After having your site up in the language you prefer, most people start tweaking the colors and want to upload e.g. a new logo, even if there is no content so far. Joomla comes with preinstalled templates and so called template styles. A template style is a set of options (color, logo, layout) for a template. The configuration possibilities are depending on the template. Some template have a huge variety of settings and some are quite limited. It is possible to create as many styles as you want and assign them to different pages of your website.
In Joomla a single page is generated by the HTML output of one component, several modules and the template. Each page is accessible via a unique URL. Take the front page as an example. The content component produces the HTML output for the articles in the middle. This screenshot is based on the Joomla Beez Template (Figure 5). The blocks next to the articles are different modules. You can combine the HTML output from one component with the HTML output of any number of modules. Existing modules can also be reused on other pages.
You must know, of course, at which point you can assign modules at all. For this purpose, each template provides so-called positions. In order to see these positions you have to enable the Preview Module Positions switch (Extensions → Template → Options). After that, you can access your website by using the parameter tp=1 (http://localhost/index.php?tp=1) or click the Preview link in Extensions → Templates (Figure 6).
You’ll see the emphasized module positions with their names (Figure 7).
In Extensions → Modules you can assign one of these positions to each module. If you need the module at different positions, you may also copy it.
To make things easier for you, Joomla! core comes with two site templates and two administrator templates. You can see a preview in Extensions → Templates → Tab Templates. You can filter between Site and Administrator templates by choosing the location filter (Figure 6 and Figure 8).
Styles offers the possibility to create and use different versions of one template. This is useful if you want to have different templates styles on different pages. A template has a minimum of one style. In this style, configurations can be made depending on the template, such as changing the colors or uploading the header logo. You may set the default style for your site in Extensions → Templates → Styles.
Example: An individual Style
Let’s create an individual style for our website:
- Name: cocoate
- Template Colour: #f88638
- Fluid Layout
You can create additional styles by duplicating an existing style. For this example I duplicate the existing protostar style (Figure 9).
A new style appears, the name is protostar – Default (2). We’ll change the name in the next steps. Set it as the default style by clicking the star icon (Figure 10).
Check it and click the Edit Button. Enter the name for the style. In the Advanced tab you can choose colors, upload a logo and a few more parameters (Figure 12, Figure 13)
Each style can be assigned to a menu item (Menus asigment). If you would like a green background on your site when people click on menu item A, for example, and a blue background when they click on menu item B, you can assign the corresponding styles. In my case I have only one menu item and I already marked this style as default style, so it’s not necessary to assign it to a menu item
After saving the style, the website looks different (Figure 14) and because the Protostar template is fully responsive, the website is shown perfectly on a mobile device too (Figure 15).
Create your own template and customize it
A template in Joomla is the base of a style and consists of various files. It’s possible to edit the files of a template online.
BUT! You should NEVER change the source code of a core template. The reason is very simple. Your changed code will be overridden by the next Joomla! update!
It is possible too to copy an existing template, so let’s do that first.
Copy the Protostar template in Extensions → Templates → Protostar Details and Files by clicking the Copy Template button. Give your individual template it a name. I call mine “MyTemplate” (Figure 16).
Beside the new template Joomla creates a new template style too (have a look). It is possible now to work on the new template. You are able to create, delete and edit files (Figure 17).
It’s of course possible to edit the files in an external editor too. The site templates are located in the folder /templates. Each template has it’s own folder. There is now a mytemplate folder too. Under the /templates/systems folder you’ll find the template files to edit the Offline and the Error page templates. The admin templates are located in the folder /administrator/templates.
Overrides are a possibility to change the markup of an extension inside the template. The interesting point is, that your individual template is able to do that. Your template can even rewrite the output of third party extensions. A common use case is an alternative layout for an article in Joomla!.
In the template manager it is possible to create these overrides too.
There are by definition endless possibilities to design something creative. Joomla give you everything you need to build something amazing and hopefully you start to get more curious.