Presented at 3|SHARE's EVOLVE'14 - The Adobe Experience Manager Community Summit on Tuesday November 18th, 2014 at the Hard Rock Hotel in San Diego, CA. evolve14.com
Bryan Williams - ICF Interactive
Many sites need to expose their AEM repository content through a flexible remote API whether it be for consumption by mobile apps, third parties, etc. This presentation will walk through setting up a custom, extensible, secure and testable API utilizing various open source tools that are at your disposal.
The document discusses three developer tricks for CQ5/WEM: 1) front-end optimization techniques like concatenating, minifying, and gzipping client-side libraries, 2) mobile detection using the Wireless Universal Resource File to determine device capabilities and serve tailored content, and 3) mobile content synchronization to keep mobile versions of content in sync with their desktop counterparts.
The document discusses various technologies for building web applications, including HTML5. It begins by explaining the anatomy of a web app, including the server-side components and use of backend services. It then covers different types of apps - native, web, and hybrid. A large portion of the document focuses on HTML5, describing new structural elements, forms, multimedia capabilities like audio and video, local storage options, and geolocation. It concludes by mentioning technologies like PhoneGap/Cordova for building cross-platform apps and WebSockets for real-time connections.
Dynamic Components using Single-Page-Application Concepts in AEM/CQ
This document summarizes a presentation on developing dynamic components in AEM using single-page application concepts. It discusses how traditional approaches to dynamic components can be tricky when components need to communicate and update frequently. An SPA approach treats each component as a module that handles its own data fetching and updating independently via AJAX calls. On page load, the server returns only static markup and components get dynamic data by making POST requests to a controller returning JSON. This allows for perceived faster interactions and easier front-end/back-end separation compared to full page reloads. Examples demonstrate rendering templates, initialization scripts, and a sample controller class to retrieve and return dynamic component data.
Anatomy of a web app
HTML5
CSS3
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2014.
http://www.ivanomalavolta.com
This document provides an introduction and overview of Ruby on Rails, including what it is, its key features and benefits, and how to get started building a basic web application with Rails. Some of the key points covered include Rails' emphasis on productivity through conventions over configuration, scaffolding, and its implementation of the MVC framework and full-stack capabilities. Examples are also given of generating a controller and view to output basic text and dynamic content.
Visualforce is a powerful tool for building custom user interfaces, but with great power comes great responsibility. Making your pages lean and fast is essential to a great user experience and high adoption rates. This webinar will focus on some advanced Visualforce topics to help you improve page efficiency. This session is tailored for experienced developers who are already familiar with the Visualforce framework.
Watch this webinar to learn about:
:: Viewstate
:: JavaScript Remoting
:: Asynchronous Apex
:: Streaming API
The document discusses different ways to invoke Java code from JSP pages, including JSP expressions, scriptlets, and declarations. It provides examples of each and explains how they correspond to code in the generated servlet class. Expressions output a value, scriptlets can contain multiple statements, and declarations define fields and methods in the servlet class. The document also compares using JSP pages versus servlets for similar tasks and recommends limiting Java code in JSP pages.
This document discusses various features and customization options for the AEM 6.0 user interface. It covers the Sling resource merger which allows overlaying and customizing nodes, adding and hiding links from the left rail, adding buttons to the console, modifying search filters, using metadata properties as tags, and customizing asset editor metadata templates. It provides examples of how to customize and overlay nodes in the /libs path with custom configurations in the /apps path. The document also includes some additional useful information and links for AEM UI customization.
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
The document provides an overview of HTML5, CSS, JavaScript, AngularJS, Git, and a demo application that teaches AngularJS development in steps. It explains key concepts like HTML structure, tags and attributes, CSS selectors and styles, JS variables, arrays, objects, and functions, Angular data binding, modules, controllers, filters, and directives. It also demonstrates how to set up an Angular app, manipulate the DOM with JS, install and use Git for version control, and check out branches in the demo app that implement features in stages.
Covering:
- What is a Content Repository and how does it work
- Comparison to relational database
- Why stable APIs are important and what to do if they are not
- Benefits of the open and transparent development
- Oh boy.. can I see it already!
- Why Sling is called Sling
- Various ways to deploy and develop code
- Deployment options and clustering
This document provides an introduction and overview of Struts, an MVC framework for Java web applications. It discusses Struts' main components and design patterns, including:
- Struts acts as an MVC framework, providing utilities for web app development using the MVC pattern.
- The framework has 3 main components - Controller, View, and Model.
- Struts uses the standard MVC design of separating data, presentation, and business logic into separate but interacting elements.
This document provides information about cascading style sheets (CSS). It discusses the different ways to apply stylesheets, including inline, embedded, and external stylesheets. It explains that CSS controls the layout, fonts, colors and overall appearance of web pages. CSS allows separation of design from content and makes pages load faster. The document also covers CSS syntax, selectors, properties and values. Common CSS selectors for HTML elements like headings, paragraphs and horizontal rules are listed along with their properties.
Today’s designers when asked about HTML5 do hesitate to answer because of the lack of knowledge about HTML5.A Free Ebook On HTML 5 Step by Step Guide..
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
Modular Test-driven SPAs with Spring and AngularJS
The document discusses creating modular test-driven single page applications (SPAs) using Spring and AngularJS. It provides an overview of AngularJS concepts and how to integrate AngularJS with Spring, including building and deploying AngularJS apps, modularization, and testing. It also covers AngularJS basics like models, views, controllers, directives, and modules.
The document discusses best practices for building web applications using the Ruby on Rails framework. It covers topics like asset pipeline for concatenating and minifying assets, CoffeeScript and SASS for high-level languages, content negotiation for different formats, partials for view components, AJAX, caching, and solving the N+1 query problem through includes and batch loading.
Session 5 : intro to jsp - Giáo trình Bách Khoa Aptech
This document provides an introduction to Java Server Pages (JSP) technology. It outlines the objectives and key concepts of JSP including the request-response cycle, life cycle, elements/tags, implicit objects, and action tags. JSP pages are converted into servlets and allow for separating presentation logic from business logic by embedding Java code within HTML pages using special tags. The document also compares JSP to servlets and provides examples of common JSP directives, tags, and beans.
The document discusses Java servlets and Java Server Pages (JSP). It describes servlets as Java programs that run on a web or application server between the HTTP client and server. JSP is described as a dynamic web page that mixes HTML and Java code enclosed in special tags. The document outlines the servlet/JSP lifecycle of init, service, and destroy phases. It provides examples of JSP tags like scriptlets, declarations, comments, directives, and implicit objects to access request parameters and session attributes.
Opencast Admin UI - Introduction to developing using AngularJS
This presentation is intended to help developers anticipating using and potentially extending the new Admin UI get a hands-on introduction into the Angular JS portion of the software. It has been presented in the form of a workshop and therefore the last slides (starting with the 22) could seem a bit abstract.
AtlasCamp 2015: Connect everywhere - Cloud and Server
Patrick Streule
You have an idea for an add-on? You want to tap into both the Atlassian Cloud and Server customer base without writing and maintaining it twice? Patrick illustrates some techniques you can use today to share most of your code between the Connect and the P2 add-on implementation.
Presented at Bucharest Java User Group, http://www.bjug.ro/editii/5.html . Project source code available at: https://github.com/bucharest-jug/dropwizard-todo
Stripes presentation for the Portuguese JUG session at JavaPT09 event.
Last version available at Speaker Deck: http://speakerdeck.com/samaxes/java-web-development-with-stripes.
This document discusses Sling Models, which provide a simplified way to adapt Sling resources and other objects into domain models. Key points:
- Sling Models use annotations to inject properties from resources and other sources into POJOs rather than requiring custom adapter factories.
- Common annotations include @Model, @Inject, @Optional, @Source, and @Filter to customize property injection.
- Sling Models are included in AEM and their usage has simplified adapting resources from over 30 lines of code to just 13 lines.
- The API supports extensions like custom injectors, annotations, and future additions like grandchild resource lists.
Adobe Experience Manager Core ComponentsGabriel Walt
Components for AEM Sites that cover the most common web content needs.
Discover which components exist, what features they offer, how they work technically and how they can be extended by a developer.
This document discusses client-side libraries in AEM and best practices for their use. It explains that clientlibs allow logical organization of JavaScript and CSS files and avoid duplicate includes. Key points covered include using cq:ClientLibraryFolders to define libraries, including them via cq:includeClientLib, dependencies vs embedding, debugging tools, themes, and minification. Best practices include placing component code in clientlibs, embedding to reduce requests, requesting from /etc, defining dependencies, and minification on publish.
CIRCUIT 2015 - Content API's For AEM SitesICF CIRCUIT
Bryan Williams - ICF Interactive
Many sites need to expose their AEM repository content through a flexible remote API whether it be for consumption by mobile apps, third parties, etc. This presentation will walk through setting up a custom, extensible, secure and testable API utilizing various open source tools that are at your disposal.
The document discusses three developer tricks for CQ5/WEM: 1) front-end optimization techniques like concatenating, minifying, and gzipping client-side libraries, 2) mobile detection using the Wireless Universal Resource File to determine device capabilities and serve tailored content, and 3) mobile content synchronization to keep mobile versions of content in sync with their desktop counterparts.
The document discusses various technologies for building web applications, including HTML5. It begins by explaining the anatomy of a web app, including the server-side components and use of backend services. It then covers different types of apps - native, web, and hybrid. A large portion of the document focuses on HTML5, describing new structural elements, forms, multimedia capabilities like audio and video, local storage options, and geolocation. It concludes by mentioning technologies like PhoneGap/Cordova for building cross-platform apps and WebSockets for real-time connections.
Dynamic Components using Single-Page-Application Concepts in AEM/CQNetcetera
This document summarizes a presentation on developing dynamic components in AEM using single-page application concepts. It discusses how traditional approaches to dynamic components can be tricky when components need to communicate and update frequently. An SPA approach treats each component as a module that handles its own data fetching and updating independently via AJAX calls. On page load, the server returns only static markup and components get dynamic data by making POST requests to a controller returning JSON. This allows for perceived faster interactions and easier front-end/back-end separation compared to full page reloads. Examples demonstrate rendering templates, initialization scripts, and a sample controller class to retrieve and return dynamic component data.
Anatomy of a web app
HTML5
CSS3
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2014.
http://www.ivanomalavolta.com
This document provides an introduction and overview of Ruby on Rails, including what it is, its key features and benefits, and how to get started building a basic web application with Rails. Some of the key points covered include Rails' emphasis on productivity through conventions over configuration, scaffolding, and its implementation of the MVC framework and full-stack capabilities. Examples are also given of generating a controller and view to output basic text and dynamic content.
Visualforce is a powerful tool for building custom user interfaces, but with great power comes great responsibility. Making your pages lean and fast is essential to a great user experience and high adoption rates. This webinar will focus on some advanced Visualforce topics to help you improve page efficiency. This session is tailored for experienced developers who are already familiar with the Visualforce framework.
Watch this webinar to learn about:
:: Viewstate
:: JavaScript Remoting
:: Asynchronous Apex
:: Streaming API
The document discusses different ways to invoke Java code from JSP pages, including JSP expressions, scriptlets, and declarations. It provides examples of each and explains how they correspond to code in the generated servlet class. Expressions output a value, scriptlets can contain multiple statements, and declarations define fields and methods in the servlet class. The document also compares using JSP pages versus servlets for similar tasks and recommends limiting Java code in JSP pages.
This document discusses various features and customization options for the AEM 6.0 user interface. It covers the Sling resource merger which allows overlaying and customizing nodes, adding and hiding links from the left rail, adding buttons to the console, modifying search filters, using metadata properties as tags, and customizing asset editor metadata templates. It provides examples of how to customize and overlay nodes in the /libs path with custom configurations in the /apps path. The document also includes some additional useful information and links for AEM UI customization.
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
The document provides an overview of HTML5, CSS, JavaScript, AngularJS, Git, and a demo application that teaches AngularJS development in steps. It explains key concepts like HTML structure, tags and attributes, CSS selectors and styles, JS variables, arrays, objects, and functions, Angular data binding, modules, controllers, filters, and directives. It also demonstrates how to set up an Angular app, manipulate the DOM with JS, install and use Git for version control, and check out branches in the demo app that implement features in stages.
Covering:
- What is a Content Repository and how does it work
- Comparison to relational database
- Why stable APIs are important and what to do if they are not
- Benefits of the open and transparent development
- Oh boy.. can I see it already!
- Why Sling is called Sling
- Various ways to deploy and develop code
- Deployment options and clustering
This document provides an introduction and overview of Struts, an MVC framework for Java web applications. It discusses Struts' main components and design patterns, including:
- Struts acts as an MVC framework, providing utilities for web app development using the MVC pattern.
- The framework has 3 main components - Controller, View, and Model.
- Struts uses the standard MVC design of separating data, presentation, and business logic into separate but interacting elements.
This document provides information about cascading style sheets (CSS). It discusses the different ways to apply stylesheets, including inline, embedded, and external stylesheets. It explains that CSS controls the layout, fonts, colors and overall appearance of web pages. CSS allows separation of design from content and makes pages load faster. The document also covers CSS syntax, selectors, properties and values. Common CSS selectors for HTML elements like headings, paragraphs and horizontal rules are listed along with their properties.
Today’s designers when asked about HTML5 do hesitate to answer because of the lack of knowledge about HTML5.A Free Ebook On HTML 5 Step by Step Guide..
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
Modular Test-driven SPAs with Spring and AngularJSGunnar Hillert
The document discusses creating modular test-driven single page applications (SPAs) using Spring and AngularJS. It provides an overview of AngularJS concepts and how to integrate AngularJS with Spring, including building and deploying AngularJS apps, modularization, and testing. It also covers AngularJS basics like models, views, controllers, directives, and modules.
The document discusses best practices for building web applications using the Ruby on Rails framework. It covers topics like asset pipeline for concatenating and minifying assets, CoffeeScript and SASS for high-level languages, content negotiation for different formats, partials for view components, AJAX, caching, and solving the N+1 query problem through includes and batch loading.
Session 5 : intro to jsp - Giáo trình Bách Khoa AptechMasterCode.vn
This document provides an introduction to Java Server Pages (JSP) technology. It outlines the objectives and key concepts of JSP including the request-response cycle, life cycle, elements/tags, implicit objects, and action tags. JSP pages are converted into servlets and allow for separating presentation logic from business logic by embedding Java code within HTML pages using special tags. The document also compares JSP to servlets and provides examples of common JSP directives, tags, and beans.
The document discusses Java servlets and Java Server Pages (JSP). It describes servlets as Java programs that run on a web or application server between the HTTP client and server. JSP is described as a dynamic web page that mixes HTML and Java code enclosed in special tags. The document outlines the servlet/JSP lifecycle of init, service, and destroy phases. It provides examples of JSP tags like scriptlets, declarations, comments, directives, and implicit objects to access request parameters and session attributes.
Opencast Admin UI - Introduction to developing using AngularJSbuttyx
This presentation is intended to help developers anticipating using and potentially extending the new Admin UI get a hands-on introduction into the Angular JS portion of the software. It has been presented in the form of a workshop and therefore the last slides (starting with the 22) could seem a bit abstract.
AtlasCamp 2015: Connect everywhere - Cloud and ServerAtlassian
Patrick Streule
You have an idea for an add-on? You want to tap into both the Atlassian Cloud and Server customer base without writing and maintaining it twice? Patrick illustrates some techniques you can use today to share most of your code between the Connect and the P2 add-on implementation.
Presented at Bucharest Java User Group, http://www.bjug.ro/editii/5.html . Project source code available at: https://github.com/bucharest-jug/dropwizard-todo
Stripes presentation for the Portuguese JUG session at JavaPT09 event.
Last version available at Speaker Deck: http://speakerdeck.com/samaxes/java-web-development-with-stripes.
JavaServer Faces (JSF) is a web application framework that uses the model-view-controller (MVC) paradigm. It provides reusable UI components and manages the flow of web applications. MyFaces is an open source implementation of JSF that provides additional pre-built components. The document discusses the JSF architecture, how it works, example code components like input fields and validators, and advantages like reusable components and built-in validation.
As present at FluentConf 2014 on March 11th, 2014.
AngularJS is one of the most popular, and powerful, JavaScript frameworks for building rich client-side applications. AngularJS is both simultaneously both simple to use and extremely full featured. With AngularJS a little goes a long way, but to make the most of it, you need to know what you’re doing.
In this workshop we will build a complex application to help exercise all of the salient points of the AngularJS framework.
Topics covered include, ngResource, directives, fitlers, routing, templates, controllers, testing, and more.
Code can be found at: https://github.com/markbates/fluent-2014
The document provides instructions for installing and testing a WebGUI developer workshop that demonstrates how to create macros, content handlers, and utilize other WebGUI plugins like URL handlers and assets, allowing developers to extend WebGUI's functionality and build custom applications. It outlines steps for installing the workshop files, accessing the virtual machine, and includes examples of simple "Hello World" macros and content handlers to get started with WebGUI development.
The document provides an overview of Smarty, a widely used PHP templating system. It discusses that Smarty was created by Andrei Zmievski and separates display logic from controller logic for improved security and ease of use. Key features covered include literal tags, modifiers, and capture/cycle functions that allow for powerful templating capabilities. Examples demonstrate how to output variables, format dates, and alternate content display. Resources listed provide more documentation on Smarty syntax and usage.
This document provides an introduction to AngularJS presented by Dmitry Ivashutin. It discusses key concepts like AngularJS being a framework rather than a library, its use of MVC/MVVM patterns, and features like directives, controllers, scopes and dependency injection. Specific directives and recipes for services, factories and providers are demonstrated. The document aims to explain core AngularJS concepts for developers new to the framework.
This document provides an overview and introduction to using Backbone.js for building JavaScript applications within WordPress. It discusses the basics of Backbone including models, collections, views and routing. It then walks through an example plugin that uses Backbone to manage WordPress post titles and status in an admin panel. Key files and functions are explained, showing how models, collections and views are defined and tied together to populate and update the data.
This document provides an overview of AngularJS including that it is 100% JavaScript and client-side, uses an MVC pattern, and key concepts like data binding, templating, routing, and dependency injection. It also describes components like directives, controllers, services, and filters and includes code samples to demonstrate concepts like scopes, bindings, and organizing an Angular application.
This document discusses integrating Django, Django Rest Framework, React, Redux, and related technologies. It recommends using Webpack to bundle JavaScript assets. It provides code examples for defining React components, Redux reducers, and connecting a React frontend to a Django Rest Framework backend via API calls. The document emphasizes building reusable presentational and container components, and wiring actions and reducers to the backend via Redux middleware like redux-promise.
JavaServer Faces 2.0 - JavaOne India 2011Arun Gupta
The document outlines the key features and enhancements of Java Server Faces 2.0, including improved ease of development through Facelets and composite components, integrated Ajax support, HTTP GET support, validation integration with Bean Validation, and runtime performance improvements through partial state saving and behaviors. It provides code samples to illustrate many of the new capabilities.
Ruby on Rails is a web application framework that follows the model-view-controller (MVC) pattern. It uses RESTful routing and conventions to map HTTP verbs like GET and POST to controller actions. Models define the data and behavior of an application, controllers handle and respond to user input, and views display the UI for users. Rails emphasizes conventions over configuration for productivity and includes features like caching, asset pipelining, and internationalization.
Similar to EVOLVE'14 | Enhance | Gabriel Walt | Sightly Component Development (20)
Extending Adobe Experience Manager with custom solutions that meet your unique business needs has never been easier. Learn how Adobe I/O developer tools, including Adobe I/O Runtime and Adobe I/O Events can be leveraged to deliver timely, targeted, personalized and effective customer experiences.
This document discusses a project to modernize two separate portals for a client into a single-page application (SPA) using Adobe Experience Manager (AEM) 6.5. The project involved using SPA to display product information and documents, creating an entitlements management screen in AEM author for permissions, and developing mobile apps. Key aspects included upgrading from AEM 6.4 to 6.5 to address SPA issues, integrating with Okta for authentication, and enabling offline viewing capabilities in the mobile apps. The presentation provides details on implementing the SPA, entitlements management, and mobile apps, and discusses challenges overcome around responsive design, permissions, and offline access.
Adobe Asset Link (AAL) is the new solution to seamless linking of AEM Assets with Creative Cloud products. This session talks about the common use cases where AAL would be the right choice and also provides details around some of the most common pitfalls to avoid when implementing AAL.
AEM is content-centric, so is the future of building commerce experiences. In this session, you will be shown how to build modern commerce experiences with AEM. The demo will explain how authors create/configure multiple (industry-independent) stores, configure the commerce environment for each store and manage all the commerce content and features, without writing a line of code. The second part will demonstrate how developers create templates, components, and functionality to build a compelling Web/User/Commerce Experience.
Rolling out AEM Site or Assets? Learn how to structure your deployment to maximize your return while reducing risk. See how to overdeliver while hitting aggressive timelines. Understand how to generate excitement that fuels user adoption and sets you up for success.
The roles of the Product Owner, Business Analyst and/or Subject Matter Expert are crucial to the success of an AEM project, especially at critical times. From the development team’s perspective leveraging these resources during kickoff can set the project up for success. Hear more about the right resourcing and preparation for kickoff can enable development teams to start a project off right and to avoid costly changes (scope increase or rework) later in the project.
This document summarizes translation tips and trends from a presentation. It includes tips from various companies on testing machine translation and AI, automating tracking and reporting to decrease turnaround times by 50%, and automating file pushing to translate content into 14 languages within a year. It also notes to prepare for unexpected translation spikes by using internal and external translation teams. The document contains charts and graphics on GlobalLink customers and processes.
When Furniture Row decided to leave their digital assets management provider to go to AEM, they began a multi-phased journey that has resulted in the transition of their eCommerce platform and content management system. They recently launch a newly redesigned DenverMattress.com site which introduces a headless implementation of AEM sites, a new authoring experience for their content team, and an upgrade from a freestanding instance of Scene7 Classic to Dynamic Media integrated with AEM Assets. Hear from the implementation team and learn more about Furniture Row’s digital evolution.
Today’s customers expect relevant and personalized engagement with brands – or they go elsewhere. In this session, Carl will lay out some of the hurdles involved in crafting a customer- and loyalty-forward data management and architectural strategy. Using examples from specific client engagements, he will outline approaches to building an actionable data and technology stack on which teams can build and extend personalized interactions.
Autodesk cut their teeth on AEM in 2013 with Autodesk.com. It's safe to say they've come a long way since then. Join Sharat Radhakrishnan and his gang as they bring us up to speed on their wild AEM journey.
Want to make sure your scope is accurate? How do you dissect requirements to meet your implementation needs? Learn the pitfalls, how to plan MVP projects and what it takes to dig deep and find success when you start your AEM projects.
Get a glimpse into the highly competitive AEM talent market, Dave's journey as an entrepreneur and a little known secret that can help managers better understand the phycological needs of their team members and drastically increase their retention.
The document discusses how digital asset management systems can extract meaningful information from digital assets through metadata and machine learning techniques. It describes how issues around organization, inconsistency, and limited use cases for assets can be addressed. Techniques for ingesting assets at scale including defining schemas, metadata profiles, and using smart tags are presented. The use of optical character recognition and Amazon Textract for extracting structured data from documents is highlighted. An example workflow for integrating these techniques into an AEM system is provided.
Understand concepts around Deep Learning, Machine Learning, Pattern Recognition and more. See AEM scenarios powered with Adobe Sensei. Understand the latest roadmap on AEM and Sensei.
The document discusses creating flexible AEM architectures and implementing clean component-based architectures. It advocates starting with an architecture to guide development rather than delaying architecture. Progressive web apps are presented as having the broadest deployment footprint compared to other application types. The document also discusses using atomic design systems and component systems like React to achieve reuse.
Adobe AEM Managed Services started deploying Production AEM workloads on Azure in Nov 2017. In this session, we will share our learnings and offer advice to those thinking about deploying their AEM workloads on Azure.
This document discusses authoring content once and delivering it to multiple channels. It introduces experience fragments and content fragments in AEM that allow centrally editing reusable content and channel-specific content. It also discusses hybrid delivery that implements business logic once through Java models and renders multiple formats like HTML and JSON. The document provides examples of delivering content from AEM to different channels like websites, SPAs, mobile apps, emails, and voice/chat applications using APIs, editors, and integrations with other services.
The document discusses Adobe Campaign, its key capabilities for cross-channel marketing campaigns, and how it fits within the Adobe Experience Cloud. It outlines Adobe Campaign's capabilities for integrated customer profiles, targeted segmentation, cross-channel campaign orchestration, and integrated email. It also discusses Adobe Campaign's roadmap and strategy, including expanding into new channels, leveraging artificial intelligence, and integrating with the Adobe Experience Platform.
Everyone wants to see their project launch successfully. In this session learn about the roles, processes, and tools that are critical to every project.
More from Evolve The Adobe Digital Marketing Community (20)
Quality Patents: Patents That Stand the Test of TimeAurora Consulting
Is your patent a vanity piece of paper for your office wall? Or is it a reliable, defendable, assertable, property right? The difference is often quality.
Is your patent simply a transactional cost and a large pile of legal bills for your startup? Or is it a leverageable asset worthy of attracting precious investment dollars, worth its cost in multiples of valuation? The difference is often quality.
Is your patent application only good enough to get through the examination process? Or has it been crafted to stand the tests of time and varied audiences if you later need to assert that document against an infringer, find yourself litigating with it in an Article 3 Court at the hands of a judge and jury, God forbid, end up having to defend its validity at the PTAB, or even needing to use it to block pirated imports at the International Trade Commission? The difference is often quality.
Quality will be our focus for a good chunk of the remainder of this season. What goes into a quality patent, and where possible, how do you get it without breaking the bank?
** Episode Overview **
In this first episode of our quality series, Kristen Hansen and the panel discuss:
⦿ What do we mean when we say patent quality?
⦿ Why is patent quality important?
⦿ How to balance quality and budget
⦿ The importance of searching, continuations, and draftsperson domain expertise
⦿ Very practical tips, tricks, examples, and Kristen’s Musts for drafting quality applications
https://www.aurorapatents.com/patently-strategic-podcast.html
Details of description part II: Describing images in practice - Tech Forum 2024BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and transcript: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
How Social Media Hackers Help You to See Your Wife's Message.pdfHackersList
In the modern digital era, social media platforms have become integral to our daily lives. These platforms, including Facebook, Instagram, WhatsApp, and Snapchat, offer countless ways to connect, share, and communicate.
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionBert Blevins
Cybersecurity is a major concern in today's connected digital world. Threats to organizations are constantly evolving and have the potential to compromise sensitive information, disrupt operations, and lead to significant financial losses. Traditional cybersecurity techniques often fall short against modern attackers. Therefore, advanced techniques for cyber security analysis and anomaly detection are essential for protecting digital assets. This blog explores these cutting-edge methods, providing a comprehensive overview of their application and importance.
Transcript: Details of description part II: Describing images in practice - T...BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and slides: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Mitigating the Impact of State Management in Cloud Stream Processing SystemsScyllaDB
Stream processing is a crucial component of modern data infrastructure, but constructing an efficient and scalable stream processing system can be challenging. Decoupling compute and storage architecture has emerged as an effective solution to these challenges, but it can introduce high latency issues, especially when dealing with complex continuous queries that necessitate managing extra-large internal states.
In this talk, we focus on addressing the high latency issues associated with S3 storage in stream processing systems that employ a decoupled compute and storage architecture. We delve into the root causes of latency in this context and explore various techniques to minimize the impact of S3 latency on stream processing performance. Our proposed approach is to implement a tiered storage mechanism that leverages a blend of high-performance and low-cost storage tiers to reduce data movement between the compute and storage layers while maintaining efficient processing.
Throughout the talk, we will present experimental results that demonstrate the effectiveness of our approach in mitigating the impact of S3 latency on stream processing. By the end of the talk, attendees will have gained insights into how to optimize their stream processing systems for reduced latency and improved cost-efficiency.
The DealBook is our annual overview of the Ukrainian tech investment industry. This edition comprehensively covers the full year 2023 and the first deals of 2024.
Implementations of Fused Deposition Modeling in real worldEmerging Tech
The presentation showcases the diverse real-world applications of Fused Deposition Modeling (FDM) across multiple industries:
1. **Manufacturing**: FDM is utilized in manufacturing for rapid prototyping, creating custom tools and fixtures, and producing functional end-use parts. Companies leverage its cost-effectiveness and flexibility to streamline production processes.
2. **Medical**: In the medical field, FDM is used to create patient-specific anatomical models, surgical guides, and prosthetics. Its ability to produce precise and biocompatible parts supports advancements in personalized healthcare solutions.
3. **Education**: FDM plays a crucial role in education by enabling students to learn about design and engineering through hands-on 3D printing projects. It promotes innovation and practical skill development in STEM disciplines.
4. **Science**: Researchers use FDM to prototype equipment for scientific experiments, build custom laboratory tools, and create models for visualization and testing purposes. It facilitates rapid iteration and customization in scientific endeavors.
5. **Automotive**: Automotive manufacturers employ FDM for prototyping vehicle components, tooling for assembly lines, and customized parts. It speeds up the design validation process and enhances efficiency in automotive engineering.
6. **Consumer Electronics**: FDM is utilized in consumer electronics for designing and prototyping product enclosures, casings, and internal components. It enables rapid iteration and customization to meet evolving consumer demands.
7. **Robotics**: Robotics engineers leverage FDM to prototype robot parts, create lightweight and durable components, and customize robot designs for specific applications. It supports innovation and optimization in robotic systems.
8. **Aerospace**: In aerospace, FDM is used to manufacture lightweight parts, complex geometries, and prototypes of aircraft components. It contributes to cost reduction, faster production cycles, and weight savings in aerospace engineering.
9. **Architecture**: Architects utilize FDM for creating detailed architectural models, prototypes of building components, and intricate designs. It aids in visualizing concepts, testing structural integrity, and communicating design ideas effectively.
Each industry example demonstrates how FDM enhances innovation, accelerates product development, and addresses specific challenges through advanced manufacturing capabilities.
Coordinate Systems in FME 101 - Webinar SlidesSafe Software
If you’ve ever had to analyze a map or GPS data, chances are you’ve encountered and even worked with coordinate systems. As historical data continually updates through GPS, understanding coordinate systems is increasingly crucial. However, not everyone knows why they exist or how to effectively use them for data-driven insights.
During this webinar, you’ll learn exactly what coordinate systems are and how you can use FME to maintain and transform your data’s coordinate systems in an easy-to-digest way, accurately representing the geographical space that it exists within. During this webinar, you will have the chance to:
- Enhance Your Understanding: Gain a clear overview of what coordinate systems are and their value
- Learn Practical Applications: Why we need datams and projections, plus units between coordinate systems
- Maximize with FME: Understand how FME handles coordinate systems, including a brief summary of the 3 main reprojectors
- Custom Coordinate Systems: Learn how to work with FME and coordinate systems beyond what is natively supported
- Look Ahead: Gain insights into where FME is headed with coordinate systems in the future
Don’t miss the opportunity to improve the value you receive from your coordinate system data, ultimately allowing you to streamline your data analysis and maximize your time. See you there!
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfjackson110191
These fighter aircraft have uses outside of traditional combat situations. They are essential in defending India's territorial integrity, averting dangers, and delivering aid to those in need during natural calamities. Additionally, the IAF improves its interoperability and fortifies international military alliances by working together and conducting joint exercises with other air forces.
7 Most Powerful Solar Storms in the History of Earth.pdfEnterprise Wired
Solar Storms (Geo Magnetic Storms) are the motion of accelerated charged particles in the solar environment with high velocities due to the coronal mass ejection (CME).
YOUR RELIABLE WEB DESIGN & DEVELOPMENT TEAM — FOR LASTING SUCCESS
WPRiders is a web development company specialized in WordPress and WooCommerce websites and plugins for customers around the world. The company is headquartered in Bucharest, Romania, but our team members are located all over the world. Our customers are primarily from the US and Western Europe, but we have clients from Australia, Canada and other areas as well.
Some facts about WPRiders and why we are one of the best firms around:
More than 700 five-star reviews! You can check them here.
1500 WordPress projects delivered.
We respond 80% faster than other firms! Data provided by Freshdesk.
We’ve been in business since 2015.
We are located in 7 countries and have 22 team members.
With so many projects delivered, our team knows what works and what doesn’t when it comes to WordPress and WooCommerce.
Our team members are:
- highly experienced developers (employees & contractors with 5 -10+ years of experience),
- great designers with an eye for UX/UI with 10+ years of experience
- project managers with development background who speak both tech and non-tech
- QA specialists
- Conversion Rate Optimisation - CRO experts
They are all working together to provide you with the best possible service. We are passionate about WordPress, and we love creating custom solutions that help our clients achieve their goals.
At WPRiders, we are committed to building long-term relationships with our clients. We believe in accountability, in doing the right thing, as well as in transparency and open communication. You can read more about WPRiders on the About us page.
Measuring the Impact of Network Latency at TwitterScyllaDB
Widya Salim and Victor Ma will outline the causal impact analysis, framework, and key learnings used to quantify the impact of reducing Twitter's network latency.
Sustainability requires ingenuity and stewardship. Did you know Pigging Solutions pigging systems help you achieve your sustainable manufacturing goals AND provide rapid return on investment.
How? Our systems recover over 99% of product in transfer piping. Recovering trapped product from transfer lines that would otherwise become flush-waste, means you can increase batch yields and eliminate flush waste. From raw materials to finished product, if you can pump it, we can pig it.
Best Programming Language for Civil EngineersAwais Yaseen
The integration of programming into civil engineering is transforming the industry. We can design complex infrastructure projects and analyse large datasets. Imagine revolutionizing the way we build our cities and infrastructure, all by the power of coding. Programming skills are no longer just a bonus—they’re a game changer in this era.
Technology is revolutionizing civil engineering by integrating advanced tools and techniques. Programming allows for the automation of repetitive tasks, enhancing the accuracy of designs, simulations, and analyses. With the advent of artificial intelligence and machine learning, engineers can now predict structural behaviors under various conditions, optimize material usage, and improve project planning.
2. Specification open sourced to GitHub.
Implementation donated to Apache Sling.
Follow @sightlyio on Twitter.
http://docs.adobe.com/docs/en/aem/6-0/develop/sightly.html
Adobe Experience Manager
3. Project Efficiency
Adobe.com estimated that it reduced their project
costs by about 25%
JSP Project
Adobe Experience Manager
Design
HTML/CSS
Template
JSP
Logic
Java
Design
HTML/CSS
Template
Sightly HTML
Logic
Use-API
Project
Management Sightly
Management
~25%
Effort / Cost
4. Development Workflow
Improves project efficiency by removing the pain of
JSP and Java development
Adobe Experience Manager
Design
HTML/CSS
Component
Business
Logic
Inefficient
Static HTML being
handed over…
Front-end Developer
– HTML
– CSS/JS
Java Developer
– Java/OSGi
– Business logic
5. Development Workflow
Improves project efficiency by removing the pain of
JSP and Java development
Adobe Experience Manager
Design
HTML/CSS
Component
Business
Logic
Front-end Developer
– HTML
– CSS/JS
Java Developer
– Java/OSGi
– Business logic
Efficient
APIs to OSGi bundles
6. Development Workflow
Can be edited by front-end devs:
✓ Client Libraries (CSS & JS)
✕ JSP (markup & logic)
✓ HTML markup (Sightly template)
✓ View logic (server-side JS, or Java)
Adobe Experience Manager
Component
8. Sightly basic example
<a href="${properties.link || '#'}" title="${properties.jcr:title}">
Adobe Experience Manager
${properties.jcr:description}
</a>
1︎
2︎ 3︎
1︎ Automatic contextual HTML escaping and XSS protection of all variables
2︎ Fallback value if property is empty
3︎ Remove HTML attribute if value is empty
18. Expression Options
Options allow to manipulate the result of an expression,
or to pass parameters to a block statement.
Everything after the @ are comma separated options
${myVar @ optOne, optTwo}
Options can have a value (literals or variables)
${myVar @ optOne='value', optTwo=[1, 2, 3]}
Parametric expression (containing only options)
${@ optOne='value', optTwo=[1, 2, 3]}
Adobe Experience Manager
20. Test Statement
Conditionally removes the element and it's content
<p data-sly-test="${properties.showText}">text</p>
Output
<p>text</p>
Adobe Experience Manager
21. List Statement
Repeats the content for each enumerable property
<ol data-sly-list="${currentPage.listChildren}">
<li>${item.title}</li>
</ol>
Output
<ol>
<li>Triangle Page</li>
<li>Square Page</li>
</ol>
Adobe Experience Manager
22. Include Statement
Includes the rendering of the indicated template (Sightly, JSP, ESP, etc.)
<section data-sly-include="path/to/template.html"></section>
Output
<section><!-- Result of the rendered resource --></section>
Adobe Experience Manager
23. Resource Statement
Includes the result of the indicated resource
<article data-sly-resource="path/to/resource"></article>
Output
<article><!-- Result of the rendered resource --></article>
Adobe Experience Manager
25. Unwrap Statement
Removes the host element while retaining its content
<article data-sly-resource="path/to/resource"
Adobe Experience Manager
data-sly-unwrap></article>
Output
<!-- Result of the rendered resource -->
Use unwrap only when there’s no other way to write your template,
to make it correspond as much as possible to the output.
26. Text, Attr & Elem Statements
Replaces the content, attribute or element name
<div class="active" title="Lorem ipsum"
Adobe Experience Manager
data-sly-element="${elementName}"
data-sly-attribute.title="${title}"
data-sly-text="${content}">Lorem ipsum</div>
Output
<span class="active" title="Hi!">Hello World</span>
Use element and attribute with care as they allow to define parts of the
markup from the logic, which can lessen the separation of concerns.
27. Use Statement
Initializes a helper object
<div data-sly-use.nav="navigation.js">${nav.foo}</div>
Output
<div>Hello World</div>
Use data-sly-use when data preparation is needed.
To avoid unnecessary abstraction layers, prefer to access the variables
directly from the template when possible.
Adobe Experience Manager
28. Server-side JavaScript logic
<!-- template.html -->
<div data-sly-use.nav="navigation.js">${nav.foo}</div>
/* navigation.js */
use(function () {
return {
Adobe Experience Manager
foo: "Hello World"
};
});
Like for the Sightly template, the objects available in the logic file are
the same ones as in JSP with global.jsp
29. <!-- template.html -->
<div data-sly-use.nav="Navigation">${nav.foo}</div>
/* Navigation.java */
package apps.site_name.component_name;
import com.adobe.cq.sightly.WCMUse;
public class Navigation extends WCMUse {
private String foo;
@Override
public void activate() throws Exception {
Adobe Experience Manager
foo = "Hello World";
}
public String getFoo() {
return foo;
}
}
Java logic
When the Java file is
located in the content
repository, next to the
Sightly template, only
the class name is
needed.
But when embedded
in an OSGi bundle, the
fully qualified Java
class name is needed.
The Java class either has to extend WCMUse, or it
has to be adaptable from request or from resource.
30. What kind of Use-API?
Model logic
This logic is not tied to a template and is potentially reusable among components.
It should aim to form a stable API that changes little, even in case of a full redesign.
➔ Java located in OSGi bundle
View logic
This logic is specific to the templates and is likely to change if the design changes.
It is thus a good practice to locate it in the content repository, next to the template.
➔ JavaScript located in component
If components are to be maintained by front-end devs (typically with Brackets).
➔ Java located in component
If performance is critical (e.g. when many requests are not cached by the dispatcher).
Adobe Experience Manager
32. Display Context Option
The context option offers control over escaping and XSS protection.
Allowing some HTML markup (filtering out scripts)
<div>${properties.jcr:description @ context='html'}</div>
Adding URI validation protection to other attributes than src or href
<p data-link="${link @ context='uri'}">text</p>
Adobe Experience Manager
33. Display Context Option
<a href="${myLink}" title="${myTitle}">${myContent}</a>
<script> var foo = "${myVar @ context='scriptString'}"; </string>
<style> a { font-family: "${myFont @ context='styleString'}"; } </style>
Most useful contexts and what they do:
number XSSAPI.getValidNumber
uri XSSAPI.getValidHref (default for src and href attributes)
attribute XSSAPI.encodeForHTMLAttribute (default for other attributes)
text XSSAPI.encodeForHTML (default for element content)
scriptString XSSAPI.encodeForJSString
styleString XSSAPI.encodeForCSSString
html XSSAPI.filterHTML
unsafe disables all protection, use at your own risk.
safer
Adobe Experience Manager
34. Display Context Option
<a href="${myLink}" title="${myTitle}">${myContent}</a>
<script> var foo = "${myVar @ context='scriptString'}"; </string>
<style> a { font-family: "${myFont @ context='styleString'}"; } </style>
Preferred method for each context:
– src and href attributes: number, uri, attribute, unsafe
– other attributes: number, uri, attribute, unsafe
– element content: number, text, html, unsafe
– JS scripts ⊛: number, uri, scriptString, unsafe
– CSS styles ⊛: number, uri, styleString, unsafe
⊛ An explicit context is required for script and style contexts.
Don’t set the context manually unless you understand what you are doing.
Adobe Experience Manager
35. Adobe Experience Manager
Sightly FAQ
What does Sightly enable that isn’t possible with JSP?
– Systematic state-of-the-art protection against cross-site scripting injection.
– Possibility for front-end developers to easily participate on AEM projects.
– Flexible and powerful templating and view logic binding features.
– Tailored to the Sling use-case.
Will JSP go away?
– As of today, there are no plans for that.
36. IDE & Developer Mode
• Improve learning curve and efficiency of developers
• An IDE plugin for each developer role
Adobe Experience Manager
Brackets plugin
for the Front-End developers
http://docs.adobe.com/docs/en/dev-tools/sightly-brackets.html
Eclipse plugin
for the Java developers
http://docs.adobe.com/docs/en/dev-tools/aem-eclipse.html
37. Work on file system + transparent sync & content editing
Adobe Experience Manager
IDE Sync
Version Control
System (Git / Svn) File System
Content
Repository
sync
manual pull
Brackets / Eclipse
IDE
auto push
IDE works on
the File System
38. Adobe Experience Manager
Resources
Sightly
– Documentation
– Specification
– Sightly AEM Page Example (requires instance on localhost:4502)
– TodoMVC Example
Tools
– Live Sightly execution environment
– Sightly Brackets extension
– AEM Developer Tools for Eclipse
– AEM Developer Mode