Consolidating multiple separate apps under single dashboard

0
0

Hi,

we have multiple apps that have main page and then content opened from there. We are looking into a way to create a single dashboard with login, where when user clicks on left hand app menu (navbar) he would open any of these apps.

Do we create a separate project and then include all these subprojects as reference projects ?

How do we refenece main pages in each of these projects from there ?

Also when this project is published how will these projects be included in it?

What is the best weay to achieve this, as we would still like to continue developing a separate subprojects due to complexity.

Thanx,

D

  • You must to post comments
0
0

Well, there are many ways. Here are some points:

There can be only one main page so if your projects all have a main page you cannot have a navigation container that switches the pages. In this case each page has to have the navigation options. Then to navigate is as simple as assigning Application.MainPage() or just call page.Show() (it will automatically replace the Application.MainPage).

In alternative, build a main page with the navigation and change the main pages of the projects into just a Panel container, or UserControl. Then the navigation can hide/show (or dispose and create) the panels and dock them to fill a right side container.

You can add a reference of all  the projects to the main navigation project and use their classes but you don’t have to. You can make the whole thing dynamic and load the panels (or pages) dynamically using Assembly.Load() and the Type.GetType() and Activator.CreateInstance() cast to Wisej.Web.Control or Panel. See our https://github.com/iceteagroup/Wisej-Ext-Syncfusion demo. It doesn’t load the assemblies dynamically but it loads the panels dynamically.

For the deployment simply copy the dlls to /bin.

 

  • Dino Novak
    Great hint, managed to make a prototype and feel free to add it to your examples https://gitlab.com/dn-misc/WisejMultiProjectApp But I have a questions. If I autheticate users in main app, and I store some values in Application.Session variables like Application.Session[“UserID”], how can I inject/access this into subprojects ? Thanx, D
  • Luca (ITG)
    Same way. Different projects don’t create different sessions. There is only one Application instance per session.
  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.