Example for Multiple Applications using single Menu

Hi, 

Maybe I'm missing it somewhere, but I'm looking for an example of creating two or more applications using a single menu. I find lots of diagrams indicating exactly what I need in my architecture, which already contains a BaseTheme application containing my Template which is used by other applications, but I cannot seem to get them to share the same menu and login screens etc?

Thanks in advance for any assistance

Rudi

Hi Rudi,

I don't know if this is best practice, but the following probably is kind of what you need :

1) I created 1 'central' application that holds the theme and all the common parts (ui flow common, things like login screen, layout, menu) and also a common global exception handler.  Make sure all these bits and the theme are public.

2) then for another application with UI that will be part of the total app structure

  • remove the whole common ui flow
  • remove the theme
  • at this point you have 2 warnings, about a missing default theme and a missing global exception handler
  • now add the 'central' application as a dependency, all the bits that you made public earlier
  • 1 warning remains, about missing default theme, fix it by choosing your central app's theme

3) now you can start adding screens to this application module

  • this screen will have all styling and structure from the central theme
  • but it's not added to the menu yet
  • so make this new screen public
  • i like to give each applications mainflow a unique name, otherwise OS will do it for you
  • go into central application and add dependence on new application with new screen
  • add screen to menu here 
    • dragging to menu webblock in element tree doesn't work
    • so i make a dummy screen inside central app and drag screen to menu section at top of screen
  • Make sure to have all dependencies of each application part refreshed every time you change the menu

You can have as many extra modules as you like, see attached oml's where I have 1 menu app and 3 ui apps.

This way you do create a lot of dependencies, each UI app is dependent on the menu app, and the menu app is dependent on each of them.  But they don't have to be dependent on each other.

It's important to do all the bits in point 1 and 2 before starting to create screens, pre-existing screens don't follow automatically when you change an applications theme or common parts, so there is more mess to clean up if you first start creating screens.


So, the next thing to maybe think about, is the following : each application still has it's own entry point, this might or might not be what you want...


Let me know how you get on with this and if other ideas develop as you work this out.


Dorine

Thanks for the detailed answer Dorine,

I have already created quite a few screens, so there is a lot of rework to follow this method. I can see how this can work, but like you mentioned, I like keeping the ship clean and with circular references I'm not 100% sure that it meets the 4 Layer canvas architecture guidelines.

I'll update this post as I play around as well, but maybe there someone that's got a solution that does not include a circular reference or that might be easier than what I'm trying to make it out to be.