[jokosher-devel] Managing extensions



I've started to look into the 'Manage Extensions' option in the extensions menu and have a few questions on how extensions will be deployed/installed.

At the minute all the extensions we have are in a single directory. Some of them consist of more than one file (typically a .py and a .glade for instance). Some are a single .py. Freesound search has more than one .py file. When jokosher loads the extensions it retrieves a list of all .py files and executes the startup() function (if one exists). If we allow extensions to span multiple .py files then this causes a couple of problems. Firstly only one file will contain the startup function and jokosher needs a method of determining which it is. Secondly as we add more and more extensions with multiple files then eventually there will be a clash of names. Perhaps we need to organise each extension within its own subdirectory. Or we could just compel extensions to be contained within a single module but this seems a bit restrictive to me.

How will the extensions be packaged? A simple extension consisting of a single .py file is one thing but how will we package up multiple file extensions. There is mention in the wiki of eggs about which I know nothing I'm afraid. Are there ubuntu packages for it? The site pointed to only seems to have source tarballs. We could also accept .tar.gz and .zip files.

I think it would be helpful if extensions had a narrative that described their purpose briefly in one line so that the manager can display it in the list of installed extensions. (I'm thinking similar to firefox extensions here.) Of course you can only uninstall user extensions. Should you also be allowed to install a user extension with the same name as a system one? The user one would override the system one.

--
John



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]