Products

Solutions

Learn More

Partners

Community

Blog

About

DNN Community Blog

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.


DNN 9 Persona Bar Source Code

DNN-9Overview

DNN 9 includes a brand new admin experience which provides a complete makeover of all the admin and host tools in DNN.  When we first started work on the Persona Bar it was a feature that only existed in Evoq Engage.  Since that initial release we have expanded the Persona Bars capabilities and moved it to Evoq Content, and with DNN 9 we are moving the Persona Bar experience to the DNN Platform. 

As part of moving the Persona Bar to DNN Platform, we needed to completely refactor the code so that we could move it from a commercial license to an Open Source license. In order to facilitate that refactoring we created a new project for the Persona Bar and all of the Persona Bar extensions. Once the refactoring was complete and the code sanitized of any commercial elements we were able to move the project into a clean repository.

A couple of weeks ago we finally completed this refactoring effort and opened up the new repository on GitHub.  You can find the latest code at https://github.com/dnnsoftware/Dnn.AdminExperience. Since DNN 9 is primarily focused on the new admin experience most of our work is occurring in this new repository.  If you want to follow along or even see how we are building the new Persona Bar extensions then check out the source code.

Exploring the Source

Project OrganizationThe Admin Experience source code is effectively broken down into two (2) major sections: the framework and the admin extensions. 

The first major component is the DNN.PersonaBar.Library project.  This project provides the Persona Bar framework.  It provides the basic UI for the navigation bar and the workspace panel.  It handles loading the individual extensions as needed, and it enforces the basic permissions for the various navigation elements.

The second major section is the Modules folder which includes all of the individual admin modules which have been rewritten to run in the Persona Bar.  As part of this rewrite, we have leveraged much of the existing framework APIs behind these modules, while completely rewriting the UI.

In addition to each of the individual modules, the Modules folder also includes the UI library that is used by the various admin modules to ensure a consistent user experience for all of the modules.  This library exposes a large set of React based components that the admin modules use for building their user interfaces.

 

Check It Out

We hope you take a few minutes to explore the new repository and see some of the new capabilities that the Persona Bar provides. We think you are going to love the new Persona Bar and having the project in its own repository will make it that much easier to dive into without getting lost. As always we would like to hear your feedback. What you think of the new Persona Bar extensions. Are we missing something? What do you think of having a React based set of UI components?

Bonus

If you are a Chrome or Firefox user, then you might be interested in this browser extension I found called Octotree (you can see it in the image above). Octotree adds a simple code explorer tree to GitHub.com.  Using this extension, you can quickly and easily shift from file to file in the repository.  It totally changes your GitHub experience.  I used to clone projects locally just so I could peruse the source code.  With Octotree, I can finally browse code online. If you are a frequent GitHub user, I urge you to give it a try.

Comments

2sic Daniel Mettler
Awesome - I just love what you guys are doing on dnn9!
2sic Daniel Mettler Thursday, October 27, 2016 3:43 PM (link)
niloufar ghaffarzadeh
hi
how can I build this module in my portal and test it ?
thank You
niloufar ghaffarzadeh Tuesday, November 08, 2016 1:09 AM (link)

Comment Form

Only registered users may post comments.

NewsArchives


2sic Daniel Mettler (133)
Aderson Oliveira (15)
Alec Whittington (11)
Alex Shirley (10)
Andrew Nurse (30)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (25)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (203)
Chris Paterra (55)
Clinton Patterson (28)
Cuong Dang (21)
Daniel Bartholomew (2)
Dave Buckner (2)
David Poindexter (3)
David Rodriguez (2)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (74)
Geoff Barlow (7)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (270)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matthias Schlomann (15)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Mike Horton (19)
Mitchel Sellers (28)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Peter Donker (52)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott S (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Timo Breumelhof (24)
Tony Henrich (3)
Torsten Weggen (2)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (37)
Will Strohl (164)
William Severance (5)
DNN Launch Webinar
REGISTER NOW
DNN Launch Webinar
REGISTER NOW
DNN Launch Webinar
REGISTER NOW