Build Packaging for COSMOS
A Proposal for organizing downloads for COSMOS
This proposal is in the DISCUSSION state. When a decision has been reached, this proposal will be in the CLOSED state.
Packaging of COSMOS as of 2nd week of i11:
- COSMOS Demo
- This is the zip file that users will download to understand what COSMOS is and whether it's useful for their project. The zip file should include a deployable application that can demonstrate most of the features of COSMOS.
- This zip file can include:
- Exemplary data managers for integrating applications with COSMOS
- Exemplary management data repositories (MDR) that support CMDBf query service
- Web front end
- Install guide and any necessary offline documentation (We currently have a simple file with an URL to the online install guide.)
- COSMOS SDK
- This zip file will be downloaded by adopters who want to extend the COSMOS framework. It's installed by unzipping on top of the eclipse install.
- WTP and its dependencies need to be installed.
- It includes:
- Toolkit for for creating data managers and MDRs.
- Source code in the form of source plugins.
- Documentation in the form of eclipse help
- SML editor and validator
- Data Reporting Web Application
- COSMOS UI and a test program
Changes to consider:
- The requirement section can be removed, and the move relevant contents to each section of the download. The demo zip file has an install guide that has instructions on how to download pre-requisites. The COSMOS SDK and SML Toolkit need to have something similar. It is better to list the pre-reqs in each section because the pre-reqs are different for each download.
- Do we need the "Data Reporting Web Application" zip?
- The COSMOS UI doesn't work by itself.
- The test program is not required by end users.
- No install program for the COSMOS UI web apps.
- Add update site information
- Link to instructions on how to create development environment. I see PSF files generated by the build, but they are not available on the download page.
- Do we need a zip file with the "runtime" of the CMDBf
- We may not need one because most people will start with the end-to-end example in the demo zip, and extend write their own data manager with the SDK. For production, they just need to exclude the example data managers.
The first cut of the repackaging looks good but here are some ambiguities that we should address:
- As mentioned before, demo is not the best word to describe what is included in the package. The term demo indicates a set of examples that needs a platform to run on. It's misleading to include our runtime code in a package called demo. A better name is perhaps "COSMOS Runtime + Samples"
- To first time visitors, it's unclear what the difference between SDK and the demo package are. For example, is SDK = Demo + additional code or is it just additional code that still requires the demo package? Please see below for an alternative way of repackaging the driver.
- It's confusing to first time COSMOS users to use standard names as part of a package name. Almost all first time users wouldn't have a clue what SML is.
Here's an alternative repackaging suggestion:
"COSMOS Framework with Samples" (for end users)
- Management domain/broker
- Data manager samples
- Web-based UI client
"COSMOS Eclipse Tooling" (for developers)
- SML tooling
- Data manager toolkit (future enhancement)
- WSDM tooling
- SDK code required for users to develop their own data mangers
<mdw> I like the "COSMOS Framework with Samples" idea--this seems like a good first pass at organization.
I'm assuming that there is associated documentation with each of these. We may want to have a link to an overview or getting started section so someone could look at these and decide if they want to download or not
The COSMOS eclipse tooling should be also be available via an update manager site. </mdw>
Hubert's response here The title of each zip file should clearly indicate the purpose of the zip file, as opposed to the content of the zip file. (There is a short paragraph to qualify the contents of the zip file on the download page for those who likes to get more details.) I want users who want to evaluate COSMOS and to try out its features to download this zip file. Terms like "COSMOS Runtime" or "COSMOS Framework" is too technical and does not mean much to most people. "Samples" sounds more like code samples for developers than "runtime samples". I think "COSMOS Demo" is an appropriate title for the zip file that contains our end-to-end example.
I still think we need a separate package for the SML validation and SMLIF editor. Grouping this under the Eclipse tooling umbrella is not much better than grouping based on COSMOS subprojects. SML has nothing to do with WSDM tooling or CMDBf framework and it's not a good idea to group them in one package just because they are built as eclipse plugins.
I would not worry about using terms as SML, WSDM etc on package names. If users don't know what SML is they can read the description or simply ignore that package.I assume the download page has for every package a short description on what it contains, how to use it and any other useful information. A short tutorial, viewlet,etc would also help here.
I think it makes sense in dividing COSMOS based on branches of System Management. With the code we currently have in COSMOS we can have three top-level categories: "Data Integration", "Deployment Management", and "Resource Management". Each category will have runtime, tooling, and samples. We can also have a common top-level category to include all core components. Here's the overall structure I have in mind:
There will be two all-in-one packages offered:
- COSMOS - Runtime
- COSMOS - Tooling
The first package will include everything we currently have under demo.zip. The latter will include all plug-ins along with their source for SML and MDR toolings.
For more experienced users, there will be granular packages offered based on user roles:
Core Framework |_ Runtime Data Integration |_ Runtime |_ Samples |_ Tooling Deployment Management |_ Runtime |_ Samples |_ Tooling Resource Management |_ Tooling |_ Samples
Components included in each category:
An adopter interested in only building on data integration will need to download "Core Framework" and "Data Integration"