The Apereo OAE Bootcamp offers an introduction into back-end and front-end development for the Apereo OAE project.
The back-end development part focuses on learning the different extension points behind the scenes in the service layer of OAE. A back-end component for OAE that exposes a REST API is built from scratch.
Back-end development topics include:
- Node.js NPM module system
- OAE back-end application life-cycle
- Data-modelling with Apache Cassandra and writing CQL queries from Node.js
- Using the OAE APIs to expose back-end functionality for the web VIA RESTful APIs
- Writing back-end unit tests using Grunt and Mocha. If time permits, the following will also be covered:
- Integrating with OAE's ElasticSearch query and index functionality
- Integrating with OAE's Activity and Notifications functionality
- Integration with OAE's Admin Configuration functionality
The front-end development part focuses on writing a UI widget using the REST APIs developed in the back-end development part.
Front-end development topics include:
- Integrating with the OAE Widget loading system
- Writing internationalizable templates with TrimPath and the widget i18n and l10n functionality
- Interacting with the core OAE UI APIs
- Using bootstrap 3 to design responsive UI layouts for your widgets
- Writing front-end unit tests using Grunt and CasperJS
This session provides an overview of the Apereo OAE architecture and the major additions in the past 12 months. The Apereo Open Academic Environment is built from the ground up as a multi-tenant platform designed to host many organizations on a shared infrastructure in the cloud. This session introduces the following architectural components:
- Node.js
- Apache Cassandra
- ElasticSearch
- RabbitMQ
- Redis
- Nginx
and the following concepts:
- Push notifications
- Email aggregation
- Performance testing
- Production environment
- Development to deployment
- Responsive UI
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...Lucas Jellema
Microservices are independent, encapsulated entities that produce meaningful results and business functionality in tentative collaboration. Microservices need a platform to run on and to provide generic capabilities such as data caching, an event bus, access to RDBMS and File System. This platform should handle scaling and fail over of the microservices.
The Application Container Cloud runs and automatically scales applications built in various technologies such as Node, Java, PHP and Python, it provides caching and access to an event bus and database in the cloud. This session demonstrates how multiple microservices are deployed to and run on ACC, using these capabilities.
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...J V
Alfresco Summit 2014 (London)
Though best practice is to leverage Alfresco through the well defined API's, it can be useful to understand the internals of the repository so that your development efforts are the most effective. A deep understanding of the repository will help you to evaluate performance bottlenecks, look for bugs, or make contributions. This session provides an overview of the repository internals, including the major components, the key services, subsystems, and database. We then provide an example where we leverage the repository in a micro-service architecture while building Alfresco's future cloud products and show how the different parts of the repository interact to fulfill requests.
http://summit.alfresco.com/london/sessions/diving-deep-alfresco-repository
https://www.youtube.com/watch?v=TAE9UjC0xxc
Forking Successfully - or is a branch better?Colin Charles
Forking Successfully or do you think a branch will work better? Learn from history, see what's current, etc. Presented at OSCON London 2016. This is forking beyond the github generation. And if you're going to do it, some tips on how you could be successful.
This session provides an overview of the Apereo OAE architecture and the major additions in the past 12 months. The Apereo Open Academic Environment is built from the ground up as a multi-tenant platform designed to host many organizations on a shared infrastructure in the cloud. This session introduces the following architectural components:
- Node.js
- Apache Cassandra
- ElasticSearch
- RabbitMQ
- Redis
- Nginx
and the following concepts:
- Push notifications
- Email aggregation
- Performance testing
- Production environment
- Development to deployment
- Responsive UI
The Oracle Application Container Cloud as the Microservices Platform (APAC OU...Lucas Jellema
Microservices are independent, encapsulated entities that produce meaningful results and business functionality in tentative collaboration. Microservices need a platform to run on and to provide generic capabilities such as data caching, an event bus, access to RDBMS and File System. This platform should handle scaling and fail over of the microservices.
The Application Container Cloud runs and automatically scales applications built in various technologies such as Node, Java, PHP and Python, it provides caching and access to an event bus and database in the cloud. This session demonstrates how multiple microservices are deployed to and run on ACC, using these capabilities.
Deep Dive: Alfresco Core Repository (... embedded in a micro-services style a...J V
Alfresco Summit 2014 (London)
Though best practice is to leverage Alfresco through the well defined API's, it can be useful to understand the internals of the repository so that your development efforts are the most effective. A deep understanding of the repository will help you to evaluate performance bottlenecks, look for bugs, or make contributions. This session provides an overview of the repository internals, including the major components, the key services, subsystems, and database. We then provide an example where we leverage the repository in a micro-service architecture while building Alfresco's future cloud products and show how the different parts of the repository interact to fulfill requests.
http://summit.alfresco.com/london/sessions/diving-deep-alfresco-repository
https://www.youtube.com/watch?v=TAE9UjC0xxc
Forking Successfully - or is a branch better?Colin Charles
Forking Successfully or do you think a branch will work better? Learn from history, see what's current, etc. Presented at OSCON London 2016. This is forking beyond the github generation. And if you're going to do it, some tips on how you could be successful.
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.
Microservices architecture has many benefits. But it comes at a cost. Running microservices and monitoring what’s going on is tedious. That’s why MicroProfile adopts monitoring as a first-class concept. In this session, learn how MicroProfile runtimes collect metrics and how to seamlessly collect them with tools like Prometheus and Grafana. Learn how MicroProfile makes it easy to connect information about interrelated service calls, how to gather the information and analyze system bottlenecks, how to deploy and scale MicroProfile applications with Kubernetes and how to react to their health status to detect and automatically recover from failures.
How Class Data Sharing Can Speed up Your Jakarta EE Application StartupRudy De Busscher
Java Byte code is OS independent, which means that your application's startup takes more time than a native image. Using the Class Data Sharing functionality introduced in more recent versions of the JVM, you can prepare your application so that it will load very fast.
In this presentation, I'll go into more detail what Class Data Sharing is and the differences between the OpenJDK and OpenJ9 versions. With some Jakarta EE demo applications, you will see gains that you can achieve and reduce memory footprint a lot in Docker containers by sharing memory.
This presentation explains the new challenges to be resolved with a Microservices Architecture and how the WildFly Swarm container & OpenShift/Kubernetes can address some of the patterns like running a lightweight JavaEE container, discover and load balance the services, inject the configuration of the services.
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.
Microservices architecture has many benefits. But it comes at a cost. Running microservices and monitoring what’s going on is tedious. That’s why MicroProfile adopts monitoring as a first-class concept. In this session, learn how MicroProfile runtimes collect metrics and how to seamlessly collect them with tools like Prometheus and Grafana. Learn how MicroProfile makes it easy to connect information about interrelated service calls, how to gather the information and analyze system bottlenecks, how to deploy and scale MicroProfile applications with Kubernetes and how to react to their health status to detect and automatically recover from failures.
How Class Data Sharing Can Speed up Your Jakarta EE Application StartupRudy De Busscher
Java Byte code is OS independent, which means that your application's startup takes more time than a native image. Using the Class Data Sharing functionality introduced in more recent versions of the JVM, you can prepare your application so that it will load very fast.
In this presentation, I'll go into more detail what Class Data Sharing is and the differences between the OpenJDK and OpenJ9 versions. With some Jakarta EE demo applications, you will see gains that you can achieve and reduce memory footprint a lot in Docker containers by sharing memory.
This presentation explains the new challenges to be resolved with a Microservices Architecture and how the WildFly Swarm container & OpenShift/Kubernetes can address some of the patterns like running a lightweight JavaEE container, discover and load balance the services, inject the configuration of the services.
View this webinar presented by Search Technologies' Chief Architect Paul Nelson on cloud search and a Wikipedia use case. Webinar given in conjunction with Amazon Cloud Search. Search Technologies provides implementation and consulting services for Amazon CloudSearch. For further information, see http://www.searchtechnologies.com/amazon-cloudsearch-services.html
http://www.searchtechnologies.com/
AWS offers a number of services that help you easily deploy and run applications in the cloud. Come to this session to learn how to choose among these options. Through interactive demonstrations, this session will show you how to get an application running using AWS OpsWorks and AWS Elastic Beanstalk application management services. You will also learn how to use AWS CloudFormation templates to document, version control, and share your application configuration. This session will cover topics like application updates, customization and working with resources such as load balancers and databases.
This session is recommended for people who understand AWS and want to know more about deployment options for their applications.
A presentation given to the Brisbane Azure User Group. Several slides taken from Stephen Siciliano's Ignite 2015 presentation (http://channel9.msdn.com/Events/Ignite/2015/BRK1450)
When Google released the first SDK for Android, which was way before the first mobile phones running it were released, Karl and Marcel decided to try and see what it would take to get Apache Felix running OSGi on Android.
This presentation introduces the Android platform, OSGi, and demonstrates how to run Apache Felix on Android. It builds on an earlier blog article that was published on this subject, an article that inspired many other OSGi implementations to try the same.
The web has changed! Users spend more time on mobile than on desktops and expect to have an amazing user experience on both. APIs are the heart of the new web as the central point of access data, encapsulating logic and providing the same data and same features for desktops and mobiles. In this workshop, Antonio will show you how to create complex APIs in an easy and quick way using API Platform built on Symfony.
Introducing Apricot, The Eclipse Content Management PlatformNuxeo
This talk delivered by Florent Guillaume, Director of R&D at Nuxeo, will provide the audience with a global understanding of what Apricot is and also provide a general overview of what a Content Repository is from a functional standpoint: exploring all the services it offers, identifying the main standards and technologies integrated within a framework of this caliber, such as the Content Management Interoperability Standard (CMIS), and understanding the main technical challenges to be resolved, in particular high scalability and high performance.
Play Architecture, Implementation, Shiny Objects, and a ProposalMike Slinn
ScalaCourses.com has been serving online Scala and Play training material to students for over two years. ScalaCourses.com teaches courses on the same technology stack that the web site runs on. The Cadenza application that powers ScalaCourses.com is a Play Framework 2 application, written in Scala and using Akka, Slick, AWS and Postgres. Some of the architectural features in Cadenza that allow a modest-sized Play application to serve large amounts of multimedia data efficiently is discussed, including technical details of how to work with an immutable domain model that can be modified.
Over the last 2+ years the underlying technology has changed a lot; a brief history of Play Framework will be recounted, and how that impacted Cadenza. The talk concludes with a proposal regarding Play Framework's future.
The Apereo Open Academic Environment is a platform that focusses on group collaboration between researchers, students and lecturers, and strongly embraces openness, creation, re-use, re-mixing and discovery of content, people and groups.
How does Apereo OAE work? OAE targets a large scale and a multi-tenant cloud-compatible deployment model, where a single installation can host multiple institutions at the same time.
This presentation provides an overview of the different components and technologies that are being used, as well as details around deploying and configuring OAE and its associated running costs.
A summary of the approach used for continuous nightly performance testing and how we are validating the desired (horizontal) scalability is provided. Details around back-end and UI unit testing, code coverage and security testing will be shared and contribution models for service development and UI development is discussed as well.
The Apereo Open Academic Environment is a platform that focusses on group collaboration between researchers, students and lecturers, and strongly embraces openness, creation, re-use, re-mixing and discovery of content, people and groups.
How does Apereo OAE work? OAE targets a large scale and a multi-tenant cloud-compatible deployment model, where a single installation can host multiple institutions at the same time.
This presentation provides a very detailed overview of the overall architecture and the different components and technologies. We will take a closer look into all of the following components and how they are being used:
- Node.js
- OAE Widgets
- Apache Cassandra
- ElasticSearch
- Redis
- Nginx
-RabbitMQ
We also talk about the approach used for continuous nightly performance testing and how we are validating the desired (horizontal) scalability. Details around back-end and UI unit testing, code coverage and security testing are shared as well.
Embracing GenAI - A Strategic ImperativePeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
Biological screening of herbal drugs: Introduction and Need for
Phyto-Pharmacological Screening, New Strategies for evaluating
Natural Products, In vitro evaluation techniques for Antioxidants, Antimicrobial and Anticancer drugs. In vivo evaluation techniques
for Anti-inflammatory, Antiulcer, Anticancer, Wound healing, Antidiabetic, Hepatoprotective, Cardio protective, Diuretics and
Antifertility, Toxicity studies as per OECD guidelines
Macroeconomics- Movie Location
This will be used as part of your Personal Professional Portfolio once graded.
Objective:
Prepare a presentation or a paper using research, basic comparative analysis, data organization and application of economic information. You will make an informed assessment of an economic climate outside of the United States to accomplish an entertainment industry objective.
Francesca Gottschalk - How can education support child empowerment.pptxEduSkills OECD
Francesca Gottschalk from the OECD’s Centre for Educational Research and Innovation presents at the Ask an Expert Webinar: How can education support child empowerment?
The French Revolution, which began in 1789, was a period of radical social and political upheaval in France. It marked the decline of absolute monarchies, the rise of secular and democratic republics, and the eventual rise of Napoleon Bonaparte. This revolutionary period is crucial in understanding the transition from feudalism to modernity in Europe.
For more information, visit-www.vavaclasses.com
2024.06.01 Introducing a competency framework for languag learning materials ...Sandy Millin
http://sandymillin.wordpress.com/iateflwebinar2024
Published classroom materials form the basis of syllabuses, drive teacher professional development, and have a potentially huge influence on learners, teachers and education systems. All teachers also create their own materials, whether a few sentences on a blackboard, a highly-structured fully-realised online course, or anything in between. Despite this, the knowledge and skills needed to create effective language learning materials are rarely part of teacher training, and are mostly learnt by trial and error.
Knowledge and skills frameworks, generally called competency frameworks, for ELT teachers, trainers and managers have existed for a few years now. However, until I created one for my MA dissertation, there wasn’t one drawing together what we need to know and do to be able to effectively produce language learning materials.
This webinar will introduce you to my framework, highlighting the key competencies I identified from my research. It will also show how anybody involved in language teaching (any language, not just English!), teacher training, managing schools or developing language learning materials can benefit from using the framework.
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
Safalta Digital marketing institute in Noida, provide complete applications that encompass a huge range of virtual advertising and marketing additives, which includes search engine optimization, virtual communication advertising, pay-per-click on marketing, content material advertising, internet analytics, and greater. These university courses are designed for students who possess a comprehensive understanding of virtual marketing strategies and attributes.Safalta Digital Marketing Institute in Noida is a first choice for young individuals or students who are looking to start their careers in the field of digital advertising. The institute gives specialized courses designed and certification.
for beginners, providing thorough training in areas such as SEO, digital communication marketing, and PPC training in Noida. After finishing the program, students receive the certifications recognised by top different universitie, setting a strong foundation for a successful career in digital marketing.
9. MULTI-TENANCY
• Support multiple institutions on same installation
• Easily created, maintained and configured
• Each institution has its own URL, branding, skinning and
users
• Share infrastructure
• Institutions can share and collaborate with other
institutions
19. OAE ARCHITECTURE
The Apereo OAE project is made up of 2 distinct source code
platforms:
• “Hilary”
• Server-side RESTful web platform that exposes the OAE
services
• Written entirely using server-side JavaScript in Node.js
• “3akai-ux”
• A client-side / browser platform that provides the HTML,
JavaScript and CSS that make up the UI of the application
21. APPLICATION SERVERS
• Written in server-side JavaScript, run in Node.js
• Light-Weight
• Single-Threaded
• Event-Driven
• Non-Blocking
• Uses callbacks/promises and an event queue to stash work to be done after I/O or other heavy processes
complete
• App servers can be configured into functional specialization:
• User Request Processor
• Activity Processor
• Search Indexer
• Preview Processor
22. APACHE CASSANDRA
• Authoritative data source
• Provides high-availability and fault-tolerance without trading away
performance
• Regarding CAP theorem, Cassandra favours Availability and
PartitionTolerance over Consistency, however consistency is
tunable on the connection-level (we always use “quorum”)
• Uses a ring topology to shard data across nodes, with
configurable replication levels
• Used by: Netflix, eBay,Twitter
23. ELASTICSEARCH
• Lucene-backed search platform
• Built for incremental scaling and high-availability
• Exposes HTTP RESTful APIs for indexing and querying
documents
• RESTful query interface uses JSON-based Query DSL
• Powers all of Hilary search functions (Library Search,
Members / Memberships Search)
• Used by: GitHub, FourSquare, StackOverflow,WordPress
24. RABBITMQ
• Light-weight message queue platform written in
Erlang
• Used for distributing tasks to specialized
application server instances
• Supports active-active queue mirroring for high
availability
• Used by: Joyent
25. REDIS
• REmote DIctionary Server
• Fills a variety of functionality in OAE:
• Broadcast messaging (could move to RabbitMQ)
• Locking
• Caching of basic user profiles
• Holds volatile activity aggregation data
• Comes with no managed clustering solution (yet), but has slave replication for active fail-
over
• Some clients manage master-slave switching, and distributed reads for you
• Used by:Twitter, Instagram, StackOverflow, Flickr
26. ETHERPAD
• Open Source collaborative editing application written
in Node.js
• Originally developed by Google and Mozilla
• Licensed under Apache License v2
• Powers collaborative document editing in OAE
• Collaborative documents sharded by ID to dedicated
Etherpad instances
27. NGINX
• HTTP and reverse-proxy server
• Used to distribute load to application servers,
etherpad servers and stream file downloads
• Useful rate-limiting features based on source IP
• Proxy web socket connections to Hilary and Etherpad
• Used by: Netflix,WordPress.com
29. IDE
• OAETeam uses mostly SublimeText 2 and Aptana Studio 3
• http://www.sublimetext.com/2
• http://www.aptana.com/products/studio3/download
• Useful things in an IDE:
• Syntax highlighting
• Automatic “linting”
• Variable assistance (don’t expect much from dynamic
scripting language)
• File-system navigation
30. GITHUB
• OAETeam uses it for:
• Version control
• IssueTracking
• Code Integration Workflow (Pull Requests)
• TravisCI Integration for:
• Running unit tests on all commits and pull requests
• Packaging up and uploading all commits to Amazon S3 so they can be easily pulled
down and deployed
• Packaging up and uploading all tagged releases to Amazon S3 for production releases
• Coveralls Integration for:
• Reporting on trends in unit tests code coverage (e.g., indicates if test coverage drops
from 90.2% to 90.15%)
33. NPM
• Used to download packages and manage versions
• Packages can be installed from:
• Central NPM repo: npm install oae-tasklist
• Git: npm install git+https://github.com/oaeproject/oae-tasklist
• File-system directory: npm install ../oae-tasklist
• package.json file describes metadata about a module and its
dependencies
• When a package is installed, they are placed either locally in a
./node_modules directory or globally (npm install -g) in a shared location
such as /usr/local/share/npm/lib/node_modules
34. EXTENDING OAE WITH NPM
• NPM module represents a logical set of functionality (e.g., a
back-end REST API, or a set of related widgets)
• NPM modules in 3akai-ux are searched for custom widgets
• NPM modules in Hilary (that start with oae-) are searched
for init.js and rest.js to integrate to the application
container
• New dependencies can be added to package.json file and
then fetched / installed running “npm install”
35. PACKAGE.JSON
• Describes metadata about a package:
• Version
• Author
• Unique package id
• Required for installing a package as a module
77. UITEMPLATING
• Template
<div id="example_template"><!--
<h4>Welcome {firstName}.</h4>
You are ${profile.age} years old
--></div>
• Input
oae.api.util.template().render($("#example_template"), {
“firstName”: “John”,
“profile”: {
“placeofbirth”: “Los Angeles”,
“age”: 45
}
});
• Result
<h4>Welcome John.</h4>
You are 45 years old.
78. UITEMPLATING
• Template
<div id="example_template"><!--
{if score >= 5}
<h1>Congratulations, you have succeeded</h1>
{elseif score >= 0}
<h1>Sorry, you have failed}
{else}
<h1>You have cheated</h1>
{/if}
--></div>
• Input
oae.api.util.template().render($("#example_template"), {
“score”: 6
});
• Result
<h1>Congratulations, you have succeeded!</h1>
79. UITEMPLATING
• Template
<div id="example_template"><!--
{for conference in conferences}
<div>${conference.name} (${conference.year})</div>
{forelse}
<div>No conferences have been organized</div>
{/for}
--></div>
• Input
oae.api.util.template().renderTemplate($("#example_template"), {
“conferences”: [
{“name”: “Apereo Miami”, “year”: 2014},
{“name”: “Apereo San Diego”, “year”: 2013},
{“name”: “Sakai Atlanta”, “year”: 2012}
]
});
• Result
<div>Apereo Miami (2014)</div>
<div>Apereo San Diego (2013)</div>
<div>Sakai Atlanta (2012)</div>
80. UI RELEASE PROCESSES
• Grunt
• Task-based build system implemented in JavaScript
• Similar in theory of operation to Make, Rake
• Rich ecosystem of plug-ins to do most tasks
• Easy to implement new task when a plugin doesn’t exist yet
• Used for running test suites, production builds, linting tools
81. UI RELEASE PROCESSES
• Production Build
• Optimizes the static assets to reduce throughput, request frequency, and optimize caching
across versions
• Require.js Optimization:
• Concatenate JavaScript dependencies (reduces number of web requests significantly)
• Minify / Uglify JavaScript files (reduces payload sizes significantly, even when gzip enabled
on web server)
• Hash optimization:
• Hash the contents of static assets and append result to the filename, then cache them
indefinitely on the browsers
• When the files change, the hash in the filename changes to force reloading of the
updated asset
• If files never change across version, client never reloads file until their cache is cleared