Amberjack is a tool that allows you to create tours directly in your site. The purpose of the collective.amberjack project is to improve its functionality and to provide a way for creating not just tours but something more: online interactive tutorials on a Plone site.
(all slides has been "grafically refactored" by nekorin, thanks for that!)
How often did you need to profile company's users, and relations among them, relying just on groups and local roles? Right now you can design, manage and query you entire organization in Plone, using new, rich user interface and integrate it with your existing add-ons.
(all slides has been "grafically refactored" by nekorin, thanks for that!)
collective.amberjack is a plone based tool to create interactive tutorial.
These are the slides presented during this talk: http://ploneconference2010.blip.tv/file/4317469/
NOTE many of these slides used animated GIFs which did not survive PDF export.
A talk about the cost and accessibility of custom HTML components, compared with native HTML elements.
Reminder that most of the CSS isn't useful, it just matches Chrome (Windows) default design. In realistic scenarios you will be creating a custom design.
In that custom design you need to handle static, focus, hover, active and disabled states; and set cursor and user-select.
JavaScript Advanced - Useful methods to power up your codeLaurence Svekis ✔
Get this Course
https://www.udemy.com/javascript-course-plus/?couponCode=SLIDESHARE
Useful methods and JavaScript code snippets power up your code and make even more happen with it.
This course is perfect for anyone who has fundamental JavaScript experience and wants to move to the next level. Use and apply more advanced code, and do more with JavaScript.
Everything you need to learn more about JavaScript
Source code is included
60+ page Downloadable PDF guide with resources and code snippets
3 Challenges to get you coding try the code
demonstrating useful JavaScript methods that can power up your code and make even more happen with it.
Course lessons will cover
JavaScript Number Methods
JavaScript String Methods
JavaScript Math - including math random
DOMContentLoaded - DOM ready when the document has loaded.
JavaScript Date - Date methods and how to get set and use date.
JavaScript parse and stringify - strings to objects back to strings
JavaScript LocalStorage - store variables in the user browser
JavaScript getBoundingClientRect() - get the dimensions of an element
JavaScript Timers setTimeout() setInterval() requestAnimationFrame() - Run code when you want too
encodeURIComponent - encoding made easy
Regex - so powerful use it to get values from your string
prototype - extend JavaScript objects with customized powers
Try and catch - perfect for error and testing
Fetch xHR requests - bring content in from servers
and more
No libraries, no shortcuts just learning JavaScript making it DYNAMIC and INTERACTIVE web application.
Step by step learning with all steps included.
jQuery For Beginners - jQuery Conference 2009Ralph Whitbeck
The first part of a three part beginner track, this talk is for the designer/developer that is just starting out with jQuery. Perhaps you’ve heard of jQuery or you’ve used it occasion- ally, this talk will help you understand the core jQuery library.
We will:
•Cover jQuery’s history
•Introduce you to the core team
•Explain how jQuery works
•Demonstrate how to set-up jQuery
•Explore core jQuery methods and structure • Look through a couple of real-world examples
How often did you need to profile company's users, and relations among them, relying just on groups and local roles? Right now you can design, manage and query you entire organization in Plone, using new, rich user interface and integrate it with your existing add-ons.
(all slides has been "grafically refactored" by nekorin, thanks for that!)
collective.amberjack is a plone based tool to create interactive tutorial.
These are the slides presented during this talk: http://ploneconference2010.blip.tv/file/4317469/
NOTE many of these slides used animated GIFs which did not survive PDF export.
A talk about the cost and accessibility of custom HTML components, compared with native HTML elements.
Reminder that most of the CSS isn't useful, it just matches Chrome (Windows) default design. In realistic scenarios you will be creating a custom design.
In that custom design you need to handle static, focus, hover, active and disabled states; and set cursor and user-select.
JavaScript Advanced - Useful methods to power up your codeLaurence Svekis ✔
Get this Course
https://www.udemy.com/javascript-course-plus/?couponCode=SLIDESHARE
Useful methods and JavaScript code snippets power up your code and make even more happen with it.
This course is perfect for anyone who has fundamental JavaScript experience and wants to move to the next level. Use and apply more advanced code, and do more with JavaScript.
Everything you need to learn more about JavaScript
Source code is included
60+ page Downloadable PDF guide with resources and code snippets
3 Challenges to get you coding try the code
demonstrating useful JavaScript methods that can power up your code and make even more happen with it.
Course lessons will cover
JavaScript Number Methods
JavaScript String Methods
JavaScript Math - including math random
DOMContentLoaded - DOM ready when the document has loaded.
JavaScript Date - Date methods and how to get set and use date.
JavaScript parse and stringify - strings to objects back to strings
JavaScript LocalStorage - store variables in the user browser
JavaScript getBoundingClientRect() - get the dimensions of an element
JavaScript Timers setTimeout() setInterval() requestAnimationFrame() - Run code when you want too
encodeURIComponent - encoding made easy
Regex - so powerful use it to get values from your string
prototype - extend JavaScript objects with customized powers
Try and catch - perfect for error and testing
Fetch xHR requests - bring content in from servers
and more
No libraries, no shortcuts just learning JavaScript making it DYNAMIC and INTERACTIVE web application.
Step by step learning with all steps included.
jQuery For Beginners - jQuery Conference 2009Ralph Whitbeck
The first part of a three part beginner track, this talk is for the designer/developer that is just starting out with jQuery. Perhaps you’ve heard of jQuery or you’ve used it occasion- ally, this talk will help you understand the core jQuery library.
We will:
•Cover jQuery’s history
•Introduce you to the core team
•Explain how jQuery works
•Demonstrate how to set-up jQuery
•Explore core jQuery methods and structure • Look through a couple of real-world examples
Amberjack is a Javascript library for making interactive site tours. In this lightning talk, I discuss a wrapper of Amberjack for Plone which lets you make tours in your Plone site. This product was developed at the Bolzano and Sorrento sprints and presented as a lightning talk at the Plone Symposium East 2009.
SenchaCon 2016: Building a Faceted Catalog of Video Game Assets Using Ext JS ...Sencha
At Ubisoft Technology Group, we've created a platform for video game production to share game assets, in-game footage, and animations across the entire company. Ease of search and good UX were incredibly important for an audience of artists and creative types. This is where the Web and a powerful JavaScript framework came in; we chose Ext JS for its robustness and scalability. In this session, we'll showcase two different applications and dive into the technical aspects of designing the UI for a faceted search based on Elasticsearch.
The Inclusive Web: hands-on with HTML5 and jQuerycolinbdclark
Driven by technologies such as HTML5, JavaScript, and jQuery, innovative new user experiences are thriving on the Web. This workshop, presented by Justin Obara and Colin Clark from the Fluid community (http://fluidproject.org), will provide Web designers and developers with an overview of modern Web accessibility techniques, providing hands-on ways to make HTML5 and jQuery-based applications more accessible, flexible, and inclusive of a diverse range of users. We’ll also cover some of the features of Fluid Infusion, an application framework built on top of jQuery.
Drupal 8, Where Did the Code Go? From Info Hook to PluginAcquia
Looking at core and contrib modules for Drupal 8, you may be wondering "where did the code go?". Drupal 8 has removed many of the "info" hooks that were found in your module file and converted them to plugins.
In this webinar, we’ll discuss how plugins work and how to upgrade your module to Drupal 8 if it used one of the hooks that's been converted to a plugin.
Topics covered will include:
-Essentials of implementing your own plugin if your module previously used an “info” hook
-An explanation of plugin terminology and different ways plugins can be discovered
-Examples of code from Drupal 7 and where the very similar code lives in Drupal 8
-How to avoid implementing hooks by mistake when writing a function in your modules
Uma breve descrição sobre o HTML 5 e suas principais características como: forms, a nova estrutura, aúdio e vídeo, etc.
An overview about HTML 5 and its main features such as: forms, new structure, audio and video, etc.
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)Doris Chen
Get frustrated by cross-browser incompatibility? Hate to develop application using JavaScript? jQuery is a powerful JavaScript library that can enhance your websites regardless of your background. jQuery is fast, lean, simple and hugely expandable, enabling you to build compelling web applications quickly and easily. In this session, we will start with a quick introduction of jQuery, illustrate what’s so good about jQuery, and demonstrate step by step how to develop jQuery Ajax application efficiently with database, web services, OData, NetFlix and ASP.NET MVC. Microsoft is now shipping, supporting, and contributing to jQuery, with ASP.NET and Visual Studio. New features which will be available in the next release of jQuery such as globalization, templating and data-linking will be introduced in the session as well.
Sauce Labs hosted a Selenium bootcamp webinar with guest speaker Dave Haeffner. This presentation will give you a basis for the detail given in Dave's like titled E-book and get you started with Selenium.
Value design + Experience design = Business designMassimo Azzolini
Le esperienze sono determinanti nella decisione di acquisto: progettarle in modo strutturato massimizza il valore percepito, l’unico per cui le persone sono disposte a pagare.
Per raggiungere gli obiettivi di business è necessario modellare gli impatti del servizio nelle loro vite.
Nel nostro intervento al Web Marketing Festival di Rimini del 2018, Irene Capatti ed io abbiamo evidenziato perché la UX strategy è cruciale nella progettazione ed è funzionale al business.
Amberjack is a Javascript library for making interactive site tours. In this lightning talk, I discuss a wrapper of Amberjack for Plone which lets you make tours in your Plone site. This product was developed at the Bolzano and Sorrento sprints and presented as a lightning talk at the Plone Symposium East 2009.
SenchaCon 2016: Building a Faceted Catalog of Video Game Assets Using Ext JS ...Sencha
At Ubisoft Technology Group, we've created a platform for video game production to share game assets, in-game footage, and animations across the entire company. Ease of search and good UX were incredibly important for an audience of artists and creative types. This is where the Web and a powerful JavaScript framework came in; we chose Ext JS for its robustness and scalability. In this session, we'll showcase two different applications and dive into the technical aspects of designing the UI for a faceted search based on Elasticsearch.
The Inclusive Web: hands-on with HTML5 and jQuerycolinbdclark
Driven by technologies such as HTML5, JavaScript, and jQuery, innovative new user experiences are thriving on the Web. This workshop, presented by Justin Obara and Colin Clark from the Fluid community (http://fluidproject.org), will provide Web designers and developers with an overview of modern Web accessibility techniques, providing hands-on ways to make HTML5 and jQuery-based applications more accessible, flexible, and inclusive of a diverse range of users. We’ll also cover some of the features of Fluid Infusion, an application framework built on top of jQuery.
Drupal 8, Where Did the Code Go? From Info Hook to PluginAcquia
Looking at core and contrib modules for Drupal 8, you may be wondering "where did the code go?". Drupal 8 has removed many of the "info" hooks that were found in your module file and converted them to plugins.
In this webinar, we’ll discuss how plugins work and how to upgrade your module to Drupal 8 if it used one of the hooks that's been converted to a plugin.
Topics covered will include:
-Essentials of implementing your own plugin if your module previously used an “info” hook
-An explanation of plugin terminology and different ways plugins can be discovered
-Examples of code from Drupal 7 and where the very similar code lives in Drupal 8
-How to avoid implementing hooks by mistake when writing a function in your modules
Uma breve descrição sobre o HTML 5 e suas principais características como: forms, a nova estrutura, aúdio e vídeo, etc.
An overview about HTML 5 and its main features such as: forms, new structure, audio and video, etc.
jQuery Makes Writing JavaScript Fun Again (for HTML5 User Group)Doris Chen
Get frustrated by cross-browser incompatibility? Hate to develop application using JavaScript? jQuery is a powerful JavaScript library that can enhance your websites regardless of your background. jQuery is fast, lean, simple and hugely expandable, enabling you to build compelling web applications quickly and easily. In this session, we will start with a quick introduction of jQuery, illustrate what’s so good about jQuery, and demonstrate step by step how to develop jQuery Ajax application efficiently with database, web services, OData, NetFlix and ASP.NET MVC. Microsoft is now shipping, supporting, and contributing to jQuery, with ASP.NET and Visual Studio. New features which will be available in the next release of jQuery such as globalization, templating and data-linking will be introduced in the session as well.
Sauce Labs hosted a Selenium bootcamp webinar with guest speaker Dave Haeffner. This presentation will give you a basis for the detail given in Dave's like titled E-book and get you started with Selenium.
Value design + Experience design = Business designMassimo Azzolini
Le esperienze sono determinanti nella decisione di acquisto: progettarle in modo strutturato massimizza il valore percepito, l’unico per cui le persone sono disposte a pagare.
Per raggiungere gli obiettivi di business è necessario modellare gli impatti del servizio nelle loro vite.
Nel nostro intervento al Web Marketing Festival di Rimini del 2018, Irene Capatti ed io abbiamo evidenziato perché la UX strategy è cruciale nella progettazione ed è funzionale al business.
Il Web design nella Pubblica Amministrazione in 10 passiMassimo Azzolini
Guida Galattica in 10 passi.
1. Quale PA?
2. Chi è il tuo cliente
3. Il valore
4. Il processo di design
5. I tempi
6. Il team di progetto
7. Sono comunicatori
8. La redazione
9. I contenuti: il tesoro informativo
10. Accessibilità
When you have to manage tons of projects, several developers, challenging customers you need to re-think your organization.
Agile methodologies are the answer, but you also need tools to manage them.
Stop that earthquake - Plone and Pyramid to the rescue - PloneConf 2012Massimo Azzolini
We couldn’t stop the earthquake, but in three weeks we were able to build a community, to teach companies how to easily sell online, to spread the word on the social networks, to organize distributed and heterogeneous teams and to engage people into FacciamoAdesso.it
Problemi nella gestione dei tuoi team di progetto? Troppe distrazioni?
Devi gestire contemporaneamente piccoli, medi e grandi progetti?
Il tuo team invecchia nel compilare i report giornalieri?
..e alla fine non hai metriche?
Penelope è la soluzione OpenSource che stai cercando.
This talk will illustrate an use case showing how its flexibility and modularity allowed us to provide Plone solutions both for the little communes’ websites (supporting small communities of users) and for highly available, load-balanced, complex multi-site, multi-skin portals, that may include federated infrastructures of users. Furthermore, on the Intranet side, we could deliver a Plone Intranet serving several thousands of employees with SSO, a strong social flavour, groupware features well matching the specific needs of the diverse organizational units, and all the benefits and add-ons that Plone can provide. RedTurtle’s technical partnership with PloneGov Italia (www.plonegov.it - we serve more than half of the member organizations) is another demonstration of Plone’s versatility.
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…
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
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.
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.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
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!
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
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.
2. the basic idea
✓ plone tours for new
comers
✓ born @ bolzano sprint
(nov ’08)
link foto
3. that’s all folks?
maybe not...
✓ every product/add-on
might have his
amberjack tutorial
✓ just-hired people in
companies needs
tutorials
✓ wizards
✓ simplified e-learning
4. the first goal
✓ PLIP #9324
✓ Use Amberjack to offer
guided help for first-time
users
✓ to be included in a next
4.x release
5. we are writing
these tours
✓ Add and publish a Folder
✓ Add and publish a Page
✓ Add and publish a News
Item
✓ Add and publish an Event
✓ Format a page using the
visual editor
✓ Create internal links
link foto
6. we are writing
these tours
✓ Create external links
✓ Upload an image
✓ Insert image on a page
✓ Upload and link to a File
✓ Using the Contents tab
✓ Using the Display menu
✓ Create a static text
portlet
link foto
7. a spotlight
http://www.flickr.com/photos/slopjop/1300515408
14. the blueprint
✓ A tour has
• a name (and an Id)
• a set of steps
✓ every step is made by
• a tuple (url, xpath, xcontent)
• a title
• a set of microsteps
15. the blueprint
✓ A tour has ✓ every microstep has
• a name (and an Id) • a description
• a set of steps • a id for an ajStep (choosen
from the available ones’ set)
• selector
✓ every step is made by
• text
• a tuple (url, xpath, xcontent)
• a title
• a set of microsteps
16. the blueprint
✓ A tour has ✓ every microstep has
• a name (and an Id) • a description
• a set of steps • a id for an ajStep (choosen
from the available ones’ set)
• selector
✓ every step is made by
• text
• a tuple (url, xpath, xcontent)
• a title
✓ajStep is related to the HTML
• a set of microsteps generated by Plone
17. Do not touch Plone
✓ collective.amberjack
do not changes anything
in Plone itself
✓ it’s just unobtrusive
javascript code and tours
descripted through HTML
http://www.flickr.com/photos/dhowellphoto/3023319312
18. the software components
amberjack library
collective.amberjack.core
collective.amberjack.portlet
collective.amberjack.plonetour
collective.amberjack.metatour
19. amberjack.org
✓ developed by Arash
Yalpani
✓ provides an unobtrusive
javascript infrastructure
for online tours
✓ not completely usable for
our purposes
link foto
20. basically it provides
✓ a fancy popup “div” with
prev/next/exit buttons,
fully html enabled for
your steps.
✓ a mapping between a
step and each url you can
visit.
amberjack.org
21. some use case not fully supported
✓ in Plone a path does not identify uniquely a html page:
• view a page (/plone/page-a/view)
• edit a page (/plone/page-a/edit)
• save a page (/plone/page-a/view)
✓ it’s not just about links, we also submit forms
22. the solutions
✓ make the mapping between steps and url less strong:
• now the steps has an order (1. 2. 3....)
✓ don’t just rely on urls to pass tour variables
• use cookies
23. collective.amberjack.core
✓ tour definition and ✓ amberjack skins
registration
• model_t
✓ step definition • safari
✓ amberjack integration and
✓ZCML configuration for extension
• tours
✓special use case
• ajStep configurations
• aj_xpath_exists
✓ validators definition
• aj_any_url
24. an example: add a folder
✓ the tour is made by the steps: ✓ filling a field is entering a string
inside a HTML field: it’s about JS
• add_folder, and HTML.
• fill_out_the_fields,
• publish_folder,
• all_done
✓ the “fill_out_the_fields” step has to:
• fill the “title” field with a value
• fill the “description” field with
another value
• save it
36. collective.amberjack.plonetour
✓ defines the 12 tours ✓translations
✓ provides tour specific validators • french
• isFolderCreated • italian
• isNotFolderCreated
✓ZCML registration
37. collective.amberjack.portlet
✓ a portlet for starting a single tour
• it just lets you provide the tourId and the skinId
✓ a portlet that lets you provide a set of tour in a given order, you
provide:
• portlet’s title
• tours’ list and order
• skinId
43. what you need to
do
✓ create an empty package
via paster
✓ write your tour in
myTour.py
✓ add it to the available ones
through ZCML
✓ translate it
✓ (opt. add custom ajSteps)
http://www.flickr.com/photos/domhuk/197875701
49. who’s involved
✓ Nate Aune
✓ Vincent Fretin
✓ Sam Knox
✓ Giacomo Spettoli during
his thesis worked on the
initial core
50. who’s involved
✓ Nate Aune
✓ Vincent Fretin
✓ Sam Knox
✓ Giacomo Spettoli
✓ Mirna Bagnolatti during
her thesis developed
tours from scratch,
translated them in italian
51. who’s involved
✓ Nate Aune
✓ Vincent Fretin
✓ Sam Knox
✓ Giacomo Spettoli
✓ Mirna Bagnolatti
✓ Andrew Mleczko tour
validations, tiny
refactoring, test test test
52. who’s involved
✓ Nate Aune
✓ Vincent Fretin
✓ Sam Knox
✓ Giacomo Spettoli
✓ Mirna Bagnolatti
✓ Andrew Mleczko
✓ Federica D’Elia test
coverage
53. who’s involved
✓ Nate Aune
✓ Vincent Fretin
✓ Sam Knox
✓ Giacomo Spettoli
✓ Mirna Bagnolatti
✓ Andrew Mleczko
✓ Federica D’Elia
✓ Me, spiritus movens of
the project
57. Everyday’s work
ok, ok, we’re not so tough
http://www.flickr.com/photos/nickallen/3631367614/
58. What’s next
✓ don’t you think we
already finished, right?!
http://www.flickr.com/photos/biscuitsmlp/2246503687
59. complete the work
✓Complete all the tours ✓Activate the prev/next buttons just
only they have a real meaning
✓Check the entered texts: the texts
entered in the fields should be the ✓Translate javascript messages
ones we expect and plone's interface parts referring
✓ Add an option to the Unified ✓Fix problem when submitting forms
Installer, something like "./ with contents inside the kupu
install.sh --with-tours" editor
• Add a run-profile option to
plone.recipe.unifiedinstaller to
run additional profiles when the
Plone Site is created
60. upgrade it - some ideas
✓ Check if the user completes the ✓setUp/tearDown.
step • provide a way to create an
• provide a way to check if the environment in which the user
user completes all the runs his tours.
microsteps • explore possible security
• provide a way to autocomplete issues.
all of them
✓Provide a way to create a tour using
✓ Clicking on next step button do paster.
all the microsteps of the current
step.
✓collective.amberjack as a
doctest-like environment?
✓Load the js stuff only if the tour is
running
✓...
61. I want you
we’ll sprint on Sat-Sun
http://ploneconf2009.org/
program/sprint/collective-
amberjack
http://www.flickr.com/photos/uhuru1701/2247554605