Details
-
Type:
Task
-
Status:
Open
-
Priority:
Minor
-
Resolution: Unresolved
-
Component/s: download.moodle.org
-
Labels:None
Description
I'm currently working on CONTRIB-836 (and CONTRIB-835). I'm wondering how best to deal with the situation in terms of which directories to create. If I create separate projects for the different version of DimDim then we do not have to do any work to get the auto-generated zip files for download because there would be two projects. However, if we want to treat them as one project with two versions (i.e. contrib/plugins/mod/dimdim/40 and contrib/plugins/mod/dimdim/45) that would allow the contributors to develop and maintain their own versioning at will; however, we will then need to look at the script so that it auto-generates the zip files. I was looking for recommendations on how we want to handle this. I think ideally we treat it as one project with multiple versions rather than each version as a separate project but I'm not convinced that that will be practical. Thanks for any words of wisdom. Peace - Anthony
Issue Links
| This issue will help resolve: | ||||
| CONTRIB-1654 | Version supplied by DImDIm not functional |
|
|
|
| CONTRIB-1045 | Elluminate Live! / Moodle integration |
|
|
|
| CONTRIB-835 | Moodle - Dimdim 4.5 Integration - Module for Moodle 1.8+ |
|
|
|
| CONTRIB-836 | Moodle - Dimdim 4.0 Integration - Module for Moodle 1.8+ |
|
|
|
Yup, reallly that's a problem.
1) My first thought was about to have only the contrib/plugins/mod/dimdim project and, there, create separate folders for different subprojects (dimdim40, dimdim45) and a BIG README noting about how to install that "special" module. I could be something like:
contrib/plugins/mod/dimdim
That way we could keep the standard packaging and people can use the correct dimdim module (by copying no the whole dimdim but the sub one to their moodle/mod folder. That properly explained in the README.txt file. This will allow, too, to keep both versions development 100% separated.
But this has a BIG problem and it's how people can switch from one module to the other. I can imagine one REAL situation where I'm using the dimdim40 (as mod/dimdim) and I want to switch to dimdim45 (without losing current activities and so). That will be a pain! 100% guaranteed if there are two modules called the same.
2) So then, I thought that perhaps having 100% separated (and named) modules was better. Something like:
contrib/plugins/mod
But this doesn't solve the problem either, mainly because it "forces" tables to be called "dimdim40_whatever" and "dimdim45_whatever" causing modules not being interchangeable.
3) So, definitively.... the only possible way to handle this, keeping interchangeability, proper packaging and functionality... is this structure:
contrib/plugins/mod/dimdim (i.e. the standard one).
With only ONE module, able to work with both 4.0 and 4.5 dimdim servers (perhaps that needs to be a preference in the module, not sure about that). But, for sure, it's the only way that will allow everybody to enjoy using Dimdim (making that the unique module itself was able to support both servers). I know this is all about dimdim developers and they must agree (and program). But, in the long term, it's the only viable way to make it work. 1 module, able to work against multiple dimdim versions.
So, IMO, 3) is the option to follow. Everything else will cause problems upgrading/installing/packaging. And user experience won't be good (not the developers one, having to apply changes in different code bases to fix bugs, change DB versions, etc, etc). One module-code-base to root all them, definetively.
Hope this helps, ciao
- README.txt
- dimdim40
- dimdim
- dimdim45
- dimdim
That way we could keep the standard packaging and people can use the correct dimdim module (by copying no the whole dimdim but the sub one to their moodle/mod folder. That properly explained in the README.txt file. This will allow, too, to keep both versions development 100% separated. But this has a BIG problem and it's how people can switch from one module to the other. I can imagine one REAL situation where I'm using the dimdim40 (as mod/dimdim) and I want to switch to dimdim45 (without losing current activities and so). That will be a pain! 100% guaranteed if there are two modules called the same. 2) So then, I thought that perhaps having 100% separated (and named) modules was better. Something like: contrib/plugins/mod- dimdim40
- dimdim45
But this doesn't solve the problem either, mainly because it "forces" tables to be called "dimdim40_whatever" and "dimdim45_whatever" causing modules not being interchangeable. 3) So, definitively.... the only possible way to handle this, keeping interchangeability, proper packaging and functionality... is this structure: contrib/plugins/mod/dimdim (i.e. the standard one). With only ONE module, able to work with both 4.0 and 4.5 dimdim servers (perhaps that needs to be a preference in the module, not sure about that). But, for sure, it's the only way that will allow everybody to enjoy using Dimdim (making that the unique module itself was able to support both servers). I know this is all about dimdim developers and they must agree (and program). But, in the long term, it's the only viable way to make it work. 1 module, able to work against multiple dimdim versions. So, IMO, 3) is the option to follow. Everything else will cause problems upgrading/installing/packaging. And user experience won't be good (not the developers one, having to apply changes in different code bases to fix bugs, change DB versions, etc, etc). One module-code-base to root all them, definetively.