Comment 6 for bug 459701

Revision history for this message
gedw99 (gedw99) wrote :

I have worked on many module systems.
Once you introduce modules off the main code base you are forced into handling version AND data dependencies.

1. Make sure the Play Module web page can show which module versions work with which play versions. So its a many to many relationship in reality.

2. Make sure the same can be checked from the Play Console. SO its like apt.get basically and handles these dependency relationships for you, and tells you that upgrading X, means that you MUst or CAN upgrade moduel a, b and c.
If you do item1, then item 2 is possible because you have the relationships moduled :)

Then you have the data dependencies. Some systems use a Base Entity in the Main code base, and a derived entity in the module code base. When this is done you now have a data dependency in the database between the Play framework and the modules.
If you dont have this its much easier, but you may.
If you do, then you also need data migration scripts UP and down versions.

In general it makes life allot easier for the developers of the play framework if there are no data dependencies between the Framework and the Modules.