-
Notifications
You must be signed in to change notification settings - Fork 0
/
feed.xml
executable file
·276 lines (191 loc) · 35.5 KB
/
feed.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Miro Michalicka</title>
<description>Drupal and travelling</description>
<link>http://miromichalicka.com/</link>
<atom:link href="http://miromichalicka.com/feed.xml" rel="self" type="application/rss+xml" />
<pubDate>Fri, 18 Dec 2015 18:50:05 +0100</pubDate>
<lastBuildDate>Fri, 18 Dec 2015 18:50:05 +0100</lastBuildDate>
<generator>Jekyll v3.0.0</generator>
<item>
<title>Custom blocks in Drupal 8</title>
<description><p>You have probably notices that CMI has some limitation in exporting custom blocks. These are unfortunately quite important for Front enders and also for client. Let me show you, how you can simply create custom blocks in code during installation of your module.</p>
<p>If you are reading this blog, I assume you know that blocks are finally entities in Drupal 8. You can define your own block type and add some fields into it. For simple demonstration I’m using predefined custom block type Basic block with body text field. Same approach can be of course used for your custom block types with many additional fiels.</p>
<p>First you need to create Custom block:</p>
<figure class="highlight"><pre><code class="language-php" data-lang="php"><span class="lineno"> 1</span> <span class="cp">&lt;?php</span>
<span class="lineno"> 2</span>
<span class="lineno"> 3</span> <span class="k">use</span> <span class="nx">Drupal\block_content\Entity\BlockContent</span><span class="p">;</span>
<span class="lineno"> 4</span>
<span class="lineno"> 5</span> <span class="sd">/**</span>
<span class="lineno"> 6</span> <span class="sd"> * Implements hook_install().</span>
<span class="lineno"> 7</span> <span class="sd"> */</span>
<span class="lineno"> 8</span> <span class="k">function</span> <span class="nf">awesome_blocks_install</span><span class="p">()</span> <span class="p">{</span>
<span class="lineno"> 9</span> <span class="nv">$block_content</span> <span class="o">=</span> <span class="nx">BlockContent</span><span class="o">::</span><span class="na">create</span><span class="p">([</span>
<span class="lineno">10</span> <span class="s1">&#39;type&#39;</span> <span class="o">=&gt;</span> <span class="s1">&#39;basic&#39;</span><span class="p">,</span>
<span class="lineno">11</span> <span class="s1">&#39;info&#39;</span> <span class="o">=&gt;</span> <span class="s1">&#39;About us&#39;</span><span class="p">,</span>
<span class="lineno">12</span> <span class="p">]);</span>
<span class="lineno">13</span> <span class="nv">$block_content</span><span class="o">-&gt;</span><span class="na">set</span><span class="p">(</span><span class="s1">&#39;body&#39;</span><span class="p">,</span> <span class="s1">&#39;Some long text about us...&#39;</span><span class="p">);</span>
<span class="lineno">14</span> <span class="nv">$block_content</span><span class="o">-&gt;</span><span class="na">save</span><span class="p">();</span>
<span class="lineno">15</span> <span class="p">}</span></code></pre></figure>
<p>If you install your module now, you can find this block in <a href="http://your-domain.tld/admin/structure/block/block-content/types">Custom block library</a>. You can update all fields which is big change since Drupal 7, but you still need to show your block somewhere on page. Because block are entities, they can be displayed multiple times. You need to create block instance which can be placed into region and visibility settings can be applied. </p>
<figure class="highlight"><pre><code class="language-php" data-lang="php"><span class="lineno"> 1</span> <span class="cp">&lt;?php</span>
<span class="lineno"> 2</span>
<span class="lineno"> 3</span> <span class="k">use</span> <span class="nx">Drupal\block\Entity\Block</span><span class="p">;</span>
<span class="lineno"> 4</span> <span class="k">use</span> <span class="nx">Drupal\block_content\Entity\BlockContent</span><span class="p">;</span>
<span class="lineno"> 5</span>
<span class="lineno"> 6</span> <span class="sd">/**</span>
<span class="lineno"> 7</span> <span class="sd"> * Implements hook_install().</span>
<span class="lineno"> 8</span> <span class="sd"> */</span>
<span class="lineno"> 9</span> <span class="k">function</span> <span class="nf">awesome_blocks_install</span><span class="p">()</span> <span class="p">{</span>
<span class="lineno">10</span> <span class="nv">$block_content</span> <span class="o">=</span> <span class="nx">BlockContent</span><span class="o">::</span><span class="na">create</span><span class="p">([</span>
<span class="lineno">11</span> <span class="s1">&#39;type&#39;</span> <span class="o">=&gt;</span> <span class="s1">&#39;basic&#39;</span><span class="p">,</span>
<span class="lineno">12</span> <span class="s1">&#39;info&#39;</span> <span class="o">=&gt;</span> <span class="s1">&#39;About us&#39;</span><span class="p">,</span>
<span class="lineno">13</span> <span class="p">]);</span>
<span class="lineno">14</span> <span class="nv">$block_content</span><span class="o">-&gt;</span><span class="na">set</span><span class="p">(</span><span class="s1">&#39;body&#39;</span><span class="p">,</span> <span class="s1">&#39;Some long text about us...&#39;</span><span class="p">);</span>
<span class="lineno">15</span> <span class="nv">$block_content</span><span class="o">-&gt;</span><span class="na">save</span><span class="p">();</span>
<span class="lineno">16</span>
<span class="lineno">17</span> <span class="nv">$block</span> <span class="o">=</span> <span class="nx">Block</span><span class="o">::</span><span class="na">create</span><span class="p">([</span>
<span class="lineno">18</span> <span class="s1">&#39;id&#39;</span> <span class="o">=&gt;</span> <span class="s1">&#39;about_us&#39;</span><span class="p">,</span>
<span class="lineno">19</span> <span class="s1">&#39;plugin&#39;</span> <span class="o">=&gt;</span> <span class="s1">&#39;block_content:&#39;</span> <span class="o">.</span> <span class="nv">$block_content</span><span class="o">-&gt;</span><span class="na">uuid</span><span class="p">(),</span>
<span class="lineno">20</span> <span class="s1">&#39;region&#39;</span> <span class="o">=&gt;</span> <span class="s1">&#39;header&#39;</span><span class="p">,</span>
<span class="lineno">21</span> <span class="s1">&#39;provider&#39;</span> <span class="o">=&gt;</span> <span class="s1">&#39;block_content&#39;</span><span class="p">,</span>
<span class="lineno">22</span> <span class="s1">&#39;weight&#39;</span> <span class="o">=&gt;</span> <span class="o">-</span><span class="mi">100</span><span class="p">,</span>
<span class="lineno">23</span> <span class="s1">&#39;theme&#39;</span> <span class="o">=&gt;</span> <span class="nx">\Drupal</span><span class="o">::</span><span class="na">config</span><span class="p">(</span><span class="s1">&#39;system.theme&#39;</span><span class="p">)</span><span class="o">-&gt;</span><span class="na">get</span><span class="p">(</span><span class="s1">&#39;default&#39;</span><span class="p">),</span>
<span class="lineno">24</span> <span class="s1">&#39;visibility&#39;</span> <span class="o">=&gt;</span> <span class="k">array</span><span class="p">(),</span>
<span class="lineno">25</span> <span class="s1">&#39;settings&#39;</span> <span class="o">=&gt;</span> <span class="p">[</span>
<span class="lineno">26</span> <span class="s1">&#39;label&#39;</span> <span class="o">=&gt;</span> <span class="s1">&#39;About us&#39;</span><span class="p">,</span>
<span class="lineno">27</span> <span class="s1">&#39;label_display&#39;</span> <span class="o">=&gt;</span> <span class="k">FALSE</span><span class="p">,</span>
<span class="lineno">28</span> <span class="p">],</span>
<span class="lineno">29</span> <span class="p">]);</span>
<span class="lineno">30</span> <span class="nv">$block</span><span class="o">-&gt;</span><span class="na">save</span><span class="p">();</span>
<span class="lineno">31</span> <span class="p">}</span></code></pre></figure>
<p>Now you just need to put this code into your module’s .install file and enable it. Enjoy :)</p>
</description>
<pubDate>Thu, 17 Dec 2015 08:00:00 +0100</pubDate>
<link>http://miromichalicka.com/2015/12/17/custom-blocks/</link>
<guid isPermaLink="true">http://miromichalicka.com/2015/12/17/custom-blocks/</guid>
</item>
<item>
<title>Twig inside Views in Drupal 8</title>
<description><p>Drupal 8 brings us except Symfony in backend also Twig for frontenders and Views for sitebuilders. Have you every thought about mixing this two parts of Drupal? In most of cases it is better if frontender knows at least basics of Drupal sitebuilding and Views are one of the most important modules for this.</p>
<h3 id="twig">Twig</h3>
<p>Twig is templating engine which replaced PHPTemplates in Drupal 8. It uses some own functions, filters and syntax which aren’t related to PHP or Javascript and more importantly, it protects you from complexity of Drupal data model. No more thinking if variable is array or object - you access its children the same way. These functions and filters, which modify way how are input variables displayed. Drupal also extends Twig abilities by adding some own functions, mostly related to manipulation with html attributes. More about Twig should be found on <a href="http://twig.sensiolabs.org/">this</a> page and in Drupal <a href="https://www.drupal.org/list-changes">change records</a>.</p>
<h3 id="views">Views</h3>
<p>Views is module, which knows probably everyone in Drupal world and honestly I cannot imagine building even simple presentation website without it. It offers you ability to build complex queries and display their results without having any knowledge about databases just through Drupal UI.</p>
<h3 id="using-twig-functions-filters-in-views">Using Twig functions filters in Views</h3>
<p><strong>Usecase:</strong> You want to display some text all uppercase and you don’t want to do it in CSS.</p>
<p><strong>Drupal 7 solution:</strong> You can create field template with correct name, so it will have an effect only on desired field and inside this field template you will use <code>strtoupper</code> PHP function.</p>
<p><strong>Drupal 8 solution:</strong> You will rewrite field with its own value and use <code>upper</code> Twig filter. It will look this way:
<img src="/img/twig1.png" alt="upper Twig filter" /></p>
<h3 id="more-advanced-twig-expressions">More advanced Twig expressions</h3>
<p><strong>Usecase:</strong> Show content of field conditionally or conditionally show content one of two fields.</p>
<p><strong>Drupal 7 solution:</strong> Preprocessing or some naughty things in templates.</p>
<p><strong>Drupal 8 solution:</strong> Use Twig expressions :)
<img src="/img/twig2.png" alt="upper Twig filter" /></p>
<figure class="highlight"><pre><code class="language-html" data-lang="html"><span class="lineno">1</span> {% if field_display_text2==&#39;True&#39; %}
<span class="lineno">2</span> {{ field_text2 }}
<span class="lineno">3</span> {% else %}
<span class="lineno">4</span> {{ field_text1 }}
<span class="lineno">5</span> {% endif %}</code></pre></figure>
<h3 id="conclusion">Conclusion</h3>
<p>Twig makes Frontender’s life easier. I’m not saying that we should do everything possible only through UI, as I see there many risks related to harder debugging. Practical use on projects will show us the best way. </p>
</description>
<pubDate>Mon, 07 Dec 2015 08:00:00 +0100</pubDate>
<link>http://miromichalicka.com/2015/12/07/views-twig/</link>
<guid isPermaLink="true">http://miromichalicka.com/2015/12/07/views-twig/</guid>
</item>
<item>
<title>Configuration management in Drupal 8</title>
<description><p><em>Disclaimer: This blog represents personal opinions of author, which don’t have to be same as opinions of iKOS and the rest of its development team.</em></p>
<p>Configuration management is probably one of the most expected new features in Drupal 8. Will the CMI be salvation for developers and site builders or will we still stick with Features and/or many contrib modules for such important part of site building?</p>
<p>I’ve been playing with Drupal 8 since I was able to install it without failure (alpha-3 probably) and I have several D8 sites in production or in process of building. Lately, I’m also part of iKOS Drupal8 Initiative, where part of team spent great amount of time figuring out the best way how to work with Drupal 8 configuration files.</p>
<h3 id="drupal-7-current-state">Drupal 7 current state</h3>
<p>I’ve decided to add this part because configuration and deployment workflow is for a lot of Drupal developers in Slovakia very unknown term :) I must admit, I also never paid much attention to this part of Drupal while I was developing on my own. With more serious jobs and joining large teams of developers I found this very important part of developer’s life (unfortunately).</p>
<p>There is no standardized way how to store configuration in Drupal 7. And it’s the biggest problem. You find one module storing it in <code>variables</code> table, another module defines its own structure.</p>
<p>One of possible ways how to export your configuration is <code>Features</code> module. This module digs (almost) all core configuration for you and exports it into “custom” modules. When you enable this module, configuration is imported back into your database where it lives its own unchained life. </p>
<p>What about contrib modules? Well, if you are lucky module is using variables or module creator implemented integration with features. If you are not lucky, you are forced to write your own features integration (yey, you can contribute it) or you have to call module’s “API” and create all your configuration in some custom module. Very comfortable for site builders, isn’t it? </p>
<p>And I forgot to mention parts about “Overridden” screen…</p>
<h3 id="drupal-8-cmi">Drupal 8 CMI</h3>
<p>CMI or configuration management initiative is one of the most important parts of Drupal 8. It finally standardized way, how configuration should be stored. It introduced Configuration Entities with their schemas and other cool things. And it also offers exports and imports in core. Everything looks like miracle until you start really working with it.</p>
<p>CMI exports configuration into YAML files. YAML is cool file format similar to XML. It does support schemas and schema validations, but nobody is using that. And Git totally loves tones of plaintext files. Just try to resolve conflicts in them :)</p>
<p>You have your configuration in YAML files in your GIT repository (you also resolved all conflicts) and your colleagues want to preview your work or continue working on some of your projects. Easy-peasy you think? So try import your config on their fresh installations. You see that error too, don’t you? After several hours you finally defeat UUID generator with copying <code>system.site.uuid</code> from your site to their (one possible way). Now it should finally work :)</p>
<p>Did you have some custom blocks placed on your site? Do you like their new content? They consist of 2 configurations - <code>block</code> and <code>block content</code>. As you can see <code>block content</code> is content, so it is not exported with CMI:( You have to give up ability to edit your block content on web or use Deploy module or some paid service.</p>
<h3 id="drupal-8-features">Drupal 8 Features</h3>
<p>You want to change some configuration for your stage environment and you are trying to find out which one it should be. It probably has some dependencies. </p>
<p>Probably the best way without learning all these dependencies is to use some configuration grouping modules. This exact thing you are able to do with Features in Drupal 8. It also offers you some kind of automation, so it automatically bundles your configuration by content types, views or other config you choose.</p>
<p>Important thing is that you don’t need Features module on your production site as it really just export configuration and import it on your module enabling. Well, it also does some dev-env useful things, but nothing suitable for production.</p>
<h3 id="config-devel">Config Devel</h3>
<p>If you don’t want automatic grouping and you are little more skilled, you can use <code>config_devel</code> module. It little automates creating of modules, but you really need to know, what you want to export.</p>
<h3 id="conclusion">Conclusion</h3>
<p>In iKOS we decided to carry on with core CMI for now. I’m personally playing with ideas of using Config Devel or Features. I’m sad that CMI fulfilled just half of developers needs. It doesn’t help with work in team unless you make some compromises or “hacks”. It does great job with multi-environment development of same site. I hope missing features will be added in early life phases of Drupal 8.</p>
</description>
<pubDate>Fri, 06 Nov 2015 11:00:00 +0100</pubDate>
<link>http://miromichalicka.com/2015/11/06/configuration-d8/</link>
<guid isPermaLink="true">http://miromichalicka.com/2015/11/06/configuration-d8/</guid>
</item>
<item>
<title>How was DrupalCampCS 2015?</title>
<description><p>The 5th -7th June, 2015 was the date forDrupalCampCS in Bratislava, Slovakia for three days of knowledge sharing, coding and ‘downloading’ (in the local pubs).</p>
<p>Whenever iKOS get involved with a DrupalCamp in the UK we like to contribute fully by way of organising, sponsoring, speaking and training. As we have recently opened two offices in Slovakia, we saw DrupalCampCS as a great opportunity to get better acquainted with the Slovakian and Czech Drupal communities. </p>
<h3 id="drupalcamp-cs-day-one---5th-june">DrupalCamp CS DAY ONE - 5th June</h3>
<p>DrupalCampCS began on Friday morning with Drupal training and sprints planned. </p>
<h4 id="drupal-training-for-beginners---streamed-live-from-london">Drupal Training for Beginners - Streamed live from London</h4>
<p>The first Drupal training session was aimed at attendees new to Drupal and, thanks to the University’s technical department, we had our head of training - Nick Abbott - streaming his Drupal training course live from London. This remote training worked really well thanks to Milan Lukac from Slovakia, in the room to help any attendees with translation or technical questions. </p>
<h4 id="drupal-commerce-training">Drupal Commerce Training</h4>
<p>Having worked as part of the team to deliver one of the highest profile Drupal Commerce websites for Lush (www.lush.co.uk), Karol Kasas was able to provide real-world insight and training on the correct usage of Drupal Commerce. To a workshop of 10 attendees, Karol covered both the complete basics of Drupal Commerce through to advanced topics such as VAT handling. By the end of day, people left his workshop with a fully functional eCommerce built with Drupal Commerce - WOW! </p>
<h4 id="sprinting---drupal-8-rules">Sprinting - Drupal 8 Rules!</h4>
<p>Fresh from a day of training, both Milan and Karol joined the sprinting room, where a small team had come together looking at the Drupal 8 Rules issue queue. </p>
<h4 id="friday-night---traditional-slovak-pub">Friday night - traditional Slovak pub</h4>
<p>In the evening most headed to a fantastic local brewery called Richtar Jakub (Mayor Jacob), where they met with Drupal superstars Robert Douglass and our technical team leader Richard Jones. Everyone tasted locally brewed beer and some traditional Slovak meat dishes. After this, people headed to Bratislava restaurant, where they tasted some very traditional Slovak food called “bryndzove halusky” (small potato dumplings with cottage cheese).</p>
<h3 id="day-two---6th-june">DAY TWO - 6th June</h3>
<p>Saturday began with session called State of Drupal. During this session the chairman of Slovak Drupal Association, Jozef Toth, asked Richard Jones about his beginnings and thoughts relating to Drupal in general and the impact of the delayed release of Drupal8.</p>
<p>During the day all members of our Slovak team attended interesting sessions held by experts from far and wide. Tomas and Oliver focussed on learning more about the theming layer in Drupal 8 using Twig, while the rest of the team joined session called OCD Deployment, where they learned how to make updates faster and less risky. </p>
<h4 id="lush---drupal-commerce-case-study">Lush - Drupal Commerce case study</h4>
<p>As technical director of iKOS, Richard Jones was able to talk about our experience of building one of the largest Drupal Commerce responsive websites for the UK, headquartered retailer, Lush. </p>
<h4 id="drupal-performance">Drupal Performance</h4>
<p>Following on from Richard’s talk, Milan Lukac opened up the topic of Drupal performance. Milan started with basic Drupal’s built-in possibilities before expanding and explaining the benefits and pitfalls of using various contributed modules.</p>
<h4 id="the-core-message-from-day-two">The core message from day two</h4>
<p>For me the takeaway and most important lesson learned related to the changes in Drupal 8 relating to the entity API from our guest speaker Wolfgang Ziegler (fago in the Drupal community).</p>
<h4 id="ice-ice-baby">Ice ice baby</h4>
<p>After a day of hot sessions we headed to cool off and experience the amazing ice bar. </p>
<h3 id="day-3---7th-june">Day 3 - 7th June</h3>
<p>The last day of camp kicked off with Karol and Milan teaching developers how to use Drupal Services for developers who want to build their own APIs to extend and integrate with Drupal. Milan and Karol did pretty amazing job as they showed not only how to use in-build Services, but also how to code their own service. </p>
<h4 id="after-the-camp">After the camp</h4>
<p>We are also pleased to announces that iKOS Digital has accepted the challenge to help the #d8rules team to finish Milestone 1 in this important project. Within a week of DrupalCampCS Karol got his first commit into Rules 8.x </p>
<p><em>Originally published on: <a href="http://i-kos.com/developing/blog/2015-08-11/drupalcampcs-2015-bratislava-our-report-great-drupal-community-event">http://i-kos.com/developing/blog/2015-08-11/drupalcampcs-2015-bratislava-our-report-great-drupal-community-event</a></em></p>
</description>
<pubDate>Mon, 07 Sep 2015 14:00:00 +0200</pubDate>
<link>http://miromichalicka.com/2015/09/07/how-was-dccs-2015/</link>
<guid isPermaLink="true">http://miromichalicka.com/2015/09/07/how-was-dccs-2015/</guid>
</item>
<item>
<title>Drupalaton 2015</title>
<description><p>The middle of summer is for a lot of Drupalists in Europe connected with Drupalcamp organised on shores of lake Balaton - Drupalaton. This year it was my 2nd time I attended this conference., first time as part of iKOS. For me personally, Drupalaton is one of the best Drupal-related conferences, I have ever attended. Do you want to know why? Read following report.</p>
<h3 id="water--drupal--drupalaton">Water + Drupal = Drupalaton</h3>
<p>Drupalaton is organised in lovely Hungarian city of Keszthely. This city lies on bank of lake Balaton, one of the biggest drinking water lake in Europe. Therefore Drupalaton offers right amount of fun, bathing and Drupal. What else can Drupalist want?</p>
<h3 id="look-to-the-future-starting">Look to the future starting</h3>
<p>This year the conference started on Thursday morning with sprinting on Drupal 8 issues. I picked one, which has provided me a lot of fun for all conference days. For those, who has never attended any sprints, they usually consist of a lot of googling and talking with sprint mentors. My issue has involved changes in comment type form and changes in related configuration schemas. </p>
<p>After lunch break organisers welcomed us at conference and provided a little place for sponsors. Right after, the first speaker, Márk Kiss, presented differences in Form API of Drupal 7, Symfony2 framework and Drupal 8. For me, it is very sad that Form API in D8 has changed little from Drupal 7. I hope we can find a way how to use nice OO forms from Symfony2.</p>
<p>The second speaker, Gergely Pap, was presenting topic which should have been more interesting for my FE oriented colleagues. He was talking about his FE experiences from his first client Drupal 8 site. The more I work with D8, the more I see that FE has undertaken major changes since D7. I like the way how is easy to marry it with the newest technologies in this part of web development. As was mentioned also in the session, it still doesn’t offer enough flexibility, so non-Drupal FE developer will be fighting with it a lot. I admire speaker that he released his base theme for D8 in this stage when especially theming layer in D8 is pretty unstable. </p>
<p>The last session of the first day was business oriented. The founders of Hungarian Drupal-oriented company Cheppers were talking about their growth and motivation for running successful Drupal shop. It offered me also some insight into Hungarian Drupal community which obviously shares a lot of similarities with the Slovak one.</p>
<p>In the evening I submitted first version of the patch. It failed. Dammit!</p>
<h3 id="speeding-up">Speeding up</h3>
<p>The second day there were two tracks. I started with the main room where one of the biggest minds of Drupal world chx had his session. It was very important for every developer in D8, because it was about storing data in D8. The most important thing to remember from it - variables are dead, configuration live long and prosper. Everything else is on D.o.</p>
<p>The second session was very closely related to previous one as it was about Configuration management. As title says, the session was about workflow with configuration files in D8. It showed that all that glitters is not gold. I think that D8 Features will take solid place in our development processes for a very long time.</p>
<p>The last session of that day was held by fabulous Gabor Hojtsy. He showed how to use Drupal 8 in its current state without any contrib modules with focus on multilingual sites. It was probably the best sum up of D8 abilities and new features I’ve ever seen. And it was everything working live!</p>
<p>Between session I was working on fixing of my issue. I had problems with translation of my new configuration, so I talked with Ruben and with joint forces we found solution - for everything related to translations, look on Gabor’s website. There were also suggestions for another solution, but after consultation with Gabor we decided to stick to original solution.</p>
<p>The Friday evening was the first of social events. It was boat party. We took 100-years old boat Helka, which showed us another sight of Balaton. Organisers also prepared for us small bufet of Hungarian specialities - perkelt with noodles and Hortobany palacsinka.</p>
<h3 id="behold---drupal-8">Behold - Drupal 8</h3>
<p>The last day of sessions started by session by Xano about Plugin API in D8. Plugin API is one of the most interesting and important APIs in D8, because it is used for almost everything. Xano went through its cons and pros and showed us the most basic usage as custom block. If you install the Plugin module, you can see all modules defining their own plugins.</p>
<p>The last session of Drupalaton 2015 was about prototyping in Drupal. It was divided into 2 parts. The first was showing pros and cons of using Drupal as prototyping tool. Speaker Kristoff van Tomme has some experiences with building startup based on Drupal and he tried to explain its advantages over probably the most spread prototyping tool Wordpress. The second part was held by László Csécsy who has real project experience with prototyping with Drupal. As he said, they are really close to release their project, they are still creating only prototypes, but he is not worried about successful delivery of the project. As he revealed, prototyping helped them to fulfil expectations of extremely hard-to-satisfy client. The very helpful was discussion after sessions where both speakers were showing their high professional attitude.</p>
<p>Between session and during lunch break I was still working on D8 issues. I finally submitted patch which was accepted by testbot and also community. I picked another one issue which is related to path alias generation. I submitted patch which was accepted by testbot, but it will require another manual testing and maybe new automated tests because it is important part of Drupal core.</p>
<p>The last day of Drupalaton was all-day sprint. I was sprinting in the morning on some other issues and afternoon I made little trip to Balaton neighbourhood.</p>
<p>In the end of event, I can say, that I’ve learned a lot of new things and I’ve spoken with many wise people. It is nice to see community working together to solve remaining issues in Drupal 8. It will be great tool changing clear water of CMS world. I am looking forward to trying it in my first client project.</p>
</description>
<pubDate>Tue, 11 Aug 2015 00:00:00 +0200</pubDate>
<link>http://miromichalicka.com/2015/08/11/drupalaton-2015/</link>
<guid isPermaLink="true">http://miromichalicka.com/2015/08/11/drupalaton-2015/</guid>
</item>
</channel>
</rss>