 I've worked on the app hub and the continuous delivery here and the redesign and the backend there. I've been doing it since the beginning actually and we've recently redesigned the app hub so we will present this for you and do a little demo and yeah it's exciting to see you all here. Then Mehdi next. Yeah sure. Hi guys, I'm Mehdi and I'm also front-end developer and I've helped with the new redesign of the app hub and the new version of the app management app that we're very happy to present today. And Debra? Yes, thank you. Yes, well Debra, my name is Debra Naliano and I'm a developer advocate of DHS2 since January and well my job is to work with the DHS2 developer community. So I guess the connection here is that we get applications that are submitted to the app hub and so yes, I'll talk about it a little bit later. Sounds good. Thank you all and you'll hear from all of them quite a bit more during this presentation but wanted to give a quick introduction of who we are. My name is Austin McGee. I'm the deputy tech lead of DHS2. I have been working for about three years with DHS2 on application infrastructure and kind of extensibility and part of that is how we have gotten to a point where we can do continuous application delivery, how we can provide core applications in a release cycle that is more frequent and more reactive than the typical server release cycle of every six months. And so we'll talk a little bit about that in a minute. See we're getting a few more people here but I'm just going to go ahead and get started since we have a limited amount of time. So today we'll talk about a few things. First I'll give a quick overview of what is continuous application delivery. Why does it matter to all of you to the DHS2 community, what it means for developers, what it means for implementers, what it means for the UIO core team as well. I will then turn it over to Birk who will introduce the new app hub. We have done a complete redesign of the app hub. It's much much friendlier to look at and has a lot of new features that are that are very cool as well and I think you'll think you'll all enjoy that very much. Then Mehdi will introduce the new app management app which is the second piece of that puzzle which allows applications to be installed into a DHS2 instance from the app hub as well as custom applications that are being uploaded. That is a new version of that. It has been completely redesigned also is a hundred times better than the previous version and that will be coming out in the near future. So we'll demo that quickly today as well. And then Deborah as you mentioned will talk a little bit about the developer community. The developer portal is where we keep all of our documentation and all of the material that is focused at the developers who are building on top of DHS2 and a big part of that is also the guidelines and the tutorials for how to submit applications to the app hub and what it means not only for developers but also for implementers what those guidelines mean. So what it means when an app has been accepted to the app hub what kind of reviews are conducted on those applications and what it means to install one of those apps into your own instance. Then I'll talk a little bit about where we can go from there where we're going next with all of this continuous application delivery work and the app hub as well. I won't get into that too much because there's a lot that we could talk about but we're going to focus on what is available for all of you today. And then I will open it up for a few minutes of questions if we have time at the end and hopefully we can. So if you're thinking about any questions that you have about what this means for you or how you would interact with the app hub or the app management app or continuous delivery of core applications during the presentation please think about your questions and we will address them at the end of the presentation. Thank you and you can also feel free to post those questions in the chat in the chat here on Zoom and we will address those at the end as well. So what is continuous application delivery? I'm going to start by talking about what the status quo is. What happened before we introduced continuous application delivery which was in the 235 release back in November of 2020. So before 235, bundled apps were set in stone. This means that if you had all of the 30 plus applications that come built into DHS2 that's things like the dashboard application, the data visualizer, the capture app, the maps application, the settings app, the app management application, the SMS configuration app, the scheduler app, anything that shows up in that application drop down in the top right corner of your DHS2 instance. When you first install DHS2 those are set in stone and they don't change until you upgrade your server to include and to a version that includes a new set of those applications. And what does this mean in practice? So the first scenario that I'll go over is kind of the best case scenario. There's not going to be much quicker than this in most real situations. So let's say you're running DHS2 version 234.4 which is the latest patch release of the 234 major of DHS2. You have discovered a very small visual bug that affects the maps application in that version of DHS2. It may be a very small visual bug but it is something that you need fixed because your users are getting confused by it or something like that. So you report it to DHS2. Two weeks later DHS2 core team is able to address that issue and fix it. It might take much longer than two weeks depending on the severity and the work that is also being done by the core team on other issues. But let's say it takes two weeks which is a pretty reasonable turnaround time. But the issue comes when even though this is a very small bug that is in the maps application that has been fixed in the maps application, you need to wait until the next core, the next release, patch release of the 234 version of DHS2 is actually released in a while. And that might be another six weeks after that fix is made. So if it's six weeks later then we're at eight weeks and then it might take or probably will take another amount of time. Let's say another two weeks to test and do a full upgrade of your production instance that's running at the national level. Maybe you have a horizontal replication of that DHS2 instance. Maybe you need to upgrade it on a test or a staging server. Test it out to make sure it's ready. Do test all the different changes that have been made to the DHS2 core as well as all of the applications, validate those, then move it to your production instance. And let's say at best case that takes another two weeks to do all of that process in a responsible way. So now for this very small bug that was very easy to fix, it has taken 10 weeks to and required a lot of effort and some amount of risk on your side as well as the DHS2 core team side to address that issue to get it out in a release to upgrade a production instance. It's quite an endeavor and if you want that fix in the maps application, you have no other choice. You need to go through all of these steps and take these, put in this effort and take this risk. So that is how it exists today and for those bundled core applications. There are some kind of hacks or ways around that that you can use to expedite this process but the risks go up significantly. So it is possible to take the latest development version of DHS2 and run that but that's something that I would not recommend and we do not recommend for most production instances unless you really know what you're doing and are able to test it yourself. So that's a lot of effort and risk as well. And again this is the best case scenario. So another scenario that I can outline is more of a worst case and this is actually probably not even the worst case. There are times when it would take even much longer and this is the case where there's a feature that has been introduced to the maps application. So it's not going to be backported to 234.5. It's going to be released in 237 which is the next version that's coming out. So it's just a pretty small feature but it's important for your use case maybe to take an actual example in the maps application in 236. It's the ability to calculate population totals using Google Earth Engine and the grid 3 world pop data using your org unit geometries from DHS2. So you can say for this district I want to get the high resolution estimate of the total population in this org unit or within five kilometers of a facility which is a very cool feature but it's not something that is going to cause instability in your whole system. It's not something that you need to consider other parts of DHS2 when you're considering that feature. It's just a feature of the maps web application that has been developed is available in the 236 release. If there is a similar feature in 237 and you're running 234.4 you have no option to up to that version of the maps application unless you all upgrade your server from 234.4 to 237. 237 the major releases of DHS2 are only every month so you might need to wait six months to get to release and once we also spend a lot of time to actually up in a responsible way your production instance and going from 234.4 to 237.0 is a much more risky and involved task than going from 234.4 to 234.6 or 234.5 which is a much smaller amount of change it's not any breaking changes whereas you might have breaking changes between 234.4 and 237.0. That might take another five weeks to do the testing on a test instance to test it in maybe a smaller DHS2 instance and then roll it out to production make sure that it's working well in production monitor it while you're doing that rollout all of those types of things. There's a lot of other risks involved because many things have changed between 234.4 and 237.0 even if only one thing has changed in the maps application so it could take 20 weeks could take more than that and require a lot of effort and risk in order to get access to a single feature in that maps application. So how do we address this? In 235 and 236 we've introduced a feature called continuous application delivery or core application overrides and basically this means that within your 235 or 236 instance of DHS2 you have a maps application that comes with the the war file of your DHS2 instance and you can also now install a new version of just that maps application in your DHS2 instance and it will override the version that's built in. This means that you can get those that latest feature that you want you can fix a simple patch just within the maps application you know that it's not going to affect any other parts of your system. There are some applications where there are features that could affect other parts of your system so you still have to be somewhat cautious about when you do this but it's a much smaller scope change and it's something that can allow the core team to release on a much faster schedule each of our applications and that make those available to the community so that they can install them into their DHS2 instances and get the latest features and fixes in a much faster way. So this is the end result is that within 235 and 236 and going on 237 etc implementations can get new app features and fixes much faster and in order to enable that the UI of core applications will start to be released on the app hub very soon. So we'll see today the app management app which has been released on a limited basis to the app hub that will be rolling out shortly and we'll be getting all of the other applications that the core team develops onto the app hub in the near future as well which will allow us to release on a more a higher cadence or more more quickly those applications and get them into the hands of people that are running 237 in the future but also 236 and 235 and we'll talk a little bit about the challenges and how we how we address that in a few minutes. And so with that I think I'm going to turn it over to Birk to give a quick demo of the app hub but first I'll go to that slide and just talk about talk about it at a high level briefly basically we have redesigned the app hub so that it is much nicer to look at much easier to use and has a number of features that Birk will demo to you today so this is available to you now if you go to apps.dhs2.org go ahead Birk over to you. Can you hear me now? Yes. Yeah can you see the screen as well? Yes. Yeah great. Okay as Austin said we redesigned the app hub recently you can see it for yourself at apps.dhs2.org we've done this to improve the design it's made by our designer Joe Cooper and we try to implement to his specifications and it's also to align with our new like UI design philosophy and components. So this is the new app hub the front page you can see the cards for the apps you can click on the apps and you will get a nice overview the screenshots and also to be able to download the latest version here. So and you can see the compatible versions or you can filter by like dhs2 versions and you will see the versions of the app that is compatible with that dhs2 version. So let's go back to the front page here and here as well you can search for an app keyword and find that you want to look at. But for application developers hopefully some of you are and want to upload apps so let's sign in we recently also added support for a GitHub login which hopefully maybe some of you don't have Google or don't want to use Google we now support GitHub social login. So here you can see I'm on my GitHub user I have some example apps here uploaded the first time you try to upload an app you'll need to create an organization first and this is also kind of new we had some simple organization features in the old app so if you were a power user you might have seen that but the idea here is that you create an organization so you can upload and share like access to apps together and not like one user has to do all that stuff through their social login so you will create an organization and then you upload your app to that organization and everyone in that organization has access to upload new versions and apps to that organization so you have to be a bit careful who you assign or invite to your organization so in an organization let's go here then testing and then you can invite members so now you can do you can invite through an email address and they will get a notification or an email I can show you here maybe hopefully yeah here you can see I've got an email with a link and when I click that I will get to the app hub you will sign in with the user you want to join that organization with and then you can upload an app I will try to let's see upload an app I'll try to keep it pretty simple but I still just show you some changes with DOM so we tried and made our process a bit better or more strict so in that sense that we are more comprehensive in our reviews of app and don't want like any app there but we still want to encourage and we want to encourage like best practices for UI design and securities and also consistency so many times you could upload an app here with a name that didn't match the name in your manifest and it will show up in dhs2 instance as a different name so we now have like a check for this so you might get an error if you try to upload an app that and the version as well so if you try to so I will show you here as well what the error looks like so I have a completed app here an example app and also let's see here pictures and the logo and select an organization the testing organization yeah let's see showcase save and then you see manifest version doesn't match a version and you if you saw it was 1.6 so if I added this to 6 it should work you know so that yeah so the app is uploaded now the core team and we will briefly look through the app and try to get back to you with the feedback I'm sorry the mouse is a bit annoying but yeah so hopefully that's it and I will show you the next one so to complete this process with apps on the app hub we realized it's kind of annoying to manually upload apps like I just showed you so the way you would do that is go to your apps again click here edit the new version and then upload the file so we have created a tool sort of get back here created a tool in the DT app scripts to CLI which you might be or might not be familiar with but it's a CLI tool that has a lot of utilities to work with apps and you can also create your first app with this tool to get some kind of template and start working on that very easily but the thing here is that we want to automate the uploads to the app hub and you don't want to manually do it since like it's hard to keep in sync and it takes time and yeah it's just annoying so you can keep up to date automatically with the publish command which I'll show you I have an example app here that is just created with the D2 app scripts in it and it's just a simple app with the app shell with that platform you can see more on developers.org on the docs page if you want to know more but basically the only thing here is that I've created a GitHub workflow that calls D2 app scripts publish so and this workflow is triggered on release so let's try to create a new release here draft a new release create a version so the last one if we go back was 1.7 you can see here let's try to create 1.1.8 and then publish release so now the GitHub workflow will be triggered hopefully when that release is released and you can go to actions here and it should run and you can see start this will take sometimes it will build the app and then it will publish to the to the app hub and you can see here as well if you go to actions previously run one you can see a step here release the app hub and it's released and you can the app here is this one so this is the testing app I won't show you all the process this is a bit more technical but there is a guide and there's a link here so if you follow this link guide publish app hub there's a guide here how to set up your app to set up continuous delivery for your app to the app hub so you don't have to manually upload apps and yeah and try to yeah this is very cutting edge as well so if you start looking into this now you will be on the on the very bleeding edge on the technology we're using so we still don't really have this implemented in most of our apps right now but it's something we want to do and you can also follow along with us and see how this goes and use the same and be on the same page as we do so yeah hopefully that's a quick demo and introduction and if you have any questions we'll be glad to answer them at the end of the session or in the chat and we will ask that on the community practice and also I just want to mention here that some of you might have a sick file or just any app but you always have a manifest right so the this djs to publish command reads your information and uses that to publish to the app hub but we will encourage you to look at the developers docs again and use what we call the djs to application platform to set up your app as I did here in this example app with the d2 scripts in it which wraps your app in the application platform and you really don't have to create a lot of or do any configuration at all basically you just have to create like some of your title in the in the djs to config and the id so yeah I think that's it for me hopefully that was okay and then I'll hand over to Mehdi for the app management app and see how you can use apps and in your djs to instance and install it directly from the app hub as well after it's published and accepted on the app hub thanks Sean okay let me share my screen and okay right so now that you've all seen the new changes coming for developers of custom apps for continuous delivery or that to present the changes made for the consumers of apps so as we mentioned before we're going to we've redesigned the ad management app completely for 2.37 but we're also going to use a beta version for 2.35 and 2.36 as these versions also support continuous delivery and we'd really like to push it out to everyone so what we present now is the new features which are upgrading bundled core apps made by the UI or core team searching installing apps on the app hub which we've added a new page for and details by each app hub app as well as the new uh simplification of the sidebar so this is the new app and as you can see we've got a page for core apps which are made by the UI core team custom apps which are those found on the app hub or maybe even manually installed as a zip file an app hub page for searching for app hub apps and then installing them as well and finally a manual install page that allows you to install any zip file as you've done before so if we compare to the previous app hub app management app sorry you can tell that these three or four sections have been actually combined and merged into the core apps and custom apps and the reason why we've done that is because continuous delivery is a method to provide updates to core apps so we'll really like to provide a page just for that continuous delivery feature and hence we've simplified and separated into two so you know about any updates on this page will be provided by us and will be safe to use with your instance and yeah that's pretty much it we look forward to using the beta version very soon and of course we welcome any feedback in any way to make your lives easier in accepting continuous delivery and that's it for me now onto Debra thanks buddy um yeah Debra did you want to talk about a little bit of what it means for an app to be on the app hub and how we how people can find out more about that yes sure um I can't share my screen actually um I'm not sure if I should let me know again yes thank you okay okay so we um well the the goal of submitting your application to the app hub uh we would want to see um applications are a generic that um are specific and uh in solving a problem or a use case that is not covered already by dhs2 but by other dhs2 applications so this this will be something great I mean and useful for the entire dhs2 community and so it's it's um it's highly encouraged and we are working towards making this an easier process for developers um and for that we have put together a document that's called the app hub guidelines and I'll show you where to find it in a little bit um so what this means is that uh yeah you will see a section of each of this um I guess requirements but recommendations that you can see on the slide here I will go through some of this in a little bit um but I wanted to talk a little bit about the process of reviewing this submissions and I think Austin and Birk already mentioned we review these applications every week and we go through the yeah we see if they if the applications follow the guidelines um and then after that we provide feedback to the developer and um yeah and then and then if it's approved it will be publicly available in the app hub so if it's rejected of course you're um you can resubmit it um and if you have any questions uh or if you find if we find some issues then you can always reach out to us uh and um yeah we'll be happy to to help you in the process um and I will just quickly show you uh where to find this the documentation of the app hub and Birk quickly showed um how to find the guides but if you go to developers.dhsd.org you go to docs um and then you go to the guides section and then you will see the app hub here on the left um you will find the guide on how to submit an app to the to the app hub uh and uh this is what Birk showed how to set up continuous delivery to the app hub um and here you will find the um app hub submission guidelines now the the first section is about um uh general things um that's both the app has to have a uh a clear and uh descriptive name and it has to have a unique icon for example um and also a clear description uh screenshots and well the the the source code will be a required field so yeah you would have to provide a public repository and these are the um yeah the guidelines for the app itself uh so generic means that it's available it can run or it can work on any dhsd instance um if it's useful is what I said earlier um that's um it should cover something that hasn't been already uh before and uh yeah open source well designed uh documented uh now we have a yeah a big section on security so uh I won't go over this but you can uh check this um on your own and then it should be performed um this is uh more about what I mentioned also and uh I'm not sure oh yes okay so if there's something that is not clear um feel free to reach out or um just comment on uh uh yeah on the thread uh of today's uh session or on the slack if you're not there and that actually brings me back to my last point which is um that I'll be talking about the developer community updates tomorrow during uh the session at 3 p.m. also the time um Austin will lead the session on the dhsd platform and also Victor from the android team uh and there you will be able to know more about um yeah the recent updates on the developer portal uh and um online meetups that we have been um hosting and other ways of getting in touch with the dhsd developer community and they'll be joining the slack workspace if you're not there just let me know on in the thread and I'll send the invitation link there um I think that's it on on my site um and now I will yeah feel free to ask any questions in the in the thread and I'll um pass it over to Austin thanks Deborah I will share my screen once again so you should be able to see my screen here and I am going to uh go down to where we were and share this so hopefully that was uh an informative whirlwind tour of the app hub and the app management app and what it means for an app to be submitted to the app hub and I'm going to talk a little bit now about uh how this actually affects implementations in practice so how do uh how do I as a manager of a dhsd instance um benefit from these changes I'm not a developer how do I make sure that I can use these in a in a reasonable way to get the latest features to my users of my dhsd instance and to do that I'm actually going to to do a demonstration because this is something that is available in 235 and 236 and we'll be seeing the the app management app rolled out to be available for those versions in the near future currently we do have that new version of the app management app available on the app hub but only for 237 so only in development at the moment so we're doing some final validation to make sure that it is rock solid and ready to go before we launch that for 235 and 236 as well when we do have it available for 235 and 236 you will see when you open your app management application you should see at the top a banner that says a new version is available click here to update and that will automatically upgrade just the app management app within your dhsd instance uh in order to take advantage of those great new features that um and you look and feel that uh medidemo so I'm going to go ahead and actually do that manually here now so I have the the dev um so this 237 version of dhsd2 that I'm running um if you're running 235 or 236 this will this app management app on the app hub page uh will still be the old one it won't be the new one available yet but it should be available soon and we'll make an announcement when that is available but for 237 this this uh app management app is available and I'm going to go ahead and install it so it's installing the app from the app hub uh it's now been installed successfully we can see that it showed up here but we're still in the old application because we um we haven't refreshed the page yet but now if I refresh this page I'm at the exact same application so I'm in my my same server I'm still at the dhs web app management URL um it's still version 237 um that that does not have this application bundled in it but now I have installed this app management application um that overrides the the built-in one um so now I can do just as uh Mehdi was demonstrating I can see the custom apps that I have installed I can look at details for the the app management app that I just installed I can uninstall it um I could install a different version if a new version was available um I can also see the uh details about all of these um additional um applications that are available this one is uh created by uh probably some of the people on this call who are uh at Hisp Tanzania um and so you could go ahead and install this directly this version 234.1 um and I could go ahead and install that if you'd like to as well as other versions that are available and all of this is coming being pulled live from apps.ghs2.org the app hub and so you can also um go and view it there if you wanted to as you demonstrated um we still also have the the ability to upload apps manually um I'm actually going to go ahead and do that now um I built a version a new version of the dashboard's application earlier um so I'm going to go ahead and upload that version of the dashboard to this dhs2 instance uh and the main the only thing that I changed in this version of the dashboard is that it um has a uh basically has a different title so it's called overrided dashboard instead of just dashboard and that's just to demonstrate that you can um override any of those applications with the same URLs that you're used to um to seeing before um this is maybe taking a minute because my internet is a little bit slow um so hopefully you can still see me um but this is uploading that application I'm going to come back to this when it's when it's done uploading in just a moment um talk for a moment here I'll be next as well I wanted to actually wanted to add one and point to what Deborah mentioned about these guidelines and it's important to note that we do take security very seriously when we're reviewing these applications um we don't uh we're not going to be able to review everything and find every security issue out there so applications that are developed by a third party and uploaded to the app hub uh are not supported by dhs2 they're not or the University of Oslo but we do try to do our best effort to to validate them um but they are also all open source so um one of the requirements that we have for applications on the app hub is that anything we you're asking someone to run on their server on their dhs2 instance um needs to be open source so that you the implementer can view that source code and do a do a um an audit of that system if you want to to be sure that it is something that uh you're you want to run uh there and you can also contribute back to that application as well if you have developers on your team so being open source is one of the key requirements of applications that are uploaded to this app hub and that's for for an important reason because the those applications are going to be have some privileged access potentially if you log into that application on your dhs2 instance with a privileged user um you want to make sure that those applications can do um only the things that that you want them to do um so they are open source and we do a review of them as the uiocore team but you should also feel free to do those reviews yourself and to contribute back to those applications as well um so i actually had a bit of an internet problem and failed to upload this application i'm going to try it again and we'll see what happens oops might need to refresh can you all still hear me can somebody um yes confirm yep great but you you did uh kind of lag out a bit when you tried to upload last time yeah zoom zoom told me that my uh connection was unstable but hopefully it's not because of this upload but we'll see so while that is uploading um i'll go ahead and talk about what's coming next so uh as we've mentioned the uiocore team will be publishing a version of the app management app it's actually already available for 237 for development uh branches or versions of dhs2 and and we'll be releasing that or making that available also to 235 and 236 versions in the very near future that will allow those 235 and 236 implementations to upgrade their app management app to get this beautiful new user interface to be able to to browse more effectively the um the app hub applications as well as to see when new versions of core applications are available which is one of the key features there and in order to take advantage of that the core team will also be continuously delivering all of our web applications to the app hub using our continuous integration that birk uh demonstrated uh that will mean that you can go to the app hub and see the latest versions of all these applications which versions of dhs2 core server they support uh and within your upgraded app uh management app you can actually see that maybe there's a new version of the dashboard or the maps application available and you can just with one click upgrade that that specific application in your implementation um uh this is still taking a long time uh i will just demonstrate one more thing here hopefully it works um so i'm gonna not going to upload a new dashboard application because it's the upload is taking some time and that's my internet connection here um but i will demonstrate that you can actually go to um this app management application um which i have overridden right so i installed a new version of the app management app i can actually uninstall that so i can uninstall this version um it's still here but now if i refresh this again it falls back to the version that was built in to dhs2 um which means that if something goes wrong or you don't like the update to this particular application you can uninstall it and it will automatically go back to the one that you had before that was built into the version of dhs2 that you installed and that there that way it's very low risk to adopt these applications because you can very quickly roll back that change if for any reason you need to uh you need to do that and so that's another very cool feature of the application overrides um that allows us to uh yeah provide very very safe and kind of granular upgrades of applications um yeah so the the last thing that's coming next i mean there's many more that i'm not listing here um but the the core team will deliver the all of our web applications so all of the applications that you have built into dhs2 to the app hub using continuous integration and many of those applications currently support multiple versions of dhs2 so some applications that we're releasing with 237 you can also install into 236 or even 235 or even some versions before not every application will be like that because some need to be targeted at specific versions of dhs2 but you'll see more and more core applications and hopefully third-party applications as well that are able to switch between different versions of the dhs2 server based on where they're installed and this means that you can have new features that are available not only for the very latest version of dhs2 but also some older versions and also hopefully you can have older versions of applications that are still working on new versions of the dhs2 core server which can be beneficial for cases where you have invested a lot in training users of that application for instance and the end result of this as we've mentioned is that implementations can select which applications to upgrade and install at any time they can also roll back those upgrades to see the original application or to revert to the original application that was bundled with their dhs2 core install and I think that's it that I have for this presentation today we just have five more minutes to have some questions we're trying to end a little bit early so people have time to go between the different sessions but if you have any questions please feel free to raise your hand in zoom to ask them on the community of practice so that we can answer them there or just let us know if we had any questions I am just getting my my chat back up okay so um Medi do you want to do you want to answer the or address the question that was raised just so we have it on the on the recording sure um regarding the uh when the call-ups will be available um sorry the i'm at the one i'm manually uploading yeah right yeah so manually uploading the new beta version of yet management app on 2.35 or 2.36 is not an issue at all um normally nothing will break uh but we haven't extensively tested it on this version so if we you know encounter any kind of issues just feel free to give them just in any form the cop is a great place to do that and uh we'll fix those issues um but so far we haven't encountered any which going at beta because we haven't had the time so far to um the extensive testing on those versions but it should not cause any issues at all yeah thanks and once the once those are released for 2.35 and 2.36 it'll also be uh should show up in a in a message box in the app management app to show you specifically that the app management app has a new version available in 2.35 and 2.36 um so you should be able to do that as well but you can always manually install those applications or install them as you saw me do from the from the app hub in the app management app as well and another question that we have here is when will other core apps be available for update uh in the new app management app and those should be available soon um we don't have an exact timeframe on when we'll have new versions available but we should be getting the current versions at least uploaded and available for 2.37 uh within the next couple weeks um we'll then start to do more testing on those versions that on on the the earlier version of DHS2 um for the ones that are feature toggling that should be a very uh straightforward testing process so it should not take very long as well um so I think you'll see you'll see applications available on the app hub in the next month um and you should be able to start installing them in 2.35 and 2.36 uh shortly thereafter um if you want to with the latest version of some of those feature toggling applications um and more and more applications will start to become feature toggled and we call we we call the concept where an application can talk to multiple versions of the DHS2 server feature toggling or version toggling and we'll see more and more of those coming in the next six months to a year um as well um uh yeah uh Dereve asks will will be able to also upgrade the DHS2 core application through the continuous app delivery um if you mean the core applications like the dashboards the maps the um uh settings application the users management application those types of apps yes absolutely um that's where we will be deploying these applications if you mean the the DHS2 core itself the server uh then that will not be available through continuous application delivery and that is still needs to be a manual process it involves um uh testing and upgrading a database um it involves probably installing on a different server and then uh testing it there before installing on your production server um there's a many more steps involved and there's an upgrade guide in the document DHS2 documentation as well that I can link um that could be quite uh yeah could can be it's a big undertaking to to upgrade your server so that won't be available through continuous application delivery but that's the reason that we're introducing continuous application delivery so you don't need to go through that process just to get a new version of an application yeah so it will not be able to be you you will not be able to upgrade at least for now you will not be able to upgrade the DHS2 core itself um automatically yeah um thanks Pete for that question and Birk for that answer um basically uh only in the app management app you will only see valid upgrades for the current DHS2 version that you are running so when you have a version of version 236 of DHS2 you won't see uh applications that are available uh that are that only support 237 for instance you'll you'll only see the version 236 applications um supporting applications from the app up good question does anybody else have any questions that we have any come through on the community practice doesn't look like it um we are now five minutes before the end we can start to wrap up but if anybody has any more questions um uh please please share them uh the event uh event reports or event visualizer applications um are there are new versions of that coming soon um you'll also see this is pretty exciting that we're um hoping to release a beta version of the dashboard application that supports offline dashboards in the near future so that is um coming probably in the next month maybe a month and a half i don't want to promise too much um but that uh is is a really exciting new feature of the dashboard's application that will be published to the app hub it will support hopefully back to 236 um and that will be available maybe even earlier and that will be available on the app hub but not available until 237 in DHS2 core itself um so that is quite an exciting new application the event reports event visualizer applications are coming soon as well but those are a longer term process hmm this is a good question um what are the supported programming languages and frameworks for building apps that can be submitted to the app hub um there are no strong requirements or hard requirements on programming language or on uh framework that being said these are web applications that are expected to run in a browser so i would expect javascript um applications to be to be the case that's not always the case you might be running web assembly or some other some other technologies as well um and those are those are all um fine um frameworks we do strongly recommend using react and we build all of our tooling to support react applications and we also include an extensive UI library in react um but if you're building your application in Angular the only requirement uh or some other framework the only requirement is that you include the uh the header bar um in your application um so that it can uh you can navigate from that application to other apps in the DHS2 instance and that header bar is um a react component currently we may be exposing it as a um a standalone component that can be used outside of react in in the future um but for now that is a react component so you do would need to render that react component into your application uh in addition to the Angular app that you're using um so that would be the only the only requirement um in terms of technology is that you need to um make sure that you have the the header bar there I don't know if I'm forgetting any other requirements uh Birk or Deborah or no or yeah of course you need a manifest right um so but that's not really anything to do with uh with your framework uh but it's just a file that describes your app yeah but uh yeah I think we need to wrap up now Austin uh yep perfect um yep so the there is more you can find out more on developers.dhs2.org um about that and thank you all very much for your time um thank you very much to the presenters and Birk and Medi and Deborah um and we look forward to hearing from you please feel free to reach out if you have any questions thank you everyone thank you everyone thank you all very much thank you