Hello,

A while back I had mentioned a few different approaches that we could take to indicate groupings for the modules in Infusion.

We are likely going to start working on implementing the third option, see below, after the Canada Day holiday (July 1).

Any additional comments, questions, suggestions are welcomed.

Thanks
Justin


On 17-Jun-09, at 8:44 AM, Justin wrote:

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


_______________________________________________________
fluid-work mailing list - [email protected]
To unsubscribe, change settings or access archives,
see http://fluidproject.org/mailman/listinfo/fluid-work

Reply via email to