This document introduces FormZ, a TYPO3 extension for building web forms. FormZ provides a modern and powerful API for creating forms with Extbase and Fluid. It allows forms to be configured via TypoScript, includes JavaScript validation, supports multiple languages, and has robust condition systems. Upcoming features will include middlewares for preprocessing form data, multi-step forms, and substeps for instant navigation between steps. FormZ aims to be a full-featured form handler for developers and integrators to create complex forms for TYPO3 websites.
As an integrator, you will learn the basic concepts of EXT:form. Additionally, it will show you how to customize/ configure the most important things of this great TYPO3 v8 core extension ;)
VIM can be a great editor for PHP/Symfony development, after using VIM for many years this talk shows why VIM can be a great alternative for development.
https://github.com/gigo6000/dotfiles
Presented at JoomlaDay Chicago 2019
Of all the features introduced throughout Joomla 3, subforms is the one I rely on most. Subforms are a field type like text, dropdowns, and date pickers. Subforms solve important content issues and significantly improve usability in managing content and settings.
In this presentation I will provide an introduction to subforms, what they can do, and the flex points where we can customize them within our own projects and extensions. Then I will demo and discuss the various ways I have deployed subforms across projects. I’ve come across interesting client needs, and I will illustrate some creative solutions using subforms.
For those of you who are a developer, I will show you how I incorporate subforms into my custom extensions. If you are not a developer, you will be exposed to the potential of subforms and be able to contact me or another custom developer to solve that challenging content problem.
As an integrator, you will learn the basic concepts of EXT:form. Additionally, it will show you how to customize/ configure the most important things of this great TYPO3 v8 core extension ;)
VIM can be a great editor for PHP/Symfony development, after using VIM for many years this talk shows why VIM can be a great alternative for development.
https://github.com/gigo6000/dotfiles
Presented at JoomlaDay Chicago 2019
Of all the features introduced throughout Joomla 3, subforms is the one I rely on most. Subforms are a field type like text, dropdowns, and date pickers. Subforms solve important content issues and significantly improve usability in managing content and settings.
In this presentation I will provide an introduction to subforms, what they can do, and the flex points where we can customize them within our own projects and extensions. Then I will demo and discuss the various ways I have deployed subforms across projects. I’ve come across interesting client needs, and I will illustrate some creative solutions using subforms.
For those of you who are a developer, I will show you how I incorporate subforms into my custom extensions. If you are not a developer, you will be exposed to the potential of subforms and be able to contact me or another custom developer to solve that challenging content problem.
Frankfurt TYPO3 User Group (FTUG) 2017.11.15ManuelSelbach
This are the slides from the Frankfurt TYPO3 Usergroup at SYZYGY in Bad Homburg from 2017.11.15. They will show ext:form, custom form elements and PHP static code listing with PHPStan
Scraping the web with Laravel, Dusk, Docker, and PHPPaul Redmond
Jumpstart your web scraping automation in the cloud with Laravel Dusk, Docker, and friends. We will discuss the types of web scraping tools, the best tools for the job, and how to deal with running selenium in Docker.
Code examples @ https://github.com/paulredmond/scraping-with-laravel-dusk
Twig is the most powerful templating engine in the PHP world that enables us to create highly complex projects with hundreds of multi-level extended templates, thousands of blocks, functions, filters, tests, and macros. It also offers a sandbox, a unique but not a widely used feature that is creating secure user-editable templates. In addition, there are a number of handy built-in and external debugging tools available in the Twig ecosystem to simplify the day-to-day work process for a Twig designer.
In this presentation, I will talk about how extensively we use Twig in a complex open-source e-commerce project.
Presentation by Florian Maul at the Alfresco community meetup in Hamburg on June 5th 2012 about my Javascript Console extension.
Some of the slides are German but the main technical part is in English.
http://alfresco.fme.de
http://www.fme.de
What is the Siemens Open Library, and How it Decreased Development Time for E...DMC, Inc.
Presenter - John Sullivan
Eden Innovations is scaling up its liquid chemical admix production facility and needed to move to a more robust automation system. In an effort to keep costs of the control infrastructure down, it was decided to keep the programming in-house and utilize the freely available Open Library as a base for their control system.
This session will cover the benefits gained and challenges faced utilizing and customizing the Open Library for a bespoke controls system. The system was developed with minimal time investment by an engineer with no previous experience with the Siemens platform. Through customizing the open library, Eden was able to quickly develop a library that utilizes Siemens best practices and provides building blocks for any future development
Flamingo Microservice based E-Commerce / Motivations,Backgrounds, Short Intro...i-love-flamingo
Flamingo is a open source, go based, framework for pluggable web projects.
With flamingo-commerce you can build individual „commerce experience applications“.
This slide explains the thoughts and ideas behind flamingo and gives a short overview of the flamingo ecosystem.
POX to HATEOAS: Our Company's Journey Building a Hypermedia APILuke Stokes
We started FoxyCart.com in 2007 and soon after slapped together some XML and called it an API. As our customer base grew and third-party integrations emerged, the need for a true REST API became a priority. Beginning in 2012, we started researching best practices for modern API development. This talk will tell the story of that research and 10-months of development that followed. You'll get a look at the HAL hypermedia format along with some best practices we came up with for our problem domain of exposing our entire admin interface. We'll cover a lot. You may need a seat belt.
Automate Studio Training: Materials Maintenance Tips for Efficiency and Ease ...Precisely
Ready to improve efficiency, provide easy to use data automations and take materials master (MM) data maintenance to the next level?
Find out how during our Automate Studio training on March 28 – led by Sigrid Kok, Principal Sales Engineer, and Isra Azam, Sales Engineer, at Precisely.
This session’s for you if you want to discover the best approaches for creating, extending or maintaining different types of materials, as well as automating the tricky parts of these processes that slow you down.
Greater control over your Automate Studio business processes means bigger, better results. We’ll show you how to enable your business users to interact with SAP from Microsoft Office and other familiar platforms – resulting in more efficient SAP data management, along with improved data integrity and accuracy.
This 90-minute session will be filled with a variety of topics, including:
real world approaches for creating multiple types of materials, balancing flexibility and power with simplicity and ease of use
tips on material creation, including
downloading the generated material number
using formulas to format prior to upload, such as capitalization or zero padding to make it easy to get the data right the first time
conditionally require fields based on other field entries
using LOV for fields that are free form entry for standard values
tips on modifying alternate units of measure, building from scratch using GUI scripting
modify multiple language descriptions, build from scratch using a standard BAPI
make end-to-end MM process flows more of a reality with features including APIs and predictive AI
Through these topics, you’ll gain plenty of actionable takeaways that you can start implementing right away – including how to:
improve your data integrity and accuracy
make scripts flexible and usable for automation users
seamlessly handle both simple and complex parts of material master
interact with SAP from both business user and script developers’ perspectives
easily upload and download data between SAP and Excel – and how to format the data before upload using simple formulas
You’ll leave this session feeling ready and empowered to save time, boost efficiency, and change the way you work.
Automate Studio reduces your dependency on technical resources to help you create automation scenarios – and our team of experts is here to make sure you get the most out of our solution throughout the journey.
Questions? Sigrid & Isra will be ready to answer them during a live Q&A at the end of the session.
Who should attend:
Attendees who will get the most out of this session are Automate Studio developers and runners familiar with SAP MM. Knowledge of Automate Studio script creation is nice to have, but not required.
Twig is the most powerful templating engine in the PHP world that enables us to create highly complex projects with hundreds of multi-level extended templates, thousands of blocks, functions, filters, tests, and macros. It also offers sandbox, a unique but not a widely used feature, that allows you to create secure user editable templates. In addition, there are a number of handy built-in and external debugging tools available in the Twig ecosystem to simplify the day-to-day work process for a Twig designer.
In this presentation, I will talk about how extensively we use Twig in a complex open-source e-commerce project.
Frankfurt TYPO3 User Group (FTUG) 2017.11.15ManuelSelbach
This are the slides from the Frankfurt TYPO3 Usergroup at SYZYGY in Bad Homburg from 2017.11.15. They will show ext:form, custom form elements and PHP static code listing with PHPStan
Scraping the web with Laravel, Dusk, Docker, and PHPPaul Redmond
Jumpstart your web scraping automation in the cloud with Laravel Dusk, Docker, and friends. We will discuss the types of web scraping tools, the best tools for the job, and how to deal with running selenium in Docker.
Code examples @ https://github.com/paulredmond/scraping-with-laravel-dusk
Twig is the most powerful templating engine in the PHP world that enables us to create highly complex projects with hundreds of multi-level extended templates, thousands of blocks, functions, filters, tests, and macros. It also offers a sandbox, a unique but not a widely used feature that is creating secure user-editable templates. In addition, there are a number of handy built-in and external debugging tools available in the Twig ecosystem to simplify the day-to-day work process for a Twig designer.
In this presentation, I will talk about how extensively we use Twig in a complex open-source e-commerce project.
Presentation by Florian Maul at the Alfresco community meetup in Hamburg on June 5th 2012 about my Javascript Console extension.
Some of the slides are German but the main technical part is in English.
http://alfresco.fme.de
http://www.fme.de
What is the Siemens Open Library, and How it Decreased Development Time for E...DMC, Inc.
Presenter - John Sullivan
Eden Innovations is scaling up its liquid chemical admix production facility and needed to move to a more robust automation system. In an effort to keep costs of the control infrastructure down, it was decided to keep the programming in-house and utilize the freely available Open Library as a base for their control system.
This session will cover the benefits gained and challenges faced utilizing and customizing the Open Library for a bespoke controls system. The system was developed with minimal time investment by an engineer with no previous experience with the Siemens platform. Through customizing the open library, Eden was able to quickly develop a library that utilizes Siemens best practices and provides building blocks for any future development
Flamingo Microservice based E-Commerce / Motivations,Backgrounds, Short Intro...i-love-flamingo
Flamingo is a open source, go based, framework for pluggable web projects.
With flamingo-commerce you can build individual „commerce experience applications“.
This slide explains the thoughts and ideas behind flamingo and gives a short overview of the flamingo ecosystem.
POX to HATEOAS: Our Company's Journey Building a Hypermedia APILuke Stokes
We started FoxyCart.com in 2007 and soon after slapped together some XML and called it an API. As our customer base grew and third-party integrations emerged, the need for a true REST API became a priority. Beginning in 2012, we started researching best practices for modern API development. This talk will tell the story of that research and 10-months of development that followed. You'll get a look at the HAL hypermedia format along with some best practices we came up with for our problem domain of exposing our entire admin interface. We'll cover a lot. You may need a seat belt.
Automate Studio Training: Materials Maintenance Tips for Efficiency and Ease ...Precisely
Ready to improve efficiency, provide easy to use data automations and take materials master (MM) data maintenance to the next level?
Find out how during our Automate Studio training on March 28 – led by Sigrid Kok, Principal Sales Engineer, and Isra Azam, Sales Engineer, at Precisely.
This session’s for you if you want to discover the best approaches for creating, extending or maintaining different types of materials, as well as automating the tricky parts of these processes that slow you down.
Greater control over your Automate Studio business processes means bigger, better results. We’ll show you how to enable your business users to interact with SAP from Microsoft Office and other familiar platforms – resulting in more efficient SAP data management, along with improved data integrity and accuracy.
This 90-minute session will be filled with a variety of topics, including:
real world approaches for creating multiple types of materials, balancing flexibility and power with simplicity and ease of use
tips on material creation, including
downloading the generated material number
using formulas to format prior to upload, such as capitalization or zero padding to make it easy to get the data right the first time
conditionally require fields based on other field entries
using LOV for fields that are free form entry for standard values
tips on modifying alternate units of measure, building from scratch using GUI scripting
modify multiple language descriptions, build from scratch using a standard BAPI
make end-to-end MM process flows more of a reality with features including APIs and predictive AI
Through these topics, you’ll gain plenty of actionable takeaways that you can start implementing right away – including how to:
improve your data integrity and accuracy
make scripts flexible and usable for automation users
seamlessly handle both simple and complex parts of material master
interact with SAP from both business user and script developers’ perspectives
easily upload and download data between SAP and Excel – and how to format the data before upload using simple formulas
You’ll leave this session feeling ready and empowered to save time, boost efficiency, and change the way you work.
Automate Studio reduces your dependency on technical resources to help you create automation scenarios – and our team of experts is here to make sure you get the most out of our solution throughout the journey.
Questions? Sigrid & Isra will be ready to answer them during a live Q&A at the end of the session.
Who should attend:
Attendees who will get the most out of this session are Automate Studio developers and runners familiar with SAP MM. Knowledge of Automate Studio script creation is nice to have, but not required.
Twig is the most powerful templating engine in the PHP world that enables us to create highly complex projects with hundreds of multi-level extended templates, thousands of blocks, functions, filters, tests, and macros. It also offers sandbox, a unique but not a widely used feature, that allows you to create secure user editable templates. In addition, there are a number of handy built-in and external debugging tools available in the Twig ecosystem to simplify the day-to-day work process for a Twig designer.
In this presentation, I will talk about how extensively we use Twig in a complex open-source e-commerce project.
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesSanjeev Rampal
Talk presented at Kubernetes Community Day, New York, May 2024.
Technical summary of Multi-Cluster Kubernetes Networking architectures with focus on 4 key topics.
1) Key patterns for Multi-cluster architectures
2) Architectural comparison of several OSS/ CNCF projects to address these patterns
3) Evolution trends for the APIs of these projects
4) Some design recommendations & guidelines for adopting/ deploying these solutions.
This 7-second Brain Wave Ritual Attracts Money To You.!nirahealhty
Discover the power of a simple 7-second brain wave ritual that can attract wealth and abundance into your life. By tapping into specific brain frequencies, this technique helps you manifest financial success effortlessly. Ready to transform your financial future? Try this powerful ritual and start attracting money today!
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC
Ellisha Heppner, Grant Management Lead, presented an update on APNIC Foundation to the PNG DNS Forum held from 6 to 10 May, 2024 in Port Moresby, Papua New Guinea.
# Internet Security: Safeguarding Your Digital World
In the contemporary digital age, the internet is a cornerstone of our daily lives. It connects us to vast amounts of information, provides platforms for communication, enables commerce, and offers endless entertainment. However, with these conveniences come significant security challenges. Internet security is essential to protect our digital identities, sensitive data, and overall online experience. This comprehensive guide explores the multifaceted world of internet security, providing insights into its importance, common threats, and effective strategies to safeguard your digital world.
## Understanding Internet Security
Internet security encompasses the measures and protocols used to protect information, devices, and networks from unauthorized access, attacks, and damage. It involves a wide range of practices designed to safeguard data confidentiality, integrity, and availability. Effective internet security is crucial for individuals, businesses, and governments alike, as cyber threats continue to evolve in complexity and scale.
### Key Components of Internet Security
1. **Confidentiality**: Ensuring that information is accessible only to those authorized to access it.
2. **Integrity**: Protecting information from being altered or tampered with by unauthorized parties.
3. **Availability**: Ensuring that authorized users have reliable access to information and resources when needed.
## Common Internet Security Threats
Cyber threats are numerous and constantly evolving. Understanding these threats is the first step in protecting against them. Some of the most common internet security threats include:
### Malware
Malware, or malicious software, is designed to harm, exploit, or otherwise compromise a device, network, or service. Common types of malware include:
- **Viruses**: Programs that attach themselves to legitimate software and replicate, spreading to other programs and files.
- **Worms**: Standalone malware that replicates itself to spread to other computers.
- **Trojan Horses**: Malicious software disguised as legitimate software.
- **Ransomware**: Malware that encrypts a user's files and demands a ransom for the decryption key.
- **Spyware**: Software that secretly monitors and collects user information.
### Phishing
Phishing is a social engineering attack that aims to steal sensitive information such as usernames, passwords, and credit card details. Attackers often masquerade as trusted entities in email or other communication channels, tricking victims into providing their information.
### Man-in-the-Middle (MitM) Attacks
MitM attacks occur when an attacker intercepts and potentially alters communication between two parties without their knowledge. This can lead to the unauthorized acquisition of sensitive information.
### Denial-of-Service (DoS) and Distributed Denial-of-Service (DDoS) Attacks
1.Wireless Communication System_Wireless communication is a broad term that i...JeyaPerumal1
Wireless communication involves the transmission of information over a distance without the help of wires, cables or any other forms of electrical conductors.
Wireless communication is a broad term that incorporates all procedures and forms of connecting and communicating between two or more devices using a wireless signal through wireless communication technologies and devices.
Features of Wireless Communication
The evolution of wireless technology has brought many advancements with its effective features.
The transmitted distance can be anywhere between a few meters (for example, a television's remote control) and thousands of kilometers (for example, radio communication).
Wireless communication can be used for cellular telephony, wireless access to the internet, wireless home networking, and so on.
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBrad Spiegel Macon GA
Brad Spiegel Macon GA’s journey exemplifies the profound impact that one individual can have on their community. Through his unwavering dedication to digital inclusion, he’s not only bridging the gap in Macon but also setting an example for others to follow.
test test test test testtest test testtest test testtest test testtest test ...
TYPO3 FormZ
1. FormZ • typo3-formz.com 1github.com/romm/formz → go and ★ it!
TYPO3 FormZ
A modern form handler for extensions
2. FormZ • typo3-formz.com 2github.com/romm/formz → go and ★ it!
Romain Canon
PHP developer on TYPO3 since 2012
Currently living in Paris
@Rommsteinz
romain.hydrocanon@gmail.com
@romm
3. FormZ • typo3-formz.com 3github.com/romm/formz → go and ★ it!
Summary
• What and why?
• How?
• Demo
• Next?
4. FormZ • typo3-formz.com 4github.com/romm/formz → go and ★ it!
What is FormZ?
• A TYPO3 extension (TER, Packagist, GitHub)
• A strong API for building web-forms with Extbase & Fluid
• Time saving tool for developers and integrators
5. FormZ • typo3-formz.com 5github.com/romm/formz → go and ★ it!
Why FormZ?
• My customer needed a powerful and modern form manager for
dozens of forms (simulations, registration, “business”, contact)
• EXT:formhandler?
• Old and not maintained a lot (not maintained anymore, since september 2016)
• PI-based with no Fluid support
• No frontend JavaScript validation
• EXT:powermail?
• Too “specific”
6. FormZ • typo3-formz.com 6github.com/romm/formz → go and ★ it!
“Eh dude, TYPO3 v8 provides a brand new form builder!”
• Development of both extensions probably began at the same time
No communication led to two separate projects
• The new form builder is for TYPO3 8.7; we needed something for
TYPO3 6.2
7. FormZ • typo3-formz.com 7github.com/romm/formz → go and ★ it!
“Eh dude, TYPO3 v8 provides a brand new form builder!”
• Main target audience:
• EXT:form
→ For editors/integrators
→ Simple forms with no complex business rules
→ Powerful UI to manage the basic rules of the forms
• EXT:formz
→ For developers/integrators
→ Can handle huge forms with lots of business rules
→ Built by a developer for developers: easy to understand, maintain,
evolve
11. FormZ • typo3-formz.com 11github.com/romm/formz → go and ★ it!
TypoScript based configuration
• Could be YAML or plain PHP (incoming!)
12. FormZ • typo3-formz.com 12github.com/romm/formz → go and ★ it!
Fluid templating
• Build you form however you want/need, by using the full power of
Fluid: partials, view helpers, conditions, etc.
13. FormZ • typo3-formz.com 13github.com/romm/formz → go and ★ it!
Fluid templating
• Benefit from built-in view helpers:
• Field layouts (native support for Twitter Bootstrap and Foundation)
• Automatic CSS classes (for valid/invalid status)
• More incoming!
14. FormZ • typo3-formz.com 14github.com/romm/formz → go and ★ it!
JavaScript frontend framework
• Instant custom validation for the user (not the ugly default HTML5
browser validation)
15. FormZ • typo3-formz.com 15github.com/romm/formz → go and ★ it!
JavaScript frontend framework
• All frontend validators have a PHP version
• JavaScript is not needed for FormZ to work well!
Server side validation will always run to ensure data security
16. FormZ • typo3-formz.com 16github.com/romm/formz → go and ★ it!
JavaScript frontend framework
• You can add your own custom JavaScript validators
18. FormZ • typo3-formz.com 18github.com/romm/formz → go and ★ it!
Multi language
• Available in frontend
JavaScript automatically handles translated messages
19. FormZ • typo3-formz.com 19github.com/romm/formz → go and ★ it!
Robust condition system
• Choose specific situations where fields
should be activated
conditionList {
doesLikeIceCream {
type = fieldHasValue
fieldName = likeIceCream
fieldValue = 1
}
}
fields {
iceCreamFlavors {
activation.expression = doesLikeIceCream
}
}
20. FormZ • typo3-formz.com 20github.com/romm/formz → go and ★ it!
Robust condition system
• Choose specific situations
where validation should be
activated
conditionList {
countryIsFrance {
type = fieldHasValue
fieldName = country
fieldValue = FR
}
countryIsGermany {
type = fieldHasValue
fieldName = country
fieldValue = DE
}
}
fields {
phoneNumber {
validation {
frenchPhone {
className = MyValidatorFrenchPhoneValidator
activation.expression = countryIsFrance
}
germanPhone {
className = MyValidatorGermanPhoneValidator
activation.expression = countryIsGermany
}
}
}
}
21. FormZ • typo3-formz.com 21github.com/romm/formz → go and ★ it!
Robust condition system
• Understands logical operations
deliveryChoice {
activation.expression = zipCodeValid && addressValid && (countryIsFrance || countryIsGermany)
}
22. FormZ • typo3-formz.com 22github.com/romm/formz → go and ★ it!
Dynamic CSS data-attributes
• Automatically added to the <form> HTML tag
• Allows powerful CSS targeting using data-attributes
• fz-value-{field-name} / fz-valid-{field-name} / fz-error-{field-name}
• fz-loading
• More...
• Fully provided by FormZ core
• Works on frontend side (JavaScript) and server side (PHP/Fluid)
23. FormZ • typo3-formz.com 23github.com/romm/formz → go and ★ it!
Dynamic CSS classes
form[name="exForm"]:not([fz-value-email$="@typo3.org"]) .typo3-user {
display: none;
}
Basic example:
On a registration form: I want to display additional information for “official” TYPO3 users.
26. FormZ • typo3-formz.com 26github.com/romm/formz → go and ★ it!
Middlewares
• Between the request and the controller
• A specific and powerful FormZ context
• Example: pre-fill form values, add complex
validation processes, save to database, send
an email, etc.
27. FormZ • typo3-formz.com 27github.com/romm/formz → go and ★ it!
Multi-steps form
• Supports separate pages
• Conditional steps
• Database/Session/Other persistence
28. FormZ • typo3-formz.com 28github.com/romm/formz → go and ★ it!
Substeps
• A new concept that allows pure JavaScript/CSS
step control, for an instant navigation
• Check: https://goo.gl/H6TT69
(https://www.direct-energie.com/particuliers/electricite/simulateur-de-consommation)
29. FormZ • typo3-formz.com 29github.com/romm/formz → go and ★ it!
More information/support
• Join #ext-formz on Slack!
You don’t have an account? Go on forger.typo3.org/slack
• typo3-formz.com
Official website
• typo3-formz.com/doc
Documentation FR/EN
PDF versions available!