I prepared a set of slides for my Multisite Q&A at the WordPress Winnipeg meetup, in case there weren't enough Qs. I ended up not needing them (though a couple of them came in handy when answering the questions). Anyway, here's the slideshow, if you're interested.
I prepared a set of slides for my Multisite Q&A at the WordPress Winnipeg meetup, in case there weren't enough Qs. I ended up not needing them (though a couple of them came in handy when answering the questions). Anyway, here's the slideshow, if you're interested.
8 Most Common Joomla! Hacks and How to Avoid ThemDaniel Kanchev
On 23.03.2013 I visited The Netherlands to give the keynote speak about Joomla! web security. I talked about the most common 8 ways a Joomla! website can get hacked. So you should check the presentation if you are a Joomla! hacker that knows less than 8 ways :) It will be useful for you. However, if you are a Joomla user that doesn’t know anything about how to hack a Joomla!, or even worse, how to protect your Joomla! from being hacked, you should definitely check the slides! Because there is a way to protect yourself from each of the common Joomla hacks that I revealed them in the presentation.
I went through the following scenarios and what should be done to prevent each of them:
- Hacked through outdated Joomla!/extensions/themes.
- Hacked through a vulnerable extensions/themes, that is not outdated
- Hacked with the help of stolen/weak login details
- Hacked through outdated/vulnerable server software - Apache, PHP, MySQL.
- Hacked through incorrectly configured web server
- A completely healthy site hacked through another vulnerable Joomla that is hosted on the same server
- Hacked because of incorrect Joomla permissions
- Hacked through malware on local PC which allows attackers to access a healthy site
Concept and need of Node.Js and alike frameworks in the context of present development trends.
Presented on DotNetters Tech Summit - 2015 RUET
Presenter: Md. Sohel Rana
Event Url: https://www.facebook.com/events/512834685530439/
WordPress Navigation in Responsive Designopenchamp
I gave this presentation at WordCamp Atlanta 2013. It covers one of the biggest challenges in responsive design - navigation. Specifically, it covers a few tips on how to leverage your WordPress theme's navigation to make it more responsive. I also cover some popular patterns in navigation that are best formatted for responsive designs - specifically mobile viewports.
WordPress security & sanitation for beginnersD'nelle Dowis
Basic steps for keeping your WordPress website tidy. This presentation is for beginner-level WordPress users and focuses on your to-do list for running standard maintenance tasks from the WordPress dashboard
Azure functions and container instancesJohn Staveley
In this talk we will go through using Microsoft Azure serverless and container technologies to automate a recurring process and reduce costs. In my work I was required to create a system which repetitively performed actions against web pages. I used selenium with the page object model as the model to interact with the pages, the code was executed using an Azure function which instantiated a browser in an Azure container Instance using a standard docker container. A transient container was used to avoid having to have one permanently installed on a VM, the container could be created only for the time it was needed. As serverless and Azure container instances have a usage charging model the costs were negligible compared to running a dedicated VM for the operation. In this talk I will talk briefly about:
*
Selenium and Page Object Model - how it aids re-usability of selenium code
*
Azure Functions - the developer experience
*
Azure container Instances - what they are and how setup and removal can be automated
But mostly how the above fits together to make a great developer experience and deliver a solution at minimal cost.
Demo:
*
Show Selenium webdriver working
*
Show how deployment process works
*
Show how the function looks on azure portal
Mobilizing Your Visualforce Application With JQuery and KnockoutJSSalesforce Developers
Join Force.com MVP Keir Bowden (aka Bob Buzzard) to learn how to mobilize your Visualforce applications. We'll take an existing survey application and make it mobile by creating pages based on the JQuery Mobile framework, replacing stateful controllers with Javascript remoting, and using Knockout.js to manage client-side data.
My presentation "Introduction to WordPress Multisite", from WordCamp Toronto 2012. A very basic introduction to multisite, what it is, what it can do, and references for additional information.
Web Development with Joomla - Past, Present & FutureThemeXpert
Joomla! turned 12 this year and it evolved a lot. At ThemeXpert we tried to make it more easier for end users and we are continuously working to make it a better CMS. Checkout Quix 2 https://www.themexpert.com/quix-pagebuilder
Single Page Applications - Desert Code Camp 2012Adam Mokan
Slides from my presentation on Single-Page Applications at Desert Code Camp 2012.
The event was held on November 17th, 2012 at Chandler-Gilbert Community College.
http://nov2012.desertcodecamp.com/session/565
8 Most Common Joomla! Hacks and How to Avoid ThemDaniel Kanchev
On 23.03.2013 I visited The Netherlands to give the keynote speak about Joomla! web security. I talked about the most common 8 ways a Joomla! website can get hacked. So you should check the presentation if you are a Joomla! hacker that knows less than 8 ways :) It will be useful for you. However, if you are a Joomla user that doesn’t know anything about how to hack a Joomla!, or even worse, how to protect your Joomla! from being hacked, you should definitely check the slides! Because there is a way to protect yourself from each of the common Joomla hacks that I revealed them in the presentation.
I went through the following scenarios and what should be done to prevent each of them:
- Hacked through outdated Joomla!/extensions/themes.
- Hacked through a vulnerable extensions/themes, that is not outdated
- Hacked with the help of stolen/weak login details
- Hacked through outdated/vulnerable server software - Apache, PHP, MySQL.
- Hacked through incorrectly configured web server
- A completely healthy site hacked through another vulnerable Joomla that is hosted on the same server
- Hacked because of incorrect Joomla permissions
- Hacked through malware on local PC which allows attackers to access a healthy site
Concept and need of Node.Js and alike frameworks in the context of present development trends.
Presented on DotNetters Tech Summit - 2015 RUET
Presenter: Md. Sohel Rana
Event Url: https://www.facebook.com/events/512834685530439/
WordPress Navigation in Responsive Designopenchamp
I gave this presentation at WordCamp Atlanta 2013. It covers one of the biggest challenges in responsive design - navigation. Specifically, it covers a few tips on how to leverage your WordPress theme's navigation to make it more responsive. I also cover some popular patterns in navigation that are best formatted for responsive designs - specifically mobile viewports.
WordPress security & sanitation for beginnersD'nelle Dowis
Basic steps for keeping your WordPress website tidy. This presentation is for beginner-level WordPress users and focuses on your to-do list for running standard maintenance tasks from the WordPress dashboard
Azure functions and container instancesJohn Staveley
In this talk we will go through using Microsoft Azure serverless and container technologies to automate a recurring process and reduce costs. In my work I was required to create a system which repetitively performed actions against web pages. I used selenium with the page object model as the model to interact with the pages, the code was executed using an Azure function which instantiated a browser in an Azure container Instance using a standard docker container. A transient container was used to avoid having to have one permanently installed on a VM, the container could be created only for the time it was needed. As serverless and Azure container instances have a usage charging model the costs were negligible compared to running a dedicated VM for the operation. In this talk I will talk briefly about:
*
Selenium and Page Object Model - how it aids re-usability of selenium code
*
Azure Functions - the developer experience
*
Azure container Instances - what they are and how setup and removal can be automated
But mostly how the above fits together to make a great developer experience and deliver a solution at minimal cost.
Demo:
*
Show Selenium webdriver working
*
Show how deployment process works
*
Show how the function looks on azure portal
Mobilizing Your Visualforce Application With JQuery and KnockoutJSSalesforce Developers
Join Force.com MVP Keir Bowden (aka Bob Buzzard) to learn how to mobilize your Visualforce applications. We'll take an existing survey application and make it mobile by creating pages based on the JQuery Mobile framework, replacing stateful controllers with Javascript remoting, and using Knockout.js to manage client-side data.
My presentation "Introduction to WordPress Multisite", from WordCamp Toronto 2012. A very basic introduction to multisite, what it is, what it can do, and references for additional information.
Web Development with Joomla - Past, Present & FutureThemeXpert
Joomla! turned 12 this year and it evolved a lot. At ThemeXpert we tried to make it more easier for end users and we are continuously working to make it a better CMS. Checkout Quix 2 https://www.themexpert.com/quix-pagebuilder
Single Page Applications - Desert Code Camp 2012Adam Mokan
Slides from my presentation on Single-Page Applications at Desert Code Camp 2012.
The event was held on November 17th, 2012 at Chandler-Gilbert Community College.
http://nov2012.desertcodecamp.com/session/565
Valeri Karpov
MongoDB - NodeJS Engineer
Tuesday, Oct 20th
11:25 am - Front-End/Back-End Dev
Find more by Valeri Karpov: http://www.slideshare.net/vkarpov15/
Single Page Applications: Your Browser is the OS!Jeremy Likness
Single Page Applications have gained tremendous popularity over the past few years and have prompted the creation of several frameworks to support their development. Unlike traditional web applications, most of the heavy lifting for SPA happens on the client side in your web browser. These applications rely on hundreds of lines of JavaScript coupled with asynchronous web service calls to provide a desktop-like experience that is accessible from virtually any device.
Join Principal Architect, Jeremy Likness, to learn more about SPA, including how to determine when you should choose this approach, how SPA compares and contrasts with traditional server-based approaches including ASP.NET WebForms and MVC, and what frameworks and tools (such as jQuery, AngularJS, and Aurelia) make building SPA easier. Discover how single page applications powered by HTML5 and JavaScript transform your browser into a web-based operating system.
CUST-2 New Client Configuration & Extension Points in ShareAlfresco Software
Video that accompanies this presentation at: http://www.youtube.com/watch?v=UNjn6bOJ308
Spring Surf has been updated to allow increased customization and extensibility. This session will demonstrate how these capabilities can and have been used in Alfresco Share to add, remove and modify its appearance without needing to copy and paste code.
Ad107 - Enhance Your Existing Applications with XPagesddrschiw
XPages allows you to build great looking, Web 2.0 style applications in browsers and Lotus Notes clients alike. This session will show you the tricks and tips on upgrading your existing applications with quick win performance, feature and UI enhancements. From simple design patterns for typical Lotus Domino developers, to easy OneUI styling and simple upgrade steps, this session will benefit all existing Lotus Notes and Domino developers looking for that "step up".
Alfresco Share provides a rich platform for further development, allowing you to tweak and customize to your heart’s content, using only lightweight scripting and templating. But with great power, comes great responsibility, as they say. So this session looks at what it means to customize Share, before discussing how best to go about it, with tips and tricks based on real-world examples.
DrupalSouth 2015 - Performance: Not an AfterthoughtNick Santamaria
Nick Santamaria's performance and scalability presentation from DrupalSouth 2015.
https://melbourne2015.drupal.org.au/session/performance-not-afterthought
Developing a World Class Web 2.0 Application with XPagesBruce Elgort
This session was delivered at Lotusphere 2009 by Matt White (Mr. XPages) and Bruce Elgort of Elguji Software, the makers of IdeaJam, IQJam, LinkJam and TaskJam.
Chris O'Brien - Building AI into Power Platform solutionsChris O'Brien
A presentation I gave at ESPC 2020 (the European SharePoint, Microsoft 365 and Azure Conference) covering simple options for adding AI to Power Apps and Power Automate solutions.
Topics covered include AI costs and different implementation approaches - including Power Apps AI Builder, use of Azure Cognitive Services from code, and use of Azure Cognitive Services in a Flow (Power Automate).
Chris OBrien - Azure DevOps for managing workChris O'Brien
A presentation I gave at ESPC 2019 (the European SharePoint, Office 365 and Azure Conference) about Azure DevOps for managing both development and support work. The focus is on Azure DevOps boards and task management, but covers some CI/CD aspects too.
Chris O'Brien - Ignite 2019 announcements and selected roadmapsChris O'Brien
My announcement summary slides from Ignite 2019 (covering Teams, SharePoint, Power Platform and Azure) and also selected roadmap slides from Microsoft.
COB ESPC18 - Rich PowerApps with offline supportChris O'Brien
A presentation I gave at ESPC 2018 (the European SharePoint, Office 365 and Azure Conference) about enterprise PowerApps. Focus areas include how to implement offline support, how to connect to on-premises data, and various tips for performance and management. I also talk about what I find to be the most important PowerApps functions from the list of 150+ that can be used in PowerApps formulas.
COB - Azure Functions for Office 365 developersChris O'Brien
A presentation I gave at ESPC 2018 (the European SharePoint, Office 365 and Azure Conference) about use of Azure Functions to extend Office 365 solutions. Covers Azure Functions fundamentals, adding code to PowerApps/Flow, Site Designs and Site Scripts (and PnP site templating), SPFx and Durable Functions. Also has tips on v1/v2, performance, pricing and how to avoid cold starts.
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris O'Brien
A presentation given at ESPC 2017, discussing common pitfalls in SPFx development. Includes discussion of versioning and dependency issues, code re-use, SPFx component bundles, Office UI Fabric and more.
Chris O'Brien - Best bits of Azure for Office 365/SharePoint developersChris O'Brien
Discussion of Azure web apps, App Insights, "Azure Functions in the real world", ARM templates, queues, BLOB storage and more. Includes a video demo of AAD-secured Azure Function called from a SharePoint Framework (SPFx) web part with SPO cookie auth.
Chris O'Brien - Intro to Power BI for Office 365 devs (March 2017)Chris O'Brien
A high-level view of Power BI as it relates to Office 365, SharePoint and developers. Potentially useful to help consider Power BI against custom development options.
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - referenceChris O'Brien
Covers the changes Microsoft are making to team sites in Office 365/on-premises SharePoint - in terms of end-user changes, and also the impact on developers. The second half of the deck covers the SharePoint Framework (the new coding framework for developers).
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien
Describes the new SharePoint development framework, which uses Gulp, node.js, TypeScript, SASS and other modern web technologies. Covers client web parts, modern pages and the canvas, and how to surface your files on a CDN for optimum performance. This intro presentation helps you get started.
Application Lifecycle Management for Office 365 developmentChris O'Brien
For teams doing cloud-friendly SharePoint or Office 365 development, apps will be a key area of focus - be they SharePoint add-ins or the newer Office 365/Azure AD apps. ASP.NET (typically MVC) is a common platform here, and fortunately ALM and Continuous Integration become MUCH easier - finally, an end to "it’s harder because it's SharePoint!" We'll demonstrate how Visual Studio Online and Azure Web Apps are a winning combination for “continuous deployment”, and also how features such as "Deployment Slots" in Azure can help with dev and test environments, and also the upgrade/push-to-live process. Several demos will ensure you’re covered for developing both SharePoint add-ins and Office 365 apps.
Do's and don'ts for Office 365 developmentChris O'Brien
A session I gave at the European SharePoint Conference 2015. Abstract: The "rules" of SharePoint development have changed - although MSDN documentation often lags behind, the Office 365 Product Group tell us we're no longer supposed to use custom master pages, WebTemplates or deploy our fields and content types in XML. This means core concepts and guidelines that have been around for 7 or 8 years no longer hold true! Clearly this is a massive change - but do we always need to adhere to these new rules? Or are there times when it's OK to use less-preferred (but still supported) approaches?
In this session we look at the reasons behind Microsoft's change of position, and the associated thinking you need to do in the real world.
In this session you will learn:
1. A discussion of the key changes in developer guidance
2. A technical deep-dive (with demos) into the new approaches Microsoft recommend
3. Consideration of the circumstances where you might choose NOT to adhere to the guidance, and why
Chris O'Brien - Comparing SharePoint add-ins (apps) with Office 365 appsChris O'Brien
A presentation I gave at SharePoint Evolutions 2015. Here, I compare SharePoint apps (now renamed "SharePoint Add-Ins" as of April 2015!) and the newer flavour of app development, Office 365 apps.
It focuses primarily on the perspective of a development team implementing the app - and factors to consider when deciding between the two approaches. However, to do this we must consider end-user and administration aspects, as well as code/development.
Key agenda points:
- Changes in SharePoint development
- Apps, 2 years on..
- SharePoint Add-Ins – a recap
- Office 365 apps - Why did Microsoft introduce these? What do they promise?
- Comparing SharePoint Add-Ins with Office 365 apps - For the end-user, administrator and developer
- Summary
Chris OBrien - Weaving Enterprise Solutions into Office ProductsChris O'Brien
A presentation I gave at TechEd 2014 (Barcelona) in October 2014. Covers some fundamentals of developing Apps for Office, and shows a sample Word task pane app, which analyzes the current document and searches your SharePoint/Office 365 environment for similar documents. The app also integrates with OneDrive for Business, to allow the user to save links for future reference.
Also, my co-presenter Andrew Salamatov presents some great information and demos around mail apps.
The presentation also covers some common mistakes, and tips and tricks when developing Apps for Office.
Chris O'Brien - Modern SharePoint development: techniques for moving code off...Chris O'Brien
Covers some key techniques and references for "cloud-friendly" SharePoint development (i.e. suitable for Office 365, or perhaps on-premises SharePoint projects which want to stay cloud compatible or benefit from greater isolation from SharePoint).
Includes detailed coverage on - Remote Event Receivers in Azure, "PowerShell + CSOM" scripts, and Microsoft's AMS samples.
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...Chris O'Brien
Covers several approaches for user interface customization in SP2013 - using JSLink to customize a list and/or view, creating custom Display Templates for the Content Search web part, and different approaches for customizing the search hover panel.
Additional information added for the European SharePoint Conference 2014
Deep dive into SharePoint 2013 hosted apps - Chris OBrienChris O'Brien
Covers key aspects of SharePoint 2013 apps, with a focus on SharePoint-hosted apps. Includes detail on app parts, using web parts within an app, configuring SSL, troubleshooting apps and possible reasons to move away from a SharePoint-hosted app to a cloud app. Also covers "high-privilege" apps which provision to the host web.
Customizing the SharePoint 2013 user interface with JavaScript - Chris OBrienChris O'Brien
Covers several approaches for user interface customization in SP2013 - using JSLink to customize a list and/or view, creating custom Display Templates for the Content Search web part, and different approaches for customizing the search hover panel.
Presentation at SharePoint User Group UK, December 2012. Discusses SP2013 developer investments by order of potential impact (my view!), tooling enhancements (e.g. list/content type designer), apps, Display Templates (aka JSLink, aka Client Side Rendering), managed navigation, cross-site publishing etc.
14. Advantages Disadvantages
• Easy to create • If complex, hard to manage
• Easy to manage • Lots of JavaScript can be
• Great for simple commands hard to manage
• Not cached on the client
• Not reusable outside of the
definition
15. Advantages Disadvantages
• External JS library • Poor JavaScript dev tools
• Easier to manage & debug • Must be added to the page
• Can be minified • More work (build, register &
• Allows for greater control initialize on page)
over commands • All OO JavaScript
• Enable/disable command
• Block loss of focus
• Reusable across
customizations
16. Global Commands Focused Command
• Always available when on a • Only available at specific times,
page e.g. when web part has focus
• (if CanExecute says it is • Example: Content Editor Web
available) Part controls
17.
18.
19.
20. SplitButton ToggleButton Spinner
• Easy default plus • Off or on • Select within a
sub-menu range
21.
22.
23.
24.
25.
26.
27.
28.
29. Server side:
SPRibbon.MakeTabAvailable For contextual tab
SPList.UserCustomActions Target an individual list
JavaScript:
RefreshCommandUI() Refresh ribbon, e.g. in async
callback
SP.SOD.ExecuteOr Deal with JS dependencies
DelayUntilScriptLoaded()
Parent control won’t appear.Error “MenuSections can only have children of type MenuItem, Gallery or GroupPopup. - will get error below”No options appearOtherwise no options appear!