Dividing a solution into smaller Modules

Recentely I have the honour :shock: to take a big solution and divide them into logical Modules, and I thought: let me share some of my troubles I have encountered. Not all troubles are bugs, but some I believe they are.

I took the Big Solution and imported it as Solution A and started to remove stuff that didn’t belong there. I did the same with Module B and C.
Module C is a module in Module B, Module B is a module in Solution A, Module C is NOT a module in Solution A.

For this example I used a solution (let call it Big Solution) and divided (for arguments sake) into the following parts and using this structure:

Solution A
     |
     |
Module B
     |
     |
Module C

1- if you move a valuelist in the Big Solution to Module C, all the forms using the valuelist will loose the link to the valuelist (the valuelist is available though)
2- if you have a tabpanel (with form x) in the Big Solution, and you put form X in for example Module B, the tabpanel will loose the link to the form, and you have to redifine the form into the tabpanel again (and it works like a charm)
3- media in Module C, cannot been seen in Solution A but can be seen in Module B, everything else in Module C can be seen in Solution A
4- a global field defined in Module C but put on a form in Module B or Solution A will not format properly (for example dd-mm-yyyy). The same Global field in Module C will format correctly

I believe that most of the problems occur when taking a big solution and break it up in smaller parts (except the global field formatting problem and the media problem).
When you build something from scratch the first 2 problems don’t occur.

Problem 1 and 2 I can understand why it happens. Since valuelists and tabpanels are elements in the Servoy Repository. When imported into a new module the id of these elements will change and thus the links will be lost. Strange is the fact that for example relationships dont seem to have this problem.

Problem 3 and 4 I believe to be bugs.

Hope this stuff helps anyone who is considering rebuilding their solutions into modules

For #3 and #4:

#3: Are you not seeing ANY media in A - or just a particular image? If you make module C a module of B:

Solution A
  |
  |
   Module B
        |
        |
        Module C

Can you see the images in Module B and/or A?

#4: If you structure as above - does the formatting work again? Also - is it ALL formatting (i.e. numbers as well) - or just date formatting?

bcusick:
For #3 and #4:
#3: Are you not seeing ANY media in A - or just a particular image? If you make module C a module of B:

In A I see nothing, not 1 image, and we have a lot :P

bcusick:
Can you see the images in Module B and/or A?

In Module B I can see the pictures

bcusick:
#4: If you structure as above - does the formatting work again? Also - is it ALL formatting (i.e. numbers as well) - or just date formatting?

We have been testing also with numeric formatting, and also the same problem arises (a sample solution has been sent to support by Jos van Reusel)

OK - thanks for reporting!