SlideShare a Scribd company logo
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

PPTX
What\'s New in Kentico CMS 5.5 R2
PDF
Creating A Wiki Based Online Help System
PPTX
XCC Future Roadmap
PPTX
SharePoint 2010 Tools in Visual Studio 2010
PDF
Media handling in Drupal (Drupalcamp Leuven 2013)
PDF
WCI 10gR3 overview
PPTX
Migrating to Drupal: Open Source Library Intranets
PPTX
ONLYOFFICE - A Collaboration Tool
What\'s New in Kentico CMS 5.5 R2
Creating A Wiki Based Online Help System
XCC Future Roadmap
SharePoint 2010 Tools in Visual Studio 2010
Media handling in Drupal (Drupalcamp Leuven 2013)
WCI 10gR3 overview
Migrating to Drupal: Open Source Library Intranets
ONLYOFFICE - A Collaboration Tool

Viewers also liked (8)

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

Similar to DotNetNuke Seattle Users Group (20)

PPTX
DotNetNuke – CMS redefined
DOC
Dot Net Nuke
PPTX
Building a mobile application for dot netnuke
PPTX
Building a mobile application for dot netnuke v3
PPT
DotNetNuke
PPT
Dot netnuke
PDF
DNN Application Development
PPTX
DotNetNuke Upgrades, Third Party Modules, and Performance
PPT
Dot Net Nuke Presentation
DOCX
DotNetNuke
PPTX
DNN Web API For Mobile
PPT
Cataloguing Your Friends and Neighbours: Personal Metadata and the Opportunit...
PPT
Dot Net Nuke
PPTX
Where are we going DNNCon Keynote
PPTX
Build a DNN Module in Minutes
PPTX
Seo do(s) and don't(s) for dot netnuke 7.2
PPTX
Dnn for beginners
PPTX
Dot Net Framework
PDF
Engaging & Promising DotNetNuke Development Process For Your Business
DotNetNuke – CMS redefined
Dot Net Nuke
Building a mobile application for dot netnuke
Building a mobile application for dot netnuke v3
DotNetNuke
Dot netnuke
DNN Application Development
DotNetNuke Upgrades, Third Party Modules, and Performance
Dot Net Nuke Presentation
DotNetNuke
DNN Web API For Mobile
Cataloguing Your Friends and Neighbours: Personal Metadata and the Opportunit...
Dot Net Nuke
Where are we going DNNCon Keynote
Build a DNN Module in Minutes
Seo do(s) and don't(s) for dot netnuke 7.2
Dnn for beginners
Dot Net Framework
Engaging & Promising DotNetNuke Development Process For Your Business
Ad

Recently uploaded (20)

PPTX
Big Data Technologies - Introduction.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Electronic commerce courselecture one. Pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Cloud computing and distributed systems.
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
A Presentation on Artificial Intelligence
PPT
Teaching material agriculture food technology
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Approach and Philosophy of On baking technology
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Encapsulation_ Review paper, used for researhc scholars
Big Data Technologies - Introduction.pptx
MIND Revenue Release Quarter 2 2025 Press Release
Electronic commerce courselecture one. Pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
NewMind AI Weekly Chronicles - August'25-Week II
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
sap open course for s4hana steps from ECC to s4
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Cloud computing and distributed systems.
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
A Presentation on Artificial Intelligence
Teaching material agriculture food technology
Network Security Unit 5.pdf for BCA BBA.
Approach and Philosophy of On baking technology
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Programs and apps: productivity, graphics, security and other tools
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Empathic Computing: Creating Shared Understanding
Dropbox Q2 2025 Financial Results & Investor Presentation
Encapsulation_ Review paper, used for researhc scholars

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!