As in the title: Did anyone ever create a PWA powered by DNN? Reason is that occasionally I get requests to build an app. And I don't need another problem (publishing in stores, new languages, etc etc) so my favourite solution would be to create a PWA that I can manage using DNN.
Why a PWA? Well, the main reason is that it would allow me to:
I know it has it's limitations (not working on Safari is really annoying) but I do think that if we would get this working we would have something awesome. All the power of DNN, 2SXC, DNNSharp etc bundled in a PWA...In an ideal world it is just an empty shell leveraging PWA, powered by DNN.
Of course, if I am thinking of the wrong solution I would gladly hear what is a better approach to meet underlying goals.
The DNN Newsletter sent out today mentions PWA. Unfortunately, they refer to a "Progress" Web Application. I think that David Poindexter did some stuff earlier in the year.
Posted By Joe Craig on 31 Jul 2019 02:18 PM The DNN Newsletter sent out today mentions PWA. Unfortunately, they refer to a "Progress" Web Application. I think that David Poindexter did some stuff earlier in the year.
What newsletter?? Actually I have not seen any newsletter lately...Can you: a. send the newsletter to me B. point me to the place where I need to subscribe cause I used to get the DNN Digest but not anymore...
For the very basics, all you need is a .webmanifest file. I've used realfavicongenerator to generate that (along with a load if icons) in the past, and made it part of the theme. I think I used StyleHelper skin object to put it into the head. Making logins last a long time is really down to following this advice.
Safari/iOS PWA support isn't terrible anymore - not amazing yet, but certainly improving year on year.
The real power of PWAs is offline support though. For that you'll need to investigate service workers, and to be honest it's not something I've really wrapped my head around, yet. Jeremy Keith is normally good at explaining this stuff though.
Also, if you're going to set browser: "standalone" or "fullscreen" in the manifest, you need to make sure the website still makes sense without the browser UI wrapped around it!
Posted By Olly Hodgson on 06 Aug 2019 08:10 PM For the very basics, all you need is a .webmanifest file. I've used realfavicongenerator to generate that (along with a load if icons) in the past, and made it part of the theme. I think I used StyleHelper skin object to put it into the head. Making logins last a long time is really down to following this advice. Safari/iOS PWA support isn't terrible anymore - not amazing yet, but certainly improving year on year. The real power of PWAs is offline support though. For that you'll need to investigate service workers, and to be honest it's not something I've really wrapped my head around, yet. Jeremy Keith is normally good at explaining this stuff though. Also, if you're going to set browser: "standalone" or "fullscreen" in the manifest, you need to make sure the website still makes sense without the browser UI wrapped around it!
Thanks Olly,
Just saw your answer as the emails are often blocked these days :-(
But back on topic: did you ever work with Gatsby (https://www.gatsbyjs.org) or Hugo (https://gohugo.io/) Or Jekyll (https://jekyllrb.com/)? These static site generators claim to create a PWA as well. Million dollar question is of course of it is suitable for sites with news or a calendar (dynamic content) or what limitations it has...
We have the same question and are waiting for the right moment to implement PWA in stead of Native Apps (cordova/xamarin/react) If you really want to use notification (push), login on a backoffice application or DNN for now I think Xamarin is the best best choice. The last 3/4 years we build our Apps (with DNN integration/ Backoffie API) with Xamarin. Al functionaliteit is Xamarin and you don't need external component anymore. Works great and smooth integration with DNN (Login, API, EasyDNN, Events etc.) DNN is MS .Net (c#), Xamarin is the crossplatform for .Net
I am working on a PWA and am trying to figure out how to handle the service worker js file(s). As I understand it the url to the js file for the service worker has to be at or above the path to any pages that use it so if the js file was located at "https://mysite/app/sw.js" it could be used on a page located at "https://mysite/app/ios" but not "https://mysite/ios". What I would like to do is locate the service worker js files under the portal folders i.e. "/portals/2/app/js/sw.js" and be able to access it with "https://mysite/app/sw.js" and then have the pages for my app under "https://mysite/app/ios" so that I can maintain separation by portal. I thought I might be able to accomplish this be creating a page of type file but so far have not been able to get that working. Has anyone solved this?
Was any progress made on the PWA structure? Would love to know more esp w/ calendar (dynamic content) as well.
Thanks,
I have been talking with Stefan Kamphuis about this topic. We are (still) waiting for a project where we can develop this. It is simply too big of a project to develop on a Friday afternoon with a beer. Having said that...the DNN community (or a subset) could be a 'customer' :-)
If we were able to get up a Github project and open up the 'sponsor' button, would that be an option? Of course, there is a lot to discuss as we want something that is suitable for a lot of people and well documented. But other than that: is this route an option? If I recall correctly, the rough estimate development only is 7K (for functionalities we thought of). So, 4 sponsors of 2k if we also include time for documentation. Just to give you an idea of investement or what you can/need to charge your customer.
These Forums are dedicated to the discussion of DNN Platform.
For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:
Awesome! Simply post in the forums using the link below and we'll get you started.