<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:og="http://ogp.me/ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:schema="http://schema.org/" xmlns:sioc="http://rdfs.org/sioc/ns#" xmlns:sioct="http://rdfs.org/sioc/types#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" version="2.0" xml:base="https://ddd23.drupalcamp.at/">
  <channel>
    <title>PHP</title>
    <link>https://ddd23.drupalcamp.at/</link>
    <description/>
    <language>en</language>
    
    <item>
  <title>Entities explained</title>
  <link>https://ddd23.drupalcamp.at/entities-explained</link>
  <description>
&lt;span&gt;Entities explained&lt;/span&gt;

  &lt;div class="field field--name-field-r field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Room&lt;/div&gt;
              &lt;div class="field__item"&gt;&lt;a href="https://ddd23.drupalcamp.at/session-room/hs13-2nd-floor" hreflang="en"&gt;HS13 (2nd floor)&lt;/a&gt;&lt;/div&gt;
          &lt;/div&gt;

&lt;span&gt;&lt;a title="View user profile." href="https://ddd23.drupalcamp.at/user/berdir" lang about="https://ddd23.drupalcamp.at/user/berdir" typeof="schema:Person" property="schema:name" datatype&gt;Berdir&lt;/a&gt;&lt;/span&gt;

&lt;span&gt;&lt;time datetime="2023-05-15T08:22:37+02:00" title="Monday, May 15, 2023 - 08:22"&gt;Mon, 05/15/2023 - 08:22&lt;/time&gt;
&lt;/span&gt;

  &lt;div class="field field--name-field-time-slot field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Time Slot&lt;/div&gt;
              &lt;div class="field__item"&gt;&lt;a href="https://ddd23.drupalcamp.at/session-time-slot/wed-510pm-540pm-71923" hreflang="en"&gt;Wed 5:10pm to 5:40pm (7/19/23)&lt;/a&gt;&lt;/div&gt;
          &lt;/div&gt;

  &lt;div class="field field--name-field-session-length field--type-list-integer field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Session length&lt;/div&gt;
              &lt;div class="field__item"&gt;Long session - 45min, including Q&amp;amp;A&lt;/div&gt;
          &lt;/div&gt;

  &lt;div class="field field--name-field-audience field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Audience&lt;/div&gt;
              &lt;div class="field__item"&gt;Intermediate&lt;/div&gt;
          &lt;/div&gt;

  &lt;div class="field field--name-field-session-category field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Session Category&lt;/div&gt;
              &lt;div class="field__item"&gt;Backend Development&lt;/div&gt;
          &lt;/div&gt;

            &lt;div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"&gt;&lt;p&gt;Covering most important aspects of working with entities. From basic CRUD, working with entity fields, revisions, translations, entity templates in PHP and twig as well as some deep dives into inner workings of Content Entities. And finally, room for the questions you always wanted to ask an entity system maintainer.&lt;/p&gt;&lt;p&gt;The session will focus on content entities and working with existing entity types, defining a new entity type from scratch will not be covered.&lt;/p&gt;&lt;p&gt;Topics (Non-final):&lt;/p&gt;&lt;ul&gt;&lt;li&gt;What is an entity&lt;/li&gt;&lt;li&gt;Basic concepts: entity types, config vs content entities, bundles, fields, ...&lt;/li&gt;&lt;li&gt;Create/Read/Update/Delete&lt;/li&gt;&lt;li&gt;Fields: Field types, formatters, widgets, Typed data&lt;/li&gt;&lt;li&gt;Rendering entities: View displays, entity render arrays and templates&lt;/li&gt;&lt;li&gt;Revisions, Content moderation&lt;/li&gt;&lt;li&gt;Translations&lt;/li&gt;&lt;li&gt;Storage&lt;/li&gt;&lt;li&gt;Bundle classes&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Level of expertise: The goal is that everyone will have a better understanding than before and learn some new bits, if you're new to Drupal you might not immediately follow everything but the presentation will also work as a reference to come back to later.&lt;/p&gt;&lt;p&gt;I've given the same presentation before at Drupal MountainCamp 2022: https://drupalmountaincamp.ch/sessions/entities-explained.&lt;/p&gt;&lt;/div&gt;
      
  &lt;div class="field field--name-field-speakers field--type-entity-reference field--label-above"&gt;
    &lt;div class="field__label"&gt;Speaker(s)&lt;/div&gt;
          &lt;div class="field__items"&gt;
              &lt;div class="field__item"&gt;&lt;div typeof="schema:Person" about="https://ddd23.drupalcamp.at/user/berdir"&gt;
  
            &lt;div class="field field--name-user-picture field--type-image field--label-hidden field__item"&gt;  &lt;a href="https://ddd23.drupalcamp.at/user/berdir" hreflang="en"&gt;&lt;img loading="lazy" src="https://ddd23.drupalcamp.at/sites/default/files/styles/medium/public/pictures/2023-05/p3171078.jpg?h=29dfbb7b&amp;amp;itok=k-Sm8NYM" width="220" height="220" alt="Profile picture for user Berdir" typeof="foaf:Image"&gt;

&lt;/a&gt;
&lt;/div&gt;
      
  &lt;h4&gt;Sascha Grossenbacher&lt;/h4&gt;
      &lt;div class="user__position"&gt;  MD Systems&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
              &lt;/div&gt;
      &lt;/div&gt;

  &lt;div class="text-content clearfix field field--name-field-speaker-biography field--type-text-long field--label-above"&gt;
    &lt;div class="field__label"&gt;Speaker biography&lt;/div&gt;
              &lt;div class="field__item"&gt;&lt;p&gt;&lt;strong&gt;Sascha Grossenbacher&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Entity system maintainer, 15 years of Drupal contribution experience.&lt;/p&gt;&lt;/div&gt;
          &lt;/div&gt;

  &lt;div class="field field--name-field-session-keywords field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Session Keywords&lt;/div&gt;
          &lt;div class="field__items"&gt;
              &lt;div class="field__item"&gt;&lt;a href="https://ddd23.drupalcamp.at/taxonomy/term/27" hreflang="en"&gt;Back End Development&lt;/a&gt;&lt;/div&gt;
          &lt;div class="field__item"&gt;&lt;a href="https://ddd23.drupalcamp.at/taxonomy/term/28" hreflang="en"&gt;PHP&lt;/a&gt;&lt;/div&gt;
              &lt;/div&gt;
      &lt;/div&gt;
</description>
  <pubDate>Mon, 15 May 2023 06:22:37 +0000</pubDate>
    <dc:creator>Berdir</dc:creator>
    <guid isPermaLink="false">93 at https://ddd23.drupalcamp.at</guid>
    </item>
<item>
  <title>The Depths of Paragraphs</title>
  <link>https://ddd23.drupalcamp.at/depths-paragraphs</link>
  <description>
&lt;span&gt;The Depths of Paragraphs&lt;/span&gt;

  &lt;div class="field field--name-field-r field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Room&lt;/div&gt;
              &lt;div class="field__item"&gt;&lt;a href="https://ddd23.drupalcamp.at/session-room/hs4-ground-level" hreflang="en"&gt;HS4 (Ground level)&lt;/a&gt;&lt;/div&gt;
          &lt;/div&gt;

&lt;span&gt;&lt;a title="View user profile." href="https://ddd23.drupalcamp.at/user/pivica" lang about="https://ddd23.drupalcamp.at/user/pivica" typeof="schema:Person" property="schema:name" datatype&gt;pivica&lt;/a&gt;&lt;/span&gt;

&lt;span&gt;&lt;time datetime="2023-05-14T16:08:22+02:00" title="Sunday, May 14, 2023 - 16:08"&gt;Sun, 05/14/2023 - 16:08&lt;/time&gt;
&lt;/span&gt;

  &lt;div class="field field--name-field-time-slot field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Time Slot&lt;/div&gt;
              &lt;div class="field__item"&gt;&lt;a href="https://ddd23.drupalcamp.at/session-time-slot/fri-300pm-345pm-72123" hreflang="en"&gt;Fri 3:00pm to 3:45pm (7/21/23)&lt;/a&gt;&lt;/div&gt;
          &lt;/div&gt;

  &lt;div class="field field--name-field-session-length field--type-list-integer field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Session length&lt;/div&gt;
              &lt;div class="field__item"&gt;Long session - 45min, including Q&amp;amp;A&lt;/div&gt;
          &lt;/div&gt;

  &lt;div class="field field--name-field-audience field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Audience&lt;/div&gt;
              &lt;div class="field__item"&gt;All Attendees&lt;/div&gt;
          &lt;/div&gt;

  &lt;div class="field field--name-field-session-category field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Session Category&lt;/div&gt;
              &lt;div class="field__item"&gt;Backend Development&lt;/div&gt;
          &lt;/div&gt;

            &lt;div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"&gt;&lt;p dir="ltr"&gt;Most people see&amp;nbsp;&lt;a href="https://www.drupal.org/project/paragraphs"&gt;Paragraphs&lt;/a&gt; as a very popular module for powerful content creation. Usually site admins will use paragraphs to create complex content units for building complex pages (by composing various Drupal fields in independent content units). However, from Drupal 8 release paragraphs are much more than that. New version of paragraphs brings some awesome new features like new form widget and library support. Additionally companion&amp;nbsp;&lt;a href="https://www.drupal.org/project/paragraphs_collection"&gt;paragraphs_collection&lt;/a&gt; contrib module adds features like:&lt;/p&gt;&lt;ul&gt;&lt;li dir="ltr"&gt;Style plugin system for paragraphs&lt;/li&gt;&lt;li dir="ltr"&gt;Layout plugin system for paragraphs&lt;/li&gt;&lt;li dir="ltr"&gt;Lockable plugin for paragraphs&lt;/li&gt;&lt;li dir="ltr"&gt;Language visibility plugin for paragraphs&lt;/li&gt;&lt;/ul&gt;&lt;p dir="ltr"&gt;All this makes paragraphs a complete system for not only creating content but also managing its look (style), layout (grid, etc) and other content behaviour.&lt;/p&gt;&lt;p dir="ltr"&gt;In this session we will show you how to set up your paragraphs with styles and layouts and also show you how easy it is to develop your own custom paragraph styles and layouts.&lt;br&gt;Furthermore we will show you the latest work that went into making Paragraphs compatible with Drupal 10 and the new Claro admin theme.&amp;nbsp;&lt;/p&gt;&lt;p dir="ltr"&gt;All this should allow you to develop internal styles and layouts that you can reuse across your projects. Hopefully we will bring you closer to all advanced paragraph options with this session so you can start using it in your next project.&lt;/p&gt;&lt;/div&gt;
      
  &lt;div class="field field--name-field-speakers field--type-entity-reference field--label-above"&gt;
    &lt;div class="field__label"&gt;Speaker(s)&lt;/div&gt;
          &lt;div class="field__items"&gt;
              &lt;div class="field__item"&gt;&lt;div typeof="schema:Person" about="https://ddd23.drupalcamp.at/user/pivica"&gt;
  
            &lt;div class="field field--name-user-picture field--type-image field--label-hidden field__item"&gt;  &lt;a href="https://ddd23.drupalcamp.at/user/pivica" hreflang="en"&gt;&lt;img loading="lazy" src="https://ddd23.drupalcamp.at/sites/default/files/styles/medium/public/pictures/2023-05/Ivica-Puljic-cropped.jpg?h=038a9462&amp;amp;itok=rIn-NX2V" width="220" height="220" alt="Profile picture for user pivica" typeof="foaf:Image"&gt;

&lt;/a&gt;
&lt;/div&gt;
      
  &lt;h4&gt;Ivica Puljic&lt;/h4&gt;
      &lt;div class="user__position"&gt;Senior frontend developer at MD Systems&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
              &lt;/div&gt;
      &lt;/div&gt;

  &lt;div class="text-content clearfix field field--name-field-speaker-biography field--type-text-long field--label-above"&gt;
    &lt;div class="field__label"&gt;Speaker biography&lt;/div&gt;
              &lt;div class="field__item"&gt;&lt;p&gt;As a seasoned Drupal developer with expertise in both frontend and backend development, I am contributing to and maintaining a number of Drupal contrib modules. My interests extend beyond Drupal to encompass all aspects of web development, particularly in the areas of component-oriented design, website development, UI/UX, and applied machine learning. Alongside my technical skills, I also possess a strong foundation in project and team management, as well as product and business development.&lt;/p&gt;&lt;/div&gt;
          &lt;/div&gt;

  &lt;div class="field field--name-field-session-keywords field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Session Keywords&lt;/div&gt;
          &lt;div class="field__items"&gt;
              &lt;div class="field__item"&gt;&lt;a href="https://ddd23.drupalcamp.at/taxonomy/term/27" hreflang="en"&gt;Back End Development&lt;/a&gt;&lt;/div&gt;
          &lt;div class="field__item"&gt;&lt;a href="https://ddd23.drupalcamp.at/taxonomy/term/28" hreflang="en"&gt;PHP&lt;/a&gt;&lt;/div&gt;
          &lt;div class="field__item"&gt;&lt;a href="https://ddd23.drupalcamp.at/taxonomy/term/33" hreflang="en"&gt;Drupal Site-Building&lt;/a&gt;&lt;/div&gt;
              &lt;/div&gt;
      &lt;/div&gt;
</description>
  <pubDate>Sun, 14 May 2023 14:08:22 +0000</pubDate>
    <dc:creator>pivica</dc:creator>
    <guid isPermaLink="false">90 at https://ddd23.drupalcamp.at</guid>
    </item>
<item>
  <title>Should migrate be our goto for migrations? </title>
  <link>https://ddd23.drupalcamp.at/should-migrate-be-our-goto-migrations</link>
  <description>
&lt;span&gt;Should migrate be our goto for migrations? &lt;/span&gt;

  &lt;div class="field field--name-field-r field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Room&lt;/div&gt;
              &lt;div class="field__item"&gt;&lt;a href="https://ddd23.drupalcamp.at/session-room/hs4-ground-level" hreflang="en"&gt;HS4 (Ground level)&lt;/a&gt;&lt;/div&gt;
          &lt;/div&gt;

&lt;span&gt;&lt;a title="View user profile." href="https://ddd23.drupalcamp.at/user/curried" lang about="https://ddd23.drupalcamp.at/user/curried" typeof="schema:Person" property="schema:name" datatype&gt;Curried&lt;/a&gt;&lt;/span&gt;

&lt;span&gt;&lt;time datetime="2023-04-03T11:11:46+02:00" title="Monday, April 3, 2023 - 11:11"&gt;Mon, 04/03/2023 - 11:11&lt;/time&gt;
&lt;/span&gt;

  &lt;div class="field field--name-field-time-slot field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Time Slot&lt;/div&gt;
              &lt;div class="field__item"&gt;&lt;a href="https://ddd23.drupalcamp.at/session-time-slot/thu-200pm-245pm-72023" hreflang="en"&gt;Thu 2:00pm to 2:45pm (7/20/23)&lt;/a&gt;&lt;/div&gt;
          &lt;/div&gt;

  &lt;div class="field field--name-field-session-length field--type-list-integer field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Session length&lt;/div&gt;
              &lt;div class="field__item"&gt;Long session - 45min, including Q&amp;amp;A&lt;/div&gt;
          &lt;/div&gt;

  &lt;div class="field field--name-field-audience field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Audience&lt;/div&gt;
              &lt;div class="field__item"&gt;All Attendees&lt;/div&gt;
          &lt;/div&gt;

  &lt;div class="field field--name-field-session-category field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Session Category&lt;/div&gt;
              &lt;div class="field__item"&gt;Backend Development&lt;/div&gt;
          &lt;/div&gt;

            &lt;div class="text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item"&gt;&lt;p&gt;It seems to be considered a worthwhile APP redesign, it must recover data from the old platform. Sometimes it is as simple as saying &lt;em&gt;"A goes into A, B goes into B&lt;/em&gt;". Other times it is "&lt;em&gt;A goes into A if X happens, but if Y happens it goes into B. B goes into C but only if Z happens"&lt;/em&gt;.&amp;nbsp;&lt;/p&gt;&lt;p&gt;On a daily basis, I have not migrated much data, but projects in which those processes took place were not the easiest ones. In order to further develop, I will provide you with two experiences.&amp;nbsp;&lt;/p&gt;&lt;p&gt;For my first experience, we had almost 150 &lt;em&gt;&lt;strong&gt;domains&lt;/strong&gt;&lt;/em&gt; to migrate from a Drupal 7 to a Drupal 8 and around 20000 &lt;em&gt;nodes&lt;/em&gt; and 3000 &lt;em&gt;blocks&lt;/em&gt;. Following the feature’s needs and the time given, we chose &lt;em&gt;Micro Site&lt;/em&gt; to replace &lt;em&gt;Domains&lt;/em&gt; and all the blocks were transformed into &lt;em&gt;paragraphs&lt;/em&gt;. What this means is that we were in a big case of “&lt;em&gt;A goes into A if X happens, but if Y happens it goes into B. B goes into C but only if Z happens&lt;/em&gt;”. Almost every content had a condition for it to be migrated in one way or another.&lt;/p&gt;&lt;p&gt;As for my second experience, we migrated a &lt;em&gt;Spring&lt;/em&gt; application to &lt;em&gt;Drupal&lt;/em&gt;. It is of the utmost importance to know that &lt;em&gt;Spring&lt;/em&gt; uses &lt;em&gt;Neo4J&lt;/em&gt;, a graph type database, and our Drupal was using &lt;em&gt;PostgreSQL&lt;/em&gt;. For this second use case, we chose to use &lt;em&gt;Open Social&lt;/em&gt; and &lt;em&gt;Groups&lt;/em&gt;. This time, I knew what we should do and what we should not do. But no one really knew neither what had already been implemented nor how it worked.&amp;nbsp;&lt;/p&gt;&lt;p&gt;In the end and in both cases, I discovered that usually the problems that occur during the process are the same. For that, the following questions come to my mind:&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;When must we be concerned about migration mapping? I&lt;/em&gt;n what stage of the project? Do we know the old platform? Do we have access to it? Can we and should we use Migrate?&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;I encountered projects in which those questions or their possible answers came too late several times.&amp;nbsp;&lt;/p&gt;&lt;p&gt;I would like to end this talk by exposing the conclusions that I have recollected not only from my work experience, but also from my field colleagues. For example: how to try to integrate the migration as soon as possible or how to try to simplify your life with Migrate if the data is too complex.&amp;nbsp;&lt;/p&gt;&lt;p&gt;I hope my experience will bring a new point of view to what you already know and that it can be a moment of sharing!&amp;nbsp;&lt;/p&gt;&lt;/div&gt;
      
  &lt;div class="field field--name-field-speakers field--type-entity-reference field--label-above"&gt;
    &lt;div class="field__label"&gt;Speaker(s)&lt;/div&gt;
          &lt;div class="field__items"&gt;
              &lt;div class="field__item"&gt;&lt;div typeof="schema:Person" about="https://ddd23.drupalcamp.at/user/curried"&gt;
  
            &lt;div class="field field--name-user-picture field--type-image field--label-hidden field__item"&gt;  &lt;a href="https://ddd23.drupalcamp.at/user/curried" hreflang="en"&gt;&lt;img loading="lazy" src="https://ddd23.drupalcamp.at/sites/default/files/styles/medium/public/pictures/2023-04/IMG_20221016_113315.jpg?h=cb81b3a2&amp;amp;itok=3kydReCR" width="220" height="220" alt="Profile picture for user Curried" typeof="foaf:Image"&gt;

&lt;/a&gt;
&lt;/div&gt;
      
  &lt;h4&gt;Nerea Enrique&lt;/h4&gt;
      &lt;div class="user__position"&gt;  ekino&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
              &lt;/div&gt;
      &lt;/div&gt;

  &lt;div class="text-content clearfix field field--name-field-speaker-biography field--type-text-long field--label-above"&gt;
    &lt;div class="field__label"&gt;Speaker biography&lt;/div&gt;
              &lt;div class="field__item"&gt;&lt;p&gt;PHP engineer since 2018. Loves PHP, PHP events, hiking and especially art..&lt;/p&gt;&lt;/div&gt;
          &lt;/div&gt;

  &lt;div class="field field--name-field-session-keywords field--type-entity-reference field--label-inline clearfix"&gt;
    &lt;div class="field__label"&gt;Session Keywords&lt;/div&gt;
          &lt;div class="field__items"&gt;
              &lt;div class="field__item"&gt;&lt;a href="https://ddd23.drupalcamp.at/taxonomy/term/41" hreflang="en"&gt;App-Development&lt;/a&gt;&lt;/div&gt;
          &lt;div class="field__item"&gt;&lt;a href="https://ddd23.drupalcamp.at/taxonomy/term/27" hreflang="en"&gt;Back End Development&lt;/a&gt;&lt;/div&gt;
          &lt;div class="field__item"&gt;&lt;a href="https://ddd23.drupalcamp.at/taxonomy/term/28" hreflang="en"&gt;PHP&lt;/a&gt;&lt;/div&gt;
              &lt;/div&gt;
      &lt;/div&gt;
</description>
  <pubDate>Mon, 03 Apr 2023 09:11:46 +0000</pubDate>
    <dc:creator>Curried</dc:creator>
    <guid isPermaLink="false">39 at https://ddd23.drupalcamp.at</guid>
    </item>

  </channel>
</rss>
