Add-on manager proposal.
-
Topic authormarc
- Posts: 426
- Joined: 13.03.2002
- With us: 22 years 8 months
- Location: Outback Australia
Add-on manager proposal.
How about a dialog to allow us to easily turn addons on and off?
Lets call it an add-on manager.
Ive had this idea for a while but have been spending my time on the database stuff. Also my VC6 gui skills are in their infancy;
Here is how i think it could work.
When celestia starts up let it scan the extras directory for all the *.ssc, *.stc and *.dsc files, it also scans for *.ssc_,*.stc_ and *.dsc_
From this list of files it creates a dialog that lists each file (and perhaps relative directory) and puts a checkbox next to it. (unchecked if there is no underscore)
The user checks or unchecks files he wants to use/not use. After pressing OK unchecked files are renamed to *.ssc_ (and visa versa)
A small dialog pops up telling the user that they must restart celestia for the changes to take effect. Warnings could be issued if the rename was unsuccessful (ie the file was in use)
Add-on creators could then provide a default enabled and mabey a few optional disabled configurations for their addons.
Alternatively rather than renaming file extensions Celestia could maintain a 'dont load' list.
This would require more code changes rather than code additions.
Or how about an Enabled entry in each file? (Elegant but even more changes).
A feature for advanced users could be an extras directory switcher. ie a dialog that manipulates celstia.cfg. I have a fantasy and a real extras directory and do it manually.
It would be easy to test and try out as it could be developed and tested as a standalone application. Once fully working and given the thumbs up it could be inserted into celestia as a dialog.
File manipulation code would need to be kept OS independent of course.
Those are my ideas.
Any further comments on the best way to implement this?
Are there budding programmers that want to have a go at it?
Lets call it an add-on manager.
Ive had this idea for a while but have been spending my time on the database stuff. Also my VC6 gui skills are in their infancy;
Here is how i think it could work.
When celestia starts up let it scan the extras directory for all the *.ssc, *.stc and *.dsc files, it also scans for *.ssc_,*.stc_ and *.dsc_
From this list of files it creates a dialog that lists each file (and perhaps relative directory) and puts a checkbox next to it. (unchecked if there is no underscore)
The user checks or unchecks files he wants to use/not use. After pressing OK unchecked files are renamed to *.ssc_ (and visa versa)
A small dialog pops up telling the user that they must restart celestia for the changes to take effect. Warnings could be issued if the rename was unsuccessful (ie the file was in use)
Add-on creators could then provide a default enabled and mabey a few optional disabled configurations for their addons.
Alternatively rather than renaming file extensions Celestia could maintain a 'dont load' list.
This would require more code changes rather than code additions.
Or how about an Enabled entry in each file? (Elegant but even more changes).
A feature for advanced users could be an extras directory switcher. ie a dialog that manipulates celstia.cfg. I have a fantasy and a real extras directory and do it manually.
It would be easy to test and try out as it could be developed and tested as a standalone application. Once fully working and given the thumbs up it could be inserted into celestia as a dialog.
File manipulation code would need to be kept OS independent of course.
Those are my ideas.
Any further comments on the best way to implement this?
Are there budding programmers that want to have a go at it?
Marc Griffith http://mostlyharmless.sf.net
I agree completely with Marc and I think that some kind of add-on management is actually required to being able to manage the very large number of very beautiful and interesting add-ons that continuously are created and updated by the Celestia Community.
But I think that is the time to implement something of much more flexible and powerful than the Marc suggestions. Some time ago I've posted some other threads related on the argument, other threads were posted by other people and also Chris was involved giving some answers.
I think that the most importan problem related to solving in an elegant way this issue is the availability of an internet centralized repository for the add-ons. Means an FTP server with adequate disk space and bandwidth. Obviously it must have a very low or none cost and so this is the REAL problem.
Having this shared repository should be relatively easy to implement an automated mechanism that should allow to Celestia (if an internet connection is available) to search itself for the available add-on. The list should be prompetd to the user. The more interesting ones should be downloaded directly in a local repository.
Having this local repository Celestia should manage it transparently to the user (no hand work on these folders). The user should develop new add-on in a work or temp directory and then when finished the user should tell to Celestia to add the new add-on in the local repository. Moreover having the correct rights should be possible to upload the add-on in the shared internet repository.
To allow to users to have the control over Add-ons in the local repository another feature should be implemented: the on-the fly add-on load/unload. With this feature the user should tell to Celestia to enable-disable the add-on at runtime choosing from the list of the ones present in the local repository and in the working directory.
In a futuristic scenario should be possibile to think to Celestia like to an antivirus with some kind of automatic update. The user should subscribe the automatic download and installation of a category of add-on to have always up-to date his Celestia version.
A particular category of add-on should be the system one. Those add-on should be the ones prepared direclty by the development team an that are necessary for the correct and minimal functioning of the software. So the distribution of new versions of Celestia should be extremely light. After the installation an automatic connection to the shared repository should download and installa the system add-ons to allow the standard functionalities.
Other minor features should be implemented to make all this stuff work properly like Add-on registration and multi add-on in a single ssc file. I will prepare a detailed description of the whole thing in my web site (soon I hope).
Bye - Paolo
But I think that is the time to implement something of much more flexible and powerful than the Marc suggestions. Some time ago I've posted some other threads related on the argument, other threads were posted by other people and also Chris was involved giving some answers.
I think that the most importan problem related to solving in an elegant way this issue is the availability of an internet centralized repository for the add-ons. Means an FTP server with adequate disk space and bandwidth. Obviously it must have a very low or none cost and so this is the REAL problem.
Having this shared repository should be relatively easy to implement an automated mechanism that should allow to Celestia (if an internet connection is available) to search itself for the available add-on. The list should be prompetd to the user. The more interesting ones should be downloaded directly in a local repository.
Having this local repository Celestia should manage it transparently to the user (no hand work on these folders). The user should develop new add-on in a work or temp directory and then when finished the user should tell to Celestia to add the new add-on in the local repository. Moreover having the correct rights should be possible to upload the add-on in the shared internet repository.
To allow to users to have the control over Add-ons in the local repository another feature should be implemented: the on-the fly add-on load/unload. With this feature the user should tell to Celestia to enable-disable the add-on at runtime choosing from the list of the ones present in the local repository and in the working directory.
In a futuristic scenario should be possibile to think to Celestia like to an antivirus with some kind of automatic update. The user should subscribe the automatic download and installation of a category of add-on to have always up-to date his Celestia version.
A particular category of add-on should be the system one. Those add-on should be the ones prepared direclty by the development team an that are necessary for the correct and minimal functioning of the software. So the distribution of new versions of Celestia should be extremely light. After the installation an automatic connection to the shared repository should download and installa the system add-ons to allow the standard functionalities.
Other minor features should be implemented to make all this stuff work properly like Add-on registration and multi add-on in a single ssc file. I will prepare a detailed description of the whole thing in my web site (soon I hope).
Bye - Paolo
Ok my previous post was long enough and you are tyred lo read this italianized English. But give me a little bit more attention.
Can you imagine what should be possible having all the stuff that I've described?
One of the amazing and most intriguing things that should be possible is Celestia meetings inside Celestia.
Imagine this scenario. Some kind of chat server are running on the internet. My computer should become a server itself (something like winmx-gnutella). I start Celestia and then it prompts me a list of the available server with the nicknames of the people in them. I choose one of the available servers. Celestia tells me that on that server there are some add-on that are not present on my PC. I tell Celestia to syncronize my PC with the server, so the required add on are automatically and transparently downloaded from shared repository. The proper ones are enabled/disabled. After syncronization I tell Celestia to enter the server. Celestia alignes the time, places me in the entry point on this server an then shows me the list of the people that is in. I should see their observers and talk with them in a chat mode.
Immagine mega meetings with houndres of people that should observe in place the most important celestial, astronomical and astronautical events in the real moment that will happen.
Or imagine a dialogue like this.
A) Hey Paolo what about a Celestia meeting tonight?
B) Something interesting?
A) There will be the flyby of the xxyyzz probe with the wwkkjjj moon at 11 pm GWT.
B) What is the server that will publish the event?
A) The hhhkkkwww.
B) Ok see you later.
A) Bye.
B) BTW have you problems if I will invite somebody else?
A) No problem for me everyone is wellcome.
Ok you think that I'm slightly mad and I like dreaming.
It's true I like dreaming.
But I've practically an infinite trust in the development team because all of this is hard but feasible. I'm sure that public source code for all of these features is available. So there is not lack of inspiration sources.
The only thing that is really missing is money to support an adequate server with adequate bandwidth. I've red somewhere that NASA is interested to Celestia. I guess that NASA has a lot of server with a veeeeery large bandwidth. Perhaps in a future not so far if somebody asks them, they will be happy to host freely in one of their server all of these nice things.
Bye - Paolo
Can you imagine what should be possible having all the stuff that I've described?
One of the amazing and most intriguing things that should be possible is Celestia meetings inside Celestia.
Imagine this scenario. Some kind of chat server are running on the internet. My computer should become a server itself (something like winmx-gnutella). I start Celestia and then it prompts me a list of the available server with the nicknames of the people in them. I choose one of the available servers. Celestia tells me that on that server there are some add-on that are not present on my PC. I tell Celestia to syncronize my PC with the server, so the required add on are automatically and transparently downloaded from shared repository. The proper ones are enabled/disabled. After syncronization I tell Celestia to enter the server. Celestia alignes the time, places me in the entry point on this server an then shows me the list of the people that is in. I should see their observers and talk with them in a chat mode.
Immagine mega meetings with houndres of people that should observe in place the most important celestial, astronomical and astronautical events in the real moment that will happen.
Or imagine a dialogue like this.
A) Hey Paolo what about a Celestia meeting tonight?
B) Something interesting?
A) There will be the flyby of the xxyyzz probe with the wwkkjjj moon at 11 pm GWT.
B) What is the server that will publish the event?
A) The hhhkkkwww.
B) Ok see you later.
A) Bye.
B) BTW have you problems if I will invite somebody else?
A) No problem for me everyone is wellcome.
Ok you think that I'm slightly mad and I like dreaming.
It's true I like dreaming.
But I've practically an infinite trust in the development team because all of this is hard but feasible. I'm sure that public source code for all of these features is available. So there is not lack of inspiration sources.
The only thing that is really missing is money to support an adequate server with adequate bandwidth. I've red somewhere that NASA is interested to Celestia. I guess that NASA has a lot of server with a veeeeery large bandwidth. Perhaps in a future not so far if somebody asks them, they will be happy to host freely in one of their server all of these nice things.
Bye - Paolo
-
Topic authormarc
- Posts: 426
- Joined: 13.03.2002
- With us: 22 years 8 months
- Location: Outback Australia
What your suggesting is extremely complex, your almost talking windows hotfix technology. Though it might make it a little easier for users to find and use addons it will make it much harder for the developers to create the addons.
In my opinion if a user does not have the skills to use a zip file and navigate directories then Celestia is probably too complex for them anyway.
All I am suggesting is a simple way to turn addons on/off and I wanted to discuss how best to implement this.
In my opinion if a user does not have the skills to use a zip file and navigate directories then Celestia is probably too complex for them anyway.
All I am suggesting is a simple way to turn addons on/off and I wanted to discuss how best to implement this.
Marc Griffith http://mostlyharmless.sf.net
marc wrote:What your suggesting is extremely complex, your almost talking windows hotfix technology. Though it might make it a little easier for users to find and use addons it will make it much harder for the developers to create the addons.
In my opinion if a user does not have the skills to use a zip file and navigate directories then Celestia is probably too complex for them anyway.
All I am suggesting is a simple way to turn addons on/off and I wanted to discuss how best to implement this.
I like both ideas, and dont see why one can't be a stepping stone to the other.
A small prog can be built to select and rename the addons as marc sujjests then after success launches celestia. then in the development of the prog all together the developers could think about what paolo dreams. They could start with auto updates in one release, this would only update the main sw and only if the user approves of it! in later versions it would integrate the add-on manager and it's online repository. and in an even later version the online communication facilities.
I am in agreement with a fleeting coward.
More important, necessary (and easier to implement) improvements (like an “add-on manager”) should be integrated in the near future, while more advanced features can be added over time, when possible.
I think it would be a good idea if Celestia had a add-on manager with a “profile” configuration where users could “Add”, ”Edit” or ”Remove” multiple profiles.
Under each profile the user can select, from a list of add-ons that Celestia detects, which add-on(s) that are to be loaded by Celestia at start-up. Other options could be included (the option of an alternative start script is one small example that comes to mind). One could easily and quickly run Celestia in any realistic or fantasy configuration with any combination of add-ons, as desired.
The user should not have to rename anything. Celestia should ignore any unselected add-ons and follow any other configuration for the currently chosen profile.
If possible, Celestia could start with a dialogue that allows the user to select a profile from a list. Some users may prefer Celestia to start without a dialogue and to just load a default profile, and then make changes, when wanted, through the configuration dialogue at runtime. The profile configuration would have a “Set as default” button to (obviously) set the currently selected profile as the default. The start-up dialogue could possibly be included with the user having the option of enabling or disabling it, Celestia then loading the default profile when it is disabled.
Another idea would be to use command line parameters to run Celestia with any saved profile. The user could then have a shortcut for each profile.
I don’t know if it is easy to implement, but possibly there could be an option in the profile configuration dialogues to automatically create a new shortcut for newly saved profiles.
I had another idea that should make it a lot easier to find (in Celestia) and appreciate a multitude of add-ons for spacecraft, comets and other bodies of interest. Many of these (in a realistic simulation of the universe) only exist for a relatively short period of time and/or take part in an event (or multiple events) of some interest.
So, I thought it would be really useful to have a more advanced version of Celestia’s “Tour Guide”.
As I don’t have a great amount of programming knowledge, I wouldn’t know how difficult this idea would be to implement, but I believe that the add-ons themselves might only need a few extra entries in their .ssc files. Celestia would read these entries in addition to the entries in ‘guide.cel’.
They would need string entries for their titles and description, and entries for the dates (and possibly the exact time??) of any notable events. Possibly a description for each event could also be included.
For example, say we wanted to take look at a hypothetical spacecraft “X” in Celestia. We would bring up the tour guide dialogue and click on the entry for “X”. Below the title box would be displayed the description saying something like: “The X probe was launched in 19xx to send back pictures of planet A, B and C.”
Below this description, on the left, would be a list-box where any event dates found in the add-on’s entries will be listed. When clicking on and selecting a date, the corresponding description of the event relating to craft “X” on that date would be displayed in the space on the right.
There could be an entry for the event of the craft being deployed, entries for each flyby of the planets it visited and even a final event/date entry for the last know co-ordinates for the craft, whether it was lost out to space, crashed or landed.
We could (back to the example) click on the second event/date listed for craft “X” and see a description such as “Craft X arrived at planet A, passing at a range of z km and successfully sent back pictures.”
To top it off, a handy button should be included in the dialogue that, once a event/date entry has been selected, will set Celestia’s time and take you to the relevant object (like the eclipse finder’s “Set date and go to planet” – maybe this one will just be called “Set date and go to …” ???).
So, (in the example) we would click on “Set date and go to…” and there we’ll be, taking in the view as craft X passes planet A.
Should you want to watch the craft’s whole flight, we just select the first entry(for launch/deployment etc), click “Set date and go to…” and speed up time as you wish.
I imagine that celestial bodies or objects that have no notable events, and hence no event entries, could possibly still be included in the same dialogue. The events list would be empty, but possibly the “Set date an go to…” button could be made to work as just a “Go to” button for those cases. The main description field will still describe the interesting features of the object.
More important, necessary (and easier to implement) improvements (like an “add-on manager”) should be integrated in the near future, while more advanced features can be added over time, when possible.
I think it would be a good idea if Celestia had a add-on manager with a “profile” configuration where users could “Add”, ”Edit” or ”Remove” multiple profiles.
Under each profile the user can select, from a list of add-ons that Celestia detects, which add-on(s) that are to be loaded by Celestia at start-up. Other options could be included (the option of an alternative start script is one small example that comes to mind). One could easily and quickly run Celestia in any realistic or fantasy configuration with any combination of add-ons, as desired.
The user should not have to rename anything. Celestia should ignore any unselected add-ons and follow any other configuration for the currently chosen profile.
If possible, Celestia could start with a dialogue that allows the user to select a profile from a list. Some users may prefer Celestia to start without a dialogue and to just load a default profile, and then make changes, when wanted, through the configuration dialogue at runtime. The profile configuration would have a “Set as default” button to (obviously) set the currently selected profile as the default. The start-up dialogue could possibly be included with the user having the option of enabling or disabling it, Celestia then loading the default profile when it is disabled.
Another idea would be to use command line parameters to run Celestia with any saved profile. The user could then have a shortcut for each profile.
I don’t know if it is easy to implement, but possibly there could be an option in the profile configuration dialogues to automatically create a new shortcut for newly saved profiles.
I had another idea that should make it a lot easier to find (in Celestia) and appreciate a multitude of add-ons for spacecraft, comets and other bodies of interest. Many of these (in a realistic simulation of the universe) only exist for a relatively short period of time and/or take part in an event (or multiple events) of some interest.
So, I thought it would be really useful to have a more advanced version of Celestia’s “Tour Guide”.
As I don’t have a great amount of programming knowledge, I wouldn’t know how difficult this idea would be to implement, but I believe that the add-ons themselves might only need a few extra entries in their .ssc files. Celestia would read these entries in addition to the entries in ‘guide.cel’.
They would need string entries for their titles and description, and entries for the dates (and possibly the exact time??) of any notable events. Possibly a description for each event could also be included.
For example, say we wanted to take look at a hypothetical spacecraft “X” in Celestia. We would bring up the tour guide dialogue and click on the entry for “X”. Below the title box would be displayed the description saying something like: “The X probe was launched in 19xx to send back pictures of planet A, B and C.”
Below this description, on the left, would be a list-box where any event dates found in the add-on’s entries will be listed. When clicking on and selecting a date, the corresponding description of the event relating to craft “X” on that date would be displayed in the space on the right.
There could be an entry for the event of the craft being deployed, entries for each flyby of the planets it visited and even a final event/date entry for the last know co-ordinates for the craft, whether it was lost out to space, crashed or landed.
We could (back to the example) click on the second event/date listed for craft “X” and see a description such as “Craft X arrived at planet A, passing at a range of z km and successfully sent back pictures.”
To top it off, a handy button should be included in the dialogue that, once a event/date entry has been selected, will set Celestia’s time and take you to the relevant object (like the eclipse finder’s “Set date and go to planet” – maybe this one will just be called “Set date and go to …” ???).
So, (in the example) we would click on “Set date and go to…” and there we’ll be, taking in the view as craft X passes planet A.
Should you want to watch the craft’s whole flight, we just select the first entry(for launch/deployment etc), click “Set date and go to…” and speed up time as you wish.
I imagine that celestial bodies or objects that have no notable events, and hence no event entries, could possibly still be included in the same dialogue. The events list would be empty, but possibly the “Set date an go to…” button could be made to work as just a “Go to” button for those cases. The main description field will still describe the interesting features of the object.
At the end finally I was able to find the time to update my website.
I've added a new group of Feature requests related to add-on management.
If you want to subscribe you can send me an e-mail or a post on this thread.
To Guest.
Please identify yourself with a nickname so I will be able to report it in the subscriber section of your suggested feature requests.
Bye - Paolo
I've added a new group of Feature requests related to add-on management.
If you want to subscribe you can send me an e-mail or a post on this thread.
To Guest.
Please identify yourself with a nickname so I will be able to report it in the subscriber section of your suggested feature requests.
Bye - Paolo
Thierry_d,
I trust you're being jocular, since it has been well publicised.
If you really didn't know, however, you might take a look at
http://learn.arc.nasa.gov/exp/index.html and
http://learn.arc.nasa.gov/planets/index.html
which has undergone some major changes recently.
I trust you're being jocular, since it has been well publicised.
If you really didn't know, however, you might take a look at
http://learn.arc.nasa.gov/exp/index.html and
http://learn.arc.nasa.gov/planets/index.html
which has undergone some major changes recently.
Selden
-
- Posts: 1034
- Joined: 16.12.2002
- With us: 21 years 11 months
- Location: People's Republic Of Cork, Ireland
-
- Posts: 1034
- Joined: 16.12.2002
- With us: 21 years 11 months
- Location: People's Republic Of Cork, Ireland
-
- Posts: 1034
- Joined: 16.12.2002
- With us: 21 years 11 months
- Location: People's Republic Of Cork, Ireland
Ahmm guys,
what is now the matter with an addon manager? I just started using the programm and made the "error" of downloading a lot of addons. Now i have a hard time finding that what i want and i have gone back to Celestia basic with just some Solar addons.
It would be really great if Celestia would get something like an extra menuitem Addon Manager, where you could check or uncheck the addons you want to run this time. It doesn't have to do anything else, at least for the time being. Perhaps just reading the name of the .ssc and other files and prompting them in the manager for selection?
Is there going to be something like that in the near future?
Otherwise Celestia is really good!
what is now the matter with an addon manager? I just started using the programm and made the "error" of downloading a lot of addons. Now i have a hard time finding that what i want and i have gone back to Celestia basic with just some Solar addons.
It would be really great if Celestia would get something like an extra menuitem Addon Manager, where you could check or uncheck the addons you want to run this time. It doesn't have to do anything else, at least for the time being. Perhaps just reading the name of the .ssc and other files and prompting them in the manager for selection?
Is there going to be something like that in the near future?
Otherwise Celestia is really good!
Matlaf,
Unfortunately, the people who were discussing the addon manager have been distracted by other things.
My personal guess is that it would be a separate program, not directly integrated into Celestia, although there are sure to be ways that Celestia could invoke it.
For details, point your Usenet NewsReader (one is included in most mail readers) to
news://celestia.teyssier.org/
Unfortunately, the people who were discussing the addon manager have been distracted by other things.
My personal guess is that it would be a separate program, not directly integrated into Celestia, although there are sure to be ways that Celestia could invoke it.
For details, point your Usenet NewsReader (one is included in most mail readers) to
news://celestia.teyssier.org/
Selden
Add-on manager
I am getting really excited that there is some confluence about the add-ons manager. I have been dreaming about it for a while now, but the momentum seems to really ebb and flow about this thing.
Above all, I want to emphasize that I think it's a good idea to work up to the wild ideas everyone has by small steps. I think there are two first steps to creating a fully automated downloader and manager, the first is creating the type of capability that marc was orginally talking about - a component that switches your objects on and off for you based on the ones you have alreaded downloaded. After this it should be a simple matter to have Celestia sync whatver add-ons are on the server with the ones your local folder.
The other first step is just to find out all of the add-ons we have available for this program. In regard to this, see my forthcoming post in the Users forum.
So, I would propose that whoever starts on this project come up with a concept that works just the way marc suggested and then we can add functionality from there. As always, what do people think?
Above all, I want to emphasize that I think it's a good idea to work up to the wild ideas everyone has by small steps. I think there are two first steps to creating a fully automated downloader and manager, the first is creating the type of capability that marc was orginally talking about - a component that switches your objects on and off for you based on the ones you have alreaded downloaded. After this it should be a simple matter to have Celestia sync whatver add-ons are on the server with the ones your local folder.
The other first step is just to find out all of the add-ons we have available for this program. In regard to this, see my forthcoming post in the Users forum.
So, I would propose that whoever starts on this project come up with a concept that works just the way marc suggested and then we can add functionality from there. As always, what do people think?
First of all, I'd like to say it is nice to see some additional folks interested in the add-on manager idea. Thank you!
The main "problem", as discussed in the newsgroup Selden pointed to, is that the older versions of Celestia did not use an "extras" sub-directory, like recent versions do. What happened, was that folks distributed add-ons that required the user to unzip or manually add files into multiple *existing* Celestia directories (data, textures/lores, textures/medres, textures/hires, models, etc.). These older add-ons are thus highly UNmanageable, without drastically slowing down Celestia's initial load-time, due to reading and parsing a LOT of add-on files.
Thus, it was decided that the first step was to create a "format" that add-ons would need to adhere to, in order to allow Celestia (or any external program) to "manage" them in any way. This format will use the "extras" sub-directory, which allows for easy add-on management.
The second step is to create a web site that allows add-on creators to join and upload their add-ons, and for downloaders to be able to view the add-ons that have been submitted in this prescribed format.
In addition, Celestia must be enhanced to allow the dynamic modification of it's "base" data files, so the user does not have to manually modify these files for add-on purposes. This has not been implemented yet.
This is where the project currently rests. For all the details, please read through the newsgroup postings.
The main "problem", as discussed in the newsgroup Selden pointed to, is that the older versions of Celestia did not use an "extras" sub-directory, like recent versions do. What happened, was that folks distributed add-ons that required the user to unzip or manually add files into multiple *existing* Celestia directories (data, textures/lores, textures/medres, textures/hires, models, etc.). These older add-ons are thus highly UNmanageable, without drastically slowing down Celestia's initial load-time, due to reading and parsing a LOT of add-on files.
Thus, it was decided that the first step was to create a "format" that add-ons would need to adhere to, in order to allow Celestia (or any external program) to "manage" them in any way. This format will use the "extras" sub-directory, which allows for easy add-on management.
The second step is to create a web site that allows add-on creators to join and upload their add-ons, and for downloaders to be able to view the add-ons that have been submitted in this prescribed format.
In addition, Celestia must be enhanced to allow the dynamic modification of it's "base" data files, so the user does not have to manually modify these files for add-on purposes. This has not been implemented yet.
This is where the project currently rests. For all the details, please read through the newsgroup postings.
-Don G.
My Celestia Scripting Resources page
Avatar: Total Lunar Eclipse from our back yard, Oct 2004. Panasonic FZ1 digital camera (no telescope), 36X digital zoom, 8 second exposure at f6.5.
My Celestia Scripting Resources page
Avatar: Total Lunar Eclipse from our back yard, Oct 2004. Panasonic FZ1 digital camera (no telescope), 36X digital zoom, 8 second exposure at f6.5.
Hi Don,
Thanks for the clarification. I think I understand the problems a little more clearly now. I am not sure if you are suggesting that we need to maintain backward compatibilty with older versions of Celestia. If you are, I am not sure I understand the reason. In fact, whatever scheme is devised would probably not even be compatible with v1.3.1 or 1.3.2. I don't think any new versions of Celestia would make old computers obsolete and its not even hard to upgrade, so I don't see this as a problem.
Would something like the following solve the problem?
In the extras directory, there is one folder for each add-on. Inside this folder is one file of the same name as the folder with a certain extension that caries all the info for that add-on that can easily expressed in text, as opposed to images and models. If the add-on includes images or models, as most will, the file will point to an image or 3ds file in the same folder. On launch, Celestia looks in each folder for the "master data" file type, reads it, loads whatever other files it points to and brings up a menu with all the add-ons that it has correctly found. You can then enable or disable them, and Celestia will proceed just as it does now. At any time, you can bring up the menu, enable or disable some of the add-ons, and then effectively, re-launch celestia. All Celestia has to do on the web is go to the online repository, read the names of the available zipped add-ons, compare that with the names of the folders and let you download any zip file that it doesn't have in the local folder. It just ftp's the zip file and then unzips it in the extras direcory.
So, is this too hard to code , too processor intensive, just silly? It seems simple to me when I think about it but if I know one thing from interacting with other peopele, it's that two rational people can have wildly divergent ideas of what's simple and what's incomprehensible.
Joe
Thanks for the clarification. I think I understand the problems a little more clearly now. I am not sure if you are suggesting that we need to maintain backward compatibilty with older versions of Celestia. If you are, I am not sure I understand the reason. In fact, whatever scheme is devised would probably not even be compatible with v1.3.1 or 1.3.2. I don't think any new versions of Celestia would make old computers obsolete and its not even hard to upgrade, so I don't see this as a problem.
Would something like the following solve the problem?
In the extras directory, there is one folder for each add-on. Inside this folder is one file of the same name as the folder with a certain extension that caries all the info for that add-on that can easily expressed in text, as opposed to images and models. If the add-on includes images or models, as most will, the file will point to an image or 3ds file in the same folder. On launch, Celestia looks in each folder for the "master data" file type, reads it, loads whatever other files it points to and brings up a menu with all the add-ons that it has correctly found. You can then enable or disable them, and Celestia will proceed just as it does now. At any time, you can bring up the menu, enable or disable some of the add-ons, and then effectively, re-launch celestia. All Celestia has to do on the web is go to the online repository, read the names of the available zipped add-ons, compare that with the names of the folders and let you download any zip file that it doesn't have in the local folder. It just ftp's the zip file and then unzips it in the extras direcory.
So, is this too hard to code , too processor intensive, just silly? It seems simple to me when I think about it but if I know one thing from interacting with other peopele, it's that two rational people can have wildly divergent ideas of what's simple and what's incomprehensible.
Joe