Find a post...

DNN-Connect Blogs

The perfect WYSIWYG for DNN/2sxc #5 - DNN Integration

So after extensive evaluation (parts 1, 2 and 3) and basic integration and design (part 4) it was time for some advanced issues. In this case, DNN integration.

DNN WYSIWYG Integration

The WYSIWYG needs to know about DNN for 3 reasons

  1. To allow linking to a DNN page 
  2. To allow browsing and uploading of files for linking (PDFs, Word, etc.) 
  3. To allow browsing and uplading images

Basically it can be said that DNN just isn't ready for this yet - all DNN Dialogs need Webforms, which we avoid at all cost.   I also don't have the (free) resources to spend a week in developing and supporting this functionality, so this is a challenge. DNN currently has 3 file pickers - the Telerik (which works but looks old), the CK-Editor (which would be a lot of work to extract/include) and the normal file manager (which isn't exactly a file picker). All use WebForms, all are too slow, none is responsive.

Since I now that I will also include ADAM, I also know that in 99% of all use cases the user won't need to browse DNN. In other words: if our browse-DNN is just as bad as any other browse-DNN dialog, it's good enough for now.

Browse Pages

This is an iFrame-dialog to the DNN-Page-Picker - unfortunately it is still WebForms in the background but it can't be helped:

Note that DNN 9 or so will move more towards JS and will have to provide JS-based UIs for this, and it will then be easy for us to use them. But since we will still support DNN 7 for a long time, we can't use that for a long time.

Browse Documents and Images

This too is an iFrame dialog to the existing DNN (Telerik) file picker. It's not a good solution, but sufficient for now because in 99% of all cases we won't need it - praise be Adam 2.0 :)

Not an Ideal Solution - but Sufficient…

So as we can see this solution works - it's none worse than the previous solution which used the same dialogs - but it's not exactly great. Our core problem is that most of the DNN ecosystem hasn't caught on to the JavaScript revolution yet, so all these system-components are simply not ready yet. As you know we strive to do things really, really well - and this certainly doesn't look like it.

…Because we don't need it :)

We will need the page picker, and that is also the least disturbing of the dialogs. But the file and document picker will basically never be used, thanks to ADAM. I'll explain that integration in part 6

Love from Switzerland,
Daniel


Daniel Mettler grew up in the jungles of Indonesia and is founder and CEO of 2sic internet solutions in Switzerland and Liechtenstein, an 20-head web specialist with over 800 DNN projects since 1999. He is also chief architect of 2sxc (see forge), an open source module for creating attractive content and DNN Apps.



Read more posts by Daniel Mettler
Daniel Mettler learned programming with the bible translation computer of his parents, deep in the jungles of Indonesia. Since he was only 12 years old at that time and the BIOS only had a version of BASICA, that's what got him started. With 16 he went back to Switzerland and learned German and basic city-survival skills. Equipped with this know-how he founded 2sic internet solutions in 1999 which was focused on web solutions on the Microsoft platform. After a few self-developed CMSs 2sic switched to DNN in 2003 and has been one of the largest partners (17 employees, 700+ projects) in Europe. Daniel is also the chief architect behind the open source 2sxc, a strong promoter of standardization (boostrap, patterns, AngularJS, checklists, etc.) and loves to eat anything - dead or alive. His motto: if the natives eat it, it game.
Comment(s)

Hosting liberally provided by

Geoff Barlow 486 4
Philipp Becker 5840 7
DNN-Connect 429 6
Peter Donker 4776 27
Christopher Hammond 654 2
Olivier Jooris 404 1
Daniel Mettler 11792 88
Clint Patterson 1 1
Jos Richters 65 1
James Rosewell 281 2
Will Strohl 1516 27
Ernst Peter Tamminga 400 4
Barry Waluszko 2300 2
Declan Ward 245 1
Gifford Watkins 721 9
Torsten Weggen 2140 3