SlideShare a Scribd company logo
1 of 31
DNN 6.2 SOCIAL FEATURES &
MODULE DEVELOPMENT
   SEADUG – 11 SEPT 2012




     Scott McCulloch
     s.mcculloch@f5.com
Agenda

• My Story
  • DotNetNuke, Ventrian & F5 Networks

• The DotNetNuke 6 Evolution
  • Social, Services Layer, Client Resources Management, UI

• Module Development
  • Social Images (Pinterest clone)

• Q&A
DotNetNuke – My story

• Started on IBUYSPY Workshop (December 24 th, 2001)
DotNetNuke – My story

• Core contributions
  •   Hierarchical pages (Tabs)
  •   Users online
  •   HttpModule pipeline
  •   UrlRewriting
  •   Books (co-author of first two DotNetNuke books)

• Ventrian
  • Began as smcculloch.net (code samples)
  • News Articles, Simple Gallery, Property Agent

• F5
  • Joined in 2012 to help support their DotNetNuke environment
    (devcentral.f5.com)
DotNetNuke 6 – The story thus far…

• DNN 6.0 (released July 2011)
  • Major conversion of codebase to C#
  • UI Improvements*

• DNN 6.1 (released November 2011)
  • Mobile device support
  • Client resource management*

• DNN 6.2 (released May 2012)
  • Social Networking*
  • Service Layer*

• DNN 7 (released ???)
  • Improved default styling
  • Shift away from MVC to WEB API

                                  * discussed in this presentation
DotNetNuke 6.0 UI Improvements

• New UI design patterns (http://uxguide.dotnetnuke.com/)
  • Combination of functionality and styling
  • Forms
    • Tabs, Panels, Labels, Dialogs, Tooltips, Grids & Input controls
  • Messages
    • Information, Success, Warning, Error
  • Vastly improves consistency between modules

• Implementation
  • Add “dnnForm” class to the wrapper of your module
    • <div class=“dnnForm”> … Contents … </div>

• Side notes
  • Primarily for forms
DotNetNuke 6.1 Client Resource
Management
• Problem
  • Explosive growth of page payloads has reduced performance
    • 25% larger each year!
      • (2010 –> 700kb, 2012 –> 1042kb, 2015 –> 2344 kb)

• Centralised resource API
  • Allows module & skin developers to register JS & CSS scripts

• Result
  • Reduce size of resources
  • Only deliver resources that are needed
  • Combine resources into few as possible

• Enable instructions (http://bit.ly/UD7EN5)
  • Turn on in host -> Client Resource Management
DotNetNuke 6.2 Social Networking

• Integrated social networking features into core
  • Not a port of active social, but built from the ground up
  • Not just new modules, an API!

• Features
  •   Journal module
  •   Member directory
  •   Social groups
  •   Messaging
  •   Notifications
DotNetNuke 6.2 Social Networking :
Journal
• Similar to Facebook, allows for Status updates posted by
  site users
• Allows for text updates, photo + attachments
• Set privacy per Journal post
• Administrator : allow photo/attachments, posts per page and
  length of posts.
• Developers: can post Journal items through Journal API
• Journal is templated but not through module settings, you
  must use RESX to do it:
  • /DesktopModules/Journal/App_LocalResourceses/SharedResource
    s.resx
DotNetNuke 6.2 Social Networking :
Journal
DotNetNuke 6.2 Social Networking :
Member Directory
• List members on the site
• Provides comprehensive search for members
• Social actions : message, friend, follow
• Administrator : templates (item, alternate, popup), filters
  (user, profile, relationship) & sorting, members per page
• Links to public user profile page
DotNetNuke 6.2 Social Networking :
Member Directory
DotNetNuke 6.2 Social Networking :
Social Groups
• Social Groups are a public or private way of members to
  associate
• Similar in theme but not execution to Facebook groups
• Groups can have a group-specific Journal
• Social Groups are now extended Security Roles – ie,
  existing DNN roles with more metadata
DotNetNuke 6.2 Social Networking :
Social Groups
DotNetNuke 6.2 Social Networking :
Messaging
• Member to Member private messaging
• Provides messages in conversation format, with replies
  linked together
• Can send to groups or individuals
• Developers: can post messages through API
DotNetNuke 6.2 Social Networking :
Notifications
• Special type of message that may be actionable
  • E.g. A comment is pending approval (Approve, Reject)

• Developers: can post items through API
DotNetNuke 6.2 Services Layer

• Service Layer – non visual way of interacting with the data
  stored in a DotNetNuke site
  • /DesktopModules/<ModuleName>/API/<Handler>.ashx/<Method>

• Comprises of :
  • Authentication: ensuring person accessing data is authorised to do
    so
  • Core Functions : GetUserDetails, PosttoJournal, GetPageDetails
  • Extensible : Implement your own Service functions specific to an
    individual DotNetNuke Module

• Side Notes :
  • Built on MVC – what does this mean for DNN 7 which is moving to
    web API?
Part II
Social Images
DotNetNuke 6.2 Social Images
DotNetNuke 6.2 Social Images
DotNetNuke 6.2 Social Images
DotNetNuke 6.2 Social Images

• Image sharing module inside DNN
  • Registered users may submit images
    • Images post to user’s journal
  • Images are viewable by all
  • Registered users may follow other users
    • Option to see images of those they are following
    • Notification sent to user that they are being followed
DEMO
DotNetNuke 6.2 Social Images : Key
Technologies
• jQuery Masonry (landing page scaffolding)
  • http://masonry.desandro.com/
DotNetNuke 6.2 Social Images : Key
Technologies
• jQuery/jQuery UI
  • Standard popup/UI was not good enough
  • Used for popup/transitions, client side calls to services framework

• jQuery TimeAgo (http://timeago.yarp.com/)
  • Renders any date into auto-updating fuzzy timestamps (e.g. “4
    minutes ago” or “about a day ago” )
  • Refreshes automatically allowing you to do “heavy” caching
DotNetNuke 6.2 Social Images : Key
Technologies
• DNN Services Framework
 • Follow/Unfollow/IsFollowed
 • Configured to allow requests only from Social Images and to users
   that have “view” permission
DotNetNuke 6.2 Social Images : Journal
API
• Submitted to user’s journal when an image is added
  • Find your journal type (Journal_Type table)
    • 32 different journal types (I used “Photo”)
  • Creating custom types is discouraged
  • See open source blog module for complete code

• Can also post from the client through the Services
  Framework API
DotNetNuke 6.2 Social Images : Future
Ideas
• Usability
  • Infinite scroll
    • http://masonry.desandro.com/demos/infinite-scroll.html

• User interaction
  •   “Like” image
  •   User Boards
  •   “Pin” other user images to your own repository
  •   Comments

• Performance
  • Thumbnail caching
  • Object caching
DotNetNuke 6.2 Social Images : Further
Resources
• DNN 6 Wiki
  (http://www.dotnetnuke.com/Resources/Wiki.aspx)
  • Specifically, “quick starts”

• Services framework getting started (http://bit.ly/PfCXx4)
  • See also, framework security (http://bit.ly/Okc2Bs)

• VS 2012 Templates (http://bit.ly/U3Bk3J)
• DotNetNuke 7 CTP (http://bit.ly/SCbU22)
• Biggest tip: read core code!
Questions?
DotNetNuke Seattle Users Group

More Related Content

Viewers also liked

Build an i phone, android, or blackberry web app with jq touch and jquery
Build an i phone, android, or blackberry web app with jq touch and jqueryBuild an i phone, android, or blackberry web app with jq touch and jquery
Build an i phone, android, or blackberry web app with jq touch and jqueryAntonio Chagoury
 
Smartphone enable your DotNetNuke apps with jq-touch & jqueryMobile Smartphon...
Smartphone enable your DotNetNuke apps with jq-touch & jqueryMobile Smartphon...Smartphone enable your DotNetNuke apps with jq-touch & jqueryMobile Smartphon...
Smartphone enable your DotNetNuke apps with jq-touch & jqueryMobile Smartphon...Antonio Chagoury
 
Ecommerce en la empresa
Ecommerce en la empresaEcommerce en la empresa
Ecommerce en la empresaJose Jimenez
 
What’s new in DotNetNuke 6.2
What’s new in DotNetNuke 6.2What’s new in DotNetNuke 6.2
What’s new in DotNetNuke 6.2brchapman
 
Selling your code in the DotNetNuke store
Selling your code in the DotNetNuke storeSelling your code in the DotNetNuke store
Selling your code in the DotNetNuke storebrchapman
 

Viewers also liked (8)

Build an i phone, android, or blackberry web app with jq touch and jquery
Build an i phone, android, or blackberry web app with jq touch and jqueryBuild an i phone, android, or blackberry web app with jq touch and jquery
Build an i phone, android, or blackberry web app with jq touch and jquery
 
DotNetNuke SEO
DotNetNuke SEODotNetNuke SEO
DotNetNuke SEO
 
Smartphone enable your DotNetNuke apps with jq-touch & jqueryMobile Smartphon...
Smartphone enable your DotNetNuke apps with jq-touch & jqueryMobile Smartphon...Smartphone enable your DotNetNuke apps with jq-touch & jqueryMobile Smartphon...
Smartphone enable your DotNetNuke apps with jq-touch & jqueryMobile Smartphon...
 
PCMA Social Media UR Doing it Wrong
PCMA Social Media UR Doing it WrongPCMA Social Media UR Doing it Wrong
PCMA Social Media UR Doing it Wrong
 
Ecommerce en la empresa
Ecommerce en la empresaEcommerce en la empresa
Ecommerce en la empresa
 
Intro to DotNetNuke 6
Intro to DotNetNuke 6Intro to DotNetNuke 6
Intro to DotNetNuke 6
 
What’s new in DotNetNuke 6.2
What’s new in DotNetNuke 6.2What’s new in DotNetNuke 6.2
What’s new in DotNetNuke 6.2
 
Selling your code in the DotNetNuke store
Selling your code in the DotNetNuke storeSelling your code in the DotNetNuke store
Selling your code in the DotNetNuke store
 

Similar to DotNetNuke Seattle Users Group

Liferay 6.1 Roadmap - What's next!
Liferay 6.1 Roadmap - What's next!Liferay 6.1 Roadmap - What's next!
Liferay 6.1 Roadmap - What's next!Julio Camarero
 
Suguk Southampton CodePlex - March 2014
Suguk Southampton   CodePlex - March 2014Suguk Southampton   CodePlex - March 2014
Suguk Southampton CodePlex - March 2014Steven Andrews
 
Open social: Case Studies - Taras Kruts
Open social: Case Studies - Taras KrutsOpen social: Case Studies - Taras Kruts
Open social: Case Studies - Taras KrutsDrupalCamp Kyiv
 
Drupal 8 Initiatives
Drupal 8 InitiativesDrupal 8 Initiatives
Drupal 8 InitiativesAngela Byron
 
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011camp_drupal_ua
 
Modular PHP Development using CodeIgniter Bonfire
Modular PHP Development using CodeIgniter BonfireModular PHP Development using CodeIgniter Bonfire
Modular PHP Development using CodeIgniter BonfireJeff Fox
 
jQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesjQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesTeamstudio
 
S2U november 2013
S2U november 2013S2U november 2013
S2U november 2013Neal Caidin
 
Coonti in HelsinkiJS
Coonti in HelsinkiJSCoonti in HelsinkiJS
Coonti in HelsinkiJSCoonti
 
USG Summit - September 2014 - Web Management using Drupal
USG Summit - September 2014 - Web Management using DrupalUSG Summit - September 2014 - Web Management using Drupal
USG Summit - September 2014 - Web Management using DrupalEric Sembrat
 
Social networks: technical issues
Social networks: technical issuesSocial networks: technical issues
Social networks: technical issuesMorgan Magnin
 
WeWork Connect: Shaping Confluence to Reflect Our Culture
WeWork Connect: Shaping Confluence to Reflect Our CultureWeWork Connect: Shaping Confluence to Reflect Our Culture
WeWork Connect: Shaping Confluence to Reflect Our CultureAtlassian
 
UI Dev in Big data world using open source
UI Dev in Big data world using open sourceUI Dev in Big data world using open source
UI Dev in Big data world using open sourceTech Triveni
 
Integrating SharePoint 2010, 2013 and Visual Studio Lightswitch by Rob Windso...
Integrating SharePoint 2010, 2013 and Visual Studio Lightswitch by Rob Windso...Integrating SharePoint 2010, 2013 and Visual Studio Lightswitch by Rob Windso...
Integrating SharePoint 2010, 2013 and Visual Studio Lightswitch by Rob Windso...SPTechCon
 
Enterprise Social using Open Source Frameworks
Enterprise Social using Open Source FrameworksEnterprise Social using Open Source Frameworks
Enterprise Social using Open Source FrameworksWerner Keil
 
IBM Connections 3.0.1 & Beyond
IBM Connections 3.0.1 & BeyondIBM Connections 3.0.1 & Beyond
IBM Connections 3.0.1 & BeyondLidia Vikulova
 
Atlassian User Group NYC 20170830 PreSummit Event Slides
Atlassian User Group NYC 20170830 PreSummit Event SlidesAtlassian User Group NYC 20170830 PreSummit Event Slides
Atlassian User Group NYC 20170830 PreSummit Event SlidesMarlon Palha
 
Enterprise Social using Open Source Frameworks (SMWCPH)
Enterprise Social using Open Source Frameworks (SMWCPH)Enterprise Social using Open Source Frameworks (SMWCPH)
Enterprise Social using Open Source Frameworks (SMWCPH)Werner Keil
 

Similar to DotNetNuke Seattle Users Group (20)

Liferay 6.1 Roadmap - What's next!
Liferay 6.1 Roadmap - What's next!Liferay 6.1 Roadmap - What's next!
Liferay 6.1 Roadmap - What's next!
 
Suguk Southampton CodePlex - March 2014
Suguk Southampton   CodePlex - March 2014Suguk Southampton   CodePlex - March 2014
Suguk Southampton CodePlex - March 2014
 
Open social: Case Studies - Taras Kruts
Open social: Case Studies - Taras KrutsOpen social: Case Studies - Taras Kruts
Open social: Case Studies - Taras Kruts
 
Drupal 8 Initiatives
Drupal 8 InitiativesDrupal 8 Initiatives
Drupal 8 Initiatives
 
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
Anna Fedoruk.Theworkflow.DrupalCamp Kyiv 2011
 
Modular PHP Development using CodeIgniter Bonfire
Modular PHP Development using CodeIgniter BonfireModular PHP Development using CodeIgniter Bonfire
Modular PHP Development using CodeIgniter Bonfire
 
An Introduction to MIT's Drupal Cloud
An Introduction to MIT's Drupal CloudAn Introduction to MIT's Drupal Cloud
An Introduction to MIT's Drupal Cloud
 
jQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesjQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPages
 
S2U november 2013
S2U november 2013S2U november 2013
S2U november 2013
 
DotNetNuke
DotNetNukeDotNetNuke
DotNetNuke
 
Coonti in HelsinkiJS
Coonti in HelsinkiJSCoonti in HelsinkiJS
Coonti in HelsinkiJS
 
USG Summit - September 2014 - Web Management using Drupal
USG Summit - September 2014 - Web Management using DrupalUSG Summit - September 2014 - Web Management using Drupal
USG Summit - September 2014 - Web Management using Drupal
 
Social networks: technical issues
Social networks: technical issuesSocial networks: technical issues
Social networks: technical issues
 
WeWork Connect: Shaping Confluence to Reflect Our Culture
WeWork Connect: Shaping Confluence to Reflect Our CultureWeWork Connect: Shaping Confluence to Reflect Our Culture
WeWork Connect: Shaping Confluence to Reflect Our Culture
 
UI Dev in Big data world using open source
UI Dev in Big data world using open sourceUI Dev in Big data world using open source
UI Dev in Big data world using open source
 
Integrating SharePoint 2010, 2013 and Visual Studio Lightswitch by Rob Windso...
Integrating SharePoint 2010, 2013 and Visual Studio Lightswitch by Rob Windso...Integrating SharePoint 2010, 2013 and Visual Studio Lightswitch by Rob Windso...
Integrating SharePoint 2010, 2013 and Visual Studio Lightswitch by Rob Windso...
 
Enterprise Social using Open Source Frameworks
Enterprise Social using Open Source FrameworksEnterprise Social using Open Source Frameworks
Enterprise Social using Open Source Frameworks
 
IBM Connections 3.0.1 & Beyond
IBM Connections 3.0.1 & BeyondIBM Connections 3.0.1 & Beyond
IBM Connections 3.0.1 & Beyond
 
Atlassian User Group NYC 20170830 PreSummit Event Slides
Atlassian User Group NYC 20170830 PreSummit Event SlidesAtlassian User Group NYC 20170830 PreSummit Event Slides
Atlassian User Group NYC 20170830 PreSummit Event Slides
 
Enterprise Social using Open Source Frameworks (SMWCPH)
Enterprise Social using Open Source Frameworks (SMWCPH)Enterprise Social using Open Source Frameworks (SMWCPH)
Enterprise Social using Open Source Frameworks (SMWCPH)
 

Recently uploaded

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Recently uploaded (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

DotNetNuke Seattle Users Group

  • 1. DNN 6.2 SOCIAL FEATURES & MODULE DEVELOPMENT SEADUG – 11 SEPT 2012 Scott McCulloch s.mcculloch@f5.com
  • 2. Agenda • My Story • DotNetNuke, Ventrian & F5 Networks • The DotNetNuke 6 Evolution • Social, Services Layer, Client Resources Management, UI • Module Development • Social Images (Pinterest clone) • Q&A
  • 3. DotNetNuke – My story • Started on IBUYSPY Workshop (December 24 th, 2001)
  • 4. DotNetNuke – My story • Core contributions • Hierarchical pages (Tabs) • Users online • HttpModule pipeline • UrlRewriting • Books (co-author of first two DotNetNuke books) • Ventrian • Began as smcculloch.net (code samples) • News Articles, Simple Gallery, Property Agent • F5 • Joined in 2012 to help support their DotNetNuke environment (devcentral.f5.com)
  • 5. DotNetNuke 6 – The story thus far… • DNN 6.0 (released July 2011) • Major conversion of codebase to C# • UI Improvements* • DNN 6.1 (released November 2011) • Mobile device support • Client resource management* • DNN 6.2 (released May 2012) • Social Networking* • Service Layer* • DNN 7 (released ???) • Improved default styling • Shift away from MVC to WEB API * discussed in this presentation
  • 6. DotNetNuke 6.0 UI Improvements • New UI design patterns (http://uxguide.dotnetnuke.com/) • Combination of functionality and styling • Forms • Tabs, Panels, Labels, Dialogs, Tooltips, Grids & Input controls • Messages • Information, Success, Warning, Error • Vastly improves consistency between modules • Implementation • Add “dnnForm” class to the wrapper of your module • <div class=“dnnForm”> … Contents … </div> • Side notes • Primarily for forms
  • 7. DotNetNuke 6.1 Client Resource Management • Problem • Explosive growth of page payloads has reduced performance • 25% larger each year! • (2010 –> 700kb, 2012 –> 1042kb, 2015 –> 2344 kb) • Centralised resource API • Allows module & skin developers to register JS & CSS scripts • Result • Reduce size of resources • Only deliver resources that are needed • Combine resources into few as possible • Enable instructions (http://bit.ly/UD7EN5) • Turn on in host -> Client Resource Management
  • 8. DotNetNuke 6.2 Social Networking • Integrated social networking features into core • Not a port of active social, but built from the ground up • Not just new modules, an API! • Features • Journal module • Member directory • Social groups • Messaging • Notifications
  • 9. DotNetNuke 6.2 Social Networking : Journal • Similar to Facebook, allows for Status updates posted by site users • Allows for text updates, photo + attachments • Set privacy per Journal post • Administrator : allow photo/attachments, posts per page and length of posts. • Developers: can post Journal items through Journal API • Journal is templated but not through module settings, you must use RESX to do it: • /DesktopModules/Journal/App_LocalResourceses/SharedResource s.resx
  • 10. DotNetNuke 6.2 Social Networking : Journal
  • 11. DotNetNuke 6.2 Social Networking : Member Directory • List members on the site • Provides comprehensive search for members • Social actions : message, friend, follow • Administrator : templates (item, alternate, popup), filters (user, profile, relationship) & sorting, members per page • Links to public user profile page
  • 12. DotNetNuke 6.2 Social Networking : Member Directory
  • 13. DotNetNuke 6.2 Social Networking : Social Groups • Social Groups are a public or private way of members to associate • Similar in theme but not execution to Facebook groups • Groups can have a group-specific Journal • Social Groups are now extended Security Roles – ie, existing DNN roles with more metadata
  • 14. DotNetNuke 6.2 Social Networking : Social Groups
  • 15. DotNetNuke 6.2 Social Networking : Messaging • Member to Member private messaging • Provides messages in conversation format, with replies linked together • Can send to groups or individuals • Developers: can post messages through API
  • 16. DotNetNuke 6.2 Social Networking : Notifications • Special type of message that may be actionable • E.g. A comment is pending approval (Approve, Reject) • Developers: can post items through API
  • 17. DotNetNuke 6.2 Services Layer • Service Layer – non visual way of interacting with the data stored in a DotNetNuke site • /DesktopModules/<ModuleName>/API/<Handler>.ashx/<Method> • Comprises of : • Authentication: ensuring person accessing data is authorised to do so • Core Functions : GetUserDetails, PosttoJournal, GetPageDetails • Extensible : Implement your own Service functions specific to an individual DotNetNuke Module • Side Notes : • Built on MVC – what does this mean for DNN 7 which is moving to web API?
  • 22. DotNetNuke 6.2 Social Images • Image sharing module inside DNN • Registered users may submit images • Images post to user’s journal • Images are viewable by all • Registered users may follow other users • Option to see images of those they are following • Notification sent to user that they are being followed
  • 23. DEMO
  • 24. DotNetNuke 6.2 Social Images : Key Technologies • jQuery Masonry (landing page scaffolding) • http://masonry.desandro.com/
  • 25. DotNetNuke 6.2 Social Images : Key Technologies • jQuery/jQuery UI • Standard popup/UI was not good enough • Used for popup/transitions, client side calls to services framework • jQuery TimeAgo (http://timeago.yarp.com/) • Renders any date into auto-updating fuzzy timestamps (e.g. “4 minutes ago” or “about a day ago” ) • Refreshes automatically allowing you to do “heavy” caching
  • 26. DotNetNuke 6.2 Social Images : Key Technologies • DNN Services Framework • Follow/Unfollow/IsFollowed • Configured to allow requests only from Social Images and to users that have “view” permission
  • 27. DotNetNuke 6.2 Social Images : Journal API • Submitted to user’s journal when an image is added • Find your journal type (Journal_Type table) • 32 different journal types (I used “Photo”) • Creating custom types is discouraged • See open source blog module for complete code • Can also post from the client through the Services Framework API
  • 28. DotNetNuke 6.2 Social Images : Future Ideas • Usability • Infinite scroll • http://masonry.desandro.com/demos/infinite-scroll.html • User interaction • “Like” image • User Boards • “Pin” other user images to your own repository • Comments • Performance • Thumbnail caching • Object caching
  • 29. DotNetNuke 6.2 Social Images : Further Resources • DNN 6 Wiki (http://www.dotnetnuke.com/Resources/Wiki.aspx) • Specifically, “quick starts” • Services framework getting started (http://bit.ly/PfCXx4) • See also, framework security (http://bit.ly/Okc2Bs) • VS 2012 Templates (http://bit.ly/U3Bk3J) • DotNetNuke 7 CTP (http://bit.ly/SCbU22) • Biggest tip: read core code!