The way Plone does traversal (mapping URLs to objects) makes it a really good fit for a proper REST interface. Timo will describe the current state of plone.restapi, a high quality and fully documented RESTful hypermedia API.
This document summarizes Plone's future plans and directions. Key points include:
- Plone 5.1 will focus on bug fixes and optimizations rather than new features.
- Future releases will improve customization options, documentation/training, and code quality.
- Plone is moving towards a "headless" model where the content management is separated from presentation, to better support mobile and other frontends.
- This will involve developing separate teams for the REST API, frontend interfaces, and backend services using newer technologies like asyncio and React.
- The goal is a cleaner, simplified and future-proofed Plone optimized for a headless/decoupled approach.
Plone as itself is big and hard to evolve, we want to expose some experience we had to reduce the complexity of Plone, some experience on our projects on Plone.
The document discusses the evolution of web applications from thin clients with fat servers to more balanced architectures. New browser technologies like HTML5, faster JavaScript engines, local storage, and offline capabilities allow more processing to be done locally on the client. This enables richer interfaces, offline usage, and more balanced work distribution between the client and server. It provides examples of how a web application may utilize these new capabilities, such as storing data locally and caching interfaces while communicating with a server via JSON.
This document provides an overview and introduction to HTML5. It begins with a discussion of browser market share statistics and the birth of HTML5 by the WHATWG organization. It then outlines the wide range of new HTML5 markup, elements, events, APIs and technologies including forms, canvas, web sockets, and more. The remainder of the document discusses the status and implementation of these HTML5 features across modern browsers like Firefox, and provides references to HTML5 test suites, specifications, implementations and demos.
Web services are a treasure trove of tools, content and data. I'll be exploring how we can use Drupal's frameworks to tap into these services. From strategy and selecting the right approach, to triggering, encoding and sending HTTP messages, I'll walk through how you might go about writing a custom integration that puts your Drupal build into a conversation with the outside world. I'll follow up with real world examples I've built to interact with NASA's ECHO Earth science data service (http://earthdata.nasa.gov/echo) and the Agile Zen project management tool (http://agilezen.com).
Sandboxes for the code demoed in this session are available at:
* ECHO - http://drupal.org/sandbox/dbassendine/1829568
* AgileZen - http://drupal.org/sandbox/dbassendine/1828082
Presented by David Bassendine on 10/27/2012 at Drupalcamp Atlanta (https://www.drupalcampatlanta.com/session/talking-web-services).
This document provides an overview of developing Chrome extensions, including the user interface, programming, publishing process, and resources. It discusses the different types of extension pages like browser actions, page actions, options pages, and popup pages. It also covers the directory structure, manifest file, background pages, content scripts, asynchronous APIs, permissions, and internationalization.
Lightweight Approach to Building Web APIs with .NETChristian Horsdal
Traditional .NET development frameworks tend to be big, and cover all possible eventualities, and for many projects this is A Good Thing. But for just as many, if not more, projects, a full one size fits all service solution like WCF is just overkill, and adds unnecessary complexity. This is A Bad Thing. In this talk, I'll go over a lightweight, low-ceremony approach to creating a public APIs for the web in .NET. I will show how to use REST and the Nancy framework to create service applications with less code, less cruft and fewer maintenance headaches. We'll follow the super-duper happy path of Nancy, .NET's answer to Ruby's ultra-lightweight Sinatra framework, to create RESTfull API's that takes full advantage of HTTP and it's ubiquity to make building client applications equally enjoyable.
This document provides an overview of Chrome extensions, including what they are, how they are structured, and how to develop them. Some key points:
- Chrome extensions are applications that run within the Chrome browser and provide additional functionality or customize the browser experience. They are written using HTML, JavaScript, and CSS and integrate with Chrome using the chrome.* API.
- Extensions are composed of files bundled into a compressed .crx file, including a required manifest.json file and optional HTML/CSS, JavaScript, and static files. The manifest provides important metadata about the extension.
- Extensions utilize various browser components like browser actions, page actions, content scripts, and a background page to add capabilities to pages
Chrome Extension Development - Adam Horvath, Google Technology User Group, Sy...adamhorvath
This document summarizes a presentation about Chrome/Chromium extension development. It discusses what Chrome extensions are, why they are interesting to develop, different types of extensions, supporting pages and objects, messaging and storage capabilities, how to interact with the browser, hosting and publishing extensions, how to develop extensions, and provides a demo and final thoughts. The presentation aims to introduce developers to building extensions for the Chrome browser.
The document discusses challenges and techniques for enabling cross-site communication between web components in rich web applications and mashups. It describes how the same-origin policy prevents direct cross-site communication and summarizes techniques used today like server-side proxies, Flash proxies, and JSON-P. It then introduces the "JavaScript Wormhole" technique, which uses a callback page and dynamically-generated JavaScript to pass data across sites. The document concludes by discussing proposals to evolve the platform to better support cross-site communication while maintaining security.
The document discusses challenges of cross-site communication for building rich web applications and mashups due to the same-origin policy, and describes techniques currently used like server-side proxies, Flash, JSON-P, and the "JavaScript wormhole" to overcome these limitations by establishing trust relationships between domains. It also considers proposals for new cross-domain tools and the evolving browser platform to better support these use cases in the future while maintaining security.
HTTP/2 can help improve the performance of your site, and is a technology SEOs should have an understanding of. This deck gives you an accessible top level introduction as an SEO. Presented at SearchElite in London 2018.
This document discusses approaches to persistent local storage on the client-side web, including cookies, userData, Flash cookies, Gears, application caching, web storage, web SQL databases, indexedDB, and the file API. It provides a brief history of these approaches and their limitations. Key points covered include how web storage allows storing data locally as key-value pairs up to 5MB, sessionStorage is for the current session only, and indexedDB allows indexing for faster lookups but lacks full browser support currently. The document advocates testing support and handling potential data loss when developing for offline storage.
Introduction to chrome extension developmentKAI CHU CHUNG
This document provides an introduction and overview of how to build Chrome extensions and apps. It covers what Chrome extensions are, the different types (browser actions, page actions, popups), how to build the extension structure and logic using manifest files, permissions, and communication between parts. It also recommends using Yeoman generators and build tools like Grunt to quickly set up and develop Chrome extensions and apps.
If you had to rank the best and worst moments of your JavaScript life, you’d probably rank reading “The Good Parts” up towards the top, and deep down at the bottom of the list would be the day that you found out that you couldn’t make cross-domain requests in the browser. This talk covers the hacks, tips, and tricks to leave the Same Origin Policy in the dust. So grab a cookie, pad your JSON, and learn how to communicate properly.
HTML5 provides new elements for structuring content like audio, video, and forms as well as new APIs for features like local storage, geolocation, and web sockets. It also introduces new CSS properties for styling like web fonts, transitions, and 3D transforms. While HTML5 enables many applications to be developed for the web, it still has limitations like restricted access to hardware and inability to run in the background on mobile devices. HTML5 aims to unify web development by building on existing standards in a backwards compatible way.
Chrome extensions allow users to modify and customize their browser behavior through additional programs that can be installed from the Chrome Web Store. Extensions are built with web technologies like HTML, CSS, and JavaScript and have access to the Chrome API which allows them to interact with browser features and windows. The document provides examples of common extensions and outlines the basic skills and resources needed to develop browser extensions for Chrome.
Preparing your web services for Android and your Android app for web services...Droidcon Eastern Europe
This document summarizes tips for preparing web services to work well with Android apps and vice versa. It recommends that web services use RESTful APIs with JSON responses for compactness and easy parsing by Android apps. It also provides tips for structuring and caching data efficiently, securely communicating with web services from Android apps, and playing nicely with web services by sending useful debugging information.
The document discusses various web application architecture techniques, including:
- Popular frameworks like Sinatra that use REST APIs and MVC patterns on the client-side.
- Reactive frameworks like Shiny that use websockets for real-time updates between the client and server.
- Challenges in building reactive applications, as infrastructure is still maturing to support callbacks without blocking.
- Other approaches to reactivity on the server including actors, channels, and reactive extensions.
- The document concludes that there is no single ideal architecture, as techniques are continually invented and re-invented over time.
This document provides an overview of various web development tools and technologies, including FTP, HTML, CSS, JavaScript, Flash, PHP, ASP, and content management systems. It discusses the purpose and basic usage of each tool. For example, it explains that FTP is used to transfer files between a local computer and web host, and that HTML is the underlying markup language that defines the structure and content of a web page. The document also provides learning resources and examples of text editors, FTP clients, and other tools.
https://www.youtube.com/watch?v=Dv1bpmYV0vU
Channels is the most exciting thing to happen to Django since, well, Django! It is both an elegant and backwards compatible extension of the core Django request response model to allow direct support of WebSockets and lightweight async tasks. This talk will cover the current state of Channels, work through an asynchronous task example, touch on deployment and point towards other resources.
This document provides an overview of REST basics and how to implement REST with Spring. It discusses:
1. The differences between SOAP and REST web services standards and how REST uses HTTP methods to perform CRUD operations on nouns instead of defining complex operations.
2. Key aspects of REST including the REST triangle of nouns, verbs, and content types. It also covers common REST frameworks and HTTP methods, headers, and status codes.
3. How Spring supports REST with annotations like @RequestMapping and @ResponseBody to build RESTful web services, and uses the DispatcherServlet to route HTTP requests to controller methods.
4. An example of a basic RESTful web service implemented with
Learn about the exciting new REST Resource API powered by Python's new asyncio library. In this talk you'll learn about some of the amazing things you can do with Guillotina and how you can leverage it to build your next JavaScript web application.
The document discusses various aspects of web technology including:
1. It describes how the internet is organized with clients making requests to servers and responses being sent back over various internet layers using protocols like HTTP and TCP.
2. It explains how URLs work to identify web pages and resources, with domains mapped to IP addresses by the DNS system in a hierarchical structure.
3. It provides an overview of HTML, the publishing language of the web, and common tags used to structure and format text, images, and links on web pages.
Lightweight Approach to Building Web APIs with .NETChristian Horsdal
Traditional .NET development frameworks tend to be big, and cover all possible eventualities, and for many projects this is A Good Thing. But for just as many, if not more, projects, a full one size fits all service solution like WCF is just overkill, and adds unnecessary complexity. This is A Bad Thing. In this talk, I'll go over a lightweight, low-ceremony approach to creating a public APIs for the web in .NET. I will show how to use REST and the Nancy framework to create service applications with less code, less cruft and fewer maintenance headaches. We'll follow the super-duper happy path of Nancy, .NET's answer to Ruby's ultra-lightweight Sinatra framework, to create RESTfull API's that takes full advantage of HTTP and it's ubiquity to make building client applications equally enjoyable.
This document provides an overview of Chrome extensions, including what they are, how they are structured, and how to develop them. Some key points:
- Chrome extensions are applications that run within the Chrome browser and provide additional functionality or customize the browser experience. They are written using HTML, JavaScript, and CSS and integrate with Chrome using the chrome.* API.
- Extensions are composed of files bundled into a compressed .crx file, including a required manifest.json file and optional HTML/CSS, JavaScript, and static files. The manifest provides important metadata about the extension.
- Extensions utilize various browser components like browser actions, page actions, content scripts, and a background page to add capabilities to pages
Chrome Extension Development - Adam Horvath, Google Technology User Group, Sy...adamhorvath
This document summarizes a presentation about Chrome/Chromium extension development. It discusses what Chrome extensions are, why they are interesting to develop, different types of extensions, supporting pages and objects, messaging and storage capabilities, how to interact with the browser, hosting and publishing extensions, how to develop extensions, and provides a demo and final thoughts. The presentation aims to introduce developers to building extensions for the Chrome browser.
The document discusses challenges and techniques for enabling cross-site communication between web components in rich web applications and mashups. It describes how the same-origin policy prevents direct cross-site communication and summarizes techniques used today like server-side proxies, Flash proxies, and JSON-P. It then introduces the "JavaScript Wormhole" technique, which uses a callback page and dynamically-generated JavaScript to pass data across sites. The document concludes by discussing proposals to evolve the platform to better support cross-site communication while maintaining security.
The document discusses challenges of cross-site communication for building rich web applications and mashups due to the same-origin policy, and describes techniques currently used like server-side proxies, Flash, JSON-P, and the "JavaScript wormhole" to overcome these limitations by establishing trust relationships between domains. It also considers proposals for new cross-domain tools and the evolving browser platform to better support these use cases in the future while maintaining security.
HTTP/2 can help improve the performance of your site, and is a technology SEOs should have an understanding of. This deck gives you an accessible top level introduction as an SEO. Presented at SearchElite in London 2018.
This document discusses approaches to persistent local storage on the client-side web, including cookies, userData, Flash cookies, Gears, application caching, web storage, web SQL databases, indexedDB, and the file API. It provides a brief history of these approaches and their limitations. Key points covered include how web storage allows storing data locally as key-value pairs up to 5MB, sessionStorage is for the current session only, and indexedDB allows indexing for faster lookups but lacks full browser support currently. The document advocates testing support and handling potential data loss when developing for offline storage.
Introduction to chrome extension developmentKAI CHU CHUNG
This document provides an introduction and overview of how to build Chrome extensions and apps. It covers what Chrome extensions are, the different types (browser actions, page actions, popups), how to build the extension structure and logic using manifest files, permissions, and communication between parts. It also recommends using Yeoman generators and build tools like Grunt to quickly set up and develop Chrome extensions and apps.
If you had to rank the best and worst moments of your JavaScript life, you’d probably rank reading “The Good Parts” up towards the top, and deep down at the bottom of the list would be the day that you found out that you couldn’t make cross-domain requests in the browser. This talk covers the hacks, tips, and tricks to leave the Same Origin Policy in the dust. So grab a cookie, pad your JSON, and learn how to communicate properly.
HTML5 provides new elements for structuring content like audio, video, and forms as well as new APIs for features like local storage, geolocation, and web sockets. It also introduces new CSS properties for styling like web fonts, transitions, and 3D transforms. While HTML5 enables many applications to be developed for the web, it still has limitations like restricted access to hardware and inability to run in the background on mobile devices. HTML5 aims to unify web development by building on existing standards in a backwards compatible way.
Chrome extensions allow users to modify and customize their browser behavior through additional programs that can be installed from the Chrome Web Store. Extensions are built with web technologies like HTML, CSS, and JavaScript and have access to the Chrome API which allows them to interact with browser features and windows. The document provides examples of common extensions and outlines the basic skills and resources needed to develop browser extensions for Chrome.
Preparing your web services for Android and your Android app for web services...Droidcon Eastern Europe
This document summarizes tips for preparing web services to work well with Android apps and vice versa. It recommends that web services use RESTful APIs with JSON responses for compactness and easy parsing by Android apps. It also provides tips for structuring and caching data efficiently, securely communicating with web services from Android apps, and playing nicely with web services by sending useful debugging information.
The document discusses various web application architecture techniques, including:
- Popular frameworks like Sinatra that use REST APIs and MVC patterns on the client-side.
- Reactive frameworks like Shiny that use websockets for real-time updates between the client and server.
- Challenges in building reactive applications, as infrastructure is still maturing to support callbacks without blocking.
- Other approaches to reactivity on the server including actors, channels, and reactive extensions.
- The document concludes that there is no single ideal architecture, as techniques are continually invented and re-invented over time.
This document provides an overview of various web development tools and technologies, including FTP, HTML, CSS, JavaScript, Flash, PHP, ASP, and content management systems. It discusses the purpose and basic usage of each tool. For example, it explains that FTP is used to transfer files between a local computer and web host, and that HTML is the underlying markup language that defines the structure and content of a web page. The document also provides learning resources and examples of text editors, FTP clients, and other tools.
https://www.youtube.com/watch?v=Dv1bpmYV0vU
Channels is the most exciting thing to happen to Django since, well, Django! It is both an elegant and backwards compatible extension of the core Django request response model to allow direct support of WebSockets and lightweight async tasks. This talk will cover the current state of Channels, work through an asynchronous task example, touch on deployment and point towards other resources.
This document provides an overview of REST basics and how to implement REST with Spring. It discusses:
1. The differences between SOAP and REST web services standards and how REST uses HTTP methods to perform CRUD operations on nouns instead of defining complex operations.
2. Key aspects of REST including the REST triangle of nouns, verbs, and content types. It also covers common REST frameworks and HTTP methods, headers, and status codes.
3. How Spring supports REST with annotations like @RequestMapping and @ResponseBody to build RESTful web services, and uses the DispatcherServlet to route HTTP requests to controller methods.
4. An example of a basic RESTful web service implemented with
Learn about the exciting new REST Resource API powered by Python's new asyncio library. In this talk you'll learn about some of the amazing things you can do with Guillotina and how you can leverage it to build your next JavaScript web application.
The document discusses various aspects of web technology including:
1. It describes how the internet is organized with clients making requests to servers and responses being sent back over various internet layers using protocols like HTTP and TCP.
2. It explains how URLs work to identify web pages and resources, with domains mapped to IP addresses by the DNS system in a hierarchical structure.
3. It provides an overview of HTML, the publishing language of the web, and common tags used to structure and format text, images, and links on web pages.
Opening up the Social Web - Standards that are bridging the IslandsBastian Hofmann
The document discusses various standards that are helping to bridge isolated social networks and enable interoperability across platforms, including OpenID, WebFinger, XRD, PubSubHubbub, Salmon, OAuth, XAuth, OEmbed, and OpenSocial. It provides examples of how these standards work to allow users to log in or comment on different sites without separate accounts, share updates across networks, and embed content like videos universally. While progress is being made, challenges remain around user identity, privacy, access control, and full adoption. The overall goal is a more open and interconnected social web.
This document provides an introduction to JavaScript. It discusses that JavaScript is an object-oriented scripting language based on ECMAScript standards. The document outlines JavaScript's history and versions. It describes how JavaScript can be used to add interactivity to HTML pages through dynamic HTML, event handling, validation, and more. Examples of JavaScript uses include AJAX-based sites and Google Web Toolkit. The document concludes with a discussion of JavaScript compatibility issues and possibilities.
- XHTML forms allow visitors to enter information on a webpage through interactive controls like text fields, checkboxes, and dropdown menus.
- A form is defined with <form> tags and includes attributes like action and method.
- Common form controls include text fields, passwords, submit buttons, radio buttons, checkboxes, textareas, and select menus. The type attribute identifies the control type.
Stick to the rules - Consumer Driven Contracts. 2015.07 ConfituraMarcin Grzejszczak
The document discusses consumer driven contracts (CDC), where consumers define contracts for APIs that servers implement. It describes the workflow where consumers clone a server repo, modify contracts locally, generate stubs for testing, and submit pull requests. Servers implement APIs, run generated tests, and merge requests. Benefits include rapid prototyping, non-blocking development, and continuously checking compatibility. Challenges include maintaining test data and deciding what servers verify. The presentation demonstrates CDC using Accurest and Wiremock through an example.
European SharePoint Conference 2018 - Build an intelligent application by con...Sébastien Levert
This document provides an overview of how to build intelligent applications by connecting to the Microsoft Graph. It discusses how the Microsoft Graph acts as a gateway to all user and organization data in Microsoft cloud services. It then covers getting started with the Graph including exploring it using tools like the Graph Explorer, SDKs for .NET and JavaScript, and PowerShell. The document demonstrates how to perform common operations on the Graph like getting, creating, updating and deleting data. It also covers advanced scenarios like batching requests, subscriptions, and extensions. Best practices are discussed around optimizations like projections, filters and pagination. Finally, resources for learning more are provided.
The document describes the WS Partner v1.6 Access API, which allows performing various operations on files and folders in a repository, such as getting properties, listing folder contents, copying, replacing, downloading, renaming, deleting, creating folders, and moving items. It provides details on the API endpoints, request and response formats, and status codes. Example requests and responses are given for each operation.
Peter Lubbers from Kaazing gave a presentation on HTML5 WebSocket and communication technologies to the San Francisco Java User Group. He discussed the limitations of traditional HTTP for real-time applications and how technologies like polling and long polling add complexity. He then introduced HTML5 WebSocket as a new standard that enables true full-duplex communication with low latency. Finally, he briefly covered other HTML5 communication features like Server-Sent Events, XMLHttpRequest Level 2, and Cross Document Messaging.
Introduction to Google Polymer 1.0 at JS Meetup in Athens, Greece. How Polymer builds a comprehensive front-end framework on the "Web Components" standard.
HTML from A to Z
HTML Basics : Basics-Semantic Elements-Attributes-Block and Inline Elements-Forms-Responsive Web Design-XHTML…..
HTML for Text Formatting : Text formatting-Links-Tables-Lists-Symbols-Space…
HTML Visuals and Media : Layout-Classes-Colors-Images-Multimedia…
This document provides information about a Web Technology subject for 6th semester students. It includes:
1. An overview of the topics to be covered in the subject, including creation of web pages using HTML, JavaScript, AJAX, PHP and ASP.
2. A list of 20 practical exercises focused on these topics, such as creating lists in HTML, using JavaScript to print dates and perform calculations, and connecting to databases using PHP.
3. Learning objectives and sample code for several of the practical exercises, providing examples of how to implement the various web technologies.
The document discusses using semantic web technologies like structured data, JSON-LD, and linked data to enrich content in TYPO3 with metadata. It provides examples of generating schema.org structured data for pages, news articles, and organizations. It also proposes using a REST API powered by the Hydra specification to expose this semantic data and content to applications and search engines.
Luis valencia introduction to share point webhooksLuis Valencia
This document provides information about SharePoint webhooks including code samples, documentation, community calls, case studies, and links to Microsoft Graph and Office 365 APIs. It describes how to create a webhook subscription to a SharePoint list using the REST API and receive notifications at a webhook endpoint. It also includes a diagram showing how the webhook notification is received and processed by storing the change token and notifying a webjob.
This document provides an overview and primer on REST (REpresentational State Transfer) architectural style for building web services. It discusses key REST concepts like resources identified by URIs, use of standard HTTP methods like GET, PUT, POST, DELETE, stateless communication, and representation of resources in different formats like XML and JSON. It also describes how the JAX-RS API in Java maps to these REST concepts through annotations and allows building RESTful web services and APIs in a declarative way.
The document discusses HTML5, including what it is, its features, adoption, and changes from previous versions of HTML. It provides information on new HTML5 elements like <header>, <footer>, <nav>, <section>, and <article>. It also covers new form input types, multimedia support through <video> and <audio> elements, canvas graphics, geolocation, web sockets, and more. The document contains examples and explanations of how to implement and use various HTML5 features.
The document discusses creating rich client web applications using AJAX. It provides an overview of AJAX including how it allows sending and receiving only needed data asynchronously to update portions of a page without reloading the whole page. It discusses using JavaScript and XMLHttpRequest to make asynchronous requests to AJAX endpoints, which can return payloads in XML or JSON format. Finally, it covers some AJAX libraries and security considerations.
Alex Russell Software Engineer, Google at Fastly Altitude 2016
New browser technologies are arriving that are poised to change user and developer expectations of what’s possible on the web; particularly on slow mobile devices with flaky connections. This talk discusses how these new technologies – Service Workers, Progressive Web Apps, HTTP/2, Push, Notifications, and Web Components are being combined, e.g. in the new PRPL pattern, to transform user experiences while improving business results.
The document discusses various topics related to shell programming and scripting languages including:
1. It provides an overview of HTML, the basic building blocks of websites including tags, elements and page structure.
2. It describes common HTML tags for text formatting, headings, and other page elements. It also discusses HTML forms and how to pass data.
3. It provides an introduction to CGI (Common Gateway Interface) and how it allows information to be exchanged between a web server and custom scripts to dynamically generate web pages.
4. It includes examples of basic CGI programs in Python for handling GET and POST requests, retrieving and displaying form data, and using cookies to maintain state across web requests.
Performance testing with Locust, jMeter, the Grinder, WebPageTest, Lighthouse, Page Speed Insights and how to integrate performance tests into your Jenkins CI setup.
The document discusses continuous integration for Python projects. It introduces concepts like Buildbot and Jenkins for continuous building and testing of code commits. It also covers tools for automated builds, testing, static code analysis, notifications, and continuous deployment. The goal of continuous integration is to catch issues early through automated builds and testing of new code commits.
The Beauty and the Beast - Modern Javascript Development with AngularJS and P...Timo Stollenwerk
Learn how a modern, full-featured Javascript front-end framework can play well with an enterprise-class content management system.
This talk will present how we build a flexible AngularJS front-end solution on top of Plone, with a state-of-the-art Javascript development workflow.
Plone is a Python-based enterprise content management system and among the top 2% of all open source projects worldwide. It is developed by a distributed team of 340 core developers using Jenkins as a center piece of the development and release process. This talk will present how the Plone community uses Jenkins to build, test and deliver Python-based software projects.
The Butler and the Snake - Continuous Integration for PythonTimo Stollenwerk
Plone is a Python-based enterprise content management system and among the top 2% of all open source projects worldwide. It is developed by a distributed team of 340 core developers using Jenkins as a center piece of the development and release process. This talk will present how the Plone community uses Jenkins to build, test and deliver Python-based software projects.
The document discusses choosing a front-end framework for modern web applications. It covers aspects to consider like full-featured versus best-of-breed components, long-term support, and testability. AngularJS is presented as a full-featured front-end framework that supports two-way data binding, client-side templates, dependency injection, and directives. The document also mentions a Plone add-on called plone.app.angularjs that integrates AngularJS with Plone.
Who let the robot out? Qualitativ hochwertige Software durch Continuous Integ...Timo Stollenwerk
Continuous Integration ist Begriff aus der Softwareentwicklung, der den Prozess des fortlaufenden Zusammenfügens von Komponenten zu einer Anwendung beschreibt. Das Ziel der kontinuierlichen Integration ist die Steigerung der Softwarequalität. Jede "Integration" führt zu einem automatisierten Build-Prozess der verschiedene Software-Tests und Code-Analyseschritte ausführt um Fehler so früh wie möglich erkennen und beheben zu können.
Dieser Vortrag wird die Prinzipien der Kontinuierlichen Integration vorstellen und aufzeigen wie diese für ein Python-Projekt umgesetzt werden können. Dabei werden die Erfahrungen aus dem Betrieb des CI-Servers für das Plone Projekt, eines der größten Python-basierten Open Source Projekte, vorgestellt. Unter anderem werden die folgenden Themen behandelt:
- Aufsetzen eines Continous Integration Servers mit Travis-CI oder Jenkins
- Einbindung verschiedener Versionskontrollsysteme
- Das Ausführen verschiedener Tests und die Analyse der Code-Qualität für jede Integration
- Wie Jenkins verwendet werden kann um automatisch eine Software Dokumentation zu erstellen, die Entwickler zu benachrichtigen, Software Releases zu erstellen und Software zu deployen
- Das Schreiben und kontinuierliche Ausführen von funktionalen Akzeptanztests, basierend auf Robot Framework
Plone 5, das nächstes Major Release des Python-basierten Open Source Content Management Systems Plone, verspricht einige interessante Neuerungen.
Der Vortrag wird den aktuellen Stand der Entwicklung vorstellen und insbesondere auch im Detail aufzeigen, welche Neuerungen heute schon produktiv mit der aktuellen Version 4.3 eingesetzt werden können. Unter anderem wird Plone 5:
- neue, leistungsfähigere Inhaltstypen zur Verfügung stellen, die through-the-web veränderbar sind
- ein neues, moderenes User Inteface bekommen, einschließlich neuer Widgets
- ein neues Modul für multilinguale Seiten bieten
- schneller sein
- einfacher zu erlernen sein
Who let the robot out? - Building high quality software with Continuous Integ...Timo Stollenwerk
The document discusses the benefits of continuous integration (CI) for building high-quality software. It outlines the assumptions and realities of software development without CI. CI implements basic practices like not breaking the build and fixing issues quickly. The document then provides examples of tools and techniques for CI, including tests, code analysis, performance testing, documentation, and notifications. Implementing CI aims to deliver software that is on time, on budget, bug-free, maintainable, and high-quality.
The Future Is Written - Building next generation Plone sites with plone.app.c...Timo Stollenwerk
Plone 5 will ship with Dexterity-based default content types and if you haven't looked into Dexterity yet, it's about time! plone.app.contenttypes gives you the opportunity to build next generation Plone sites today, ensuring a smooth upgrade experience once Plone 5 will be released.
This talk will show you:
- How plone.app.contenttypes will improve your life and why you should use it right now
- The state of Dexterity and plans for the near future
- Why and how you should migrate custom types
- How to make your add-on Dexterity-proof
- Pittfalls and common problems
This document provides instructions for installing and configuring Plone, including installing prerequisites, running the bootstrap and buildout scripts, finding and adding extensions, and an overview of content types and theming in Plone. It also provides contact information for the author.
Timo Stollenwerk gave a presentation on test-driven development (TDD) at a Python Barcamp in April 2013. TDD involves writing tests before writing code so that code is only written to pass failing tests, ensuring code works as intended. Following a TDD process results in code that works, is proven to work through testing, has a lower defect rate since it is tested, and is cheaper to fix bugs in. TDD also allows for shorter development cycles and a faster development process since testing is built-in, and makes development more satisfying and fun. Stollenwerk recommended following the practices of no code without a failing test, making the test pass quickly, then refactoring code and tests.
The document discusses test-driven development (TDD), noting that it leads to code that works, is proven to work, and has a lower defect rate due to cheaper bug fixing. TDD involves writing a failing test first, then code to pass that test, and refactoring the code. Benefits of TDD include shorter development cycles, a fast development process, satisfaction, clean code that works, and agile development practices.
The document discusses different approaches to mock testing in Python including using the Mocker, PostMonkey, and Mock libraries. It provides examples of replacing dependencies with mocks using Mocker, configuring return values on mocks, and patching modules under test using Mock. The goal of mock testing is to isolate units from external dependencies like databases and networks for reliable isolated testing.
This document discusses a component architecture framework for Python called the Zope Component Architecture (ZCA). The ZCA supports component-based design and programming through the use of interfaces and adapters. Interfaces define the contract that a component provides, while adapters allow non-interface implementing objects to be adapted. The ZCA framework includes tools for interface definition, component registration and retrieval, and adapter implementation. Overall, the ZCA provides a standardized approach for building reusable and extensible Python software systems using loosely coupled components.
Semantic Cultivators : The Critical Future Role to Enable AIartmondano
By 2026, AI agents will consume 10x more enterprise data than humans, but with none of the contextual understanding that prevents catastrophic misinterpretations.
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPathCommunity
Join this UiPath Community Berlin meetup to explore the Orchestrator API, Swagger interface, and the Test Manager API. Learn how to leverage these tools to streamline automation, enhance testing, and integrate more efficiently with UiPath. Perfect for developers, testers, and automation enthusiasts!
📕 Agenda
Welcome & Introductions
Orchestrator API Overview
Exploring the Swagger Interface
Test Manager API Highlights
Streamlining Automation & Testing with APIs (Demo)
Q&A and Open Discussion
Perfect for developers, testers, and automation enthusiasts!
👉 Join our UiPath Community Berlin chapter: https://community.uipath.com/berlin/
This session streamed live on April 29, 2025, 18:00 CET.
Check out all our upcoming UiPath Community sessions at https://community.uipath.com/events/.
HCL Nomad Web – Best Practices and Managing Multiuser Environmentspanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-and-managing-multiuser-environments/
HCL Nomad Web is heralded as the next generation of the HCL Notes client, offering numerous advantages such as eliminating the need for packaging, distribution, and installation. Nomad Web client upgrades will be installed “automatically” in the background. This significantly reduces the administrative footprint compared to traditional HCL Notes clients. However, troubleshooting issues in Nomad Web present unique challenges compared to the Notes client.
Join Christoph and Marc as they demonstrate how to simplify the troubleshooting process in HCL Nomad Web, ensuring a smoother and more efficient user experience.
In this webinar, we will explore effective strategies for diagnosing and resolving common problems in HCL Nomad Web, including
- Accessing the console
- Locating and interpreting log files
- Accessing the data folder within the browser’s cache (using OPFS)
- Understand the difference between single- and multi-user scenarios
- Utilizing Client Clocking
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Aqusag Technologies
In late April 2025, a significant portion of Europe, particularly Spain, Portugal, and parts of southern France, experienced widespread, rolling power outages that continue to affect millions of residents, businesses, and infrastructure systems.
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc
Most consumers believe they’re making informed decisions about their personal data—adjusting privacy settings, blocking trackers, and opting out where they can. However, our new research reveals that while awareness is high, taking meaningful action is still lacking. On the corporate side, many organizations report strong policies for managing third-party data and consumer consent yet fall short when it comes to consistency, accountability and transparency.
This session will explore the research findings from TrustArc’s Privacy Pulse Survey, examining consumer attitudes toward personal data collection and practical suggestions for corporate practices around purchasing third-party data.
Attendees will learn:
- Consumer awareness around data brokers and what consumers are doing to limit data collection
- How businesses assess third-party vendors and their consent management operations
- Where business preparedness needs improvement
- What these trends mean for the future of privacy governance and public trust
This discussion is essential for privacy, risk, and compliance professionals who want to ground their strategies in current data and prepare for what’s next in the privacy landscape.
Artificial Intelligence is providing benefits in many areas of work within the heritage sector, from image analysis, to ideas generation, and new research tools. However, it is more critical than ever for people, with analogue intelligence, to ensure the integrity and ethical use of AI. Including real people can improve the use of AI by identifying potential biases, cross-checking results, refining workflows, and providing contextual relevance to AI-driven results.
News about the impact of AI often paints a rosy picture. In practice, there are many potential pitfalls. This presentation discusses these issues and looks at the role of analogue intelligence and analogue interfaces in providing the best results to our audiences. How do we deal with factually incorrect results? How do we get content generated that better reflects the diversity of our communities? What roles are there for physical, in-person experiences in the digital world?
Procurement Insights Cost To Value Guide.pptxJon Hansen
Procurement Insights integrated Historic Procurement Industry Archives, serves as a powerful complement — not a competitor — to other procurement industry firms. It fills critical gaps in depth, agility, and contextual insight that most traditional analyst and association models overlook.
Learn more about this value- driven proprietary service offering here.
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfAbi john
Analyze the growth of meme coins from mere online jokes to potential assets in the digital economy. Explore the community, culture, and utility as they elevate themselves to a new era in cryptocurrency.
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxJustin Reock
Building 10x Organizations with Modern Productivity Metrics
10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, ‘The Coding War Games.’
Right now, here in early 2025, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience. It seems that with every new method we invent for the delivery of products, whether physical or virtual, we reinvent productivity philosophies to go alongside them.
But which of these approaches actually work? DORA? SPACE? DevEx? What should we invest in and create urgency behind today, so that we don’t find ourselves having the same discussion again in a decade?
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...Alan Dix
Talk at the final event of Data Fusion Dynamics: A Collaborative UK-Saudi Initiative in Cybersecurity and Artificial Intelligence funded by the British Council UK-Saudi Challenge Fund 2024, Cardiff Metropolitan University, 29th April 2025
https://alandix.com/academic/talks/CMet2025-AI-Changes-Everything/
Is AI just another technology, or does it fundamentally change the way we live and think?
Every technology has a direct impact with micro-ethical consequences, some good, some bad. However more profound are the ways in which some technologies reshape the very fabric of society with macro-ethical impacts. The invention of the stirrup revolutionised mounted combat, but as a side effect gave rise to the feudal system, which still shapes politics today. The internal combustion engine offers personal freedom and creates pollution, but has also transformed the nature of urban planning and international trade. When we look at AI the micro-ethical issues, such as bias, are most obvious, but the macro-ethical challenges may be greater.
At a micro-ethical level AI has the potential to deepen social, ethnic and gender bias, issues I have warned about since the early 1990s! It is also being used increasingly on the battlefield. However, it also offers amazing opportunities in health and educations, as the recent Nobel prizes for the developers of AlphaFold illustrate. More radically, the need to encode ethics acts as a mirror to surface essential ethical problems and conflicts.
At the macro-ethical level, by the early 2000s digital technology had already begun to undermine sovereignty (e.g. gambling), market economics (through network effects and emergent monopolies), and the very meaning of money. Modern AI is the child of big data, big computation and ultimately big business, intensifying the inherent tendency of digital technology to concentrate power. AI is already unravelling the fundamentals of the social, political and economic world around us, but this is a world that needs radical reimagining to overcome the global environmental and human challenges that confront us. Our challenge is whether to let the threads fall as they may, or to use them to weave a better future.
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersToradex
Toradex brings robust Linux support to SMARC (Smart Mobility Architecture), ensuring high performance and long-term reliability for embedded applications. Here’s how:
• Optimized Torizon OS & Yocto Support – Toradex provides Torizon OS, a Debian-based easy-to-use platform, and Yocto BSPs for customized Linux images on SMARC modules.
• Seamless Integration with i.MX 8M Plus and i.MX 95 – Toradex SMARC solutions leverage NXP’s i.MX 8 M Plus and i.MX 95 SoCs, delivering power efficiency and AI-ready performance.
• Secure and Reliable – With Secure Boot, over-the-air (OTA) updates, and LTS kernel support, Toradex ensures industrial-grade security and longevity.
• Containerized Workflows for AI & IoT – Support for Docker, ROS, and real-time Linux enables scalable AI, ML, and IoT applications.
• Strong Ecosystem & Developer Support – Toradex offers comprehensive documentation, developer tools, and dedicated support, accelerating time-to-market.
With Toradex’s Linux support for SMARC, developers get a scalable, secure, and high-performance solution for industrial, medical, and AI-driven applications.
Do you have a specific project or application in mind where you're considering SMARC? We can help with Free Compatibility Check and help you with quick time-to-market
For more information: https://www.toradex.com/computer-on-modules/smarc-arm-family
Noah Loul Shares 5 Steps to Implement AI Agents for Maximum Business Efficien...Noah Loul
Artificial intelligence is changing how businesses operate. Companies are using AI agents to automate tasks, reduce time spent on repetitive work, and focus more on high-value activities. Noah Loul, an AI strategist and entrepreneur, has helped dozens of companies streamline their operations using smart automation. He believes AI agents aren't just tools—they're workers that take on repeatable tasks so your human team can focus on what matters. If you want to reduce time waste and increase output, AI agents are the next move.
Big Data Analytics Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
This is the keynote of the Into the Box conference, highlighting the release of the BoxLang JVM language, its key enhancements, and its vision for the future.
25. plone.restapi
a bridge to the modern web
Plone Conference Boston 2016 — Timo Stollenwerk, kitconcept GmbH
Timo Stollenwerk
kitconcept.com
github.com/kitconcept
twitter.com/timostollenwerk