Alfresco DevCon 2019 (Edinburgh)
"Transforming the Transformers" for Alfresco Content Services (ACS) 6.1 & beyond
https://community.alfresco.com/community/ecm/blog/2019/02/07/alfresco-transform-service-new-with-acs-61
Alfresco provides various content transformation options across the Digital Business Platform (DBP). In this talk, we will explore the new independently-scalable Alfresco Transform Service. This enables a new option for transforms to be asynchronously off-loaded by Alfresco Content Services (ACS).
https://devcon.alfresco.com/speaker/jan-vonka/
This is the session delivered during the Alfresco Developers Conference in Lisbon, January 2018. Learn all what you need to know to perform a proper backup and disaster recovery strategy. From a single server installation with hundreds of documents to a large deployment with multiple nodes, layers, databases and multi-million documents. What is the best way for each case?
Alfresco DevCon 2019 (Edinburgh)
"Transforming the Transformers" for Alfresco Content Services (ACS) 6.1 & beyond
https://community.alfresco.com/community/ecm/blog/2019/02/07/alfresco-transform-service-new-with-acs-61
Alfresco provides various content transformation options across the Digital Business Platform (DBP). In this talk, we will explore the new independently-scalable Alfresco Transform Service. This enables a new option for transforms to be asynchronously off-loaded by Alfresco Content Services (ACS).
https://devcon.alfresco.com/speaker/jan-vonka/
This is the session delivered during the Alfresco Developers Conference in Lisbon, January 2018. Learn all what you need to know to perform a proper backup and disaster recovery strategy. From a single server installation with hundreds of documents to a large deployment with multiple nodes, layers, databases and multi-million documents. What is the best way for each case?
This session will provide a guide to Alfresco truststores and keystores. Several live examples will be shown, including the replacement of existing cryptographic stores or certificates. Additionally, a troubleshooting configuration guide for mTLS communication will be provided.
Alfresco DevCon 2019 Performance Tools of the TradeLuis Colorado
Discover tips and tools that will help you to keep your Alfresco environment in shape. Most of the best tools are free or Open Source, and this presentation will guide you through the steps to improve the performance of your system.
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.
Practical information for Alfresco integration with AOS (Sharepoint Protocol), Google Drive, Microsoft 365, ONLYOFFICE and Collabora Online.
Additionally ADW support for ONLYOFFICE is provided by https://github.com/atolcd/adf-onlyoffice-extension#installation
How to migrate from Alfresco Search Services to Alfresco SearchEnterpriseAngel Borroy López
Presentation on how to move from the Alfresco Search Services product based in Apache Solr to the new Alfresco Search Enterprise integrated with Elasticsearch and Amazon Opensearch.
Features of Alfresco Search Services.
Features of Alfresco Search & Insight Engine.
Future plans for the product
---
DEMO GUIDE
[1] Queries: Share > Node Browser
ASPECT:'cm:titled' AND cm:title:'*Sample*' AND TEXT:'code'
SELECT * FROM cm:titled WHERE cm:title like '%Sample%' AND CONTAINS('code')
[2] Queries: Share > JS Console
var ctxt = Packages.org.springframework.web.context.ContextLoader.getCurrentWebApplicationContext();
var searchService = ctxt.getBean('SearchService', org.alfresco.service.cmr.search.SearchService);
var StoreRef = Packages.org.alfresco.service.cmr.repository.StoreRef;
var SearchService = Packages.org.alfresco.service.cmr.search.SearchService;
var ResultSet = Packages.org.alfresco.repo.search.impl.lucene.SolrJSONResultSet;
ResultSet =
searchService.query(
StoreRef.STORE_REF_WORKSPACE_SPACESSTORE,
SearchService.LANGUAGE_FTS_ALFRESCO,
"ASPECT:'cm:titled' AND cm:title:'*Sample*' AND TEXT:'code'");
logger.log(ResultSet.getNodeRefs());
---
var ctxt = Packages.org.springframework.web.context.ContextLoader.getCurrentWebApplicationContext();
var searchService = ctxt.getBean('SearchService', org.alfresco.service.cmr.search.SearchService);
var StoreRef = Packages.org.alfresco.service.cmr.repository.StoreRef;
var SearchService = Packages.org.alfresco.service.cmr.search.SearchService;
var ResultSet = Packages.org.alfresco.repo.search.impl.lucene.SolrJSONResultSet;
ResultSet =
searchService.query(
StoreRef.STORE_REF_WORKSPACE_SPACESSTORE,
SearchService.LANGUAGE_CMIS_ALFRESCO,
"SELECT * FROM cm:titled WHERE cm:title like '%Sample%' AND CONTAINS('code')");
logger.log(ResultSet.getNodeRefs());
---
var def =
{
query: "ASPECT:'cm:titled' AND cm:title:'*Sample*' AND TEXT:'code'",
language: "fts-alfresco"
};
var results = search.query(def);
logger.log(results);
[3] Queries: api-explorer
{
"query": {
"language": "afts",
"query": "ASPECT:\"cm:titled\" AND cm:title:\"*Sample\" AND TEXT:\"code\""
}
}
---
{
"query": {
"language": "cmis",
"query": "SELECT * FROM cm:titled WHERE cm:title like '%Sample%' AND CONTAINS('code')"
}
}
[4] Queries: CMIS Workbench > Groovy Console
rs = session.query("SELECT * FROM cm:titled WHERE cm:title like '%Sample%' AND CONTAINS('code')", false)
for (res in rs) {
println(res.getPropertyValueById('cmis:objectId'))
}
[5] Queries: SOLR Web Console > (alfresco) > Query
/afts
ASPECT:'cm:titled' AND cm:title:'*Sample*' AND TEXT:'code'
---
/cmis
SELECT * FROM cm:titled WHERE cm:title like '%Sample%' AND CONTAINS('code')
---
The objective of this article is to describe what to monitor in and around Alfresco in order to have a good understanding of how the applications are performing and to be aware of potential issues.
Alfresco 5.2 Introduces New Public REST APIs
For an update, please see: https://www.slideshare.net/jvonka/exciting-new-alfresco-apis
https://www.meetup.com/Alfresco-Meetups/events/236987848/
An overview of the new and enhanced APIs will be discussed and some of the key endpoints demonstrated via Postman so that by the time you leave you should have enough knowledge to create a simple client or integration.
These APIs will also be the foundation for new clients developed for the Alfresco Digital Business Platform.
We'll have a sneak peek at what's coming next and leave plenty of time for questions, feedback and open discussion.
Support material for the blog post available in https://hub.alfresco.com/t5/alfresco-content-services-blog/alfresco-7-3-upgrading-to-transform-core-3-0-0/ba-p/315364
This presentation describes the differences between Alfresco Transform Engine and Alfresco Transform Core 3.0.0.
Deployment, configuration and extension topics for Transform Core are covered.
In this session, we will look first at the rich metadata that documents in your repository have, how to control the mapping of this on to your content model, and some of the interesting things this can deliver. We'll then move on to the content transformation and rendition services, and see how you can easily and powerfully generate a wide range of media from the content you already have.
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.
Alfresco has provided an implementation of CMIS ever since the first draft of the specification was announced. It is the CMIS repository that all others are compared to. In this session, you'll learn how Alfresco maps to the CMIS domain model and explore how CMIS services such as query behave through live examples. You'll see how easy it is to build applications against CMIS including the use of unique Alfresco features such as Aspects.
Alfresco REST API of the future ... is closer than you thinkJ V
BeeCon 2016 (Brussels)
For an update, please see: https://www.slideshare.net/jvonka/exciting-new-alfresco-apis
https://www.youtube.com/watch?v=7jR2PV5w1O4
http://beecon.buzz/2016/talks/?id=20160401001
Alfresco Repository comes with a great REST API but some of these API's can be difficult to navigate and use.
Alfresco will show us about the future of REST API's, where the market is moving and how we are embracing this future at Alfresco.
Come and see how straightforward it will soon be to manage files, folders, custom node types, shared links and much more. The future is closer than you think !
----
Alfresco V1 REST APIs - new capabilities to get & manage nodes (files, folders & custom metadata), associations, versioning, locks, shared links, trashcan, sites, queries, people, search, discovery, auth ... etc. These are in addition to existing capabilities to manage tags, comments, favorites, activities & site memberships.
For more details, please see:
- https://github.com/Alfresco/rest-api-explorer/blob/community-head/src/main/webapp/definitions
Update 19/Jan/17
Community 201701 GA
https://community.alfresco.com/docs/DOC-6587-alfresco-community-edition-201701-ga-release-notes
Update 16/Dec/16
Community 201612 GA
Update 18/Nov/16
Community 201611 EA
Update 04/Nov/16
Preview build available in Community Dev Build (476+)
Update 13/Sep/16
Community 201609 EA
Update 29/Jun/16
Community 201606 EA
Update 03/Jun/16
Early preview available in Community Dev Build (444+)
Update 18/May/16
Early preview available in Community Dev Build (442+)
Alfresco devcon 2019: How to track user activities without using the audit fu...konok
There are number of customers who have requirements to start using the audit function, and many of them are concerned it would affect the entire Alfresco repository performance, which maybe true. Actually we don’t have to enable it since most of the user activities are already tracked by the other out of the function named activity_feed. That is already running. I would like to talk about what the differences are, what event items we can get for each of them from the APIs, and Database point of view. And how we should maintain the records to prevent them from having the performance issue.
This session will provide a guide to Alfresco truststores and keystores. Several live examples will be shown, including the replacement of existing cryptographic stores or certificates. Additionally, a troubleshooting configuration guide for mTLS communication will be provided.
Alfresco DevCon 2019 Performance Tools of the TradeLuis Colorado
Discover tips and tools that will help you to keep your Alfresco environment in shape. Most of the best tools are free or Open Source, and this presentation will guide you through the steps to improve the performance of your system.
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.
Practical information for Alfresco integration with AOS (Sharepoint Protocol), Google Drive, Microsoft 365, ONLYOFFICE and Collabora Online.
Additionally ADW support for ONLYOFFICE is provided by https://github.com/atolcd/adf-onlyoffice-extension#installation
How to migrate from Alfresco Search Services to Alfresco SearchEnterpriseAngel Borroy López
Presentation on how to move from the Alfresco Search Services product based in Apache Solr to the new Alfresco Search Enterprise integrated with Elasticsearch and Amazon Opensearch.
Features of Alfresco Search Services.
Features of Alfresco Search & Insight Engine.
Future plans for the product
---
DEMO GUIDE
[1] Queries: Share > Node Browser
ASPECT:'cm:titled' AND cm:title:'*Sample*' AND TEXT:'code'
SELECT * FROM cm:titled WHERE cm:title like '%Sample%' AND CONTAINS('code')
[2] Queries: Share > JS Console
var ctxt = Packages.org.springframework.web.context.ContextLoader.getCurrentWebApplicationContext();
var searchService = ctxt.getBean('SearchService', org.alfresco.service.cmr.search.SearchService);
var StoreRef = Packages.org.alfresco.service.cmr.repository.StoreRef;
var SearchService = Packages.org.alfresco.service.cmr.search.SearchService;
var ResultSet = Packages.org.alfresco.repo.search.impl.lucene.SolrJSONResultSet;
ResultSet =
searchService.query(
StoreRef.STORE_REF_WORKSPACE_SPACESSTORE,
SearchService.LANGUAGE_FTS_ALFRESCO,
"ASPECT:'cm:titled' AND cm:title:'*Sample*' AND TEXT:'code'");
logger.log(ResultSet.getNodeRefs());
---
var ctxt = Packages.org.springframework.web.context.ContextLoader.getCurrentWebApplicationContext();
var searchService = ctxt.getBean('SearchService', org.alfresco.service.cmr.search.SearchService);
var StoreRef = Packages.org.alfresco.service.cmr.repository.StoreRef;
var SearchService = Packages.org.alfresco.service.cmr.search.SearchService;
var ResultSet = Packages.org.alfresco.repo.search.impl.lucene.SolrJSONResultSet;
ResultSet =
searchService.query(
StoreRef.STORE_REF_WORKSPACE_SPACESSTORE,
SearchService.LANGUAGE_CMIS_ALFRESCO,
"SELECT * FROM cm:titled WHERE cm:title like '%Sample%' AND CONTAINS('code')");
logger.log(ResultSet.getNodeRefs());
---
var def =
{
query: "ASPECT:'cm:titled' AND cm:title:'*Sample*' AND TEXT:'code'",
language: "fts-alfresco"
};
var results = search.query(def);
logger.log(results);
[3] Queries: api-explorer
{
"query": {
"language": "afts",
"query": "ASPECT:\"cm:titled\" AND cm:title:\"*Sample\" AND TEXT:\"code\""
}
}
---
{
"query": {
"language": "cmis",
"query": "SELECT * FROM cm:titled WHERE cm:title like '%Sample%' AND CONTAINS('code')"
}
}
[4] Queries: CMIS Workbench > Groovy Console
rs = session.query("SELECT * FROM cm:titled WHERE cm:title like '%Sample%' AND CONTAINS('code')", false)
for (res in rs) {
println(res.getPropertyValueById('cmis:objectId'))
}
[5] Queries: SOLR Web Console > (alfresco) > Query
/afts
ASPECT:'cm:titled' AND cm:title:'*Sample*' AND TEXT:'code'
---
/cmis
SELECT * FROM cm:titled WHERE cm:title like '%Sample%' AND CONTAINS('code')
---
The objective of this article is to describe what to monitor in and around Alfresco in order to have a good understanding of how the applications are performing and to be aware of potential issues.
Alfresco 5.2 Introduces New Public REST APIs
For an update, please see: https://www.slideshare.net/jvonka/exciting-new-alfresco-apis
https://www.meetup.com/Alfresco-Meetups/events/236987848/
An overview of the new and enhanced APIs will be discussed and some of the key endpoints demonstrated via Postman so that by the time you leave you should have enough knowledge to create a simple client or integration.
These APIs will also be the foundation for new clients developed for the Alfresco Digital Business Platform.
We'll have a sneak peek at what's coming next and leave plenty of time for questions, feedback and open discussion.
Support material for the blog post available in https://hub.alfresco.com/t5/alfresco-content-services-blog/alfresco-7-3-upgrading-to-transform-core-3-0-0/ba-p/315364
This presentation describes the differences between Alfresco Transform Engine and Alfresco Transform Core 3.0.0.
Deployment, configuration and extension topics for Transform Core are covered.
In this session, we will look first at the rich metadata that documents in your repository have, how to control the mapping of this on to your content model, and some of the interesting things this can deliver. We'll then move on to the content transformation and rendition services, and see how you can easily and powerfully generate a wide range of media from the content you already have.
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.
Alfresco has provided an implementation of CMIS ever since the first draft of the specification was announced. It is the CMIS repository that all others are compared to. In this session, you'll learn how Alfresco maps to the CMIS domain model and explore how CMIS services such as query behave through live examples. You'll see how easy it is to build applications against CMIS including the use of unique Alfresco features such as Aspects.
Alfresco REST API of the future ... is closer than you thinkJ V
BeeCon 2016 (Brussels)
For an update, please see: https://www.slideshare.net/jvonka/exciting-new-alfresco-apis
https://www.youtube.com/watch?v=7jR2PV5w1O4
http://beecon.buzz/2016/talks/?id=20160401001
Alfresco Repository comes with a great REST API but some of these API's can be difficult to navigate and use.
Alfresco will show us about the future of REST API's, where the market is moving and how we are embracing this future at Alfresco.
Come and see how straightforward it will soon be to manage files, folders, custom node types, shared links and much more. The future is closer than you think !
----
Alfresco V1 REST APIs - new capabilities to get & manage nodes (files, folders & custom metadata), associations, versioning, locks, shared links, trashcan, sites, queries, people, search, discovery, auth ... etc. These are in addition to existing capabilities to manage tags, comments, favorites, activities & site memberships.
For more details, please see:
- https://github.com/Alfresco/rest-api-explorer/blob/community-head/src/main/webapp/definitions
Update 19/Jan/17
Community 201701 GA
https://community.alfresco.com/docs/DOC-6587-alfresco-community-edition-201701-ga-release-notes
Update 16/Dec/16
Community 201612 GA
Update 18/Nov/16
Community 201611 EA
Update 04/Nov/16
Preview build available in Community Dev Build (476+)
Update 13/Sep/16
Community 201609 EA
Update 29/Jun/16
Community 201606 EA
Update 03/Jun/16
Early preview available in Community Dev Build (444+)
Update 18/May/16
Early preview available in Community Dev Build (442+)
Alfresco devcon 2019: How to track user activities without using the audit fu...konok
There are number of customers who have requirements to start using the audit function, and many of them are concerned it would affect the entire Alfresco repository performance, which maybe true. Actually we don’t have to enable it since most of the user activities are already tracked by the other out of the function named activity_feed. That is already running. I would like to talk about what the differences are, what event items we can get for each of them from the APIs, and Database point of view. And how we should maintain the records to prevent them from having the performance issue.
Get SaaSy with Red Hat OpenShift on AWS (CON305-S) - AWS re:Invent 2018Amazon Web Services
Making AWS services accessible from within OpenShift is seamless. From a single platform, operations teams can administer AWS services, and developers can easily find and consume those services within their applications in a truly hybrid environment. In this session, we dive deep into deploying OpenShift on AWS and deploying the AWS Service Broker. We also share some very interesting use cases. Because this is a deep-dive session, we recommend you have an understanding of containers and native AWS services. This session is brought to you by AWS partner, Red Hat, Inc.
Implementing Progressive Delivery with Your Team (by Leigh Capili)Weaveworks
Watch the video here: https://youtu.be/Boz0rlIpXzc
We often get caught up with how new patterns and capabilities work from a technical standpoint.
Progressive Delivery is an industry term that encompasses Blue/Green Deploys, Canaries, Acceptance Testing, and many other Traffic Shaping techniques.
Tools like Weaveworks' Flagger provide an impressive way to describe and orchestrate these needs, but how do you actually implement all of this in your business with your team? Let's talk about the social, software lifecycle, and process requirements needed to shape your traffic into this new decade.
Speaker: Leigh Capili, Developer Experience Engineer, Weaveworks
If you're interested in getting hands-on experience with Flagger and GitOps please check out our self-paced GitOps hands-on: http://bit.ly/GitOps_HandsOn_EKS
In the French FedEx company we used Prometheus to monitor the infrastructure. It hosts a CQRS Architecture composed with Kafka, Spark, Cassandra, ElasticSearch, and microservices APIs in scala.
This presentation is about using Prometheus in production, you will see why we choosed Prometheus, how we integrated it, configured it and what kind of insights we extracted from the whole infrastructure.
In addition, you will see how Prometheus changed our way of working, how we implemented self-healing based on Prometheus, how we configured systemd to trigger AlertManager API, integration with slack and other cool stuffs.
Openstack Cloud Management and Automation Using Red Hat Cloudforms 4.0Prasad Mukhedkar
To success in Private Cloud, You have to have develop management and automation
strategy. Cloudforms is CPM (Cloud Platform Management) software that provides framework to develop management and automation strategy with its flaxible automation
module
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...OpenWhisk
Learn more about the IBM Bluemix OpenWhisk, a serverless event-driven compute platform, which quickly executes application logic in response to events or direct invocations from web/mobile apps or other endpoints.
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.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
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.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
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/
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
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.
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
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
2. Plan to cover:
● Where we come from
● Monitoring (Micrometer.io /
Prometheus)
● ACS and ActiveMQ
● New policies and behaviours with
events
● New Transform Service
● New Alfresco Identity Service
● Deployment in AWS
● Removed and deprecated
features
● Where we are going to
(Unified) Roadmap
3. Learn. Connect. Collaborate.
Safe
Harbour
Statement
• The information contained in these presentations is
intended to outline general product direction and should
not be relied upon in making purchasing decisions.
• The content is for informational purposes only and may
not be incorporated into any contract.
• The information presented is not a commitment, promise,
or legal obligation to deliver any material, code or
functionality.
• Any references to the development, release, and timing of
any features or functionality described for these products
remains at Alfresco's sole discretion
• Product capabilities, timeframes and features are subject
to change and should not be viewed as Alfresco
commitments.
6. Learn. Connect. Collaborate.
Where we come from
1.0
Spring
Explorer
DB
Lucene
2.0
Spring
Explorer
DB
Lucene
3.0
2008
Spring
Share
DB
Lucene
7. Learn. Connect. Collaborate.
Where we come from
1.0
Spring
Explorer
DB
Lucene
2.0
Spring
Explorer
DB
Lucene
3.0
2008
Spring
Share
DB
4.0
2011
Spring
DB
SOLR
Lucene
Share
12. Learn. Connect. Collaborate.
Micrometer
New endpoint in ACS 6.1(enterprise-only):
/alfresco/s/prometheus
A Prometheus compatible scraping (read only
webscript). The metrics collection is powered by the
micrometer library (Vendor-neutral application metrics
facade)
https://micrometer.io/
https://prometheus.io/
https://grafana.com/
13. Learn. Connect. Collaborate.
Micrometer
Available metrics
Basic JVM metrics: CPU, memory, GC, Threads and
etc.
Configuration:
metrics.jvmMetricsReporter.enabled=true
Grafana dashboard:
https://grafana.com/dashboards/470
14. Learn. Connect. Collaborate.
Micrometer
Available metrics
Rest API call metrics:
● 1 timer “restapi_execution_time” with 2 labels:
○ Type of request (GET, POST,PUT,DELETE)
○ The path to the webscript (e.g: /alfresco/api/-
default-/public/alfresco/versions/1/people) if
path is enabled
Configuration:
metrics.restMetricsReporter.enabled=true
metrics.restMetricsReporter.path.enabled=false
Grafana sample dashboard:
https://github.com/Alfresco/acs-
packaging/tree/master/docs/micrometer
15. Learn. Connect. Collaborate.
Micrometer
Available metrics
DB layer metrics:
● 1 timer “queries_execution_time” with 2 labels
○ Type of query (Select, Update, Insert, Delete)
○ The mybatis query ID (e.g:
alfresco.node.select_ChildAssocOfParentByName)
● 2 gauges: num_connections_active and
num_connections_idle
Configuration:
metrics.dbMetricsReporter.enabled=true
metrics.dbMetricsReporter.query.enabled=true
metrics.dbMetricsReporter.query.statements.enabled=false
Grafana sample dashboard: https://github.com/Alfresco/acs-
packaging/tree/master/docs/micrometer
16. Learn. Connect. Collaborate.
Micrometer
Available metrics
Tomcat metrics:
● servlet_request timer (number of responses with particular
response times)
Configuration:
metrics.tomcatMetricsReporter.enabled=true
Grafana sample dashboard: https://github.com/Alfresco/acs-
packaging/tree/master/docs/micrometer
17. Learn. Connect. Collaborate.
Micrometer
Future plans
● Integrate monitoring into Helm charts and CloudWatch in
AWS
● More metrics:
○ Audit
○ Renditions
○ Hazelcast caches
○ Logged in users
○ etc..
19. Learn. Connect. Collaborate.
ACS and ActiveMQ
• Leading Open Source messaging platform
• Reliable, high performance messaging
• Fully supports JMS 1.1 and J2EE 1.4 with support
for transient, persistent, transactional and XA
messaging
• Supports a variety of Cross Language Clients and
Protocols from Java, C, C++, C#, Ruby, Perl,
Python, PHP
– OpenWire
– Stomp
– AMQP
– MQTT
20. Learn. Connect. Collaborate.
ACS and ActiveMQ
• Alfresco Content Services (ACS) used ActiveMQ
for message queuing with various products, for
example Alfresco Media Management or Alfresco
Sync Service (Desktop Sync)
• Starting from ACS 6.1, ActiveMQ is a mandatory
requirement for the ACS Repository and its new
Raw Events module/capability
21. Learn. Connect. Collaborate.
ACS and ActiveMQ
Connect ACS to ActiveMQ:
Define the location of ActiveMQ in your alfresco-
global.properties file:
messaging.broker.url=failover:(tcp://server:61616)?timeout
=3000
where server is the host name of the server where
ActiveMQ is installed.
Notes:
• When you set up ActiveMQ, the Alfresco Content Services
messaging subsystem is set to start up automatically.
• Any changes to broker URL requires ACS restart to apply
the changes.
22. Learn. Connect. Collaborate.
ACS and ActiveMQ
Ways to deploy ActiveMQ:
● Containerized deployment*
https://github.com/Alfresco/acs-deployment
○ docker-compose
○ Helm / Kubernetes
● Using distribution zip
http://activemq.apache.org/download.html
● ...or your favourite managed offering, e.g.
AmazonMQ
* Conteinerized deployments of ACS use Alfresco ActiveMQ
image:
https://github.com/Alfresco/alfresco-docker-activemq
Can be also deployed via Helm chart:
https://github.com/Alfresco/alfresco-activemq-deployment
26. Learn. Connect. Collaborate.
Residual
Error
False Positive:
Messages have been sent out, but DB transaction
is rolled back
False Negative:
DB transaction succeeded, but Message Broker
fails
TransactionAwareEventProducer
• Implements 2nd approach
• Collects messages during transaction
• Sends all at once after commit
28. Learn. Connect. Collaborate.
Recap:
What are
Policies
And
Behaviours
Policy / Behaviour framework:
Implementation of the observer pattern in
Alfresco
Policy:
Advertisement of an Extension Point provided by
a component
Behaviour:
Subscription of a Policy, i.e. code that gets
executed when a Policy is triggered
32. Learn. Connect. Collaborate.
Transform Service
Bottleneck…
● Document transformations are used heavily within
ACS. All content imported into ACS generates
renditions, for example thumbnails and previews
● Most of the transformations were synchronous,
consuming resources of ACS JVM or underlying
OS.
● Security risk of running them on the same machine
as ACS
● Transformations have been a limiting factor when
ingesting large amounts of content, this means
that, in high load situations, transformations had to
be disabled
33. Learn. Connect. Collaborate.
Transform Service
Overview
New Transform Service features:
● Microservice architecture
○ Independent scalability
○ Cost effective
○ High throughput
● Co-exists with existing transformations in ACS
● Containerised deployments only
● ACS 6.1+
● Enterprise-only
● Supports a smaller subset of available
transformations comparing to 6.0
34. Learn. Connect. Collaborate.
ACS Async Rendition Service
V1 REST APIV0 REST API
Rendition Service 2
Rendition Service
Thumbnail Service
Action Service
Content Service Shared File Store
<<Docker>>
Content Update
Transform Service
Router
<<Docker>>
Transformers
<<Docker>>
Transformers
<<Docker>>
Transformers
<<Docker>>
Transformers
<<Docker>>
Transform Response
Transform Request
TransformerTransformerLocal Transformers
Solr 6
101010
101010
101010
36. Learn. Connect. Collaborate.
Transform Service
Future plans
• New Transform Service will increase the number of
supported transformations.
– Integrate with Search Services (to text
conversion)
– Extensibility
– AI and more..
• The synchronous renditions are deprecated and
will be removed from content repository
completely
• Metadata extraction is moved out from content
repository
38. Learn. Connect. Collaborate.
Alfresco Identity Service
Overview
Alfresco Identity Service provides authentication and
proof of identity, in the form of a standard token (JSON
Web Token https://jwt.io ), understood by Digital
Business Platform components:
○ ACS 6.1 REST APIs (v1) and CMIS
○ APS 1.10 REST APIs
○ AGS 3.1 REST API (v1)
○ ADF 2.6
Alfresco Identity Service is based on Keycloak and
supports:
○ LDAP (OpenLDAP)
○ SAML 2.0 (PingFederate)
○ OpenID Connect
39. Learn. Connect. Collaborate.
Alfresco Identity Service
Deployment
● The deployment artifact is the alfresco-identity-
service Helm Chart
○ http://kubernetes-
charts.alfresco.com/stable/alfresco-identity-
service-1.0.0.tgz
● Deployed, by default, as part of the alfresco-
infrastructure Helm Chart
○ http://kubernetes-
charts.alfresco.com/stable/alfresco-
infrastructure-3.0.0.tgz
● Is NOT part of ACS 6.1 Helm charts
Contains:
● Keycloak with Alfresco Theme
● PostgreSQL
● Ingress
40. Learn. Connect. Collaborate.
Alfresco Identity Service
support in ACS
Represented by authentication subsystem:
● alfresco/subsystems/Authentication/identity-service
Based on Keycloak libs:
• https://github.com/keycloak/keycloak
(Supports JWT standard)
Users and groups are still managed in ACS:
• Can auto-create users
• Works with LDAP sync (recommended)
JWT and basic to access APIs in ACS
AIS and ACS are (almost) pre-configured for dev/test (test real is
present in AIS)
42. Learn. Connect. Collaborate.
Alfresco Identity Service
Simplified sequence diagram:
Client AIS ACS
Request JWT
Full example: https://github.com/Alfresco/alfresco-identity-
service/blob/master/docs/resource/sequence/high-level-ldap-auth-
sequence.png
JWT: kfYclR..
GET /some-api
Authorization: Bearer kfYcIR...
Get signing keys
Verify JWT
Process request
Response to client
43. Learn. Connect. Collaborate.
Alfresco Identity Service
Future plans
• User and group management will be moved from
ACS into AIS
• Authentication chain will be deprecated and
removed. List of supported authentication types
will be extended in AIS.
• (Maybe) Move management of ACLs to AIS
45. Learn. Connect. Collaborate.
HELM Charts
Since 6.0
• New additional deployment option
• Existing deployment options still available
• Codification of documentation and
recommended best practices
• Reference deployment: starting point for your
own environment description
• w/o params: Brings everything in a container
• Parameterize to use your infrastructure
46. Learn. Connect. Collaborate.
6.1
AWS
Deployment
• Set of CloudFormation templates plus scripts
and tooling
• Sets up:
– VPC + Bastion
– EKS + Worker Nodes
– S3 incl replication
– Aurora DB
– AmazonMQ
– IAM permissions
50. Learn. Connect. Collaborate.
Removed and
deprecated features
● Removed (configuration and code)
○ CIFS
○ NTLM
● Deprecated (will be removed in future
versions)
○ Synchronous transformations
○ Cloud Sync
51. Learn. Connect. Collaborate.
Beyond
• Extract common components
• Identity Service
– Move profiles to AIS
– Move user/group info to AIS
– Perform authentication outside of ACS
– All requests carry JWT token
• Move to Async, candidates
– Auditing
– Metadata extraction
– Search indexing
– Rules / Actions
• Deployment options for other cloud provider
52. Thanks!
Reach us on email:
alex.mukha@alfresco.com
stefan.kopf@alfresco.com
GitHub:
https://github.com/Alfresco
JIRA:
https://issues.alfresco.com
53.
54.
55.
56. Learn. Connect. Collaborate.
New Raw Events
Motivation (the “why?”)
• decoupling
• asynchronous processing
• integration
• fault-tolerance
• spikability
How?
• An evolutionary path to asynchronous processing
based upon policies / behaviours
• The event model enables us to execute code when
an event happens in the system. These events are
referred to as “policies”. With “behaviours”, you
can register code that is executed when these
events occur.
57. Learn. Connect. Collaborate.
New Raw Events
Motivation (the “why?”)
• decoupling
• asynchronous processing
• integration
• fault-tolerance
• spikability
How?
• An evolutionary path to asynchronous processing
based upon policies / behaviours
• The event model enables us to execute code when
an event happens in the system. These events are
referred to as “policies”. With “behaviours”, you
can register code that is executed when these
events occur.
59. Learn. Connect. Collaborate.
New Raw Events
The basic data which is captured for each event:
• id
• type
• authenticatedUser
• executingUser
• timestamp
• schema
60. Learn. Connect. Collaborate.
New Raw Events
EventProducers
AbstractEventProducer
• Abstract helper to send events to an endpoint. The
AbstractEventProducer acts as a wrapper that
provides marshalling for a Camel
ProducerTemplate.
• A client has the option of creating an event
producer without supplying an endpoint. In this
case, an endpoint must be provided with every
send operation.
• A client also has the option to provide an
ObjectMapper that will be used to marshal basic
POJOs to JSON, before sending the event.
TransactionAwareEventProducer
• Events are scheduled to be sent in post-commit
phase.
61. Learn. Connect. Collaborate.
New Raw Events
EventBehaviour
• Event based Behaviour.
• A client uses an EventBehaviour to bind a send
event behaviour to a Class-level Policy.
• The endpoint uri can be a queue or a topic.
– e.g: jms:acs-repo-rendition-
events?jmsMessageType=Text
• The event behavior delegates the generation of the
event to a method pointer. The pointer is
represented by an instance object and method
name.
62. Learn. Connect. Collaborate.
New Raw Events
Event Behaviour
Notification Frequency
• EVERY_EVENT: The event handler is then just
executed wherever it is being invoked in the code.
The name of this notification frequency implies that
the event handler will be called multiple times, but
that is not the case.
• TRANSACTION_COMMIT: This is the default, if
the notification frequency is not specified. The
event handler is queued and invoked at the end of
the transaction, after it has been committed. A
proxy around the event handler manages the
queuing.
• FIRST_EVENT: The event handler is invoked just
after the transaction is started. A proxy around the
event handler manages this.