Indicating module groups

Justin justin.obara at utoronto.ca
Wed Jun 17 12:44:23 UTC 2009


Hello,

Currently we are working on building a component to allow users to  
create custom builds from the website.

As part of this, we will need to obtain more information about the  
various modules and groups of modules that are part of Infusion.

At the moment, the ant script used for making custom builds on the  
command line looks for a build.properties file.
http://source.fluidproject.org/svn/fluid/infusion/trunk/build-scripts/build.properties

 From this file, it has access to all of the modules and the locations  
of their specific dependency file. A dependency file is a json file  
which contains key value pairs indicating the various module  
information such as which files it includes and what other modules it   
depends on.

When a new component is added, a developer will have to create a new  
dependency file for it, and add the reference to this file in the  
build.properties file. Basically a 2 step process.

Here are some options that we were passing around. Please feel free to  
make comments and suggestions.



Possible Solution
How it might look
Number of steps
Pros
Cons
Create another file "moduleGroups.json". This file will contain key  
value pairs indicating the groups, their names, descriptions, and  
modules within the group.
http://source.fluidproject.org/svn/fluid/infusion/trunk/src/webapp/moduleGroups.json
3
Easier to parse on the server side
Have already started to implement
Imposes an extra step on component developers
Add the group name to the module references in the "build.properties"  
file . The "moduleGroups.json" file will just contain information  
about the groups, but the modules will be assigned to groups in the  
"build.properties" file only.
build.properties

module_inlineEdit-components="components/inlineEdit"

moduleGroups.json

groups: [
		{
"id": components			
"name": "Infusion Component Modules",
"description": ""
		},...]
2
Only two steps when adding a new component
Will have to jump between the two files when parsing
Will need to make a slight change to the build.js/build.xml
In the "build.properties" file. Define the groups. For the specific  
modules add the name of the group to the module reference
group_id="components"
group_name="Infusion Component Modules"
groupd_descriptoin=""

module_inlineEdit-components="components/inlineEdit"
2
Only two steps when adding a new component
Don't need to parse the build.properties file and the  
moduleGroups.json file
Makes the build.properties files messier
Will need to make a slight change to the  build.js/build.xml

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://fluidproject.org/pipermail/fluid-work/attachments/20090617/a977ffbc/attachment.html>