We will be looking over code examples and ways to install Code Sniffer into a code editor. Some understanding around writing code and configuring your code editor is welcome, but not required.
Many developers in Drupal and also generally in development, feel that as long as something works we should leave it as it is. Wrong.
Everybody wants to create reusable code, but no one wants to reuse code. Coding standards are one of the many steps towards that goal. They might seem irrelevant, but they are very much an important tool to have in your repertoire.
I'll be looking at various aspects and examples of coding standards that have been prepared and set for Drupal 8, why are they there and why are they important. If you want to contribute to Drupal, develop projects on Drupal or just write some plain code, you should be following these, for your and everyone else's sake.
We will also take a look at what can you do straight away to improve the quality and readability of your code by installing and using tools such as Code Sniffer.
With the powerful web APIs it has become relatively easy to create decoupled applications with Drupal 8 as a backend. A number of lighthouse applications have been created and powerful demo systems and starterkits such as 'Reservoir' und 'Contenta' have emerged.
Usually decoupled applications are used to display content, but editing of content still takes place in the backend.
However, technologies like React can perfectly be used to create a great editorial experience. Given the powerful REST APIs of Drupal a decoupled editing system can easily be integrated.
In a recent project we have created a decoupled application with React, that allows for editing content directly in the frontend. Using the possibiliteis of React to the fullest, we have created an modern editorial experience with 'in-place' editing, 'context-sensitive' editing, 'drag-n-drop' content placement and creation, and much more.
In this session we will present the application and our vision of what an enterprise level editorial experience should look like.
Besides the niceness of the application, we also discuss the challenges we encountered and our planned future development.
The main takeaways of this session will be, what to expect when going fully decoupled with an editorial experience and how this approach fits into the development of Drupal.
Droopler distribution - How can you save even 100 man-days during development of a new website with Drupal
In this presentation, I will show you why Dries was not right when he said: "you need a budget of over ten thousand dollars if you need drupal8". I will show you how to build a website for your company or your event in one day with a Droopler distribution.
I will tell you about what the distribution offers and will show you examples of it in use in a live demo. I would also like to present to you how you can save even 100 man-days during the development of a new website with Droopler.
During this session you will find out:
- what modules we have in this distribution
- what paragraphs Droopler can offer to build your new page fast
- how simple it is to build a new landing page with Droopler in a live demo
- what ideas we have for the future functionalities of Droopler
About the speaker
Over 7 years experience with Drupal. Co-organizer of DrupalCamp Poland and Drupal Day Workshops in Poland. Presented this session at Drupal Unconference in Manchester.
Let's understand What are the Benefits of Using a Component-Based approach in the different framework. Using web component gives us feature like
- Reusability of components in the development
- Component-based UI Approach Accelerates Development
- Easily Integrates into the Development process and can be shared as a library
In current time we are building everything component based like either we use react, angular or Vue js. Every framework allows us to build components and which can also be reused and can be available anywhere we need it.
Web components is not something new it came with a polymer like how to create custom build components and then all latest framework inheriting all those principles of web components.
- How components are defined in Angular, React, Vue, Web-Components
- How we are managing components in a different framework.
- How components communicate in react, angular.
- Commonality and differences in their approaches
- How to reuse components between these frameworks
- How to standardize component designs
- creating components and publish it as a library
- How to write web components in different framework
- How to make a component library and publish it.
Any experience with, or willing to use the Design Systems or Patterns/Component Libraries.
Everyone talks today about how to implement Frontend Components. But once you know how to implement them you most likely need to reuse them between projects, or at least between different instances within one project. And here is where this talk could help you.
This session is less about implementing the particular components and more about architecture of components as a system. In other words, we will talk about how to reuse, customize, maintain them and balance in between.
Part I: Concepts:
- Separation of concerns (aka MVC): data, styling, functionality.
- Inheritance and multiple inheritance.
- Data interfaces and contracts.
- Reusability vs Flexibility vs Maintainability.
Part II: Techniques:
- Maintain separate components and manage their dependencies (eg: Yarn Workspaces, git submodules).
- Control components in a declarative way and w/o js (eg: data- attrs).
- Provide components with data and build all together (eg: Twig includes).
- Integrate components with Drupal or other CMS.
- Organize components in Fractal or other pattern library.
Part III: Workshop/demos:
- Basic component.
- Carousel: Generic, Custom by style, Custom by behavior.
- Gallery: Generic, Custom by style, Custom by behavior.
- Modal: Generic, Custom by style, Custom by behavior.
- Compound: Carousel+Gallery, Gallery+Modal, Timeline (Carousel+Gallery+Custom).
However these techniques can be applied for almost ANY project disregarding its size and frontend/backend frameworks.