Extending eZ Platform 2.x with Symfony and ReactPiotr Nalepa
eZ Platform v2 is out and the UI has been fully redeveloped using Symfony as well as libraries such as React. You'll learn to quickly and simply extend eZ Platform's UI to fit your needs and add your own features to the platform. This session will go through the major extension points in the application and how to integrate your code—be it Twig-based classic web pages or with more modern and more interactive React.js code.
We’ll also explain what had changed in the technology stack of eZ Platform 2.x and why.
Extending eZ Platform v2 with Symfony and ReacteZ Systems
Presented by eZ’s Piotr Nalepa and Maciej Kobus
eZ Platform v2 is out and the UI has been fully redeveloped using Symfony as well as libraries such as React. You'll learn to quickly and simply extend eZ Platform's UI to fit your needs and add your own features to the platform. This session will go through the major extension points in the application and how to integrate your code—be it Twig-based classic web pages or with more modern and more interactive React.js code.
We’ll also explain what had changed in the technology stack of eZ Platform 2.x and why.
Learn how to build RESTful API using Node JS with Express Js Framework. Database used is Mongo DB (Mongoose Library). Learn Step by step what is Node JS, Express, API and Mongo DB. Explain and sample code step to build RESTful API
Extending eZ Platform 2.x with Symfony and ReactPiotr Nalepa
eZ Platform v2 is out and the UI has been fully redeveloped using Symfony as well as libraries such as React. You'll learn to quickly and simply extend eZ Platform's UI to fit your needs and add your own features to the platform. This session will go through the major extension points in the application and how to integrate your code—be it Twig-based classic web pages or with more modern and more interactive React.js code.
We’ll also explain what had changed in the technology stack of eZ Platform 2.x and why.
Extending eZ Platform v2 with Symfony and ReacteZ Systems
Presented by eZ’s Piotr Nalepa and Maciej Kobus
eZ Platform v2 is out and the UI has been fully redeveloped using Symfony as well as libraries such as React. You'll learn to quickly and simply extend eZ Platform's UI to fit your needs and add your own features to the platform. This session will go through the major extension points in the application and how to integrate your code—be it Twig-based classic web pages or with more modern and more interactive React.js code.
We’ll also explain what had changed in the technology stack of eZ Platform 2.x and why.
Learn how to build RESTful API using Node JS with Express Js Framework. Database used is Mongo DB (Mongoose Library). Learn Step by step what is Node JS, Express, API and Mongo DB. Explain and sample code step to build RESTful API
SenchaCon 2016: How to Auto Generate a Back-end in Minutes - Per Minborg, Emi...Sencha
Connecting your JavaScript application to a database is tedious. Back-end developers spend hours modeling the database, securing connections, writing SQL, optimizing queries, deploying to a server, and fixing bugs. In this session, you'll learn how Ext Speeder gives your front-end team a tool to automatically generate a full back-end. In minutes, a REST API between a Sencha Ext JS Grid application and a relational database is created. This will save you a huge amount of time and also minimizes the risk of human error. Application time-to-market has never been shorter.
This presentation shall address the web2py web framework, my favorite way to develop web apps.
web2py is a free, open-source web framework for agile development of secure database-driven web applications; it is written in Python and programmable in Python. web2py is a full-stack framework, meaning that it contains all the components you need to build fully functional web applications.
Ease of use is the primary goal for web2py. For us, this means reducing the learning and deployment time. This is why web2py is a full-stack framework without dependencies. It requires no installation and has no configuration files. Everything works out of the box, including a web server, database and a web-based IDE that gives access to all the main features.
I will show you why web2py can make you more productive by bringing the result of a reflection over the best ideas of the most popular MVC based web frameworks enforcing the best practices for a fast, scalable and secure web application with minimal effort. There will be a live demo where you can get a faster grasp on how does it work and how fun it can be.
For more: www.web2py.com
Sencha Roadshow 2017: Modernizing the Ext JS Class System and ToolingSencha
JavaScript is advancing and ES2015 (formerly ES6) is the foundation of its future. Sencha is committed to delivering cutting-edge technology for your applications, and supporting the evolution of JavaScript is a central part of that commitment. The expansive feature set of ES2015 formally enables coding paradigms: modules to better organize your code, classes to cleanly declare reusable units of functionality, and so much more. In this session, you'll see how Ext JS is embracing these new language and toolset features, and how they will expand your development horizons.
With a very low barrier to entry, developing with WordPress has become particularly popular in the past few years. However, this sometimes means that standards and best practices aren’t well respected.
This talk will cover WordPress coding standards, best practices, and technical tools to become a better developer. This will be a resourceful presentation for anyone beginning, interested in, and those who have been developing with WordPress for a long time. Some of the topics covered will be proper usage of hooks and filters, creating your own plugins (instead of always using that functions.php), making use of the mu-plugins folder, how to properly escape and sanitize user-generated content, security gotchas and more.
The talk is geared at beginning developers as much as it is for advanced developers. Basic php knowledge is strongly recommended, though not required.
Custom Post Types in Depth at WordCamp MontrealJoey Kudish
Since WordPress 3.0 added Custom Post Types, WordPress has become a truly powerful and extensible Content Management System for any need. In this talk we’ll review the what, why and how of custom post types. If you’ve been meaning to learn beyond the basics of Custom Post Types, now is the time!
Starting with what CPTs are and how they’re used, we’ll explain how to register/create them as well as how make them most of them in your themes and plugins. We’ll discuss the Custom Post Types API as well as its shortcomings, and consider various UI-based CPT plugins and their pros and cons as well other innovative approaches. Custom Post Types are the future of WordPress, don’t miss out!
Basic knowledge of WordPress coding standards & PHP. HTML/CSS helpful but not required.
About Colin and Joachim
Co-founder of stresslimit, Colin has consulted on, architected and developed CMS platforms, intranets, applications and websites of all shapes & sizes for over a decade. Having watched the WordPress project be born, grow & develop, he now champions the simplicity and extensibility of the world’s most popular blogging (and now CMS) platform. Follow @stresslimit on Twitter.
Joachim created his first website at the age of 11. Ever since, he’s been passionate about all things web and has given himself the technical know-how to develop websites. In 2008, he tried out WordPress, and fell in love with the platform, and is happy to have seen it grow to where it is today. Referred to as the “WordPress guru” in the office, Joachim is now one of the lead developers at stresslimit, as well as a WordPress freelance developer. Follow @jkudish on Twitter.
Utiliser Webpack dans une application SymfonyAlain Hippolyte
Depuis la version 2.8 de Symfony, Assetic le gestionnaire d'assets PHP n'est plus inclus par défaut dans la Standard Edition. Du coup, se pose la question, faut-il encore l'utiliser ? Quels sont les alternatives qui s'offrent à nous ?
Au cours de cette présentation, je vous présenterai l'outil Webpack, qui permet de packager nos assets via une configuration. Étape par étape, nous verrons comment migrer une application Symfony utilisant Assetic vers une application Symfony avec Webpack, du dev à la production.
DSpace UI Prototype Challenge: Spring Boot + ThymeleafTim Donohue
Presentation of my user interface prototype (#1) using Spring Boot + Thymeleaf for the DSpace UI Prototype Challenge:
https://wiki.duraspace.org/display/DSPACE/DSpace+UI+Prototype+Challenge
NOTE: As this was just a prototype/proof-of-concept there are NO GUARANTEES that this work will become a new User interface.
Extending Studio - Piotr Nalepa & Kamil Musiał - Presentation at eZ Conferenc...eZ Systems
Piotr Nalepa, Senior UI Developer at eZ Systems, and Kamil Musiał, PHP Symfony Developer at eZ Systems spoke at eZ Conference 2017 about Extending eZ Studio. In this presentation Piotr and Kamil, discuss the latest capabilities of Studio and how you can extend and customize it. From building your own layout and landing page blocks to creating rich form elements and integrating it with your own applications.
Every time we generate an Angular app with schematics it contains a set of Angular builders that can be used out of the box. By the time your application grows you will need a set of tasks that can automate processes such as generate the documentation, deploy an image on docker, or deploy the app on a k8s cluster. These tasks can be executed as Angular custom builders. This talk will show you how to create a custom Angular builder step by step with an overview of what is a monorepo and its benefits. At the end of the talk, we will be able to run our custom builder by running the command ng run my-app:custom-builder
SenchaCon 2016: How to Auto Generate a Back-end in Minutes - Per Minborg, Emi...Sencha
Connecting your JavaScript application to a database is tedious. Back-end developers spend hours modeling the database, securing connections, writing SQL, optimizing queries, deploying to a server, and fixing bugs. In this session, you'll learn how Ext Speeder gives your front-end team a tool to automatically generate a full back-end. In minutes, a REST API between a Sencha Ext JS Grid application and a relational database is created. This will save you a huge amount of time and also minimizes the risk of human error. Application time-to-market has never been shorter.
This presentation shall address the web2py web framework, my favorite way to develop web apps.
web2py is a free, open-source web framework for agile development of secure database-driven web applications; it is written in Python and programmable in Python. web2py is a full-stack framework, meaning that it contains all the components you need to build fully functional web applications.
Ease of use is the primary goal for web2py. For us, this means reducing the learning and deployment time. This is why web2py is a full-stack framework without dependencies. It requires no installation and has no configuration files. Everything works out of the box, including a web server, database and a web-based IDE that gives access to all the main features.
I will show you why web2py can make you more productive by bringing the result of a reflection over the best ideas of the most popular MVC based web frameworks enforcing the best practices for a fast, scalable and secure web application with minimal effort. There will be a live demo where you can get a faster grasp on how does it work and how fun it can be.
For more: www.web2py.com
Sencha Roadshow 2017: Modernizing the Ext JS Class System and ToolingSencha
JavaScript is advancing and ES2015 (formerly ES6) is the foundation of its future. Sencha is committed to delivering cutting-edge technology for your applications, and supporting the evolution of JavaScript is a central part of that commitment. The expansive feature set of ES2015 formally enables coding paradigms: modules to better organize your code, classes to cleanly declare reusable units of functionality, and so much more. In this session, you'll see how Ext JS is embracing these new language and toolset features, and how they will expand your development horizons.
With a very low barrier to entry, developing with WordPress has become particularly popular in the past few years. However, this sometimes means that standards and best practices aren’t well respected.
This talk will cover WordPress coding standards, best practices, and technical tools to become a better developer. This will be a resourceful presentation for anyone beginning, interested in, and those who have been developing with WordPress for a long time. Some of the topics covered will be proper usage of hooks and filters, creating your own plugins (instead of always using that functions.php), making use of the mu-plugins folder, how to properly escape and sanitize user-generated content, security gotchas and more.
The talk is geared at beginning developers as much as it is for advanced developers. Basic php knowledge is strongly recommended, though not required.
Custom Post Types in Depth at WordCamp MontrealJoey Kudish
Since WordPress 3.0 added Custom Post Types, WordPress has become a truly powerful and extensible Content Management System for any need. In this talk we’ll review the what, why and how of custom post types. If you’ve been meaning to learn beyond the basics of Custom Post Types, now is the time!
Starting with what CPTs are and how they’re used, we’ll explain how to register/create them as well as how make them most of them in your themes and plugins. We’ll discuss the Custom Post Types API as well as its shortcomings, and consider various UI-based CPT plugins and their pros and cons as well other innovative approaches. Custom Post Types are the future of WordPress, don’t miss out!
Basic knowledge of WordPress coding standards & PHP. HTML/CSS helpful but not required.
About Colin and Joachim
Co-founder of stresslimit, Colin has consulted on, architected and developed CMS platforms, intranets, applications and websites of all shapes & sizes for over a decade. Having watched the WordPress project be born, grow & develop, he now champions the simplicity and extensibility of the world’s most popular blogging (and now CMS) platform. Follow @stresslimit on Twitter.
Joachim created his first website at the age of 11. Ever since, he’s been passionate about all things web and has given himself the technical know-how to develop websites. In 2008, he tried out WordPress, and fell in love with the platform, and is happy to have seen it grow to where it is today. Referred to as the “WordPress guru” in the office, Joachim is now one of the lead developers at stresslimit, as well as a WordPress freelance developer. Follow @jkudish on Twitter.
Utiliser Webpack dans une application SymfonyAlain Hippolyte
Depuis la version 2.8 de Symfony, Assetic le gestionnaire d'assets PHP n'est plus inclus par défaut dans la Standard Edition. Du coup, se pose la question, faut-il encore l'utiliser ? Quels sont les alternatives qui s'offrent à nous ?
Au cours de cette présentation, je vous présenterai l'outil Webpack, qui permet de packager nos assets via une configuration. Étape par étape, nous verrons comment migrer une application Symfony utilisant Assetic vers une application Symfony avec Webpack, du dev à la production.
DSpace UI Prototype Challenge: Spring Boot + ThymeleafTim Donohue
Presentation of my user interface prototype (#1) using Spring Boot + Thymeleaf for the DSpace UI Prototype Challenge:
https://wiki.duraspace.org/display/DSPACE/DSpace+UI+Prototype+Challenge
NOTE: As this was just a prototype/proof-of-concept there are NO GUARANTEES that this work will become a new User interface.
Extending Studio - Piotr Nalepa & Kamil Musiał - Presentation at eZ Conferenc...eZ Systems
Piotr Nalepa, Senior UI Developer at eZ Systems, and Kamil Musiał, PHP Symfony Developer at eZ Systems spoke at eZ Conference 2017 about Extending eZ Studio. In this presentation Piotr and Kamil, discuss the latest capabilities of Studio and how you can extend and customize it. From building your own layout and landing page blocks to creating rich form elements and integrating it with your own applications.
Every time we generate an Angular app with schematics it contains a set of Angular builders that can be used out of the box. By the time your application grows you will need a set of tasks that can automate processes such as generate the documentation, deploy an image on docker, or deploy the app on a k8s cluster. These tasks can be executed as Angular custom builders. This talk will show you how to create a custom Angular builder step by step with an overview of what is a monorepo and its benefits. At the end of the talk, we will be able to run our custom builder by running the command ng run my-app:custom-builder
coServ will officially turn to release 1.0 soon. This presentation previews what are the new and important features of coServ 1.0. Its clean, simple concepts make web development extremely easy and "enjoyable".
An interactive Liferay (DXP) 7 Tech Meet up was codified by Azilen Technologies on 18th March, 2017 at Ahmedabad Management Association.
Those who have missed the direct confrontation can explore few of the knowledge elements here in the Presentation.
Visual Studio 2008 provides advanced development tools, debugging features, database functionality, and innovative features for quickly creating tomorrow’s cutting-edge applications across a variety of
platforms.
Custom gutenberg block development with ReactImran Sayed
Learn how to build custom Gutenberg blocks in WordPress.
Git repo: https://github.com/imranhsayed/custom-blocks
YouTube Video:
https://youtu.be/U4sfx7vN0Iw?list=PLD8nQCAhR3tSijB-KSc26ZiYYz3Lts4HD
Learn how to develop custom Gutenberg blocks using ESNext .
The important parts of the front end development sphere including CSS3, advanced JavaScript, libraries such as jQuery, RequireJS and Promises. And finally, chrome developer tools for successful debugging and editing.
Slides of my session at DanNotes on the use of Bootstrap with XPages, including using the Bootstrap4XPages plugin.
View the demos at http://bootstrap4xpages.com
A Microsoft Silverlight User Group Starter Kit Made Available for Everyone to...DataLeader.io
PLEASE DOWNLOAD DECK SO THE ANIMATIONS WORK PROPERLY.
David Silverlight & Kim Schmidt presented this to the Phoenix Silverlight User Group prior to the Silverlight 4 release. The first slide has music, click it. It's the Black Eyed Peas singing "Let's Get it Started!"
The "Silverlight User Group Starter Kit" shown in the presentation was created by these rockstar developers: Kim Schmidt, David Silverlight, Victor Gaudioso, Cigdem Patlak, Colin Blair, John O'Keefe, Al Pascual, Jose Luis Latorre Millas, Edu Couchez, Caleb Jenkins, David Kelley, & Ariel Leroux. It's a fully-functional out-of-the-box user group site to customize.
Some functionality:
1. MVVM-based architecture
2. Streaming live presentations
3. Making use of OOB functionality
4. Remote interaction
5. RIA Services
6. Print & Webcam: Webcam takes picture, puts it on an entry badge you can print to be admitted to the meeting & can print the directions to the meeting
7. Login/Registration
8. Live Chat: ask questions of the presenter or selected person
9. Leave feedback
Architecture:
1. Microsoft Silverlight 4
2. Microsoft Expression Blend 4
3. RIA Services
4. Entity Framework
5. MVVM using SimpleMVVM
6. SQL Server Express
7. Membership using standard .NET Membership Provider
Registration Page: User Info, About You, Your Social Networks
Demo 1: Authentication & Social Networking
Demo 2: MVVM, RIA Services, & Print Event Pass
Demo 3: Video & Webcam Support
BLOOPERS AT THE END!
Building Framework Agnostic UI with Web ComponentsPiotr Nalepa
Nowadays many web apps are built with a selected library/framework like ReactJS, Angular, VueJS, etc. It makes your code bound tighly to a specific approach presented by a selected tool. What if you could develop parts of code that can be easily re-used in any place of Web, no matter the framework or library laying underneath it? I'll provide information how to develop web apps based on that approach so you'll keep your components library framework/library agnostic.
Prezentacja dla osób, które chciałyby zacząć swoją przygodę z testowaniem kodu JS. W prezentacji omówiłem podejście do testowania oraz przekazałem informację jakich narzędzi można użyć w testowaniu kodu oraz pokazałem jak wyglądają szablony testów oraz scenariusze testowe
Developing native-like Windows application using JavaScript, SSE, eZ Platform...Piotr Nalepa
The presentation is in Polish, but you can get the most important pieces of information form the code in the slides.
W prezentacji omówiłem sposób tworzenia aplikacji Windows z wykorzystaniem języka JavaScript, systemu CMS eZ Platform oraz narzędzia Electron udostępnionego przez Githuba. Aplikacja korzysta z powiadomień typu push i do tego celu wykorzystuję SSE - Server Sent Events.
Perfomance w Joomla - Jak przyspieszyć działanie strony?Piotr Nalepa
Prezentacja z JoomlaDay 2014 w Polsce wygłoszona przeze mnie - Piotr Nalepa. W prezentacji omówiłem sposoby na uzyskanie wysokiego wyniku w Google PageSpeed oraz sposób na skrócenie czasu ładowania strony do 1 sekundy.
ZOSTAŃ NINJA JOOMLA! DEVELOPEREM Automatyzacja zadań w procesie tworzenia sza...Piotr Nalepa
Prezentacja na temat automatyzacji zadań w procesie tworzenia stron opartych na Joomla! W prezentacji zostały przedstaiwone sposoby automatyzacji w oparciu o Grunt.js oraz zostały pokrótce omówione możliwości tego rozszerzenia. Prezentacja była przedstawiana na JUG Silesia w dniu 14-go grudnia 2013, w Katowicach.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
4. What is eZ Platform EE?
eZ Platform EE is the extended version
of eZ Platform containing:
• The Studio,
• Flex Workflow,
• Form Builder,
• Date Based Publishing,
• Recommendation Engine.
5. The Studio - features
Using the Studio you can:
• Preview live website,
• Create landing pages using blocks,
• Manage landing pages,
• Schedule content display,
• Build forms.
13. Date Based Publishing – CRON config
Using ezsystems-cron bundle:
date_based_published.cron.publish_scheduled:
class: '%date_based_published.cron.publish_scheduled.class%'
tags:
- { name: console.command }
- { name: ezpublish.cron.job, schedule: '* * * * *' }
Changes publication status based on a publication date in CRON job.
16. Adding new landing page blocks 1/2
To create new blocks you have to:
• Configure blocks definitions by implementing PHP classes,
• Or, use the YAML configuration (the newest thing!).
18. Create block in PHP - BlockType class
• implements interface:
EzSystemsLandingPageFieldTypeBundleFieldTypeLandingPageM
odelBlockType
or
• extend abstract boilerplate:
EzSystemsLandingPageFieldTypeBundleFieldTypeLandingPageM
odelAbstractBlockType
19. Create block in PHP - BlockType class
Methods to implement:
• getTemplateParameters(BlockValue $blockValue): array,
• createBlockDefinition(): BlockDefinition,
• checkAttributesStructure(array $attributes)
20. Create block in PHP - BlockType class
getTemplateParameters(BlockValue $blockValue): array
• contains logic,
• return values for view
21. Create block in PHP - BlockType class
createBlockDefinition(): BlockDefinition()
Returns a definition containing block parameters and array of its attributes:
EzSystemsLandingPageFieldTypeBundleFieldTypeLandingPageDe
finitionBlockDefinition
22. Create block in PHP - BlockType class
BlockAttributeDefinition
Block form contains fields based on attribute type.
Available types:
• integer,
• string,
• text,
• embed,
• select (supports multiple select)
Developer can create new attribute types - look at DemoBundle
23. Create block in PHP - BlockType class
public function createBlockDefinition()
{
return new BlockDefinition(
'ezblock', // Block type (unique)
'eZ Block', // Name of block
'default', // Block category (currently unsupported)
'ezblock.svg', // icon for thumbnail
[], // extra views that can be hardcoded
[
new BlockAttributeDefinition(
'text_field', // Attribute's ID (unique)
'Text field', // Attribute' name
'text', // Attribute's type
'/[^s]/', // regex for frontend validation
'Sample content', // regex validation fail message
true, // is field required?
false, // should this attribute input be displayed inline to the
previous?
[], // default value
[] // available options (for select)
),
]
);
}
24. Create block in PHP - BlockType class
checkAttributesStructure(array $attributes)
• advanced attribute validation (after front end validation) - 3rd party APIs, DB calls
etc.
• throws exception for invalid attributes:
EzSystemsLandingPageFieldTypeBundleExceptionInvalidBlockAttributeExcep
tion
25. Create block in YAML - Twig - no changes
(ezblock.html.twig)
{{ text_field }}
26. Create block in YAML - Config
Extended Simplified
blocks:
ezblock:
initialize: true
name: ezblock
category: default
thumbnail: ezblock.svg
views:
default:
template:
ezblock.html.twig
name: Default view
attributes:
text_field:
name: Text Field
type: text
regex: /.*/
regexErrorMessage: 'error'
blocks:
ezblock:
initialize: true
thumbnail: ezblock.svg
views: ezblock.html.twig
attributes:
text_field: text
32. The communication between JS app layers
• From the bottom to top: addTarget() when creating a new view instance,
• Invoke the fire() method to send an event up to services,
• Using callbacks
33. Adding new landing page blocks 2/2
To implement custom UI for new blocks you have to (in JavaScript):
• Create a plugin that adds new blocks definitions to landing page creator/editor,
• Create custom views for each new kind of blocks,
• Create custom config popups for each new kind of blocks.
34. Creating a JS plugin to add new block definition
Y.my.Plugin.AddEzBlockView = Y.Base.create('addEzBlockViewPlugin',
Y.Plugin.Base, [], {
initializer: function () {
this.get('host').addBlock('ezblock', Y.my.EzBlockView);
},
}, {
NS: 'addEzBlockViewPlugin'
});
Y.eZ.PluginRegistry.registerPlugin(Y.my.Plugin.AddEzBlockView, [
'landingPageCreatorView',
'dynamicLandingPageCreatorView',
'dynamicLandingPageEditorView'
]);
36. Creating a block config popup JS view
Y.my.EzBlockConfigFormView = Y.Base.create('myEzBlockConfigFormView',
Y.eZS.BlockPopupFormView, [], {
anyKindOfMagicMethod: function () {}
});
37. Adding new fields to Form Builder
To add new fields custom UI to Form Builder you have to (in JavaScript):
• Create a plugin that adds new fields definitions to the Form Builder,
• Create custom views for each new kind of fields,
• Create custom config form for each new kind of fields.
38. Creating a JS plugin to add new field definition
Y.my.Plugin.AddCustomFieldView =
Y.Base.create('addCustomFieldViewPlugin', Y.Plugin.Base, [], {
initializer: function () {
this.get('host').addFormFieldViewsMapItem('customField',
Y.my.CustomFieldView);
},
}, {
NS: 'addCustomFieldViewPlugin'
});
Y.eZ.PluginRegistry.registerPlugin(Y.my.Plugin.AddCustomFieldView,
['fbFieldsTabView']);
39. Creating a form builder field JS view
Y.my.CustomFormFieldView = Y.Base.create('customFormFieldView',
Y.fb.BaseFormFieldView, [], {
}, {
ATTRS: {
type: {
value: 'custom'
},
configForm: {
valueFn: function () {
return new Y.my.CustomFormFieldConfigFormView({
bubbleTargets: this,
viewModel: this.get('model')
});
}
},
}
});
40. Creating a form builder field config form JS view
Y.my.CustomFormFieldConfigFormView =
Y.Base.create('myCustomFormFieldConfigFormView',
Y.fb.FormFieldConfigFormView, [], {
anyKindOfMagicMethod: function () {}
});