From: firstname.lastname@example.org [mailto:email@example.com] On Behalf Of manu
Sent: Friday, February 06, 2004 1:41 PM
To: 'Leo Duran'; firstname.lastname@example.org
Subject: R: [Rainbowportal-devel] Portal Module Installer
Emmanuele De Andreis
Internet Solutions Provider
Da: email@example.com [mailto:firstname.lastname@example.org] Per conto di Leo Duran
Inviato: venerd́ 6 febbraio 2004 2.19
Oggetto: [Rainbowportal-devel] Portal Module Installer
After writing the document about creating Rainbow Plug-Ins, it has become apparent to me that we need to write an Admin Module that allows a user to upload a ZIP’d version of the module and have it be installed to the Rainbow portal automatically.
Has anyone started to write one, or started to spec one out? I have no problem writing one, but I would like some help making sure it is complete and conforms to all the current module management features in Rainbow.
I have questions about the Install.xml, install.sql and uninstall.sql. I need someone to show me how to use them properly so that when I write the module it uses those modules for the install process.
I can reply to all questions. There is a document that explains how it should work, anyway.
I strongly suggest to use the installer helper class for all installations.
Another concern I have related to installing/uninstalling is upgrading from one module to another.
If the module is done well you can reinstall hundred times with no problem. Upgrades should take care or all.
Most of things are up to the module creator (actually the installer allows module creator run ANY custom code at install/uninstall time)
I imagine the flow of the module to be something like this…
1. User goes to Admin All (admin all portals), selects Add to add a new module.
2. There is an option to install from ZIP, which allows you to upload a zip file to be installed.
3. The appropriate folders for the module are created as defined in the install.xml file. (check if module exists or conflicts with an existing one)
4. The module files (ascx, aspx, etc) are copied to the appropriate folder under DesktopModules. (see 3)
5. The module DLL is copied to the Bin folder… Note: Is this going to cause the application to restart? (yes.. it is)
6. The Install.SQL file is run against the database. (for the point 5: you need to do before….)
Another idea is to add it to some queue and install on app starting.
A nice option could be having the installer present a list of modules that can be installed (or reinstalled.. for an update..) righnt now it works nicely but you have to know the full path.
Please send me your thoughts.