This document discusses using Share Extensibility Modules in Alfresco Share to customize various components. It provides an overview of extensibility points like adding custom views, dashlets, and document details pages. It then demonstrates extending the document library views, dashlets, and previewers by modifying the component scripts and controllers and adding additional HTML, CSS, and client-side classes. The goal is to show how the same extensibility approach can be used to customize different out-of-the-box Share components.
Agencies are being driven, by stricter regulations and a desire to show greater levels of transparency, to implement records management solutions to help achieve information governance and compliance initiatives. But, due to the low levels of user adoption, these often fail to deliver on expectations. As with many agencies, this was the case with the Department of Defense (DoD) Joint Staff. The DoD's Joint Staff quickly realized they needed to evolve for a new breed of software based compliance solutions. This session will provide insight into RM best practices within the DoD and examine how an Open Source solution provided a 40% cost savings from their previous solution.
The Nuxeo Platforms used to store its content and metadata in a SQL Database. Adding a new NoSQL backend, like MongoDB, was a good opportunity to review several abstractions and fully transparently adapt to SQL and NoSQL. This presentation compares the two models and reviews how high level concepts (security, relations, search...) are implemented in each model.
Agencies are being driven, by stricter regulations and a desire to show greater levels of transparency, to implement records management solutions to help achieve information governance and compliance initiatives. But, due to the low levels of user adoption, these often fail to deliver on expectations. As with many agencies, this was the case with the Department of Defense (DoD) Joint Staff. The DoD's Joint Staff quickly realized they needed to evolve for a new breed of software based compliance solutions. This session will provide insight into RM best practices within the DoD and examine how an Open Source solution provided a 40% cost savings from their previous solution.
The Nuxeo Platforms used to store its content and metadata in a SQL Database. Adding a new NoSQL backend, like MongoDB, was a good opportunity to review several abstractions and fully transparently adapt to SQL and NoSQL. This presentation compares the two models and reviews how high level concepts (security, relations, search...) are implemented in each model.
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).
high-level presentation covering the jclouds open source project.
Note that jclouds is currently in the Apache incubator, so check http://incubator.apache.org/projects/jclouds.html for latest status.
A High-Performance Solution To Microservices UI CompositionAlexey Gravanov
So you have decided to go for Microservices and you want to achieve maximum autonomy for your teams. However, at the front end your services still have to be joined into a single page.Here you have two options: Either have a single UI layer which all teams depend on or let each service render its own UI and compose these UI pieces later on.
In the course of moving the Autoscout24 platform - one of Europe’s leading internet car portals - to an AWS-hosted Microservice architecture, we favored autonomy and therefore decided for the UI Composition approach. During this process we faced all the challenges of UI Composition, such as performance, consistency, isolation, and testing. Learn how we started off with a rather complex attempt and then managed to greatly improve and simplify our solution.
Nuxeo Platform FT 7.3 includes Nuxeo Live Connect which allows the Nuxeo Platform to natively integrate with various cloud-based file sync and share systems. This allows you to take advantage of the collaboration features of Enterprise Files Share and Sync (EFSS) platforms and the business benefits of the Nuxeo Platform. Other capabilities in FT 7.3 include cloud media publishing, ad-hoc sharing with non users, native Elasticsearch API support, and hierarchical storage management.
No SQL, No Problem: Use Azure DocumentDBKen Cenerelli
Introduction to Microsoft Azure DocumentDB. The slides have sections on Overview, Resource Model, Data Modeling, Performance, Development, Pricing and DocumentDB resources.
This talk was given at the following locales:
- DevTeach Montreal (July 6, 2016)
Go Fullstack: JSF for Public Sites (CONFESS 2012)Michael Kurz
Slides for session Go Fullstack: JSF for public sites by Michael Kurz held at the CONFESS 2012 in Leogang/Austria.
The examples for this session can be found at https://github.com/jsflive (see slides for details).
Video of this presentation can be found at http://goo.gl/EmkOP
JavaOne LATAM 2015 - Batch Processing: Processamento em Lotes no Mundo Corpor...Rodrigo Cândido da Silva
Batch processing systems are regularly used to integrate data from multiple applications, usually developed and supported by different suppliers, and/or hosted on different software and hardware environments. JSR 352 (batch processing for the Java platform), which is part of the Java EE 7 platform, defines a programming model for batch applications and an execution environment on which to run and manage these batch processes. This presentation will show you how to create a batch processing system using the Java EE batch API. Topics covered will include batch processing architecture, developing Java EE batch jobs, the lifecycle of jobs, integration with message queues, and scalability and strength.
Liquibase Integrate via Maven.Create and configurate an exemple of maven project and database migrations.
Liquibase is an open source framework for database version based on XML scripts.
Windows Azure for Developers - Service ManagementMichael Collier
With the Windows Azure Service Management API we can control nearly all aspects of a Windows Azure deployment. This allows us to easily manage areas such as deployments, service upgrades, and subscription management. Additionally, with the PowerShell cmdlets we gain even greater power over the management of a Windows Azure service. In this webcast, we will take a look at managing a Windows Azure service from a developer's point of view. We'll look at using both the Windows Azure Service Management API and PowerShell cmdlets to exercise control over our Windows Azure services.
This presentation will show the latest Web Components technologies and examples, and whether you should be using Web Components now. (spoiler alert: you should be!)
Living on the Grid - Unlock the Power of Dojo Data Grids in XPages - MWLUG 2013balassaitis
Explore the rich functionality of dojo data grids in XPages.
This presentation starts with how to create a Dojo Data Grid and REST service in XPages and discusses the features available with the standard grid.
It proceeds to demonstrate how to convert the grid to a Dojo EnhancedGrid and take advantage of additional plugins for enhanced functionality.
Finally, it demonstrates how to use a Dojo TreeGrid in XPages to create categorized grids with or without calculated totals and counts.
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).
high-level presentation covering the jclouds open source project.
Note that jclouds is currently in the Apache incubator, so check http://incubator.apache.org/projects/jclouds.html for latest status.
A High-Performance Solution To Microservices UI CompositionAlexey Gravanov
So you have decided to go for Microservices and you want to achieve maximum autonomy for your teams. However, at the front end your services still have to be joined into a single page.Here you have two options: Either have a single UI layer which all teams depend on or let each service render its own UI and compose these UI pieces later on.
In the course of moving the Autoscout24 platform - one of Europe’s leading internet car portals - to an AWS-hosted Microservice architecture, we favored autonomy and therefore decided for the UI Composition approach. During this process we faced all the challenges of UI Composition, such as performance, consistency, isolation, and testing. Learn how we started off with a rather complex attempt and then managed to greatly improve and simplify our solution.
Nuxeo Platform FT 7.3 includes Nuxeo Live Connect which allows the Nuxeo Platform to natively integrate with various cloud-based file sync and share systems. This allows you to take advantage of the collaboration features of Enterprise Files Share and Sync (EFSS) platforms and the business benefits of the Nuxeo Platform. Other capabilities in FT 7.3 include cloud media publishing, ad-hoc sharing with non users, native Elasticsearch API support, and hierarchical storage management.
No SQL, No Problem: Use Azure DocumentDBKen Cenerelli
Introduction to Microsoft Azure DocumentDB. The slides have sections on Overview, Resource Model, Data Modeling, Performance, Development, Pricing and DocumentDB resources.
This talk was given at the following locales:
- DevTeach Montreal (July 6, 2016)
Go Fullstack: JSF for Public Sites (CONFESS 2012)Michael Kurz
Slides for session Go Fullstack: JSF for public sites by Michael Kurz held at the CONFESS 2012 in Leogang/Austria.
The examples for this session can be found at https://github.com/jsflive (see slides for details).
Video of this presentation can be found at http://goo.gl/EmkOP
JavaOne LATAM 2015 - Batch Processing: Processamento em Lotes no Mundo Corpor...Rodrigo Cândido da Silva
Batch processing systems are regularly used to integrate data from multiple applications, usually developed and supported by different suppliers, and/or hosted on different software and hardware environments. JSR 352 (batch processing for the Java platform), which is part of the Java EE 7 platform, defines a programming model for batch applications and an execution environment on which to run and manage these batch processes. This presentation will show you how to create a batch processing system using the Java EE batch API. Topics covered will include batch processing architecture, developing Java EE batch jobs, the lifecycle of jobs, integration with message queues, and scalability and strength.
Liquibase Integrate via Maven.Create and configurate an exemple of maven project and database migrations.
Liquibase is an open source framework for database version based on XML scripts.
Windows Azure for Developers - Service ManagementMichael Collier
With the Windows Azure Service Management API we can control nearly all aspects of a Windows Azure deployment. This allows us to easily manage areas such as deployments, service upgrades, and subscription management. Additionally, with the PowerShell cmdlets we gain even greater power over the management of a Windows Azure service. In this webcast, we will take a look at managing a Windows Azure service from a developer's point of view. We'll look at using both the Windows Azure Service Management API and PowerShell cmdlets to exercise control over our Windows Azure services.
This presentation will show the latest Web Components technologies and examples, and whether you should be using Web Components now. (spoiler alert: you should be!)
Living on the Grid - Unlock the Power of Dojo Data Grids in XPages - MWLUG 2013balassaitis
Explore the rich functionality of dojo data grids in XPages.
This presentation starts with how to create a Dojo Data Grid and REST service in XPages and discusses the features available with the standard grid.
It proceeds to demonstrate how to convert the grid to a Dojo EnhancedGrid and take advantage of additional plugins for enhanced functionality.
Finally, it demonstrates how to use a Dojo TreeGrid in XPages to create categorized grids with or without calculated totals and counts.
AngularJS in 60ish Minutes - Dan Wahlin | FalafelCON 2014FalafelSoftware
Single Page Applications (SPAs) are all the rage now days but if you've built a true SPA you know that they can be fairly involved to create. There are typically a lot of moving parts and scripts ranging from history, to navigation, to data access. Have you thought through maintenance of the application down the road and how simple or complex it will be to make modifications as scripts change?
In this session Dan Wahlin will introduce a solid introduction to the AngularJS SPA framework and demonstrate many of the built-in SPA features it provides. If you like to work with views, controllers, modules, plus tie into existing framework features without having to focus on all of the scripts under the cover then this is definitely a framework to check out!
Video that accompanies these slides at: http://www.youtube.com/watch?v=v6cDIO7P5o8
Share v4.0 now gives developers, partners and implementors the ability to customize & extend the Share Document Library without having to either write or duplicate large amounts of code. This session will highlight the changes made to both the Repository and Web tier webscripts and show how new actions and custom metadata can be configured, often without touching a line of code! Some familiarity with the workings of the Document Library will be beneficial, as will general knowledge about configuring Share.
This was a talk given at Django District in March, 2016. It goes over the general gist of how to integrate Django Rest Framework with React and Redux. It also includes a github repo with working code, including using Webpack for Hot Reloading and Redux Dev Tools for time traveling state.
AngularJS 101 - Everything you need to know to get startedStéphane Bégaudeau
In this presentation, you will find everything need to get started with AngularJS.
For more details, have a look at my blog (http://stephanebegaudeau.tumblr.com) or follow me on twitter (@sbegaudeau)
Arcadian Learning is an Industrial Training Company with 50 years of Industry Expertise on Planning, Implementation and Operation of the Networks Offering six months Industrial Training program on Cloud Computing, Telecom, Big Data and Application Development.
The Android developer should have the knowledge of fundamentals of Android layouts, Widgets, UIs and Web Services & how to program your app’s interaction with activities and services.
http://www.arcadianlearning.com/application-web-development.html
Similar to Tech talk live share extras extension modules feb 13 (20)
3. About Me
• Integrations Engineer @ Alfresco
• Founder and Lead of Share Extras
• Creator of Site Geotagged Content Add-on
4. Recap – Share Extensibility
• TTL by Dave Draper, May 2012
• Share Customizations Live by Dave
Draper and Erik Winlöf, Alfresco DevCon,
Nov 2012
5. Extensibility Main Points
• Declare modules in site-data/extensions
• Change component behaviors by modifying the
script model via a controller .js extension
• Add HTML markup before, after, or instead of
the default component content via @region
directive
– As of 4.2.b, many components support adding
markup into the component via the @markup directive
6. Extensibility Main Points
• Add additional client-side dependencies
via .head.ftl extensions, or (in 4.2) using
the @script and @link directives in
a .html.ftl extension
• Add or override UI labels with
additional .properties files
7. Site Geotagged Content
• Visualize Geotagged
Content in Share
– Using Google Maps
• Tika provides
automatic extraction
of Geographic info
from files
– e.g. EXIF data in
digital photos
10. Custom DocLib Views
• Allows us to add in our own views, which
can be selected by the user
• Requires Alfresco 4.0.2 / 4.2.a or later
• More information on blog post by Ray
Gauss II
• Implemented as client-side renderer
classes
11. Geographic Renderer
• Built on top of the thumbnail renderer
• We need to define
– Module definition
– Additional HTML markup (via Freemarker)
– Component controller extension
– Client-side renderer class
– CSS, icon, labels
17. Introducing Leaflet
• A great alternative to
Google Maps
• Open Source
• Mobile-friendly
• Plugin a wide range
of mapping providers
leafletjs.com
18. Changing the View Behaviour
• We’ll use a second module for this
– Order is important!
• We need to provide
– Module definition
– A further webscript controller extension
22. Changing other Components
• The same approach is valid for most
OOTB components, which populate the
model.widgets object
– The @createWidgets Freemarker directive
new in 4.2 then renders the widget markup
• To demonstrate this, let’s also change the
dashlet behavior
24. Custom DocLib Previewers
• The ability to ‘intervene’ between the
widget configuration being declared and it
being rendered is incredibly useful in other
places, too!
• Let’s look at the PdfJs viewer included in
the Media Viewers add-on as an example
25. Previewer Controller Extension
components/documentlibrary/documentlist.get.js
if (model.widgets) // Protection for older versions
{
for (var i = 0; i < model.widgets.length; i++)
{
var widget = model.widgets[i];
if (widget.id == "WebPreview")
{
// Insert new pluginCondition(s) at start of the chain
var conditions = [{...}];
var oldConditions = eval("(" + widget.options.pluginConditions + ")");
// Add the other conditions back in
for (var j = 0; j < oldConditions.length; j++)
{
conditions.push(oldConditions[j]);
}
// Override the original conditions
model.pluginConditions = jsonUtils.toJSONString(conditions);
widget.options.pluginConditions = model.pluginConditions;
}
}