The document discusses using Buildout, GenericSetup, and a policy package to create repeatable Plone site environments, including setting up profiles for installation and upgrades, content packages for initial content, and a Plone site recipe for Buildout to automate site creation. It also provides an example of setting up a policy package, various profiles, and using GenericSetup and upgrades to manage a site configuration.
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.
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.
Jenkins User Conference 2012
Only by the third plugin do you get the hang of writing a plugin. I thought as a developer coming to the build side of things it'd be easy to jump in and write some plugins. I was wrong. Don't be fooled by the extremely friendly Jenkins community, writing a plugin from scratch is harder than they let on. This talk will explain the hurdles that I had to cross to make writing plugins easy.
Jenkins Plugin Development With Gradle And GroovyDaniel Spilker
Learn how to use the Gradle JPI plugin to enable a 100% Groovy plugin development environment. We will delve into Groovy as the primary programming language, Spock for writing tests and Gradle as the build system.
Reusable bootstrap resources zend con 2010Hector Virgen
ZendCon 2010
This session demonstrates how to build configurable and reusable bootstrap resources powered entirely by application.ini. Covers basic and advanced bootstrapping techniques, sharing bootstrap resources between applications, and accessing resources from within your applications.
This is source code of a simple web that can search 500 youtube clips. To run the web you need to obtain YOUR API KEY
You can test this html file at the following address
http://phanhung20.blogspot.com/2015/09/javascript-for-searching-videos.html
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.
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.
Jenkins User Conference 2012
Only by the third plugin do you get the hang of writing a plugin. I thought as a developer coming to the build side of things it'd be easy to jump in and write some plugins. I was wrong. Don't be fooled by the extremely friendly Jenkins community, writing a plugin from scratch is harder than they let on. This talk will explain the hurdles that I had to cross to make writing plugins easy.
Jenkins Plugin Development With Gradle And GroovyDaniel Spilker
Learn how to use the Gradle JPI plugin to enable a 100% Groovy plugin development environment. We will delve into Groovy as the primary programming language, Spock for writing tests and Gradle as the build system.
Reusable bootstrap resources zend con 2010Hector Virgen
ZendCon 2010
This session demonstrates how to build configurable and reusable bootstrap resources powered entirely by application.ini. Covers basic and advanced bootstrapping techniques, sharing bootstrap resources between applications, and accessing resources from within your applications.
This is source code of a simple web that can search 500 youtube clips. To run the web you need to obtain YOUR API KEY
You can test this html file at the following address
http://phanhung20.blogspot.com/2015/09/javascript-for-searching-videos.html
Grails Plugins(Console, DB Migration, Asset Pipeline and Remote pagination)NexThoughts Technologies
It's an introduction with examples of some of popular Grails plugins - Console, DB Migration, Asset Pipeline and Remote pagination which are used in day to day task.
Gentle introduction to Pyramid. Where it comes from, how simple it, how fast, how flexible and why the future will be pyramid shaped.
Made for pyconau 2011
Intro to Selenium UI Tests with pytest & some useful pytest pluginsAsif Mohaimen
This presentation was done in Eskimi Tech Adda Episode 3 webinar on August 27, 2020
YouTube URL: https://youtu.be/lGJ8gzquLxY?t=141
Facebook URL: http://bit.ly/tech-adda-selenium
Event Link: https://www.facebook.com/events/700884720640505
Brad Williams, the co-author of Professional WordPress Plugin Development, gives his presentation on Intro to WordPress Plugin Development to the NYC WordPress Meetup group in March 2011.
If you are new to WordPress, but already know how to program, the typical "Hello, World" examples aren't helpful. You need to know how to make the right API calls, and where to find documentation about the actions and filters that WordPress makes available to you.
This presentation is a brief introduction skimming the surface of the API hook system in WordPress. It does not go into deep detail, but gives brief "real world" examples of how to use filters and actions, along with pointers on where to find the main documentation that will help you get started on your own plugins.
Ruben van Vreeland, Co-Founder and Hacking CEO of BitSensor gave this lecture on the founding of BitSensor during IT Talent College Cloud Edition on the 18th of May.
Best Practices in Plugin Development (WordCamp Seattle)andrewnacin
My talk -- officially named "Y U NO CODE WELL" -- at WordCamp Seattle 2011 on best practices during plugin development. Find the video, as it provides some good context and conversation.
Rails Antipatterns | Open Session with Chad Pytel Engine Yard
As developers worldwide have adopted the Ruby on Rails web framework, many have fallen victim to common mistakes that reduce code quality, performance, reliability, stability, scalability, and maintainability. Even experienced developers will find that they can reevaluate the work they've done and make it better.
In this session, Chad Pytel will provide an overview of some of these common mistakes as well as take questions from the audience and provide real-world advice. Bring your issues and get expert advice on how to bring your code in line with today's best practices.
Automatisation in development and testing - within budgetDavid Lukac
Working on client projects with very strict budget and resource restrictions, tight deadlines and pressure, many times does not allow for full blown Test Driven Development, Continuous Delivery and other software engineering goodness we would love to have. We will show you easily accessible and quickly implementable options, that allow you to automate your development and testing process, or at least the most painful parts, without blowing the budget. Finally you can relax during deployments of the code to production! :-)
Martin Aspeli Extending And Customising Plone 3Vincenzo Barone
Plone 3 introduces several new features, such as an improved Portlets infrastructure, the Content Rules engine, a more pluggable UI based on viewlets and a more flexible menu system. This tutorial, structured as a series of short walk-throughs, will teach you: - How to make a new portlet the Plone 3 way - How to create a new content rule action or condition - How to plug into the standard UI using viewlets - How to add new drop-down menus to the content menu bar
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
Grails Plugins(Console, DB Migration, Asset Pipeline and Remote pagination)NexThoughts Technologies
It's an introduction with examples of some of popular Grails plugins - Console, DB Migration, Asset Pipeline and Remote pagination which are used in day to day task.
Gentle introduction to Pyramid. Where it comes from, how simple it, how fast, how flexible and why the future will be pyramid shaped.
Made for pyconau 2011
Intro to Selenium UI Tests with pytest & some useful pytest pluginsAsif Mohaimen
This presentation was done in Eskimi Tech Adda Episode 3 webinar on August 27, 2020
YouTube URL: https://youtu.be/lGJ8gzquLxY?t=141
Facebook URL: http://bit.ly/tech-adda-selenium
Event Link: https://www.facebook.com/events/700884720640505
Brad Williams, the co-author of Professional WordPress Plugin Development, gives his presentation on Intro to WordPress Plugin Development to the NYC WordPress Meetup group in March 2011.
If you are new to WordPress, but already know how to program, the typical "Hello, World" examples aren't helpful. You need to know how to make the right API calls, and where to find documentation about the actions and filters that WordPress makes available to you.
This presentation is a brief introduction skimming the surface of the API hook system in WordPress. It does not go into deep detail, but gives brief "real world" examples of how to use filters and actions, along with pointers on where to find the main documentation that will help you get started on your own plugins.
Ruben van Vreeland, Co-Founder and Hacking CEO of BitSensor gave this lecture on the founding of BitSensor during IT Talent College Cloud Edition on the 18th of May.
Best Practices in Plugin Development (WordCamp Seattle)andrewnacin
My talk -- officially named "Y U NO CODE WELL" -- at WordCamp Seattle 2011 on best practices during plugin development. Find the video, as it provides some good context and conversation.
Rails Antipatterns | Open Session with Chad Pytel Engine Yard
As developers worldwide have adopted the Ruby on Rails web framework, many have fallen victim to common mistakes that reduce code quality, performance, reliability, stability, scalability, and maintainability. Even experienced developers will find that they can reevaluate the work they've done and make it better.
In this session, Chad Pytel will provide an overview of some of these common mistakes as well as take questions from the audience and provide real-world advice. Bring your issues and get expert advice on how to bring your code in line with today's best practices.
Automatisation in development and testing - within budgetDavid Lukac
Working on client projects with very strict budget and resource restrictions, tight deadlines and pressure, many times does not allow for full blown Test Driven Development, Continuous Delivery and other software engineering goodness we would love to have. We will show you easily accessible and quickly implementable options, that allow you to automate your development and testing process, or at least the most painful parts, without blowing the budget. Finally you can relax during deployments of the code to production! :-)
Martin Aspeli Extending And Customising Plone 3Vincenzo Barone
Plone 3 introduces several new features, such as an improved Portlets infrastructure, the Content Rules engine, a more pluggable UI based on viewlets and a more flexible menu system. This tutorial, structured as a series of short walk-throughs, will teach you: - How to make a new portlet the Plone 3 way - How to create a new content rule action or condition - How to plug into the standard UI using viewlets - How to add new drop-down menus to the content menu bar
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
Effective Python Package Management [PyCon Canada 2017]Devon Bernard
This talk showcases various example scenarios around the ins/outs of managing Python packages. Scenarios range from intra-package problems of how to build a package, inter-package problems of how to connect packages, to general usage/environment/setup problems that developers have a hard time debugging. For each of these scenarios, I'll highlight the pros/cons, best practices, and how to overcome the issues developers commonly face.
Some examples: - installing packages from public, local file system, git (ssh + https), and how this affects deployment procedures - handling systems with multiple Python versions or package managers - how app structures and imports can affect testability - relative vs absolute imports - virtual environments - setup scripts - package versioning (why, when, how) - how new code changes could not be taking effect (old .pyc files, or updated import not catching) - handling sub-packages/dependencies that utilize parent configuration files - working with PYTHONPATH - executing python as modules or scripts
Talk presented on Nov 18, 2017 at PyCon Canada 2017.
This was a talk given at Django District in March, 2016. It goes over the general gist of how to integrate Django Rest Framework with React and Redux. It also includes a github repo with working code, including using Webpack for Hot Reloading and Redux Dev Tools for time traveling state.
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!
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.
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.
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.
Your Plone instance can dance and sing. Now you need to pretty it up. Ever wondered about how to stylize Plone's look and rearrange the layout? Ever contemplated interacting with Plone's stylesheets or going with a full face-lift? Six Feet Up's Senior Developer Clayton Parker will be your Beauty Specialist and lead you through the makeover of your Plone site referring to several Plone fashion models. Some of the topics touched on will include a review of the various philosophies to reskinning Plone, beauty tips for augmenting the site layout via viewlets, training on when to use Zope 3 resources, and help with registering your customizations with the resource registries. The presentation will also go over how to use base properties to create your site's very special look. Some common Plone fashion faux-pas will be unveiled as well, such as using the custom folder or bloating your site's HTML.
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.
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.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...SOFTTECHHUB
The choice of an operating system plays a pivotal role in shaping our computing experience. For decades, Microsoft's Windows has dominated the market, offering a familiar and widely adopted platform for personal and professional use. However, as technological advancements continue to push the boundaries of innovation, alternative operating systems have emerged, challenging the status quo and offering users a fresh perspective on computing.
One such alternative that has garnered significant attention and acclaim is Nitrux Linux 3.5.0, a sleek, powerful, and user-friendly Linux distribution that promises to redefine the way we interact with our devices. With its focus on performance, security, and customization, Nitrux Linux presents a compelling case for those seeking to break free from the constraints of proprietary software and embrace the freedom and flexibility of open-source computing.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
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.
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!
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/
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
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.
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.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
9. Human Err0r PLONE SYMPOSIUM EAST 2012
“Hey Bob, did you run the fizzbang.widget profile
on production”
“I think so, Doug”
“Do you know why the client is yelling at me
right now?”
“Maybe I didn’t, let me fix that real quick”
11. Create the package* PLONE SYMPOSIUM EAST 2012
$ cd path/to/buildout/src
$ zopeskel sfu_policy pse12.policy
$ cd pse12.policy
.. git init / add / etc ...
* This example uses sixieskel for brevity,
you might use the “plone” template
34. Setuphandlers PLONE SYMPOSIUM EAST 2012
from sixfeetup.utils import helpers as sfutils
def importVariousInitial(context):
"""Run the setup handlers for the initial profile"""
if context.readDataFile('pse12_policy-initial.txt') is None:
return
members = [
{'id': 'staff',
'password': 'staff',
'roles': ['Manager', 'Member'],
'properties': {
'email': 'changeme@example.com',
'fullname': 'Site Staff',
'username': 'staff'
}
}
]
sfutils.addUserAccounts(members)
35. Setuphandlers PLONE SYMPOSIUM EAST 2012
<genericsetup:importStep
name="pse12.policy: initial"
title="pse12.policy: Various Initial steps"
description="Initial Setup handlers for pse12.policy"
handler="pse12.policy.setuphandlers.importVariousInitial">
<depends name="content"/>
</genericsetup:importStep>
36. Setuphandlers PLONE SYMPOSIUM EAST 2012
from sixfeetup.utils import helpers as sfutils
def importVarious(context):
"""Run the setup handlers for the default profile"""
if context.readDataFile('pse12_policy-default.txt') is None:
return
# automagically run a plone migration if needed
sfutils.runPortalMigration()
# automagically run the upgrade steps for this package
sfutils.runUpgradeSteps(u'pse12.policy:default')
37. Setuphandlers PLONE SYMPOSIUM EAST 2012
from sixfeetup.utils import helpers as sfutils
def importVarious(context):
"""Run the setup handlers for the default profile"""
if context.readDataFile('pse12_initialcontent-default.txt') is None:
return
# automagically run the upgrade steps for this package
sfutils.runUpgradeSteps(u'pse12.initialcontent:default')
38. Upgrades PLONE SYMPOSIUM EAST 2012
<!-- pse12.initialcontent upgrades.zcml -->
<genericsetup:upgradeStep
title="Set up intranet section"
description=""
source="001"
destination="002"
handler="pse12.initialcontent.upgrades.intranet_setup"
sortkey="10"
profile="pse12.initialcontent:default"
/>
<genericsetup:upgradeStep
title="Set up the default pages"
description=""
source="001"
destination="002"
handler="pse12.initialcontent.upgrades.default_pages"
sortkey="20"
profile="pse12.initialcontent:default"
/>
39. from zope.app.component.hooks import getSite
PLONE SYMPOSIUM EAST 2012
from Products.CMFCore.utils import getToolByName
from sixfeetup.utils import helpers as sfutils
def intranet_setup(context):
"""Set up the placeful workflow for the intranet
"""
portal = getSite()
# If the intranet doesn't exist, bail out
if 'intranet' not in portal.objectIds():
return
intranet = portal['intranet']
# If the placeful workflow is already in place, bail out
if '.wf_policy_config' in intranet.objectIds():
return
placeful_workflow = getToolByName(portal, 'portal_placeful_workflow')
product = 'CMFPlacefulWorkflow'
intranet.manage_addProduct[product].manage_addWorkflowPolicyConfig()
config = placeful_workflow.getWorkflowPolicyConfig(intranet)
policy = 'intranet'
config.setPolicyBelow(policy=policy)
config.setPolicyIn(policy=policy)
# Make everything in the intranet `private`
path = '/'.join(intranet.getPhysicalPath())
sfutils.publishEverything(context, path, 'hide')
40. from zope.app.component.hooks import getSite
PLONE SYMPOSIUM EAST 2012
def default_pages(context):
"""There is a bug in quintagroup.transmogrifier that prevents
the default page from being set. We will handle it here
instead.
"""
portal = getSite()
items = {
'about': dict(
id='default_page',
type='string',
value='about-us'),
'blog': dict(
id='layout',
type='string',
value='blog_view'),
}
for path, prop in items.items():
obj = portal.unrestrictedTraverse(path, None)
# If the object doesn't exist, bail out
if obj is None:
continue
target_obj = None
if prop['id'] == 'default_page':
target_obj = obj.unrestrictedTraverse(prop['value'], None)
# Bail out if the default page target does not exist
if target_obj is None:
continue
obj._setProperty(prop['id'], prop['value'], prop['value'])
if target_obj is not None:
# ensure that it doesn't show in the navigation
target_obj.reindexObject()