This document provides an introduction and overview of jQuery. It discusses why jQuery is useful, unobtrusive JavaScript, fundamental jQuery elements and concepts like selectors and the jQuery wrapper. It also covers more advanced topics like query chains, advanced selectors, the document ready handler, extending jQuery, and using jQuery with other libraries. The document is intended to teach the basics of jQuery and how it can be used to select and manipulate elements on an HTML page.
Con la versione 7 di Drupal è stato introdotto il concetto di Entity, poi evoluto con la versione 8, utilizzato come base di buona parte degli elementi core (nodi, tassonomie, utenti, ...), ma - soprattutto - è stata data la possibilità di costruire entity custom. L'utilizzo di queste apre le possibilità di personalizzazione dello strumento ad un livello superiore velocizzando notevolmente lo sviluppo.
Verranno mostrate le potenzialità nell'uso delle Entity custom e le integrazioni possibili.
Accessing Data Through Hibernate; What DBAs Should Tell Developers and Vice V...Marco Tusa
Hibernate is an object-relational mapping tool that allows developers to access and manage relational database data using object-oriented programming. It maps database tables to Java classes and rows to objects. The document discusses how Hibernate works, how it interacts with databases like MySQL, and what developers and DBAs need to know to effectively use Hibernate for data access and management while optimizing database performance.
How to write bad code in redux (ReactNext 2018)500Tech
We've been using Redux since it just started, and we learned a lot from dozens of projects, big and small.
This is a taste of a collection of tools and best practices that work great for us.
The document provides an overview and agenda for a React.js training covering key concepts like components, state, props, lifecycle methods, and hooks. It also discusses React rendering, JSX syntax, and the use of Redux for application state management. The training covers React core concepts in the first half and introduces Redux and hooks in the second half, ending with a discussion of popular React libraries and tools.
What are windows object? Are global variable some way part of window object? What are window timer methods? What is the difference in setTimeOut and SetInterval? Which is better? Things which we all should know before using `setTimeout` and `setInterval`.
If you have all these question then you are at right place :)
#kiprosh
This presentation will introduce AJAX in Grails through the GrailsUI plugin. We'll start with the core concepts behind the plugin and give examples of the most widely used and interesting widgets GrailsUI
provides.
Some examples will include methods of interacting with the widgets and handling events. We will also talk about how to provide proper JSON data to the widgets from the server.
The document discusses using the CGI::Prototype framework to manage the complexity of web application flow by defining states as namespaces and handling each part of the request-response process in a modular way. It provides an overview of how CGI::Prototype handles the flow through subclasses that represent each state, and allows changing behavior through accessors and templates. Flexibility comes from being able to change actions and templates without changing any code.
Going with style: Themes and apps for Magento GoX.commerce
Magento Go, our SaaS solution, provides merchants with capabilities to customize their stores with different themes and to integrate applications for valuable functionality. We will provide examples of the best methods and approaches for customizing storefronts with different themes and layouts, as well as how to integrate apps into Magento Go stores.
The document discusses why object-oriented jQuery code should be avoided. It recommends using an event-driven approach instead, where components trigger events to communicate rather than calling methods directly. This fits more cleanly with asynchronous requirements and how users typically interact with elements like autocompleters. The document provides an example of building tab functionality in an event-driven way by binding to click and keypress events that trigger a tabactivate event.
The document discusses dependency injection (DI) in Magento. It describes the traditional "pull" approach used in Magento where classes directly instantiate dependencies, leading to tightly coupled code. It then introduces the "push" approach using a DI container, where dependencies are injected into classes rather than pulled, reducing coupling. It provides examples of how Magento's object manager implements DI to improve testability and flexibility of classes.
ONE MORE TIME ABOUT CODE STANDARDS AND BEST PRACTICESDrupalCamp Kyiv
In agile world when requirements changes faster than tasks got "done" status, we forced to make fast solutions that will work here and now. Being under pressure and in strict dead lines it easy to ignore code standards, "drupal way", and best practices that could be found in top Drupal sites. Tools and tips to keep your code clean.
https://drupalcampkyiv.org/node/37
Most developers have some experience with jQuery, but few of them understand the principles of Javascript and how to write and debug Javascript code. This presentation will cover best practices for writing object oriented Javascript, benchmarking, and debugging.
"Android Data Binding в массы" Михаил АнохинFwdays
Рассмотрим что это такое, как работает, какие возможности предоставляет библиотека, как обрабатываются события внутри бибилиотеки и фрагменты кода сгенерированные для биндингов.
Также узнаем как добавить библиотеку в проект и на практических примерах оценим ее достоинства и недостатки при использовании в проекте.
Доклад включает в себя рассмотрение ключевых особенностей библиотеки. Также описывает обработку событий внутри библиотеки и в сформированных биндингах.
Дополнительно рассматривается создание собственных компонентов, расширяющих возможности элементов интерфейса, и в конце будет уделено отдельное внимание реализации двустороннего биндинга.
This document discusses various jQuery secrets including:
1. Utilities for saving and removing state from DOM elements using jQuery.data() and jQuery.removeData().
2. Hidden events like getData, setData, and changeData that are emitted when data is read, set, or changed on an element.
3. Extending jQuery with custom functions, properties, and AJAX shortcuts.
4. Binding custom events and namespaces, self-defined animation speeds, and extending jQuery plugins.
The document discusses dependency injection and inversion of control principles in PHP applications. It provides examples of using global variables, Zend Registry, and Zend Application to manage dependencies. It also summarizes various PHP dependency injection containers and how they can be used to configure services and their dependencies. The document advocates designing applications with loose coupling, separation of concerns, and configuring via configuration files rather than code for improved maintainability.
The document discusses Vaadin's data model and JPAContainer component. It describes how the data model uses properties, items, and containers to bind user interface components to data. JPAContainer allows connecting Vaadin components directly to persistent model objects stored in a database using the Java Persistence API. It provides examples of using JPAContainer with a sample address book application to display and edit data from a database in tables and forms.
Would you like to make your Android UI code cleaner and more reactive? Android data binding can help. In this talk you’ll learn everything you need to know about data binding, including why it’s so powerful and how to use it effectively. If you haven’t tried data binding in the past, that’s okay! We’ll start with the basics, assuming no prior knowledge and slowly move into more advanced topics, such as 2-way binding, binding adapters, converters, best practices and common pitfalls to avoid.
Drupal node access system & AUL 7.x.-2.x.
Topic was presented at Drupal-Austria Vienna Meetup May 2014.
http://www.meetup.com/Drupal-Austria/events/181216712/
JQuery is a JavaScript library that allows developers to easily manipulate HTML, CSS, and events. A JQuery plugin extends JQuery's functionality by adding new methods to its prototype object. Plugins provide reusable code and save development time. A plugin consists of a function, options, callbacks, and the ability to chain methods. The 'this' keyword refers to DOM elements or JQuery objects depending on the context.
The document discusses ViewModels and testing in Android development. It explains that ViewModels allow data to survive configuration changes and provide data for UI components. ViewModels can help avoid memory leaks, solve lifecycle challenges, and share data between fragments. The document also discusses how to write unit tests for Presenters and ViewModels using tools like Mockito to verify behavior and data values. It emphasizes that testing is important for documentation and allowing safe refactoring of code.
This document discusses using Hibernate ORM for object-relational mapping in Java. It describes what ORM is and how Hibernate provides a mapping specification to define associations between objects and database tables. The mapping is defined declaratively in XML and Hibernate supports generation of database schemas and Java POJOs from these mappings. Examples are provided of common association types like one-to-one, one-to-many, and many-to-many defined between mapped classes. Bidirectional and unidirectional mappings are demonstrated. The conclusions emphasize that the mapping specification defines the semantics of associations and allows modeling in a declarative way that Hibernate can use for code generation tasks.
The document discusses handling cookies and sessions in Flask. It shows how to check for a cookie, set cookies, and access cookie values. It also demonstrates how to get and set values in the session, such as the user ID. The document defines two database models - the User model with a relationship to Message, and the Message model with a foreign key reference to User. It also shows decorators for request handling.
This document provides examples of using various sqlsrv PHP functions including sqlsrv_begin_transaction(), sqlsrv_cancel(), sqlsrv_client_info(), sqlsrv_close(), and sqlsrv_commit(). The examples show connecting to a SQL Server database, executing queries within transactions, retrieving client information, closing connections, and committing or rolling back transactions based on query results.
Backbone.js is a JavaScript framework that aims to solve issues with messy JavaScript code by implementing an MVC pattern and object-oriented principles, providing structure through core concepts like Models for data storage, Collections for grouping Models, and Views for rendering display logic, as well as a Router for navigation. It is lightweight at only 6kb and supports RESTful JSON APIs and event-driven programming.
This document shows how to set up a Flask application with SQLAlchemy to create a database with a Message model and table. It includes code to install Flask-SQLAlchemy, define the Message model class, create the database, add a message, and query for messages. It also demonstrates using Werkzeug to hash and check passwords when authenticating users.
This document discusses using Gravity Forms in WordPress and provides resources for additional information. It describes checking a database table and form validation, adding a default field value using a filter, and dynamically changing the notification email recipient. Links are included to the Gravity Forms documentation, download page, and plugins for custom post types and CSS styling.
This document provides an overview of the basic components and new features of Zend Framework 2. Some key points include:
- ZF2 was started in 2010 and is currently in beta with regular releases following a "Gmail-style" cycle. It is developed on GitHub without a CLA.
- ZF2 aims to provide a modern, fast web framework that solves problems with ZF1 by being more flexible, improving performance, and utilizing PHP 5.3 features.
- New components include a modular system where each module solves a specific problem, and an event manager for aspect-oriented programming and attaching listeners to application events.
Going with style: Themes and apps for Magento GoX.commerce
Magento Go, our SaaS solution, provides merchants with capabilities to customize their stores with different themes and to integrate applications for valuable functionality. We will provide examples of the best methods and approaches for customizing storefronts with different themes and layouts, as well as how to integrate apps into Magento Go stores.
The document discusses why object-oriented jQuery code should be avoided. It recommends using an event-driven approach instead, where components trigger events to communicate rather than calling methods directly. This fits more cleanly with asynchronous requirements and how users typically interact with elements like autocompleters. The document provides an example of building tab functionality in an event-driven way by binding to click and keypress events that trigger a tabactivate event.
The document discusses dependency injection (DI) in Magento. It describes the traditional "pull" approach used in Magento where classes directly instantiate dependencies, leading to tightly coupled code. It then introduces the "push" approach using a DI container, where dependencies are injected into classes rather than pulled, reducing coupling. It provides examples of how Magento's object manager implements DI to improve testability and flexibility of classes.
ONE MORE TIME ABOUT CODE STANDARDS AND BEST PRACTICESDrupalCamp Kyiv
In agile world when requirements changes faster than tasks got "done" status, we forced to make fast solutions that will work here and now. Being under pressure and in strict dead lines it easy to ignore code standards, "drupal way", and best practices that could be found in top Drupal sites. Tools and tips to keep your code clean.
https://drupalcampkyiv.org/node/37
Most developers have some experience with jQuery, but few of them understand the principles of Javascript and how to write and debug Javascript code. This presentation will cover best practices for writing object oriented Javascript, benchmarking, and debugging.
"Android Data Binding в массы" Михаил АнохинFwdays
Рассмотрим что это такое, как работает, какие возможности предоставляет библиотека, как обрабатываются события внутри бибилиотеки и фрагменты кода сгенерированные для биндингов.
Также узнаем как добавить библиотеку в проект и на практических примерах оценим ее достоинства и недостатки при использовании в проекте.
Доклад включает в себя рассмотрение ключевых особенностей библиотеки. Также описывает обработку событий внутри библиотеки и в сформированных биндингах.
Дополнительно рассматривается создание собственных компонентов, расширяющих возможности элементов интерфейса, и в конце будет уделено отдельное внимание реализации двустороннего биндинга.
This document discusses various jQuery secrets including:
1. Utilities for saving and removing state from DOM elements using jQuery.data() and jQuery.removeData().
2. Hidden events like getData, setData, and changeData that are emitted when data is read, set, or changed on an element.
3. Extending jQuery with custom functions, properties, and AJAX shortcuts.
4. Binding custom events and namespaces, self-defined animation speeds, and extending jQuery plugins.
The document discusses dependency injection and inversion of control principles in PHP applications. It provides examples of using global variables, Zend Registry, and Zend Application to manage dependencies. It also summarizes various PHP dependency injection containers and how they can be used to configure services and their dependencies. The document advocates designing applications with loose coupling, separation of concerns, and configuring via configuration files rather than code for improved maintainability.
The document discusses Vaadin's data model and JPAContainer component. It describes how the data model uses properties, items, and containers to bind user interface components to data. JPAContainer allows connecting Vaadin components directly to persistent model objects stored in a database using the Java Persistence API. It provides examples of using JPAContainer with a sample address book application to display and edit data from a database in tables and forms.
Would you like to make your Android UI code cleaner and more reactive? Android data binding can help. In this talk you’ll learn everything you need to know about data binding, including why it’s so powerful and how to use it effectively. If you haven’t tried data binding in the past, that’s okay! We’ll start with the basics, assuming no prior knowledge and slowly move into more advanced topics, such as 2-way binding, binding adapters, converters, best practices and common pitfalls to avoid.
Drupal node access system & AUL 7.x.-2.x.
Topic was presented at Drupal-Austria Vienna Meetup May 2014.
http://www.meetup.com/Drupal-Austria/events/181216712/
JQuery is a JavaScript library that allows developers to easily manipulate HTML, CSS, and events. A JQuery plugin extends JQuery's functionality by adding new methods to its prototype object. Plugins provide reusable code and save development time. A plugin consists of a function, options, callbacks, and the ability to chain methods. The 'this' keyword refers to DOM elements or JQuery objects depending on the context.
The document discusses ViewModels and testing in Android development. It explains that ViewModels allow data to survive configuration changes and provide data for UI components. ViewModels can help avoid memory leaks, solve lifecycle challenges, and share data between fragments. The document also discusses how to write unit tests for Presenters and ViewModels using tools like Mockito to verify behavior and data values. It emphasizes that testing is important for documentation and allowing safe refactoring of code.
This document discusses using Hibernate ORM for object-relational mapping in Java. It describes what ORM is and how Hibernate provides a mapping specification to define associations between objects and database tables. The mapping is defined declaratively in XML and Hibernate supports generation of database schemas and Java POJOs from these mappings. Examples are provided of common association types like one-to-one, one-to-many, and many-to-many defined between mapped classes. Bidirectional and unidirectional mappings are demonstrated. The conclusions emphasize that the mapping specification defines the semantics of associations and allows modeling in a declarative way that Hibernate can use for code generation tasks.
The document discusses handling cookies and sessions in Flask. It shows how to check for a cookie, set cookies, and access cookie values. It also demonstrates how to get and set values in the session, such as the user ID. The document defines two database models - the User model with a relationship to Message, and the Message model with a foreign key reference to User. It also shows decorators for request handling.
This document provides examples of using various sqlsrv PHP functions including sqlsrv_begin_transaction(), sqlsrv_cancel(), sqlsrv_client_info(), sqlsrv_close(), and sqlsrv_commit(). The examples show connecting to a SQL Server database, executing queries within transactions, retrieving client information, closing connections, and committing or rolling back transactions based on query results.
Backbone.js is a JavaScript framework that aims to solve issues with messy JavaScript code by implementing an MVC pattern and object-oriented principles, providing structure through core concepts like Models for data storage, Collections for grouping Models, and Views for rendering display logic, as well as a Router for navigation. It is lightweight at only 6kb and supports RESTful JSON APIs and event-driven programming.
This document shows how to set up a Flask application with SQLAlchemy to create a database with a Message model and table. It includes code to install Flask-SQLAlchemy, define the Message model class, create the database, add a message, and query for messages. It also demonstrates using Werkzeug to hash and check passwords when authenticating users.
This document discusses using Gravity Forms in WordPress and provides resources for additional information. It describes checking a database table and form validation, adding a default field value using a filter, and dynamically changing the notification email recipient. Links are included to the Gravity Forms documentation, download page, and plugins for custom post types and CSS styling.
This document provides an overview of the basic components and new features of Zend Framework 2. Some key points include:
- ZF2 was started in 2010 and is currently in beta with regular releases following a "Gmail-style" cycle. It is developed on GitHub without a CLA.
- ZF2 aims to provide a modern, fast web framework that solves problems with ZF1 by being more flexible, improving performance, and utilizing PHP 5.3 features.
- New components include a modular system where each module solves a specific problem, and an event manager for aspect-oriented programming and attaching listeners to application events.
This document provides an overview of key differences between Zend Framework 1 and Zend Framework 2. It discusses changes to namespaces, controllers, services, routing, views, database adapters, forms, and other areas. Code examples are given to illustrate how concepts are implemented in ZF1 versus ZF2, such as using namespaces, dependency injection, and table gateways. The document aims to help ZF1 developers get started with ZF2.
ASP.NET MVC provides separation of concerns, extensibility, and testability compared to other frameworks. However, it has a steeper learning curve and is more complex. Model binding maps form and query string values to model properties. Data annotations provide validation attributes and metadata. Views are rendered using Razor syntax which allows mixing HTML and C# code.
Mike Bartlett and Andrew Newdigate, founders of Gitter, discuss lessons learned building and scaling a realtime web application with the Marionette NY Community.
ASP.NET MVC provides separation of concerns, extensibility, and testability advantages compared to other frameworks. It has a learning curve and is more complex. The MVC pattern uses models to manage data and business logic, views for presentation, and controllers to handle user input and response. Model binding maps user input to model properties using value providers and model binders. Data annotations provide validation attributes. Views are rendered using layouts and can pass data and render partial views. Razor syntax combines HTML and C# code in views. Security concerns include XSS and CSRF prevention.
This talk represents the combined experience from several web development teams who have been using Symfony2 since months already to create high profile production applications. The aim is to give the audience real world advice on how to best leverage Symfony2, the current rough spots and how to work around them. Aside from covering how to implement functionality in Symfony2, this talk will also cover topics such as how to best integrate 3rd party bundles and where to find them as well as how to deploy the code and integrate into the entire server setup.
This document provides an introduction to AngularJS presented by Dmitry Ivashutin. It discusses key concepts like AngularJS being a framework rather than a library, its use of MVC/MVVM patterns, and features like directives, controllers, scopes and dependency injection. Specific directives and recipes for services, factories and providers are demonstrated. The document aims to explain core AngularJS concepts for developers new to the framework.
This document discusses dependency inversion and dependency injection principles in software design. It explains that high-level modules should depend on low-level modules through abstractions rather than concrete implementations. This allows for loose coupling between modules and makes them easier to test and maintain. The document provides examples of dependency injection in PHP code and describes how Laravel's service container implements dependency injection through binding abstractions to concrete classes and resolving dependencies through the container.
This document provides an overview of the Yii framework. It discusses why to use Yii, its main components including MVC, database access, forms and validation. It then covers key aspects of building applications with Yii such as configuration, controllers, models, views and layouts. It also discusses authentication, authorization, query building and Active Record for database access. Overall, the document is an introduction to the main concepts and features in the Yii PHP framework.
This document provides an overview of key concepts for developing applications with Symfony2 including: setting up the framework, code flow, dependency injection, configuration, controllers, applications, Doctrine integration, caching, performance tips, asset management, testing, deployment, third party bundles, and resources for contributing to Symfony2. It discusses service definitions, controller choices, application choices, Doctrine examples, caching strategies, performance optimization techniques, testing approaches, deployment options, and how to work with third party bundles.
Working With The Symfony Admin GeneratorJohn Cleveley
The document provides tips for customizing and extending the symfony admin generator. It discusses using PHP configuration instead of YAML, adding relations between models, translating the admin interface, tidying filters, and displaying timestamp fields as plain text. The key recommendations are to understand requirements before using the generator, customize it to suit workflows, and avoid it becoming a messy catch-all solution.
This document discusses several AngularJS design patterns for dealing with UI complexity, including:
1) Communicating between controllers via services, using either events, getters that return data, or mutating data directly.
2) Modeling complex data using schemas from the adt.js library to avoid null/undefined fields and clearly document the data structure.
3) Managing complex application state and transitions between states using statechart diagrams to explicitly define valid state changes and transitions.
Singletons in PHP - Why they are bad and how you can eliminate them from your...go_oh
While Singletons have become a Pattern-Non-Grata over the years, you still find it surprisingly often in PHP applications and frameworks. This talk will explain what the Singleton pattern is, how it works in PHP and why you should avoid it in your application.
Validation type 'special' in value setsFeras Ahmad
This document describes how to configure a special validation type value set in Oracle to restrict users to limited or conditional value entries. Special value sets allow for dynamic or specific checks through PL/SQL code. The steps provided configure a special value set that can be assigned to forms or concurrent requests to validate user-entered values meet criteria, such as ensuring a date is at least three months prior to the current date.
The document provides an overview of the Yii PHP framework, including its core components and features such as MVC architecture, database access, caching, authentication, theming, logging, error handling, and web services. Key sections summarize the entry script, application, controller, model, view, and component classes that make up the framework. Other sections cover basics like creating an application, working with databases and displaying data, as well as more advanced topics such as caching, URL management, and performance tuning.
The document discusses best practices for writing clean JavaScript code, including avoiding global variables, properly encapsulating variables, and batching DOM operations for performance. It emphasizes using strict comparisons, templating frameworks to help avoid common pitfalls, and following principles like KISS and SRP. Overall it stresses the importance of coding discipline, iterative development, and expressing code in an unambiguous way to facilitate collaboration.
The document discusses the components and utilities of the Backbone.js framework. It describes the key components of Backbone - Models, Collections, Views - and how they work together. Models contain interactive data and bind attributes to the DOM. Collections provide methods to manage ordered sets of models. Views handle templating and user interactions. The document also covers utilities like routing and events that help connect components.
Speed up the site building with Drupal's Bootstrap Layout BuilderDrupalCamp Kyiv
Layout Builder in Drupal 8 and 9 is a game-changer, let's maximize its efficiency with some add-ons modules and learn more about the best practices in using it with atomic design.
Watch the session recording on our Youtube channel: https://www.youtube.com/c/drupalcampkyiv
Performance Monitoring with Google LighthouseDrupalCamp Kyiv
In this session, you will learn how to track down performance and accessibility issues before they get deployed to the server.
Watch the session recording on our Youtube channel: https://www.youtube.com/c/drupalcampkyiv
Oleg Bogut - Decoupled Drupal: how to build stable solution with JSON:API, Re...DrupalCamp Kyiv
This document discusses building a decoupled Drupal site architecture using JSON:API, ReactJS, and Elasticsearch. It defines decoupled Drupal as exposing Drupal data via web services for consumption by other applications. Key points covered include advantages of decoupling like content syndication and frontend developer experience. JSON:API and GraphQL are presented as options for the Drupal API. ReactJS is recommended for building client-side applications. Elasticsearch is proposed for site search. Performance tuning and caching strategies are also addressed.
Acquia BLT for the Win, or How to speed up the project setup, development an...DrupalCamp Kyiv
Nikita Pohrebniak, Imagex
There are so many tools that can help you with every step of the development and deployment process. In this talk, we’ll explain why our company picked Acquia BLT, what it can do for you and how it can be customized to satisfy your needs.
Drupal Virtual Cafe #2, by DrupalCamp Kyiv
https://www.facebook.com/drupalcampkyiv/
The document discusses the growing Internet of Things (IoT) and how Drupal can be used as a platform for IoT applications. It notes that the number of connected devices is expected to grow dramatically by 2025. It then provides examples of how Drupal could be used to power various IoT applications and integrations, including websites, mobile apps, voice assistants, and more. The future of IoT is envisioned to include smart homes, cities, and even a "sensory planet" with many everyday objects becoming connected devices.
Presentation of the Elasticsearch and Drupal integration - the Elasticsearch Connector module and other magic.
https://drupalcampkyiv.org/node/68
WHAT WE LEARNED FROM OPEN SOCIAL IN 3 YEARS, MOVING FROM AN AGENCY TO A PRODU...DrupalCamp Kyiv
This presentation will teach you the things that went well, and the things that did not go well in our journey to move our 20 people Drupal agency from a service company (bill by the hour) to a product SaaS company (bill per product, per month) called Open Social.
We will talk about funding your product, building a product, how to do marketing, sales and business development and how to grow internationally. We hope to discuss some questions as how to work with open-source and SaaS and does it help us or limit us competing with proprietary software vendors.
If you are thinking about building a product on Drupal or building a SaaS company, this is your session!
https://drupalcampkyiv.org/node/54
It is difficult to improve what is not measurable! Profiling an application should always be the first step in trying to improve its performance. With this workshop, learn how to identify performance issues in your application and adopt the best application profiling tools in your daily development habits. This workshop will guide you through the use of PHP profiling tools such as Blackfire.io to help you identify performance leaks.
Overview of the main ways to store data in Drupal 8 depending on data and needs. A detailed description of each way and examples of how to work with storages.
https://drupalcampkyiv.org/node/44
This is when things get real.
Emailing with hours for preparing replies is no more.
Now it’s you and your teammate at the table.
Face-to-face live conversation, with immediate responses on hard topics.
But you can prepare yourself.
There are checklists how to plan 1-1 meeting.
There are tricks on how to act during 1-1 meeting.
We'll discuss those.
Preliminary structure
1. Goals of 1-1 meeting
2. Preparation checklist
3. 1-1 meeting structure
4. Follow-ups
5. Tricks and obstacles: real-life examples (Drupal inclusive)
To whom it may concern
- Team leaders
- HRs
- CxOs
who host and facilitate such meetings.
https://drupalcampkyiv.org/node/49
UX DURING MODULE INSTALLATION AND CONFIGURATIONDrupalCamp Kyiv
I bet everyone in his/her life used OS Windows. There are a lot of opinions on it, but, to be honest, there is one huge advantage it has - installation wizards. Almost every programme that is being installed has some kind of interaction with end user. This gives at least the illusion of control over your system and of course it allows to have already preconfigured first time experience inside application. Some wizards give more options, some less, but it is nice to have it in the first place.
So, let's think about a Drupal user, that wants to install such a complex module like Metatags or Commerce. Although there are a lot of tutorials, documents and other help materials, there is always something that prevents end users from completing this "piece of cake" for developers task on his/her own. But all that he/she needs is only make it possible to add Metatags, let's say of OG type, to content type article.
https://drupalcampkyiv.org/node/57
SWITCHING FROM QA ENGINEER TO PROJECT MANAGER - LEVEL UP OR DOWN?DrupalCamp Kyiv
I’d like to tell my story of career path with practical advice to those who is longing the same dream. Also I’m willing to describe benefits and pitfalls of such changes.
Please see below the approximate plan of my speech:
- Brief statistics data: QAs moved to PMs. Why?
- How to start? Practical advice based on my own experience.
- Cross the Rubicon. When you need to make your decisive step.
- Small tips for stress resistance and time management.
- Negative points of being PM.
- Conclusion.
https://drupalcampkyiv.org/node/51
TECHNOLOGIES-POWERED WEB AND THE POST-BROWSER ERADrupalCamp Kyiv
Digital technologies development has been on a constant rise in the past several years. Technologies such as the blockchain, AR and VR were mere whispers at the beginning of the 21st century. Today, we see these and other technologies all around us thanks to increased computing power and visionary inventors.
How new user experiences and technologies change the way we build the web, such as machine learning, voice assistants, the blockchain, VR and AR. During this session, I would like to look into the technological history starting from the invention of the web up to the looking into the future on how our interaction with technologies will look like and how we’ll build the web in the post-browser era.
https://drupalcampkyiv.org/node/56
PROTECTED CONTENT: END-TO-END PGP ENCRYPTION FOR DRUPALDrupalCamp Kyiv
In this session I wish to explain Protected Content (just released its dev version: https://www.drupal.org/project/proc), the newest Drupal wrapper for OpenPGPjs. Luckly we will see also how to integrate its Exclusive Access Links into a content type.
https://drupalcampkyiv.org/node/83
For several years, we did numerous audits for small to big websites, small agencies and huge corporations, and always faced the same issues. What should you look for when running a website audit? What tools could help you? At which level of disaster you should advice your customer to recode entirely the website?
This session covers a methodology and set of tools to organize efficiently your Drupal websites audits
https://drupalcampkyiv.org/node/73
FROM DISTRO TO CUSTOM - HOW WE CREATE GREAT COMMUNITIES FOR EVERY ORGANIZATIO...DrupalCamp Kyiv
GoalGorilla build with Open Social one of the biggest Distributions in Drupal. This distribution builds the foundation for over 1000 communities world wide. We build ourselfs some big communities for clients like the UN, Greenpeace, the Dutch Government and others. All of this clients have a very specific profile and very specific needs. All of them are from different sectors: From NGOs, to Goverment organizations, Voluntary platforms, learning platforms and much more. As well all of our clients have at core a community the goals of the community and the key features for them to reach those goals are different every time. As much as we can rely on the distribution to cover the basics and a even more, every client is different and most bigger communities needs customizations to make the step from a good to a great community.
With every new client new challenges arise. With this talk I want to share some of the insights we gathered over the last 3 years, talk about how to navigate the pitfalls of customizing a Distribution and show how we fit different platforms to the specific requirements of different clients.
This talk is for:
- Developers who use or want to use Open Social (We will discuss some modules we use and technical choices, but it will not be primarily a technical talk)
- Professionals working with online communities
- Project managers or Designers that need to conceptualize projects that are based on a Distribution
https://drupalcampkyiv.org/node/77
SEARCH API: TIPS AND TRICKS - FROM BEGINNING TO CUSTOM SOLUTIONSDrupalCamp Kyiv
I'm planning to introduce developers with Search API system during the presentation :
- What is Search API and how to deal with it;
- Overview of the most used search backends for Search API;
- What is the difference between Drupal 7 and 8 Search API;
- Faceted and fulltext search and how to use it;
- Tips and tricks regarding customization and extending of Search API / Faceted search.
Level: from Beginners to Middle+
DEVOPS & THE DEATH AND REBIRTH OF CHILDHOOD INNOCENCEDrupalCamp Kyiv
Remember when the internet was pure and unspoiled? In our innocence we saw the promise of renewal of the world through connecting, sharing, and creating online. We became developers and hackers because we wanted to understand how things work, to take them apart, and build quirky (and sometimes useful) things just for the pleasure of it.
In the earliest decades of the Internet Epoch the Internet was a playground. We happily coded directly on production systems. And it was fine, as many Great Things were created. But the Internet has matured, and has now become Big Business. Developers have matured too, and good thing they did! So many people now rely on what we’ve built, for security, for privacy, for the paycheck at the end of the month. We matter.
Maturity has come at a price though, and deploying well tested code into complex applications with polyglot teams working with heterogeneous stacks, all while maintaining compliance with GDPR, HIPAA, PCI, etc. has taken all of the childhood innocence out of the web. Now even the simplest website seems like Hard Work.
In this talk I will show how we can, and should, regain our joyful demeanor, how we can use the maturity of the most innovative tools around us to start hacking like crazy again. Without regressing on agility, testing, compliance, scalability or robustness. I use the metaphor of childhood innocence to explain how the complexity of modern cloud computing, in combination with increasing quality expectations and compliancy, has curtailed the creative freedom of developers, and as a whole, organisational motivation.
Together with a lack of resources and idea time, this leads to lower and slower product innovation. We are, however, at the brink of a paradigm shift in cloud computing that will give developers and hackers their mojo again. This talk will zoom into the key elements of this paradigm shift, and provide an overview of the basic concepts and operational practices of the new age of developer innocence.
https://drupalcampkyiv.org/node/81
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc
Most consumers believe they’re making informed decisions about their personal data—adjusting privacy settings, blocking trackers, and opting out where they can. However, our new research reveals that while awareness is high, taking meaningful action is still lacking. On the corporate side, many organizations report strong policies for managing third-party data and consumer consent yet fall short when it comes to consistency, accountability and transparency.
This session will explore the research findings from TrustArc’s Privacy Pulse Survey, examining consumer attitudes toward personal data collection and practical suggestions for corporate practices around purchasing third-party data.
Attendees will learn:
- Consumer awareness around data brokers and what consumers are doing to limit data collection
- How businesses assess third-party vendors and their consent management operations
- Where business preparedness needs improvement
- What these trends mean for the future of privacy governance and public trust
This discussion is essential for privacy, risk, and compliance professionals who want to ground their strategies in current data and prepare for what’s next in the privacy landscape.
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPathCommunity
Join this UiPath Community Berlin meetup to explore the Orchestrator API, Swagger interface, and the Test Manager API. Learn how to leverage these tools to streamline automation, enhance testing, and integrate more efficiently with UiPath. Perfect for developers, testers, and automation enthusiasts!
📕 Agenda
Welcome & Introductions
Orchestrator API Overview
Exploring the Swagger Interface
Test Manager API Highlights
Streamlining Automation & Testing with APIs (Demo)
Q&A and Open Discussion
Perfect for developers, testers, and automation enthusiasts!
👉 Join our UiPath Community Berlin chapter: https://community.uipath.com/berlin/
This session streamed live on April 29, 2025, 18:00 CET.
Check out all our upcoming UiPath Community sessions at https://community.uipath.com/events/.
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul
Artificial intelligence is changing how businesses operate. Companies are using AI agents to automate tasks, reduce time spent on repetitive work, and focus more on high-value activities. Noah Loul, an AI strategist and entrepreneur, has helped dozens of companies streamline their operations using smart automation. He believes AI agents aren't just tools—they're workers that take on repeatable tasks so your human team can focus on what matters. If you want to reduce time waste and increase output, AI agents are the next move.
HCL Nomad Web – Best Practices and Managing Multiuser Environmentspanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-and-managing-multiuser-environments/
HCL Nomad Web is heralded as the next generation of the HCL Notes client, offering numerous advantages such as eliminating the need for packaging, distribution, and installation. Nomad Web client upgrades will be installed “automatically” in the background. This significantly reduces the administrative footprint compared to traditional HCL Notes clients. However, troubleshooting issues in Nomad Web present unique challenges compared to the Notes client.
Join Christoph and Marc as they demonstrate how to simplify the troubleshooting process in HCL Nomad Web, ensuring a smoother and more efficient user experience.
In this webinar, we will explore effective strategies for diagnosing and resolving common problems in HCL Nomad Web, including
- Accessing the console
- Locating and interpreting log files
- Accessing the data folder within the browser’s cache (using OPFS)
- Understand the difference between single- and multi-user scenarios
- Utilizing Client Clocking
Dev Dives: Automate and orchestrate your processes with UiPath MaestroUiPathCommunity
This session is designed to equip developers with the skills needed to build mission-critical, end-to-end processes that seamlessly orchestrate agents, people, and robots.
📕 Here's what you can expect:
- Modeling: Build end-to-end processes using BPMN.
- Implementing: Integrate agentic tasks, RPA, APIs, and advanced decisioning into processes.
- Operating: Control process instances with rewind, replay, pause, and stop functions.
- Monitoring: Use dashboards and embedded analytics for real-time insights into process instances.
This webinar is a must-attend for developers looking to enhance their agentic automation skills and orchestrate robust, mission-critical processes.
👨🏫 Speaker:
Andrei Vintila, Principal Product Manager @UiPath
This session streamed live on April 29, 2025, 16:00 CET.
Check out all our upcoming Dev Dives sessions at https://community.uipath.com/dev-dives-automation-developer-2025/.
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Impelsys Inc.
Impelsys provided a robust testing solution, leveraging a risk-based and requirement-mapped approach to validate ICU Connect and CritiXpert. A well-defined test suite was developed to assess data communication, clinical data collection, transformation, and visualization across integrated devices.
Technology Trends in 2025: AI and Big Data AnalyticsInData Labs
At InData Labs, we have been keeping an ear to the ground, looking out for AI-enabled digital transformation trends coming our way in 2025. Our report will provide a look into the technology landscape of the future, including:
-Artificial Intelligence Market Overview
-Strategies for AI Adoption in 2025
-Anticipated drivers of AI adoption and transformative technologies
-Benefits of AI and Big data for your business
-Tips on how to prepare your business for innovation
-AI and data privacy: Strategies for securing data privacy in AI models, etc.
Download your free copy nowand implement the key findings to improve your business.
This is the keynote of the Into the Box conference, highlighting the release of the BoxLang JVM language, its key enhancements, and its vision for the future.
Big Data Analytics Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...Alan Dix
Talk at the final event of Data Fusion Dynamics: A Collaborative UK-Saudi Initiative in Cybersecurity and Artificial Intelligence funded by the British Council UK-Saudi Challenge Fund 2024, Cardiff Metropolitan University, 29th April 2025
https://alandix.com/academic/talks/CMet2025-AI-Changes-Everything/
Is AI just another technology, or does it fundamentally change the way we live and think?
Every technology has a direct impact with micro-ethical consequences, some good, some bad. However more profound are the ways in which some technologies reshape the very fabric of society with macro-ethical impacts. The invention of the stirrup revolutionised mounted combat, but as a side effect gave rise to the feudal system, which still shapes politics today. The internal combustion engine offers personal freedom and creates pollution, but has also transformed the nature of urban planning and international trade. When we look at AI the micro-ethical issues, such as bias, are most obvious, but the macro-ethical challenges may be greater.
At a micro-ethical level AI has the potential to deepen social, ethnic and gender bias, issues I have warned about since the early 1990s! It is also being used increasingly on the battlefield. However, it also offers amazing opportunities in health and educations, as the recent Nobel prizes for the developers of AlphaFold illustrate. More radically, the need to encode ethics acts as a mirror to surface essential ethical problems and conflicts.
At the macro-ethical level, by the early 2000s digital technology had already begun to undermine sovereignty (e.g. gambling), market economics (through network effects and emergent monopolies), and the very meaning of money. Modern AI is the child of big data, big computation and ultimately big business, intensifying the inherent tendency of digital technology to concentrate power. AI is already unravelling the fundamentals of the social, political and economic world around us, but this is a world that needs radical reimagining to overcome the global environmental and human challenges that confront us. Our challenge is whether to let the threads fall as they may, or to use them to weave a better future.
TrsLabs - Fintech Product & Business ConsultingTrs Labs
Hybrid Growth Mandate Model with TrsLabs
Strategic Investments, Inorganic Growth, Business Model Pivoting are critical activities that business don't do/change everyday. In cases like this, it may benefit your business to choose a temporary external consultant.
An unbiased plan driven by clearcut deliverables, market dynamics and without the influence of your internal office equations empower business leaders to make right choices.
Getting things done within a budget within a timeframe is key to Growing Business - No matter whether you are a start-up or a big company
Talk to us & Unlock the competitive advantage
How Can I use the AI Hype in my Business Context?Daniel Lehner
𝙄𝙨 𝘼𝙄 𝙟𝙪𝙨𝙩 𝙝𝙮𝙥𝙚? 𝙊𝙧 𝙞𝙨 𝙞𝙩 𝙩𝙝𝙚 𝙜𝙖𝙢𝙚 𝙘𝙝𝙖𝙣𝙜𝙚𝙧 𝙮𝙤𝙪𝙧 𝙗𝙪𝙨𝙞𝙣𝙚𝙨𝙨 𝙣𝙚𝙚𝙙𝙨?
Everyone’s talking about AI but is anyone really using it to create real value?
Most companies want to leverage AI. Few know 𝗵𝗼𝘄.
✅ What exactly should you ask to find real AI opportunities?
✅ Which AI techniques actually fit your business?
✅ Is your data even ready for AI?
If you’re not sure, you’re not alone. This is a condensed version of the slides I presented at a Linkedin webinar for Tecnovy on 28.04.2025.
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveScyllaDB
Want to learn practical tips for designing systems that can scale efficiently without compromising speed?
Join us for a workshop where we’ll address these challenges head-on and explore how to architect low-latency systems using Rust. During this free interactive workshop oriented for developers, engineers, and architects, we’ll cover how Rust’s unique language features and the Tokio async runtime enable high-performance application development.
As you explore key principles of designing low-latency systems with Rust, you will learn how to:
- Create and compile a real-world app with Rust
- Connect the application to ScyllaDB (NoSQL data store)
- Negotiate tradeoffs related to data modeling and querying
- Manage and monitor the database for consistently low latencies
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxJustin Reock
Building 10x Organizations with Modern Productivity Metrics
10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, ‘The Coding War Games.’
Right now, here in early 2025, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience. It seems that with every new method we invent for the delivery of products, whether physical or virtual, we reinvent productivity philosophies to go alongside them.
But which of these approaches actually work? DORA? SPACE? DevEx? What should we invest in and create urgency behind today, so that we don’t find ourselves having the same discussion again in a decade?
AI and Data Privacy in 2025: Global TrendsInData Labs
In this infographic, we explore how businesses can implement effective governance frameworks to address AI data privacy. Understanding it is crucial for developing effective strategies that ensure compliance, safeguard customer trust, and leverage AI responsibly. Equip yourself with insights that can drive informed decision-making and position your organization for success in the future of data privacy.
This infographic contains:
-AI and data privacy: Key findings
-Statistics on AI data privacy in the today’s world
-Tips on how to overcome data privacy challenges
-Benefits of AI data security investments.
Keep up-to-date on how AI is reshaping privacy standards and what this entails for both individuals and organizations.
Artificial Intelligence is providing benefits in many areas of work within the heritage sector, from image analysis, to ideas generation, and new research tools. However, it is more critical than ever for people, with analogue intelligence, to ensure the integrity and ethical use of AI. Including real people can improve the use of AI by identifying potential biases, cross-checking results, refining workflows, and providing contextual relevance to AI-driven results.
News about the impact of AI often paints a rosy picture. In practice, there are many potential pitfalls. This presentation discusses these issues and looks at the role of analogue intelligence and analogue interfaces in providing the best results to our audiences. How do we deal with factually incorrect results? How do we get content generated that better reflects the diversity of our communities? What roles are there for physical, in-person experiences in the digital world?
6. What is "condition"?
● Filled
The dependee has at least one non-empty value
● Touched
The dependee has received focus at least once.
● Focused
The dependee is currently focused.
● Checked
The dependee is a checkbox and is checked.
● Empty
The dependee has an empty value.
● Untouched
The dependee has never received focus.
● Unfocused
The dependee is currently not focused.
● Unchecked
The dependee is a checkbox and is not checked.
This is the condition that dependee should meet to trigger the dependency.
Available options:
● Value: The dependee has a certain value or set of values
6
8. Values input mode
● Widget
Use the actual form widget to insert the desired values.
This is a quick but limited way to set up simple dependencies.
● Regular expression
Use a text field to insert a regular expression.
● All these values (AND)
Use a text area to insert a list of values.
● Any of these values (OR)
Use a text area to insert a list of values.
● Only one of these values (XOR)
Use a text area to insert a list of values.
● None of these values (NOT)
Use a text area to insert a list of values.
8
12. General rules of applying conditions
12
Current state based on Drupal 7
● hook_element_info_alter()
● conditional_fields_element_after_build()
● conditional_fields_attach_dependency()
ToDo for Drupal 8
● Simplify and refactor this.
● Create a separate controller.
14. In the Field API
Each field has a type, which determines what kind of data (integer, string, date, etc.) the
field can hold, which settings it provides, and so on.
The Field Types API also defines two kinds of pluggable handlers: widgets and formatters.
Widgets - in edit forms.
Formatters - in displayed entities.
14
19. Small example
protected function setUp() {
parent::setUp();
$this->fieldSelector = '[name="field_' .
$this->fieldName . '[0][value]"]';
$fieldStorageDefinition = [
'field_name' => 'field_' . $this->fieldName,
'entity_type' => 'node',
'type' => 'text',
'cardinality' => 1,
];
$fieldStorage =
FieldStorageConfig::create($fieldStorageDefinition)
;
$fieldStorage->save();
FieldConfig::create([
'field_name' => 'field_' . $this->fieldName,
'entity_type' => 'node',
'bundle' => 'article',
])->save();
EntityFormDisplay::load('node.article.default')
->setComponent('field_' . $this->fieldName,
['type' => 'text_textfield'])
->save();
}
Create in setUp() function all
that You need for a test: user,
content types, fields and etc.
19
20. Small example
protected function waitUntilVisible(
$selector,
$timeout = 1000,
$message = '')
{
$condition = "jQuery('{$selector}').is(':visible');";
$this->assertJsCondition($condition, $timeout, $message);
}
protected function waitUntilHidden(
$selector,
$timeout = 1000,
$message = '')
{
$condition = "jQuery('{$selector}').is(':hidden');";
$this->assertJsCondition($condition, $timeout, $message);
}
protected function changeField($selector, $value = '')
{
$script =
"jQuery('{$selector}').val('{$value}').trigger('keyup').trigger('change'
);"
$this->getSession()->executeScript($script);
}
Some useful small functions
20
21. Tests need and small example
public function testVisibleValueWidget() {
$this->baseTestSteps();
// Visit a ConditionalFields configuration page for Content bundles.
$this->createCondition('body', 'field_' . $this->fieldName, 'visible', 'value');
// Set up conditions.
$text = $this->getRandomGenerator()->word(8);
$data = [
'[name="condition"]' => 'value',
'[name="values_set"]' => 1,
$this->fieldSelector => $text,
'[name="grouping"]' => 'AND',
'[name="state"]' => 'visible',
'[name="effect"]' => 'show',
];
foreach ($data as $selector => $value) {
$this->changeField($selector, $value);
}
$this->getSession()->wait(1000, '!jQuery.active');
$this->getSession()
->executeScript("jQuery('#conditional-field-edit-form').submit();");
$this->assertSession()->statusCodeEquals(200);
// Check if that configuration is saved.
$this->drupalGet('admin/structure/types/manage/article/conditionals');
$this->assertSession()
->pageTextContains('body ' . 'field_' . $this->fieldName . ' visible
value');
// Visit Article Add form to check that conditions are applied.
$this->drupalGet('node/add/article');
$this->assertSession()->statusCodeEquals(200);
// Check that the field Body is not visible.
$this->waitUntilHidden('.field--name-body', 0, 'Article Body field is
visible');
$this->changeField($this->fieldSelector, $text);
$this->waitUntilVisible('.field--name-body', 50, 'Article Body field is
not visible');
// Change a select value set to hide the body again.
$this->changeField($this->fieldSelector, $text . 'a');
$this->waitUntilHidden('.field--name-body', 50, 'Article Body field is
visible');
}
Remember - just reproduce your steps like a user!
21
22. Plans and further development
● Bug fixing :)
● More refactoring.
● Finish all tests.
● Create new handler plugins if they are needed.
● Create a submodule for applying conditions on entity view display.
● Apply conditions depending on user roles.
● Investigate possibility to extend with “Dynamic dependent fields”.
22