Slides used during Magento User Group Den Bosch, dealing with Magento debugging - tools, extensions and tips on how to troubleshoot Magento errors and performance.
Slides used during Magento User Group Den Bosch, dealing with Magento debugging - tools, extensions and tips on how to troubleshoot Magento errors and performance.
Growing pains - PosKeyErrors and other malaisesPhilip Bauer
As a Plone project grows and changes it experiences growing pains. I will discuss some strategies to prevent and reduce these issues and treatments to cure them if your project is already infected.
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and MavenThorsten Kamann
The most difficult part to test is the WebUI. This part of an application only manually tested. With Selenium you are able to test WebUIs on a simple way. In this article we shows you how to automating the test process.
Surf Code Camp walkthrough 1 was done as a joint exercise between the instructor and the class as a precursor to Lab 3. It covers Surf site construction basics.
Full solution source code is at http://ecmarchitect.com/images/green-energy-code-camp.zip
Growing pains - PosKeyErrors and other malaisesPhilip Bauer
As a Plone project grows and changes it experiences growing pains. I will discuss some strategies to prevent and reduce these issues and treatments to cure them if your project is already infected.
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and MavenThorsten Kamann
The most difficult part to test is the WebUI. This part of an application only manually tested. With Selenium you are able to test WebUIs on a simple way. In this article we shows you how to automating the test process.
Surf Code Camp walkthrough 1 was done as a joint exercise between the instructor and the class as a precursor to Lab 3. It covers Surf site construction basics.
Full solution source code is at http://ecmarchitect.com/images/green-energy-code-camp.zip
In this talk we will explore the Zen of Python and the famous PEP8 Style Guide. Learn about the tenets of the Python language and how you can apply them to make your code beautiful and functional. After all, Readability Counts!
Managing Chaos: Merging 120 Sites into a single Plone Multisite SolutionClayton Parker
Discover how the Penn State College of Liberal Arts moved over 120 separate websites running on their own Plone installation into a single system utilizing Lineage in less than 90 days. The new system retains the independent permissions and workflows each site needed to have. This talk will discuss the reasons for the consolidation and why the new system is more efficient and easier to navigate for administrators.
A historical discussion along with a survey of the current landscape of Python packaging. Also learn the basics of uploading your package to PyPi.
Presentation was given at the IndyPy user group meeting in February 2014.
Notre Dame Seamless Syndication with LineageClayton Parker
Learn how Lineage can be used to manage numerous nested websites and how a multi-directional syndication and publication mechanism is allowing them to leverage content across all sites.
Six Feet Up will present how the College of Engineering at the University of Notre Dame has replaced a profusion of independent and disconnected websites with a Plone-based hub-and-spoke site using Lineage. Content can be easily syndicated to and from any of the participating sites through a sophisticated mechanism that lets content contributors submit syndication requests through a publication workflow.
This case study will show how the deployed solution is giving the University the ability to delegate content creation while still controlling the quality of the output, as well as give more visibility to some of the content pieces authored by its faculty members.
Pioneer a Strategic Change in Content Organization with PloneClayton Parker
Waking up to the reality of SEO and social media, large corporate organizations are now looking to better control content on their long list of child sites, as well as prevent strategic information from evading to third-party sites such as LinkedIn, Facebook, Twitter, etc.
One forward-thinking school – College of Engineering at University of Notre Dame – has set the ball rolling by implementing a large hub and spoke infrastructure to manage the content of a dozen departments and a dozen research centers. The new structure was unveiled in January 2012 and is powered by Plone.
In this talk, we will unveil how the Plone add-on Lineage can be used to create a powerful structure of parent and child sites. First, we will explain how Lineage works out of the box with no customizations. The default behavior is simple and allows for the new microsites to be created instantly, but they will look the same as their parent.
After reviewing the stock behavior, we will explore how to extend Lineage. There are several Lineage add-ons that allow child sites to have their own theme or even their own properties. We will present what these add-ons provide on top of the out-of-the box experience. We will also reveal how to use the child site creation hooks to populate the new child sites with content, set up properties and prepare the child site for use by the end users.
Using Buildout, GenericSetup and a Policy Package to Rule the WorldClayton Parker
So you have your code on the filesystem and you are using buildout;
what's next? You can take your build to the next level by reducing the
amount of manual steps needed to create and maintain your site. Using
collective.recipe.plonesite, you can ensure that every member of your
team is working on an identical Plone site at any given time.
Without the plonesite recipe, when you run your buildout for the first
time, you are left with an empty Zope site. This talk will show you how
to utilize buildout to create a Plone site for you and make sure it is
all set up via a policy package and GenericSetup so you can hit the
ground running.
Make Plone Search Act Like Google Using SolrClayton Parker
Solr is a powerful open source search engine server which has become a popular choice for extending the search capabilities of Plone sites. The default configuration works well, but how do you answer the client's request to "Make my search just like Google's"?
In this talk we will take a look at the various options that are available for configuring Solr's schema and configuration. We will discuss how to set up stop words, spell checking, n-grams and alternate query handlers. We will see what effect these settings will have on the search results and find out how to debug problems when they arise.
Migrating from drupal to plone with transmogrifierClayton Parker
Transmogrifier is a migration framework that can help you easily migrate from one platform to another. It has been written in a way that allows re-use of migration code through blueprints. In this talk we will walk through the steps necessary to migrate from Drupal, a popular CMS written in PHP, into Plone. We will see how to use the various blueprints available to build a pipeline that prepares and imports the content into Plone
Buildout is a great tool for creating repeatable environments. But what happens when things change and you are left with a broken buildout? This talk will focus on creating a buildout that can survive the test of time. The talk will cover how to keep your packages pinned so that releases don't cause you headaches. We will also discuss how to set up your own package server in order to make sure that you always have the packages that you need.
Transmogrifier is a tool that gives you the ability to create a configurable pipeline to import and export from various systems. Each section of the pipe can be turned into a re-usable blueprint that can be given back to the community. This gives us the ability to quickly create migration paths for existing systems and maintain them as Python packages.
LDAP and Active Directory Authentication in PloneClayton Parker
In this presentation, we will discuss the benefits of having Plone authenticate
against a directory server. We will explore which tools are available to make
this authentication option successful as well as how to configure them.
Finally, disadvantages and possible problems with such a setup will be
discussed.
Six Feet Up's senior developer Clayton Parker will lead you on a journey to become a Python zen master. Your code should be as fashionable as it is functional. To quote the Zen of Python, "Beautiful is better than ugly". This talk will teach you about the Python style guide and why it is important. The talk will show you examples of well written Python and how to analyze your current code to make Guido proud.
Six Feet Up's senior developer Clayton Parker will lead you on a journey to become a Python zen master. Your code should be as fashionable as it is functional. To quote the Zen of Python, "Beautiful is better than ugly". This talk will teach you about the Python style guide and why it is important. The talk will show you examples of well written Python and how to analyze your current code to make Guido proud.
Using Buildout to Develop and Deploy Python ProjectsClayton Parker
Buildout gives you a way to manage, build and deploy your Python project with ease. Large Python projects such as Plone use it to distribute repeatable development environments. Buildout allows you to easily get up and running with your project versus the traditional method of installing all the dependancies and manually configuring your applications instance for each environment. The buildout community is rapidly growing with a large repository of recipes that allow you to extend it's functionality. This talk will show you the basics of using buildout and how to make it a vital part of your project's life cycle.
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.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
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
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
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.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
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.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
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.
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/
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Generic Setup De-Mystified
1. GenericSetup
De-mystified
Clayton Parker
Plone Symposium East 2009
nowhere to go but
open source
s ix fe e tup . co m / i mm e rs e
2. Who am I?
• Lead Developer at Six Feet Up, Inc.
• claytron on IRC
s ixf eet up. c om/ i mme r se
3. What’s in store?
• The what and why of GenericSetup
• Importing and exporting
• Best practices
• portal_setup vs. portal_quickinstaller
s ixf eet up. c om/ i mme r se
4. What?
• portal_quickinstaller replacement
• CustomizationPolicy replacement
• Site configuration
• Upgrades
s ixf eet up. c om/ i mme r se
5. Why?
“Persistence means always having to
say you’re sorry” - Seaver’s Law
s ixf eet up. c om/ i mme r se
8. What’s in a profile?
<genericsetup:registerProfile
name=quot;defaultquot;
title=quot;My Packagequot;
directory=quot;profiles/defaultquot;
description=quot;My Package install profilequot;
provides=quot;Products.GenericSetup.interfaces.EXTENSIONquot;
/>
• profile-<package_name>:<profile_name>
• profile-my.package:default
• my.package:default
s ixf eet up. c om/ i mme r se
9. On the filesystem
my.package/my/package/
|
|- configure.zcml
|- exportimport/
|
|- profiles/
| |
| |- default/
| |
| |- metadata.xml
| |- my.package-default.txt
| |- <other profile files>
|
|- setuphandlers.py
|- upgrades.py
s ixf eet up. c om/ i mme r se
15. metadata.xml
<?xml version=quot;1.0quot;?>
<metadata>
<version>1.0</version>
<dependencies>
<dependency>profile-my.theme:default</dependency>
<dependency>profile-my.other.package:default</dependency>
</dependencies>
</metadata>
s ixf eet up. c om/ i mme r se
19. Tell me more
• Profile for initial site setup
• Upgrade steps
s ixf eet up. c om/ i mme r se
20. Upgrade steps
<genericsetup:upgradeStep
title=quot;Setup calendarquot;
description=quot;Modify the calendar settingsquot;
source=quot;0.9quot;
destination=quot;1.0quot;
handler=quot;.upgrades.setupCalendarquot;
sortkey=quot;10quot;
profile=quot;my.package:defaultquot;
/>
s ixf eet up. c om/ i mme r se
21. Upgrade steps
from Products.CMFCore.utils import getToolByName
def setupCalendar(context):
ctool = getToolByName(context, 'portal_calendar')
cal_types = list(ctool.calendar_types)
if 'MyEventType' not in cal_types:
cal_types.append('MyEventType')
ctool.calendar_types = cal_types
s ixf eet up. c om/ i mme r se
22. Best Practices
• Uninstall profiles
• Trim the export
• Be aware of other profiles
s ixf eet up. c om/ i mme r se
23. <property name=quot;metaTypesNotToListquot; type=quot;linesquot;>
<element value=quot;ATBooleanCriterionquot;/>
<element value=quot;ATDateCriteriaquot;/>
<element value=quot;ATDateRangeCriterionquot;/>
<element value=quot;ATListCriterionquot;/>
...
</property>
<property name=quot;metaTypesNotToListquot; type=quot;linesquot; purge=quot;Falsequot;>
<element value=quot;Imagequot;/>
<element value=quot;Filequot;/>
</property>
s ixf eet up. c om/ i mme r se
25. def install(portal):
quot;quot;quot;Run the GS profile to install this packagequot;quot;quot;
out = StringIO()
runProfile(portal, 'profile-my.package:default')
print >>out, quot;Installed my.packagequot;
return out.getvalue()
def uninstall(portal, reinstall=False):
quot;quot;quot;Run the GS profile to install this packagequot;quot;quot;
out = StringIO()
if not reinstall:
runProfile(portal, 'profile-my.package:uninstall')
print >>out, quot;Uninstalled my.packagequot;
return out.getvalue()
s ixf eet up. c om/ i mme r se
26. Make me a Zope 2 style product
<five:registerPackage package=quot;.quot; initialize=quot;.initializequot;/>
s ixf eet up. c om/ i mme r se
27. What did we learn?
• The what and why of GenericSetup
• Importing and exporting
• Best practices
• portal_setup vs. portal_quickinstaller
s ixf eet up. c om/ i mme r se
28. Links
• http://www.sixfeetup.com/swag/generic-setup-quick-reference-card
• http://plone.org/documentation/manual/generic-setup/
s ixf eet up. c om/ i mme r se
29. Learn Plone by building a website from A to Z
1 non-profit project • 10 workshops • 14 mentors • 3 days
s ixf eetup. com/im merse
Register by June 30th
and save $255!