This document discusses the history and evolution of Rails form handling capabilities from Rails 1.0 through 2.0. Early versions used basic form_tag and text_field helpers that treated forms like hashes. Rails 1.1 introduced form_for to associate forms with model objects. Rails 2.0 integrated this with resource-based routes and conventions for form IDs and classes based on the model. Throughout, Rails aimed to bridge the gap between forms, controllers, models and the database in a seamless, object-oriented way.
A presentation on how to semi-automatically build CRUD application prototypes using PHP and some PEAR libraries. This was way before Rails became popular and automatic form generation for web applications was not as common as it is now.
Also, it was the first public presentation I ever held. Ah, those were the times ;-)
Originally held at the International PHP Conference 2004 in Amsterdam, although these slides have been updated by project contributors to reflect feature additions that were implemented later.
CRUD, form management, and how Dojo solves it. It was delivered at ClubAJAX on 12/2/2009. Blog post: http://lazutkin.com/blog/2009/dec/2/crud-with-dojo/
This presentation emphasis on How to connect a Play Application with Mysql as database in Scala.Play includes a simple data access layer called Anorm that uses plain SQL to interact with the database and provides an API to parse and transform the resulting datasets.
A presentation on how to semi-automatically build CRUD application prototypes using PHP and some PEAR libraries. This was way before Rails became popular and automatic form generation for web applications was not as common as it is now.
Also, it was the first public presentation I ever held. Ah, those were the times ;-)
Originally held at the International PHP Conference 2004 in Amsterdam, although these slides have been updated by project contributors to reflect feature additions that were implemented later.
CRUD, form management, and how Dojo solves it. It was delivered at ClubAJAX on 12/2/2009. Blog post: http://lazutkin.com/blog/2009/dec/2/crud-with-dojo/
This presentation emphasis on How to connect a Play Application with Mysql as database in Scala.Play includes a simple data access layer called Anorm that uses plain SQL to interact with the database and provides an API to parse and transform the resulting datasets.
Zend_Form simplifies form creation and handling in
your web application. It accomplishes the following
goals:
- Input filtering
- Input validation
- Element ordering
- Element and Form rendering
- Element and Form grouping
- Element and Form-level configuration
The world of JavaScript client-side frameworks is overflowing with contenders vying for the crown, but which one do you choose for your next project? Which one has what it takes?
In this talk we’ll look at the “Big 3”, AngularJS, Ember.js, and Backbone.js. We’ll compare them head to head, toe to toe. We’ll look at the pros and cons of each one. How do they handle form bindings? Talking to APIs? Code organization? Routing? Etc?
Who’ll come out victorious in this battle of the JavaScript frameworks, or will we all just come out bloodied and bruised on the other side? Guess we’ll find out!
Dig Deeper into WordPress - WD Meetup CairoMohamed Mosaad
Dig deeper into WordPress is a presentation made for Web Designers Meetup in Cairo taken place on 17th Dec 2012.
Signup at WPMonkeys.com to get notified when awesome new WordPress related content is published.
Creating GUI Component APIs in Angular and Web ComponentsRachael L Moore
So you’ve embraced architecting your Angular application with reusable components – cheers to you! But you have UI components that need to communicate with each other or expose public methods, and you’re wondering about your options. In this talk, we’ll cover how new web component standards, like Custom Elements, handle this. Next, we’ll walk through how to accomplish it today in Angular 1.x – and bring it all together into what a solution will look like in upcoming Angular 2. Afterwards, you'll know how to design and implement the public HTML and JavaScript interfaces of GUI components.
Talk presented at Angular Connect in October 2015.
Everything you always wanted to know about forms* *but were afraid to askAndrea Giuliano
La componente dei Form di Symfony2 rende possibile la costruzione di diverse tipologie di form in modo del tutto semplice. La sua architettura flessibile e altamente scalabile permette di poter gestire strutture adatte ad ogni tipo di esigenza. Tuttavia, conoscere come utilizzare appieno tutta la sua potenza non è banale. In questo talk verrà trattato in profondità la componente Form di Symfony2, mostrando i suoi meccanismi di base e come utilizzarli per estenderli ed introdurre la propria logica di business, così da costruire form cuciti a misura delle tue necessità.
This session will introduce you to the new Form component in Symfony2. With the new domain-driven paradigma and its flexible design, the component opens a door to a wide range of possibilities. The brand new architecture makes creating complex forms easier and faster than ever before. This talk will teach you today what you need to know to build powerful forms tomorrow.
Creating GUI container components in Angular and Web ComponentsRachael L Moore
So you've embraced architecting your Angular application with reusable components--cheers to you! But you have UI components that need multiple entry points for user markup, and regular ng-transclude left you hanging. In this talk, we'll cover how new web component standards, like the Shadow DOM, handle this. Next, we'll walk through how to accomplish it today in Angular 1.3 -- and also give you a brief glimpse into what a solution will look like in upcoming Angular 2. Afterwards, you'll know how to make layout scaffold components with custom elements that serve as containers for arbitrary user-provided HTML content.
Talk presented at ng-conf in March 2015.
Learn in-depth Zend_Form techniques to automate and power your applications forms, with or without using Zend Framework. Learn everything from setup of a form to custom elements and organizational best practices.
Les Web Components inaugurent une nouvelle ère de développement web, un monde dans lequel vous prenez le pouvoir avec la possibilité de créer de nouveaux composants personnalisés et encapsulables. Construit sur ces nouveaux standards, Polymer facilite l'implémentation de composants du simple bouton à une application riche complète.
Nous verrons dans cette présentation les différentes spécifications mises en oeuvre derrière le concept de WebComponents (Shadow Dom, Custom Element ...) ainsi que leur mise en place en utilisant Polymer
Seaside - Web Development As You Like ItLukas Renggli
Seaside does different to what is considered as best practices for Web development. It breaks with common best practices for Web development, such as to share as little state as possible, use clean and carefully chosen URLs, and use templates to separate model and presentation.
Zend_Form simplifies form creation and handling in
your web application. It accomplishes the following
goals:
- Input filtering
- Input validation
- Element ordering
- Element and Form rendering
- Element and Form grouping
- Element and Form-level configuration
The world of JavaScript client-side frameworks is overflowing with contenders vying for the crown, but which one do you choose for your next project? Which one has what it takes?
In this talk we’ll look at the “Big 3”, AngularJS, Ember.js, and Backbone.js. We’ll compare them head to head, toe to toe. We’ll look at the pros and cons of each one. How do they handle form bindings? Talking to APIs? Code organization? Routing? Etc?
Who’ll come out victorious in this battle of the JavaScript frameworks, or will we all just come out bloodied and bruised on the other side? Guess we’ll find out!
Dig Deeper into WordPress - WD Meetup CairoMohamed Mosaad
Dig deeper into WordPress is a presentation made for Web Designers Meetup in Cairo taken place on 17th Dec 2012.
Signup at WPMonkeys.com to get notified when awesome new WordPress related content is published.
Creating GUI Component APIs in Angular and Web ComponentsRachael L Moore
So you’ve embraced architecting your Angular application with reusable components – cheers to you! But you have UI components that need to communicate with each other or expose public methods, and you’re wondering about your options. In this talk, we’ll cover how new web component standards, like Custom Elements, handle this. Next, we’ll walk through how to accomplish it today in Angular 1.x – and bring it all together into what a solution will look like in upcoming Angular 2. Afterwards, you'll know how to design and implement the public HTML and JavaScript interfaces of GUI components.
Talk presented at Angular Connect in October 2015.
Everything you always wanted to know about forms* *but were afraid to askAndrea Giuliano
La componente dei Form di Symfony2 rende possibile la costruzione di diverse tipologie di form in modo del tutto semplice. La sua architettura flessibile e altamente scalabile permette di poter gestire strutture adatte ad ogni tipo di esigenza. Tuttavia, conoscere come utilizzare appieno tutta la sua potenza non è banale. In questo talk verrà trattato in profondità la componente Form di Symfony2, mostrando i suoi meccanismi di base e come utilizzarli per estenderli ed introdurre la propria logica di business, così da costruire form cuciti a misura delle tue necessità.
This session will introduce you to the new Form component in Symfony2. With the new domain-driven paradigma and its flexible design, the component opens a door to a wide range of possibilities. The brand new architecture makes creating complex forms easier and faster than ever before. This talk will teach you today what you need to know to build powerful forms tomorrow.
Creating GUI container components in Angular and Web ComponentsRachael L Moore
So you've embraced architecting your Angular application with reusable components--cheers to you! But you have UI components that need multiple entry points for user markup, and regular ng-transclude left you hanging. In this talk, we'll cover how new web component standards, like the Shadow DOM, handle this. Next, we'll walk through how to accomplish it today in Angular 1.3 -- and also give you a brief glimpse into what a solution will look like in upcoming Angular 2. Afterwards, you'll know how to make layout scaffold components with custom elements that serve as containers for arbitrary user-provided HTML content.
Talk presented at ng-conf in March 2015.
Learn in-depth Zend_Form techniques to automate and power your applications forms, with or without using Zend Framework. Learn everything from setup of a form to custom elements and organizational best practices.
Les Web Components inaugurent une nouvelle ère de développement web, un monde dans lequel vous prenez le pouvoir avec la possibilité de créer de nouveaux composants personnalisés et encapsulables. Construit sur ces nouveaux standards, Polymer facilite l'implémentation de composants du simple bouton à une application riche complète.
Nous verrons dans cette présentation les différentes spécifications mises en oeuvre derrière le concept de WebComponents (Shadow Dom, Custom Element ...) ainsi que leur mise en place en utilisant Polymer
Seaside - Web Development As You Like ItLukas Renggli
Seaside does different to what is considered as best practices for Web development. It breaks with common best practices for Web development, such as to share as little state as possible, use clean and carefully chosen URLs, and use templates to separate model and presentation.
This presentation provides an overview of the technical considerations that Third Eye made while developing a tool to create, digitally sign and certify Software Identification (SWID) tags.
The presentation focuses on Rails scaffolding as a good starting point for playing with Ext. The biggest integration task from a Rails point of view is providing the correct JSON data structures that Ext can process - a task that can be solved in a re-usable way. Passing data around between Rails controllers and views and the actual JavaScript code is another focal point.
The presentation features a preview version of Martin Rehfeld's Ext Scaffold Generator, soon to be announced as a official Rails plugin.
by Martin Rehfeld
TDD frameworks let me dream "Project Specific Language"Kyosuke MOROHASHI
Using RSpec and Cucumber, modern TDD frameworks, let me dream "Project Specific Language". It's language for us to communicate both client and dev-team member.
original title is: プロジェクト特化言語という夢を見たんだ lang:ja
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
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/
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
47. form_for() and map.resource
• AR ”resource”
•“resource” HTTP CRUD
ActionController::Routes.draw do |m|
map.resources :entries
end
48. new form_for()
<% @entry = Entry.find(1) %>
<% form_for(@entry) do |f|%>
...
<% end %>
generates
<form action=quot;/entries/1quot; class=quot;edit_entryquot;
id=quot;edit_entry_1quot; method=quot;postquot;>
<input name=quot;_methodquot; type=quot;hiddenquot; value=quot;putquot; />
...
</form>
49. form_for()
determine the form identity.
<form action=quot;/entries/1quot; class=quot;edit_entryquot;
id=quot;edit_entry_1quot; method=quot;postquot;>
<input name=quot;_methodquot; type=quot;hiddenquot; value=quot;putquot; />
...
</form>
• ActiveRecord
Convention
• class ID
50. new Convention for
DOM ID & CSS class
<form action=quot;/entries/1quot; class=quot;edit_entryquot;
id=quot;edit_entry_1quot; method=quot;postquot;>
• CSS class ” AR ”
• ID ” AR _ DB ID ”
• prefix ”edit” ”new”
• class ID dom_class() dom_id()
51. d
re min form_for()
remembers the object.
• FormBuilder
<% form_for(@entry) do |f| %>
<label>Title</label>
<%= f.text_field :title %>
<% end %>
55. on RubyKaigi2006,
DHH said
GET POST PUT DELETE
find create update destroy
SELECT INSERT UPDATE DELETE
http://media.rubyonrails.org/presentations/worldofresources.pdf
56. HTTP methods and actions
GET /entries/:id
{:controller=>quot;entriesquot;, :action=>quot;showquot;}
PUT /entries/:id
{:controller=>quot;entriesquot;, :action=>quot;updatequot;}
DELETE /entries/:id
{:controller=>quot;entriesquot;, :action=>quot;destroyquot;}
POST /entries
{:controller=>quot;entriesquot;, :action=>quot;createquot;}
57. HTTP Method !
HTTP Method
!
CRUD
ActiveRecord !
ActiveRecord DB CRUD !!
DB CRUD form_for
resource oriented form ....
HTTP CRUD
58.
59. class EntriesController < ApplicationController
def show
@entry = Entry.find(params[:id])
end
def create
@entry = Entry.new(params[:entry])
@entry.save
end
def update
@entry = Entry.find(params[:id])
@entry.update_attributes(params[:entry])
end
def destroy
@entry = Entry.find(params[:id])
@entry.destroy
end
end
60. class EntriesController < ApplicationController
def show
@entry = Entry.find(params[:id])
end
def create
@entry = Entry.new(params[:entry])
@entry.save
def show
end
@entry = Entry.find(params[:id])
def update
end @entry = Entry.find(params[:id])
@entry.update_attributes(params[:entry])
end
def destroy
@entry = Entry.find(params[:id])
@entry.destroy
end
end
61. class EntriesController < ApplicationController
def show
@entry = Entry.find(params[:id])
end
def create
@entry = Entry.new(params[:entry])
@entry.save
def create
end
@entry = Entry.new(params[:entry])
@entry.save
def update
@entry = Entry.find(params[:id])
end
@entry.update_attributes(params[:entry])
end
def destroy
@entry = Entry.find(params[:id])
@entry.destroy
end
end
62. class EntriesController < ApplicationController
def show
@entry = Entry.find(params[:id])
end
def create
@entry = Entry.new(params[:entry])
@entry.save
def update
end
@entry = Entry.find(params[:id])
@entry.update_attributes(params[:entry])
def update
@entry = Entry.find(params[:id])
end
@entry.update_attributes(params[:entry])
end
def destroy
@entry = Entry.find(params[:id])
@entry.destroy
end
end
63. class EntriesController < ApplicationController
def show
@entry = Entry.find(params[:id])
end
def create
@entry = Entry.new(params[:entry])
@entry.save
def destroy
end
@entry = Entry.find(params[:id])
@entry.destroy
def update
@entry = Entry.find(params[:id])
end
@entry.update_attributes(params[:entry])
end
def destroy
@entry = Entry.find(params[:id])
@entry.destroy
end
end
64. FYI: about PUT and DELETE
• PUT
• POST
• _method
<form action=quot;/entries/1quot; class=quot;edit_entryquot;
id=quot;edit_entry_1quot; method=quot;postquot;>
<input name=quot;_methodquot; type=quot;hiddenquot; value=quot;putquot; />
...
</form>
65. rem
ind I’ve talked about
features of form_for()w/ Rails 2.0
• form DOM ID
CSS
•
FormBuilder
•