The document provides an overview of using Drupal APIs and PHP/SQL to work with MySQL tables in a custom Drupal module. It includes examples of creating tables during module installation and later, inserting and querying data, creating blocks and forms, and more. Code snippets show how to create tables, insert/update data, query tables, build admin forms, and display content using blocks.
The document discusses how Symfony 1.2 supports RESTful routes out of the box. It provides examples of how to configure routes to support different HTTP methods like GET, POST, PUT, DELETE. It also describes how to create custom route classes to support additional route matching and generation behaviors, like domain routing based on subdomains. Overall, the document shows how Symfony 1.2 allows developers to easily create RESTful applications by mapping URLs to controller actions and resources in a RESTful way.
https://speakerdeck.com/willroth/50-laravel-tricks-in-50-minutes - origin
Laravel 5.1 raised the bar for framework documentation, but there's much, much more lurking beneath the surface. In this 50-minute session, we'll explore 50 (yes, 50!) high-leverage implementation tips & tricks that you just won't find in the docs: the IoC Container, Blade, Eloquent, Middleware, Routing, Commands, Queues, Events, Caching — we'll cover them all! Join us as we drink from the fire hose & learn to take advantage of everything that Laravel has to offer to build better software faster!
Fields in Core: How to create a custom fieldIvan Zugec
This document discusses how to create a custom field in Drupal 7. It begins by explaining that fields were moved into core in Drupal 7. It then provides steps to create a custom "Collaborator" field with name, role, and link text components. These steps include creating module files, implementing hook functions to define the schema, widget, and formatter. Custom formatters and validation functions are also demonstrated. Documentation resources for fields are shared.
This PHP document contains code for managing video data in multiple languages. It starts sessions, includes configuration files, and instantiates classes for user login, menus, and video data. If a form is submitted, it validates the fields, checks for errors, and either inserts or updates the video and language data in the database. It handles file uploads and retrieves/displays data for editing. The core functions validate data, insert/update records, and retrieve results for display in the form.
The document provides an overview of the Sonata AdminBundle. It introduces Thomas Rabaix, the lead developer, and describes how the bundle provides a backend generator for Symfony 2 that aims to create a consistent and rich user experience for managing data beyond basic CRUD functionality. Key features highlighted include the dashboard interface, easy configuration of list, edit, and form views, internationalization support, and reliance on Symfony components and other Sonata bundles.
Silex is a brand new PHP 5.3 micro framework built on top of the Symfony2 de decoupled components. In this session, we will discover how to build and deploy powerful REST web services with such a micro framework and its embedded tools.
The first part of this talk will introduce the basics of the REST architecture. We fill focus on the main concepts of REST like HTTP methods, URIs and open formats like XML and JSON.
Then, we will discover how to deploy REST services using most of interesting Silex tools like database abstraction layer, template engine and input validation. We will also look at unit and functional testing frameworks with PHPUnit and HTTP caching with Edge Side Includes and Varnish support to improve performances.
The document discusses the architecture of a shopping cart system and how to make it easily testable and extensible. It recommends separating the core logic from session and database handling, and making frequently changing features into plugins. It also suggests simplifying the structure for easier testing by using storage instead of sessions, and DAO instead of databases during tests. The storage abstraction layer is implemented to operate on different mediums like arrays or sessions.
The document discusses how Symfony 1.2 supports RESTful routes out of the box. It provides examples of how to configure routes to support different HTTP methods like GET, POST, PUT, DELETE. It also describes how to create custom route classes to support additional route matching and generation behaviors, like domain routing based on subdomains. Overall, the document shows how Symfony 1.2 allows developers to easily create RESTful applications by mapping URLs to controller actions and resources in a RESTful way.
https://speakerdeck.com/willroth/50-laravel-tricks-in-50-minutes - origin
Laravel 5.1 raised the bar for framework documentation, but there's much, much more lurking beneath the surface. In this 50-minute session, we'll explore 50 (yes, 50!) high-leverage implementation tips & tricks that you just won't find in the docs: the IoC Container, Blade, Eloquent, Middleware, Routing, Commands, Queues, Events, Caching — we'll cover them all! Join us as we drink from the fire hose & learn to take advantage of everything that Laravel has to offer to build better software faster!
Fields in Core: How to create a custom fieldIvan Zugec
This document discusses how to create a custom field in Drupal 7. It begins by explaining that fields were moved into core in Drupal 7. It then provides steps to create a custom "Collaborator" field with name, role, and link text components. These steps include creating module files, implementing hook functions to define the schema, widget, and formatter. Custom formatters and validation functions are also demonstrated. Documentation resources for fields are shared.
This PHP document contains code for managing video data in multiple languages. It starts sessions, includes configuration files, and instantiates classes for user login, menus, and video data. If a form is submitted, it validates the fields, checks for errors, and either inserts or updates the video and language data in the database. It handles file uploads and retrieves/displays data for editing. The core functions validate data, insert/update records, and retrieve results for display in the form.
The document provides an overview of the Sonata AdminBundle. It introduces Thomas Rabaix, the lead developer, and describes how the bundle provides a backend generator for Symfony 2 that aims to create a consistent and rich user experience for managing data beyond basic CRUD functionality. Key features highlighted include the dashboard interface, easy configuration of list, edit, and form views, internationalization support, and reliance on Symfony components and other Sonata bundles.
Silex is a brand new PHP 5.3 micro framework built on top of the Symfony2 de decoupled components. In this session, we will discover how to build and deploy powerful REST web services with such a micro framework and its embedded tools.
The first part of this talk will introduce the basics of the REST architecture. We fill focus on the main concepts of REST like HTTP methods, URIs and open formats like XML and JSON.
Then, we will discover how to deploy REST services using most of interesting Silex tools like database abstraction layer, template engine and input validation. We will also look at unit and functional testing frameworks with PHPUnit and HTTP caching with Edge Side Includes and Varnish support to improve performances.
The document discusses the architecture of a shopping cart system and how to make it easily testable and extensible. It recommends separating the core logic from session and database handling, and making frequently changing features into plugins. It also suggests simplifying the structure for easier testing by using storage instead of sessions, and DAO instead of databases during tests. The storage abstraction layer is implemented to operate on different mediums like arrays or sessions.
Nickolay Shmalenuk.Render api eng.DrupalCamp Kyiv 2011camp_drupal_ua
The document introduces the Render API in Drupal 7. It discusses how the Render API works similarly to the Form API by collecting necessary data into an array that is then converted to HTML and displayed. It describes main hooks like hook_page_build() and hook_page_alter() that can be used to add or override page elements. It also provides examples of using #theme and #arguments to theme render arrays and attach CSS/JS files.
This document provides suggestions for simplifying the WordPress dashboard and administration interface. It recommends removing unnecessary widgets from the dashboard, using code to minimize dashboard menus and boxes, and adding shortcodes or functions to more easily display child pages and handle 404 errors. The document also gives examples of removing meta boxes, including notifications for visitors, and linking to a "report a problem" form to make the site easier to use.
The document discusses Magento's rendering system and how it generates output for the customer. The main goals of rendering are to generate headers and response body. It describes how controllers dispatch requests and set the response body. Layout, blocks and templates are loaded to generate the final HTML output. Key aspects covered include loading and building the layout, finding template files, and directly including templates to render block output.
Bernhard Schussek gave a presentation on leveraging Symfony2 forms at the Symfony Live conference in March 2011. He discussed the evolution of the Symfony form component, its service-oriented architecture, and how forms are decoupled from business logic. He provided an example of an online sausage shop order form to demonstrate how form data is bound to objects and submitted. The presentation covered the form configuration class, form processing, field types, validation, embedding forms, and form themes.
Drupal is Stupid (But I Love It Anyway)brockboland
Regrettably, my machine didn't cooperate when I tried to record this presentation. I don't think the slides will do you much good without the stuff I said, but a few people asked for them.
---
Depending on who you ask, Drupal is either a framework or a platform, but no matter how you look at it, there are things about it that suck. Hear Brock Boland talk about the pain points of coding for Drupal 6, how things have improved in Drupal 7, and what's expected to be better in Drupal 8.
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 document describes how to build a bulletin board application in Laravel. It covers setting up the application structure with Blade views and layouts, connecting to a MySQL database to manage users and posts, creating Eloquent models, and building out the controller logic for common actions like registration, login, creating, editing, and deleting posts. Key sections include setting up the MVC framework with routes and controllers, implementing authentication with sessions, and using relationships and pagination for working with related data.
Gail villanueva add muscle to your wordpress sitereferences
Gail Villanueva presented ways to add functionality to WordPress websites, including creating custom post types, taxonomies, fields and templates. She demonstrated how to build a job listing site, portfolio, or online store using WordPress. Useful plugins were recommended for custom post types, portfolios, job listings and e-commerce. The presentation provided code examples for custom fields, templates and queries.
Simple Ways To Be A Better Programmer (OSCON 2007)Michael Schwern
"Simple Ways To Be A Better Programmer' as presented at OSCON 2007 by Michael G Schwern.
The audio is still out of sync, working on it. Downloading will be available once the sync is done.
First Steps in Drupal Code Driven DevelopmentNuvole
"First Steps in Code Driven Development" covers basic techniques and good practices. Presented during the "Developer Session" at Krimson office, Antwerp (BE), the 27th of May 2010.
This session introduces most well known design patterns to build PHP classes and objects that need to store and fetch data from a relational databases. The session will describe the difference between of the Active Record, the Table and Row Data Gateway and the Data Mapper pattern. We will also examine some technical advantages and drawbacks of these implementations. This talk will expose some of the best PHP tools, which ease database interactions and are built on top of these patterns.
- Propel is an ORM (object-relational mapper) for PHP that was started in 2005 and is based on concepts from Apache Torque.
- It uses code generation from XML schemas to quickly map database schemas to PHP classes.
- Propel supports various database backends including MySQL, PostgreSQL, SQLite, MSSQL, and Oracle. It uses inheritance mapping strategies like single table, class table, and concrete table inheritance.
The document discusses JavaScript templating libraries and jQuery's $.template plugin. It explains that templates allow separation of display logic from business logic and reusable markup. $.template converts a string into a function that renders data as HTML/DOM. Tags like {%= %} output values and {% %} execute JavaScript without output. Templates can take string, DOM, or Ajax input and output as a function, DOM fragment, or HTML string.
The document discusses dependency injection (DI) in PHP using the BEAR framework. It shows how DI allows classes to declare dependencies without knowing how to instantiate them. The User class declares a dependency on a Storage interface without knowing the concrete class. The document provides various examples of injecting dependencies into classes through the constructor, setter methods, and a global dependency registry. It also demonstrates how to configure DI with options like injector callbacks and persistent objects.
You must’ve heard of Unit testing… If not, then this talk is definitely for you! If you do know Unit testing, you probably ran at some point into a hurdle: “Where do I start?” And despite your best efforts, you end up not having enough tests for your application – Then that change request comes in, requiring you to change that very same complex piece of code for which you are lacking tests! How do you going refactor while maintaining all those ‘undocumented’ business rules? This talk will show how Codeception can be leveraged to refactor the visuals aspects of an application, maintaining backwards compatibility on API changes and even assist in moving to a whole different server infrastructure.
The document discusses the Sahana Eden emergency development environment. It provides an overview of key concepts like the model-view-controller architecture and describes how to build a new module for incident reporting with models, controllers and views. Instructions are given for setting up the development environment and performing common tasks like defining data models, creating forms and joining resources.
The document contains code snippets in PHP for working with categories and menus in Magento. It includes code to get store categories, loop through them to output the names and IDs, and generate URLs to link to the category pages. There are also code comments related to copyright and licensing for Magento.
The document provides information about building forms in Drupal using the Form API, including:
- Creating a basic subscription form with email and radio button fields
- Adding validation and submission handlers
- Passing data between the form, validation, and submission handlers
- Using fieldsets, trees and access control for form elements
- Creating tabular forms and theming forms into tables
- Defining custom form elements
- Invoking forms with drupal_get_form and providing default values
- Modifying existing forms like node forms using hooks
- Altering forms using hook_form_alter to customize behavior
This document provides an overview of different approaches to theming in Drupal: the "noob way" of using direct PHP/HTML, the Drupal 6 method of using theme functions, and the Drupal 7 Render API method of generating renderable arrays. It discusses advantages of the Render API like content alteration hooks, caching and performance. Key aspects covered include the renderable array structure, the use of #type, #theme, #states and #attached properties. The document recommends generating HTML as late as possible and using the Render API and caching to improve performance.
Nickolay Shmalenuk.Render api eng.DrupalCamp Kyiv 2011camp_drupal_ua
The document introduces the Render API in Drupal 7. It discusses how the Render API works similarly to the Form API by collecting necessary data into an array that is then converted to HTML and displayed. It describes main hooks like hook_page_build() and hook_page_alter() that can be used to add or override page elements. It also provides examples of using #theme and #arguments to theme render arrays and attach CSS/JS files.
This document provides suggestions for simplifying the WordPress dashboard and administration interface. It recommends removing unnecessary widgets from the dashboard, using code to minimize dashboard menus and boxes, and adding shortcodes or functions to more easily display child pages and handle 404 errors. The document also gives examples of removing meta boxes, including notifications for visitors, and linking to a "report a problem" form to make the site easier to use.
The document discusses Magento's rendering system and how it generates output for the customer. The main goals of rendering are to generate headers and response body. It describes how controllers dispatch requests and set the response body. Layout, blocks and templates are loaded to generate the final HTML output. Key aspects covered include loading and building the layout, finding template files, and directly including templates to render block output.
Bernhard Schussek gave a presentation on leveraging Symfony2 forms at the Symfony Live conference in March 2011. He discussed the evolution of the Symfony form component, its service-oriented architecture, and how forms are decoupled from business logic. He provided an example of an online sausage shop order form to demonstrate how form data is bound to objects and submitted. The presentation covered the form configuration class, form processing, field types, validation, embedding forms, and form themes.
Drupal is Stupid (But I Love It Anyway)brockboland
Regrettably, my machine didn't cooperate when I tried to record this presentation. I don't think the slides will do you much good without the stuff I said, but a few people asked for them.
---
Depending on who you ask, Drupal is either a framework or a platform, but no matter how you look at it, there are things about it that suck. Hear Brock Boland talk about the pain points of coding for Drupal 6, how things have improved in Drupal 7, and what's expected to be better in Drupal 8.
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 document describes how to build a bulletin board application in Laravel. It covers setting up the application structure with Blade views and layouts, connecting to a MySQL database to manage users and posts, creating Eloquent models, and building out the controller logic for common actions like registration, login, creating, editing, and deleting posts. Key sections include setting up the MVC framework with routes and controllers, implementing authentication with sessions, and using relationships and pagination for working with related data.
Gail villanueva add muscle to your wordpress sitereferences
Gail Villanueva presented ways to add functionality to WordPress websites, including creating custom post types, taxonomies, fields and templates. She demonstrated how to build a job listing site, portfolio, or online store using WordPress. Useful plugins were recommended for custom post types, portfolios, job listings and e-commerce. The presentation provided code examples for custom fields, templates and queries.
Simple Ways To Be A Better Programmer (OSCON 2007)Michael Schwern
"Simple Ways To Be A Better Programmer' as presented at OSCON 2007 by Michael G Schwern.
The audio is still out of sync, working on it. Downloading will be available once the sync is done.
First Steps in Drupal Code Driven DevelopmentNuvole
"First Steps in Code Driven Development" covers basic techniques and good practices. Presented during the "Developer Session" at Krimson office, Antwerp (BE), the 27th of May 2010.
This session introduces most well known design patterns to build PHP classes and objects that need to store and fetch data from a relational databases. The session will describe the difference between of the Active Record, the Table and Row Data Gateway and the Data Mapper pattern. We will also examine some technical advantages and drawbacks of these implementations. This talk will expose some of the best PHP tools, which ease database interactions and are built on top of these patterns.
- Propel is an ORM (object-relational mapper) for PHP that was started in 2005 and is based on concepts from Apache Torque.
- It uses code generation from XML schemas to quickly map database schemas to PHP classes.
- Propel supports various database backends including MySQL, PostgreSQL, SQLite, MSSQL, and Oracle. It uses inheritance mapping strategies like single table, class table, and concrete table inheritance.
The document discusses JavaScript templating libraries and jQuery's $.template plugin. It explains that templates allow separation of display logic from business logic and reusable markup. $.template converts a string into a function that renders data as HTML/DOM. Tags like {%= %} output values and {% %} execute JavaScript without output. Templates can take string, DOM, or Ajax input and output as a function, DOM fragment, or HTML string.
The document discusses dependency injection (DI) in PHP using the BEAR framework. It shows how DI allows classes to declare dependencies without knowing how to instantiate them. The User class declares a dependency on a Storage interface without knowing the concrete class. The document provides various examples of injecting dependencies into classes through the constructor, setter methods, and a global dependency registry. It also demonstrates how to configure DI with options like injector callbacks and persistent objects.
You must’ve heard of Unit testing… If not, then this talk is definitely for you! If you do know Unit testing, you probably ran at some point into a hurdle: “Where do I start?” And despite your best efforts, you end up not having enough tests for your application – Then that change request comes in, requiring you to change that very same complex piece of code for which you are lacking tests! How do you going refactor while maintaining all those ‘undocumented’ business rules? This talk will show how Codeception can be leveraged to refactor the visuals aspects of an application, maintaining backwards compatibility on API changes and even assist in moving to a whole different server infrastructure.
The document discusses the Sahana Eden emergency development environment. It provides an overview of key concepts like the model-view-controller architecture and describes how to build a new module for incident reporting with models, controllers and views. Instructions are given for setting up the development environment and performing common tasks like defining data models, creating forms and joining resources.
The document contains code snippets in PHP for working with categories and menus in Magento. It includes code to get store categories, loop through them to output the names and IDs, and generate URLs to link to the category pages. There are also code comments related to copyright and licensing for Magento.
The document provides information about building forms in Drupal using the Form API, including:
- Creating a basic subscription form with email and radio button fields
- Adding validation and submission handlers
- Passing data between the form, validation, and submission handlers
- Using fieldsets, trees and access control for form elements
- Creating tabular forms and theming forms into tables
- Defining custom form elements
- Invoking forms with drupal_get_form and providing default values
- Modifying existing forms like node forms using hooks
- Altering forms using hook_form_alter to customize behavior
This document provides an overview of different approaches to theming in Drupal: the "noob way" of using direct PHP/HTML, the Drupal 6 method of using theme functions, and the Drupal 7 Render API method of generating renderable arrays. It discusses advantages of the Render API like content alteration hooks, caching and performance. Key aspects covered include the renderable array structure, the use of #type, #theme, #states and #attached properties. The document recommends generating HTML as late as possible and using the Render API and caching to improve performance.
The document provides an overview of jQuery, including why jQuery is used, how to include the jQuery library, CSS selectors, DOM manipulation, event handling, AJAX, and JSON support in jQuery. Key points covered include getting started with jQuery, ID and custom selectors, DOM traversal methods, event bindings, inline CSS modification, looping in jQuery, and JSON parsing.
SugarCon 2010 - Best Practices for Creating Custom Apps in SugarJohn Mertic
The document discusses best practices for customizing SugarCRM applications. It recommends using Module Builder/Studio for customizations when possible, and placing any custom code in the custom directory to keep it separate from core code and prevent upgrades from overwriting changes. It also covers SugarCRM's MVC framework, metadata definitions, logic hooks, themes, and where to place custom code for each.
The document provides examples of validating user input in PHP to prevent security issues. It demonstrates validating that fields are not empty, data is the correct type/format, and user selections are made from dropdowns or radio buttons. Code samples show checking string length, data types, dates, and that options are selected from multiple choice fields. Validating user input helps prevent errors and security vulnerabilities when data is submitted.
The document discusses connecting to and interacting with MySQL databases from PHP. It provides examples of creating a database and table, inserting data, and retrieving data using the mysql and mysqli extensions. Key points covered include connecting to the database, executing queries, and fetching rows of data using functions like mysql_query(), mysql_fetch_array(), and mysqli->query().
DBIx::MoCo is an ORM for MySQL and SQLite that provides easy SQL operations and Ruby-like list methods for retrieving and manipulating data. It supports features like caching, relationships between models, and transparent type inflation. Tests can be written using fixtures that load sample data from YAML files. While it aims to be simple and fast, its documentation is limited and some bugs may exist.
This document provides an overview of jQuery including:
- Main jQuery objects like DOM tree, window, and document
- How to select elements using jQuery selectors
- How to get and set attributes, CSS, HTML and text of elements
- How to handle events like click and toggle using jQuery
- How to animate elements by showing, hiding, and changing styles
- Common jQuery plugins and tools for debugging
- Links to documentation and learning resources for jQuery
PHP frameworks provide reusable code and standardized structures for developing applications. The Zend framework is a popular open source PHP MVC framework that offers features like database abstraction, forms, validation, routing and more. It provides a modular architecture that allows applications to scale easily while maintaining code quality and organization.
WordPress as a Content Management System, by Setyagus Sucipto (http://twitter.com/agoes82), from iCreativeLabs Studio, Bandung for WORDCAMPID - WordCamp Indonesia 2010. Auditorium Gunadarma University, Depok, January 30, 2010
Smarter Interfaces with jQuery (and Drupal)aasarava
The document discusses various techniques for creating dynamic interfaces with jQuery in Drupal, including:
1. Letting Drupal know about jQuery through modules or themes using functions like drupal_add_js().
2. Writing JavaScript code to modify and interact with page elements.
3. Providing examples that dynamically modify navigation menus, add character counters to forms, and create multi-page forms.
This document provides a tutorial on using PHP and MySQL together. It introduces PHP and MySQL, outlines how to set up a database with MySQL, and includes PHP code examples for adding, querying, updating, and deleting data from the MySQL database. The PHP code examples connect to the database, validate user input, sanitize values, and perform CRUD operations on the database using MySQL queries.
The document discusses various techniques for querying databases and generating reports from the query results using Perl. It provides examples of using DBI and SQL to query databases and format output, techniques for binding variables, preparing queries, and fetching and printing rows. Additional examples show merging and transforming tabular data for different output formats.
Building a horizontally scalable API in phpWade Womersley
This document discusses building a horizontally scalable API in PHP. It covers using MySQL with binary hashes and separating data logically. It also discusses using CouchDB and features like stale views and document update handlers. It provides an example CouchDB update function. Additional topics include caching with Varnish and Membase, using the Zend Framework REST controller, and implementing API methods. The document also offers tips on PHP requests, exceptions, testing with JMeter, and links for further resources.
SQLite is a file-based database engine that stores databases in files on disk. It supports databases up to 2TB in size and can be easily portable across platforms. SQLite is completely typeless, meaning fields do not need to be associated with a specific type. SQL commands are used to interact with SQLite databases from PHP. Queries return result objects that can be fetched and processed row by row or all at once to retrieve the full result set.
The document discusses different strategies for testing persistence in PHP applications, including unit testing with mocks and dependencies, integration testing using DbUnit to insert test data and assert expected results, and techniques for setting up common initial states across tests. It also covers the benefits and downsides of different types of tests, such as layer crossing tests that test interactions across layers but may be more brittle, versus end-to-end black box tests that test through the public API but are harder to debug.
My colleague Adnan created this slide and on behalf of him i am uploading this slide.
A nice Visual Diagram is there on the SERVER CLIENT concept. Must see for newbie.
Dapper is an object mapper for ADO.NET that aims to simplify data access and mapping between .NET objects and SQL databases. It provides extension methods for querying and mapping database results to .NET objects with minimal code. Micro ORMs like Dapper, Massive, PetaPoco, and SimpleData aim to simplify data access without requiring complex infrastructure or configuration. They emphasize performance, simplicity and working directly with SQL and database objects.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Infrastructure Challenges in Scaling RAG with Custom AI modelsZilliz
Building Retrieval-Augmented Generation (RAG) systems with open-source and custom AI models is a complex task. This talk explores the challenges in productionizing RAG systems, including retrieval performance, response synthesis, and evaluation. We’ll discuss how to leverage open-source models like text embeddings, language models, and custom fine-tuned models to enhance RAG performance. Additionally, we’ll cover how BentoML can help orchestrate and scale these AI components efficiently, ensuring seamless deployment and management of RAG systems in the cloud.
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
Monitoring and Managing Anomaly Detection on OpenShift.pdfTosin Akinosho
Monitoring and Managing Anomaly Detection on OpenShift
Overview
Dive into the world of anomaly detection on edge devices with our comprehensive hands-on tutorial. This SlideShare presentation will guide you through the entire process, from data collection and model training to edge deployment and real-time monitoring. Perfect for those looking to implement robust anomaly detection systems on resource-constrained IoT/edge devices.
Key Topics Covered
1. Introduction to Anomaly Detection
- Understand the fundamentals of anomaly detection and its importance in identifying unusual behavior or failures in systems.
2. Understanding Edge (IoT)
- Learn about edge computing and IoT, and how they enable real-time data processing and decision-making at the source.
3. What is ArgoCD?
- Discover ArgoCD, a declarative, GitOps continuous delivery tool for Kubernetes, and its role in deploying applications on edge devices.
4. Deployment Using ArgoCD for Edge Devices
- Step-by-step guide on deploying anomaly detection models on edge devices using ArgoCD.
5. Introduction to Apache Kafka and S3
- Explore Apache Kafka for real-time data streaming and Amazon S3 for scalable storage solutions.
6. Viewing Kafka Messages in the Data Lake
- Learn how to view and analyze Kafka messages stored in a data lake for better insights.
7. What is Prometheus?
- Get to know Prometheus, an open-source monitoring and alerting toolkit, and its application in monitoring edge devices.
8. Monitoring Application Metrics with Prometheus
- Detailed instructions on setting up Prometheus to monitor the performance and health of your anomaly detection system.
9. What is Camel K?
- Introduction to Camel K, a lightweight integration framework built on Apache Camel, designed for Kubernetes.
10. Configuring Camel K Integrations for Data Pipelines
- Learn how to configure Camel K for seamless data pipeline integrations in your anomaly detection workflow.
11. What is a Jupyter Notebook?
- Overview of Jupyter Notebooks, an open-source web application for creating and sharing documents with live code, equations, visualizations, and narrative text.
12. Jupyter Notebooks with Code Examples
- Hands-on examples and code snippets in Jupyter Notebooks to help you implement and test anomaly detection models.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
1. Views Notwithstanding A Programmer’s guide to working with MySQL Tables in Drupal using PHP and SQL -- Srikanth Bangalore. Bangalore.srikanth@gmail.com Drupal ID: bangalos
2. Drupal APIs (in PHP) for: Creating a table During installation of your custom module Post installation of your custom module Inserting into table Querying the table and iterating over rows Creating a “Block” Creating an Admin “menu” (form) Creating a form
3. Creating a Table (during installation of custom module) hotornot.info name = Hot Or Not description = Builds A Hot Or Not Block, And Lets Users Rate Images In A Folder. package = Hot Or Not core = 6.x hotornot.module (to be populated later) hotornot.install (see next slide)
4. Hotornot.install <?php function hotornot_install() { switch ($GLOBALS['db_type']) { case 'mysql': case 'mysqli': // the {tablename} syntax is so multisite installs can add a prefix to the table name as set in the settings.php file db_query("CREATE TABLE {hotornot_filelist} ( file_idint unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY, file_pathvarchar(256) NOT NULL DEFAULT './.', present_or_notsmallint unsigned NOT NULL DEFAULT 1, title varchar(256), description text ) /*!40100 DEFAULT CHARACTER SET utf8 */;"); break; } }
5. Adding Another Table later function hotornot_update_1() { switch ($GLOBALS['db_type']) { case 'mysql': case 'mysqli': db_query ("CREATE TABLE {hotornot_userchoice} ( file_idint unsigned NOT NULL DEFAULT 0, uidint unsigned NOT NULL DEFAULT 0, hot_or_notsmallint unsigned NOT NULL DEFAULT 0, PRIMARY KEY (file_id, uid) ) /*!40100 DEFAULT CHARACTER SET utf8 */;"); break; } }
6. Things To Remember … db_query function accepts an SQL statement as input, and executes it.
7. function hotornot_repopulate() { $path_to_files = realpath('.') . variable_get('hotornot_folder', '/sites/default/files/hotornot'); $output = ""; $isql = "UPDATE {hotornot_filelist} SET present_or_not = 0 WHERE file_id>0"; $iresult = db_query($isql); if ($handle = opendir($path_to_files)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { $output .= "$file"; $query = "SELECT COUNT(*) FROM {hotornot_filelist} WHERE file_path = '$file'"; $num = db_result(db_query($query)); if($num) { $isql = "UPDATE {hotornot_filelist} SET present_or_not=1 WHERE file_path = '$file'"; $iresult = db_query($isql, $file); } else { $isql = "INSERT INTO {hotornot_filelist} (file_path, present_or_not) VALUES ('%s', 1)"; $iresult = db_query($isql, $file); } } } closedir($handle); } drupal_set_message($output); }
8. Things To Remember … db_query function accepts an SQL statement as input, and executes it. db_result(db_query($sql)) extracts the SINGLE value of the db_query result. variable_get function is used to get the value of a programmer-defined variable. (see later).
9. hotornot.module – part 1: adding the admin menu (a) <?php function hotornot_menu() { $items = array(); $items['admin/settings/hotornot'] = array( 'title' => t('Hot Or Not'), 'description' => t('Select The Hot Or Not Image Folder'), 'page callback' => 'drupal_get_form', 'page arguments' => array('hotornot_admin_settings'), 'access arguments' => array('administer site configuration'), ); return $items; } ….(see next slide)
10. hotornot.module – part 1: adding the admin menu (b) function hotornot_admin_settings() { $form = array(); $form['hotornot_folder'] = array( '#type' => 'textfield', '#title' => t('The folder where all the images for the Hot Or Not are Stored'), '#default_value' => variable_get('hotornot_folder', 'sites/default/files/hotornot'), ); $form['hotornot_repopulate'] = array( '#type' => 'submit', '#value' => 'Repopulate', ); $form['#submit'][] = 'hotornot_admin_settings_submit_handler'; return system_settings_form($form); } function hotornot_admin_settings_submit_handler(&$form, &$form_state) { if ($form_state['clicked_button']['#id'] == 'edit-hotornot-repopulate') { hotornot_repopulate(); } }
11. Things to remember … Use drupal forms api to build the forms, even the Admin forms. 3 steps to having your own module’s admin settings form: Define path + form_builder_function in hook_menu(); Build your form using the forms API. Remember to wrap your form with “system_settings_form” Do your “stuff” in the submit handler.
12. hotornot.module – part 2adding the block (a) function hotornot_block($op = 'list', $delta = 0, $edit = array()) { switch ($op) { case 'list': $blocks[0]['info'] = t('Rate this!'); return $blocks; case 'view': if ($delta == 0 ) { $block[0]['subject'] = t("Do you like ..."); $block[0]['content'] = drupal_get_form('hotornot_hotornotform'); } return $block[$delta]; } }
13. hotornot.module – part 2adding the block (b) function hotornot_hotornotform(&$form_state) { $form = array(); global $user; $sql = "SELECT filelist.file_path AS filename, filelist.file_id AS file_id, filelist.title AS file_title FROM {hotornot_filelist} as filelist WHERE filelist.present_or_not > 0 AND (filelist.file_id not in (SELECT file_id FROM {hotornot_userchoice} WHERE uid=%d)) ORDER BY RAND() LIMIT 1"; $result = db_query($sql, $user->uid); $atleastoneexists = FALSE; while ($row = db_fetch_array($result)) { $atleastoneexists = TRUE; $form['my_fileid'] = array( '#type' => 'hidden', '#value' => $row['file_id'] );
15. hotornot.module – part 2adding the block (d) function hotornot_hotornotform_submit(&$form, &$form_state) { global $user; if ($form_state['clicked_button']['#id'] == 'edit-ishot') { $ishot = 1; } else { $ishot = 0; } $fileid = $form_state['clicked_button']['#post']['my_fileid']; $isql = "REPLACE INTO {hotornot_userchoice} (file_id, uid, hot_or_not) VALUES (%d, %d, %d)"; $iresult = db_query($isql, $fileid, $user->uid, $ishot); }
16. Things To Remember … db_query function accepts an SQL statement as input, and executes it. db_result(db_query($sql)) extracts the SINGLE value of the db_query result. To get the rows of the query result in an iterator. $result = db_query($sql); while ($row = db_fetch_array($result)) { $val = $row[‘column_name’] }
17. hotornot.module – part 3adding a page to enter title/desc (a) function hotornot_menu() { $items = array(); // ...code... $items['hotornot/administer'] = array( 'title' => t('Hot Or Not Administration'), 'description' => t('Add Or Edit Title And Descriptions to Hot Or Not Items'), 'page callback' => 'local_hotornot_administer_description_form', 'access arguments' => array('access content'), 'type' => MENU_CALLBACK, ); // ...code... return $items; } function local_hotornot_administer_description_form() { return drupal_get_form('hotornot_administer_description_form'); }
18. hotornot.module – part 3adding a page to enter title/desc (b) function hotornot_administer_description_form(&$form_state) { $form = array(); global $user; $form['blurb'] = array ( '#type' => 'markup', '#value' => '<p>You will be shown one picture at a time that does not have any title or description. You just have to enter a title and description and hit submit.</p>' , ); $sql = "SELECT filelist.file_path AS filename, filelist.file_id AS file_id, filelist.title AS title FROM {hotornot_filelist} as filelist WHERE filelist.present_or_not > 0 AND filelist.title is NULL LIMIT 1"; $result = db_query($sql); $atleastoneexists = FALSE; while ($row = db_fetch_array($result)) {
20. hotornot.module – part 3adding a page to enter title/desc (d) } else { $form['picture'] = array( '#type' => 'markup', '#value' => '<p>Currently, you have seen all the items. Thank you.</p>', ); } return $form; } function hotornot_administer_description_form_submit(&$form, &$form_state) { $fileid = $form_state['values']['fileid']; $title = $form_state['values']['title']; $isql = "UPDATE {hotornot_filelist} SET title='%s' WHERE file_id=%d"; $iresult = db_query($isql, $title, $fileid); }
21. Summary We learnt how to create a new table at the time of installing our module How to use db_query, db_result, db_fetch_array How to create user blocks and user pages How to create Admin menus and define new variables How to use Forms API
22. Drupal 7 changes Switch(db_type) does not work! Db_result() is replaced with ->fetchField(); Db_query (“adb=%d,%s”, $a, $b) is replaced with Db_query(“abd=:a,:b”, array(‘:a’=>$a, ‘:b’=>$b));