Surf Code Camp walkthrough 1 was done as a joint exercise between the instructor and the class as a precursor to Lab 3. It covers Surf site construction basics.
Full solution source code is at http://ecmarchitect.com/images/green-energy-code-camp.zip
In the second Surf Code Camp lab, you'll write a little user profile dashlet. This one is slightly more complex than the hello world dashlet because it makes remote calls to the Repository tier.
Full solution source code is at http://ecmarchitect.com/images/green-energy-code-camp.zip
Surf Code Camp Lab 4 is the final lab in which a pages are added to the Green Energy site that facilitate browsing through the repository hierarchy using CMIS and Surf object associations.
Full solution source code is at http://ecmarchitect.com/images/green-energy-code-camp.zip
Surf Code Camp Lab 3 leaves Share behind and starts to show how a Surf web site is built from the ground, up.
Full solution source code is at http://ecmarchitect.com/images/green-energy-code-camp.zip
Fisl 11 - Dicas de Desenvolvimento Web com RubyFabio Akita
Performance de sites não tem a ver com a linguagem usada por baixo. O impacto maior é a arquitetura. Nesta palestra falo sobre YSlow, Resque e Solr como algumas das coisas que podemos fazer para melhorar a performance/escalabilidade de aplicações web.
Slides from my talk discussing my experience rebuilding a video player I previously developed in Flash. I gave this talk on March 18th, at the Brisbane Web Design Meetup.
In the second Surf Code Camp lab, you'll write a little user profile dashlet. This one is slightly more complex than the hello world dashlet because it makes remote calls to the Repository tier.
Full solution source code is at http://ecmarchitect.com/images/green-energy-code-camp.zip
Surf Code Camp Lab 4 is the final lab in which a pages are added to the Green Energy site that facilitate browsing through the repository hierarchy using CMIS and Surf object associations.
Full solution source code is at http://ecmarchitect.com/images/green-energy-code-camp.zip
Surf Code Camp Lab 3 leaves Share behind and starts to show how a Surf web site is built from the ground, up.
Full solution source code is at http://ecmarchitect.com/images/green-energy-code-camp.zip
Fisl 11 - Dicas de Desenvolvimento Web com RubyFabio Akita
Performance de sites não tem a ver com a linguagem usada por baixo. O impacto maior é a arquitetura. Nesta palestra falo sobre YSlow, Resque e Solr como algumas das coisas que podemos fazer para melhorar a performance/escalabilidade de aplicações web.
Slides from my talk discussing my experience rebuilding a video player I previously developed in Flash. I gave this talk on March 18th, at the Brisbane Web Design Meetup.
Consegi 2010 - Dicas de Desenvolvimento Web com RubyFabio Akita
Esta é a palestra que dei no Consegi 2010 em Brasília. Sobre dicas gerais sobre web, em particular implementando com Ruby on Rails. YSlow, Full Text Search e Tarefas Assíncronas.
PrettyFaces: SEO, Dynamic, Parameters, Bookmarks, Navigation for JSF / JSF2 (...Lincoln III
PrettyFaces: SEO, Dynamic Parameters, Bookmarks, and Navigation for JSF / JSF2 - As presented at JSFSummit2009 in Orlando Florida.
Why should we use PrettyFaces?
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJLeonardo Balter
Slides apresentados no 16 EDTED, edição Rio de Janeiro, em 21 de Maio de 2011.
Aqui não tem vídeos, animações e códigos apresentados, mas tem os links. Logo passo o link completo.
J2EE is already the perfect solution for complex business/enterprise systems, and JSF2.x is the perfect chance to reach out to the consumer and small business market. JSF is easier to use than it's ever been before, but small businesses have different needs than larger companies and corporations. PrettyFaces is for all projects, small and large; this presentation explains why "pretty, bookmark-able URLs" are important for client-facing applications, addressing SEO optimization, and creating clean, consistent, intuitive client interactions on the web.
You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011brucelawson
What new semantics does HTML5 bring us? Why? Are they enough? What more could we do with? Do semantics matter any more (tl;dr:) yes.
Video and transcript at http://fronteers.nl/congres/2011/sessions/html5-semantics-bruce-lawson
More Than You Ever Wanted to Know About Resource Hints - Harry Roberts (CSS W...Shift Conference
Resource Hints are a great way for developers to make their web pages faster by allowing us to be a little bit smarter than the browser. Although not a new specification—they’ve been around in some form or another for years!—are we truly getting the most out of them? And do we understand them thoroughly enough to use them most effectively? Heck, do we even know what a ‘Resource Hint’ is?! Well, by the end of this talk, we’ll all be experts. Let’s take a look at all of the different Resource Hints we have available to us, real-world examples of how best to use them, and learn about some of the more obscure intricacies and gotchas that we need to be aware of if we want to really get the best out of them (and to make sure that we really are being smarter than the browser).
Here's my 50-foot view of building a Facebook application on Rails. Rails itself is not part of the presentation - you can check out one of my available slides for that. Target: non-techies and people who just want to find out the Facebook API architecture. I wished I could've put more content, like y'know, ACTUAL CODE???
Optimising Your Front End Workflow With Symfony, Twig, Bower and GulpMatthew Davis
We take great care in our back end coding workflow, optimising, automating and abstracting as much as is possible. So why don't we do that with our front end code?
We'll take a look at some tools to help us take our front end workflow to the next level, and hopefully optimise our load times in the process!
We'll be looking at using Twig templates and optimising them for the different areas of your application, integrating Bower and Gulp for managing assets and processing our front-end code to avoid repetitive tasks - looking at how that impacts the typical Symfony workflow.
Surf Code Camp walkthrough 2 gives the student their first exposure to CMIS. It shows how to use E4X in JavaScript to parse a CMIS response.
Full solution source code is at http://ecmarchitect.com/images/green-energy-code-camp.zip
In the first Surf Code Camp lab your goal is to create a simple hello world Surf dashlet.
Full solution source code is at http://ecmarchitect.com/images/green-energy-code-camp.zip
Consegi 2010 - Dicas de Desenvolvimento Web com RubyFabio Akita
Esta é a palestra que dei no Consegi 2010 em Brasília. Sobre dicas gerais sobre web, em particular implementando com Ruby on Rails. YSlow, Full Text Search e Tarefas Assíncronas.
PrettyFaces: SEO, Dynamic, Parameters, Bookmarks, Navigation for JSF / JSF2 (...Lincoln III
PrettyFaces: SEO, Dynamic Parameters, Bookmarks, and Navigation for JSF / JSF2 - As presented at JSFSummit2009 in Orlando Florida.
Why should we use PrettyFaces?
Realize mais com HTML 5 e CSS 3 - 16 EDTED - RJLeonardo Balter
Slides apresentados no 16 EDTED, edição Rio de Janeiro, em 21 de Maio de 2011.
Aqui não tem vídeos, animações e códigos apresentados, mas tem os links. Logo passo o link completo.
J2EE is already the perfect solution for complex business/enterprise systems, and JSF2.x is the perfect chance to reach out to the consumer and small business market. JSF is easier to use than it's ever been before, but small businesses have different needs than larger companies and corporations. PrettyFaces is for all projects, small and large; this presentation explains why "pretty, bookmark-able URLs" are important for client-facing applications, addressing SEO optimization, and creating clean, consistent, intuitive client interactions on the web.
You too can be a bedwetting antfucker: Bruce Lawson, Opera, Fronteers 2011brucelawson
What new semantics does HTML5 bring us? Why? Are they enough? What more could we do with? Do semantics matter any more (tl;dr:) yes.
Video and transcript at http://fronteers.nl/congres/2011/sessions/html5-semantics-bruce-lawson
More Than You Ever Wanted to Know About Resource Hints - Harry Roberts (CSS W...Shift Conference
Resource Hints are a great way for developers to make their web pages faster by allowing us to be a little bit smarter than the browser. Although not a new specification—they’ve been around in some form or another for years!—are we truly getting the most out of them? And do we understand them thoroughly enough to use them most effectively? Heck, do we even know what a ‘Resource Hint’ is?! Well, by the end of this talk, we’ll all be experts. Let’s take a look at all of the different Resource Hints we have available to us, real-world examples of how best to use them, and learn about some of the more obscure intricacies and gotchas that we need to be aware of if we want to really get the best out of them (and to make sure that we really are being smarter than the browser).
Here's my 50-foot view of building a Facebook application on Rails. Rails itself is not part of the presentation - you can check out one of my available slides for that. Target: non-techies and people who just want to find out the Facebook API architecture. I wished I could've put more content, like y'know, ACTUAL CODE???
Optimising Your Front End Workflow With Symfony, Twig, Bower and GulpMatthew Davis
We take great care in our back end coding workflow, optimising, automating and abstracting as much as is possible. So why don't we do that with our front end code?
We'll take a look at some tools to help us take our front end workflow to the next level, and hopefully optimise our load times in the process!
We'll be looking at using Twig templates and optimising them for the different areas of your application, integrating Bower and Gulp for managing assets and processing our front-end code to avoid repetitive tasks - looking at how that impacts the typical Symfony workflow.
Surf Code Camp walkthrough 2 gives the student their first exposure to CMIS. It shows how to use E4X in JavaScript to parse a CMIS response.
Full solution source code is at http://ecmarchitect.com/images/green-energy-code-camp.zip
In the first Surf Code Camp lab your goal is to create a simple hello world Surf dashlet.
Full solution source code is at http://ecmarchitect.com/images/green-energy-code-camp.zip
Dive deep into the new ASP.NET AJAX features and capabilities including patterns covering search optimization, user interface and usability, intuitive navigation, and much more.
Yahoo has developed the de facto standard for building fast front-ends for websites. The bad news: you have to follow 34 rules to get there. The good news: I'll take a subset of those rules, explain them, and show how you can implement those rules in an automated fashion to minimize impact on developers and designers for your high-traffic website.
In this session, we will examine the basics of the SpringSurf view composition framework for Spring MVC applications. It will show how to easily construct pages, templates and components.
This is Steve Souders's talk at Amazon which I couldn't read in it's original pptx format (http://stevesouders.com/docs/amazon-20091030.pptx) since Keynote sucks at importing. It seems to render well here.
Apache Roller, Acegi Security and Single Sign-onMatt Raible
Acegi Security is quickly becoming a widely respected security framework for Java applications. Not only does this security framework solve many of the deficiencies of J2EE's security mechanisms, but it's also easy to implement and configure. This tutorial will help you learn more about Acegi Security, as well as how to integrate it into your web applications. The Roller Weblogger project (currently in Apache's incubator) uses Acegi Security for many of its features: authentication, password encryption, remember me and SSL switching. After learning about Roller and Acegi, you will see how to deploy Roller onto Tomcat and Geronimo. Following that, you will learn how to hook Roller/Acegi into Apache Directory Server for authentication. Finally, you will learn how to integrate Roller with a Single Sign-on System (Yale's Central Authentication Service).
As programmers, we concentrate so much on the server/backend side of things that we often forget to measure performance from the Client's viewpoint. This presentation describes a bunch of techniques that can be used to speed up our websites.
No Docker? No Problem: Automating installation and config with AnsibleJeff Potts
In this talk I show how to bring stability and repeatability to your Alfresco installation by automating install and config management with Ansible.
This talk was originally given at Alfresco DevCon 2020 (virtual edition).
Moving From Actions & Behaviors to MicroservicesJeff Potts
My DevCon 2019 talk discusses how to make it easier to integrate Alfresco with other systems using an event-based approach. Two real world examples are discussed and demonstrated. The first is about reporting against Alfresco metadata. The second is about enriching metadata by running content through a Natural Language Processing (NLP) model. Both solutions work by listening to generic events generated by Alfresco and placed on an Apache Kafka queue. For the reporting example, the Spring Boot consumer subscribes to Kafka events, then fetches metadata via CMIS and indexes that into Elasticsearch. For the NLP example, a separate Spring Boot consumer subscribes to the same events, but in this case, fetches the content, extracts text using Apache Tika, runs the text through Apache OpenNLP, then writes back extracted entities to Alfresco via CMIS. These are relatively simple examples, but illustrate how a de-coupled, asynchronous, event-based approach can make integrating Alfresco with other systems easier.
Flexible Permissions Management with ACL TemplatesJeff Potts
This is was presented as an ignite-style lightning talk at DevCon 2018 in Lisbon. It discusses an open source add-on called ACL Templates which can be used to separate ACL settings from code.
Moving Gigantic Files Into and Out of the Alfresco RepositoryJeff Potts
This talk is a technical case study showing show Metaversant solved a problem for one of their clients, Noble Research Institute. Researchers at Noble deal with very large files which are often difficult to move into and out of the Alfresco repository.
I gave this talk in April 2016 at BeeCon, the Alfresco Community conference. It discusses what would happen if Alfresco Software, Inc., the commercial open source company behind Alfresco were to cease to exist. Would Alfresco as an open source project survive? The talk is light on bullet/text so you may prefer to find a recording to get the full context.
Connecting Content Management Apps with CMISJeff Potts
Discusses ECM interoperability achieved when content repositories like Nuxeo implement a specification called Content Management Interoperability Services (CMIS).
Several years ago, James Dixon, CTO at Pentaho, published a paper called, “The Bees and the Trees: The Beekeeper Model of Commercial Open Source Software”. I have found that this metaphor is hugely helpful in explaining commercial open source to people. So in this talk I introduce James' model, then I use it as the context to discuss the state of the Alfresco community.
A recording of this session lives here: http://www.youtube.com/watch?v=_NSsz-sjbzg
Content Management Interoperability Services (CMIS) is the preferred API for writing code against Alfresco. This presentation explains how to get started using CMIS and covers some of the gotchas and limitations you should be aware of before you commit to CMIS for your project. This presentation was originally delivered at Alfresco Summit 2013 in Barcelona and Boston.
Apache Chemistry in Action: Using CMIS and your favorite language to unlock c...Jeff Potts
This presentation shows how the CMIS specification and Apache Chemistry can be used to create content-centric applications that work with any CMIS-compliant repository.
Alfresco: The Story of How Open Source Disrupted the ECM MarketJeff Potts
The early 90's saw the rise of powerful, inexpensive team collaboration software on one hand and huge document management systems on the other. Open source and cloud have brought us full circle. Today's businesses can implement extremely powerful productivity enhancing solutions quickly and easily. Alfresco capitalized on this trend. It used open source to get to the market quickly. It delivered functionality on par with legacy ECM as open source. Today, however, it is not just an open source alternative to things like Documentum and SharePoint, it is a visionary in the ECM market. This presentation tells that story, putting into context the things happening in ECM, collaboration, open source, and cloud from the 1990's to present day.
This presentation shows how the CMIS specification and Apache Chemistry can be used to create content-centric applications that work with any CMIS-compliant repository.
Building Content-Rich Java Apps in the Cloud with the Alfresco APIJeff Potts
This presentation, originally delivered at JavaOne on October 2, 2012, talks about why you should use Alfresco instead of rolling your own content repository and discusses the new public Alfresco API for writing content apps that persist content to Alfresco in the Cloud.
A brief introduction to the CMIS spec and some tips and tricks for developers new to CMIS. Demos showed how to install and use cmislib, the Python API for CMIS, and OpenCMIS, the Java API. Both projects are part of Apache Chemistry. Originally given as part of an Alfresco webinar. Recording: http://blogs.alfresco.com/wp/webcasts/2012/01/getting-started-with-cmis-2/
In the past, developers have chosen to develop their own content-centric apps from scratch or by leveraging low level libraries. A content repository like Alfresco can save time and cost. Even if you don't choose Alfresco, you should still consider leveraging a standard API like CMIS as much as possible.
Presented at the Alfresco South Africa User Group on September 14. Covers a high-level look at the state of the ECM industry including a "Top 5 Takeaways" from AIIM's State of the Industry report.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Dr. Sean Tan, Head of Data Science, Changi Airport Group
Discover how Changi Airport Group (CAG) leverages graph technologies and generative AI to revolutionize their search capabilities. This session delves into the unique search needs of CAG’s diverse passengers and customers, showcasing how graph data structures enhance the accuracy and relevance of AI-generated search results, mitigating the risk of “hallucinations” and improving the overall customer journey.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
2. Objectives
Configure Web Framework
Set up a new site
Drop in assets
Add a home page
Bind a component to the page
12/01/09 2
3. Sample Site
We will use alfwf.war as a starting point
• Blank Surf framework with no site construction data in it
• Built from source; “web-framework” project
Extract as webapp into standalone Tomcat
Sample location:
• /opt/tomcat/webapps/alfwf
• http://localhost:8580/alfwf
12/01/09 3
4. Web Framework Configuration
Configure Surf to use your site configuration file
web-framework-config-custom.xml
• /WEB-INF/classes/alfresco/web-extension
• Check web-framework-application-context.xml to be sure
Create the web-extension directory
In that directory, create web-framework-config-
custom.xml with:
<alfresco-config>
<config evaluator=quot;string-comparequot; condition=quot;WebFrameworkquot;>
<web-framework>
<application-defaults>
<site-configuration>sample.site.configuration</site-configuration>
</application-defaults>
</web-framework>
</config>
</alfresco-config>
12/01/09 4
5. Set up a new site
Add a site configuration object
Convention
• Configuration for sample site
• /WEB-INF/classes/alfresco/site-
data/configurations/sample.site.configuration.xml
Points to a default root page: home
Create sample.site.configuration.xml
• /WEB-INF/classes/alfresco/site-data/configurations
<?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?>
<configuration>
<title>Surf Sample Site</title>
<description>Surf Sample Site</description>
<source-id>site</source-id>
<properties>
<root-page>home</root-page>
</properties>
</configuration>
12/01/09 5
6. Drop in assets
Unzip the assets.zip file into the web application
• /opt/tomcat/webapps/alfwf/EXTRACT HERE
Manifest:
• /images/walkthrough/farman.jpg
12/01/09 6
7. Add a home page
Add a home page
Points to a rendering template: home
home.xml
• /WEB-INF/classes/alfresco/site-data/pages
<?xml version='1.0' encoding='UTF-8'?>
<page>
<title>Home Page</title>
<template-instance>home</template-instance>
<authentication>none</authentication>
</page>
The home page must know how to render
Use template instance: home
●
12/01/09 7
8. Add a home page
Add a home template instance
Points to a FreeMarker file: /walkthrough/home
home.xml
• /WEB-INF/classes/alfresco/site-data/template-instances
<?xml version='1.0' encoding='UTF-8'?>
<template-instance>
<template-type>/walkthrough/home</template-type>
</template-instance>
The template instance needs a renderer
• The FreeMarker renderer: /walkthrough/home.ftl
12/01/09 8
9. Add a home page
Add the FreeMarker template
home.ftl
• /WEB-INF/classes/alfresco/templates/walkthrough
<html xmlns=quot;http://www.w3.org/1999/xhtmlquot;>
<head>
<title>${page.title}</title>
${head}
</head>
<body>
This is the home page
<br/>
<br/>
<@region id=quot;contentquot; scope=quot;pagequot; />
</body>
</html>
Defines a region called content in the page scope
12/01/09 9
10. Bind a component to the page
Bind a component into the home page
• Region name is content and scope is page
• File name convention: <scope>.<regionId>.<sourceId>.xml
page.content.home.xml
• /WEB-INF/classes/alfresco/site-data/components
<?xml version='1.0' encoding='UTF-8'?>
<component>
<scope>page</scope>
<region-id>content</region-id>
<source-id>home</source-id>
<url>/blocks/image</url>
<properties>
<src>${url.context}/images/walkthrough/farman.jpg</src>
</properties>
</component>
The blocks/image web script needs to be defined
12/01/09 10
11. Bind a component to the page
Image Component
• Provided to you in blocks-image.zip
• May become part of Surf at some point
• Web Script Component
• URL: /blocks/image
• Extract blocks-image.zip to WEB-INF/classes/alfresco/site-
webscripts
12/01/09 11
13. Review
Review
Create Site - Basic Configuration
• web-extension/web-framework-config-custom.xml
• site-data/configurations/sample.site.configuration.xml
– Points to root page home
Define Page Template (Layout)
• Page - site-data/pages/home.xml
– Points to template-instance home
• Temlate-Instance - site-data/template-instances/home.xml
– Points to freemarker template /walkthrough/home (ftl)
• Template HTML - templates/walkthrough/home.ftl
– Defines region Content, scope page
Populate Layout
• site-data/components/page.content.home.xml (note convention)
• Points to /blocks/image web script
• site-webscripts/blocks/image.get.js
12/01/09 13
14. Try it out
Start Alfresco
• http://labs3c:8080/alfresco
Start Surf Tomcat (Restart if it was running)
• http://labs3c:8580/alfwf
Browse to
• http://labs3c:8580/alfwf/service/index
Click on ‘Refresh’ to reset the Web Scripts cache
Test your site
• http://labs3c:8580/alfwf/page
If you want the URL to work without “/page” use the
index.jsp provided to do a redirect
12/01/09 14
15. Wrap-up
In this walkthrough, you...
• Configured a fresh Surf framework (alfwf.war)
• Created a page
• Created a template instance
• Pointed the template instance to a FreeMarker template
• Created a component binding that pointed to an Image
component
– The component was bound to a region on the template
• Added an Image component implemented as a web script
12/01/09 Optaros and Client confidential. All rights reserved. 15