Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Package Browser could usefully show unloaded packages on disk #219

Open
blairmcg opened this issue Jul 4, 2016 · 6 comments
Open

Package Browser could usefully show unloaded packages on disk #219

blairmcg opened this issue Jul 4, 2016 · 6 comments

Comments

@blairmcg
Copy link
Contributor

blairmcg commented Jul 4, 2016

The package browser currently shows only loaded packages. A useful enhancement would be to also represent the unloaded packages on disk in the folder hierarchy beneath the image, and offer appropriate operations on these such as loaded them. This would make it much easier to find and load packages that are not installed by default.

@objectarts
Copy link
Collaborator

Funnily enough, I gave a Dolphin source code control demo yesterday and this was one of the comments/suggestions that came up.

@fxgallego
Copy link
Contributor

As I user I'd like to have also a list of package categories because there are a lot of packages and it's a little tedious to look at each pac looking for something in particular. Also new users are not aware of all the code and where to look for specific things.

We can add a category or tags attribute to the packages but this forces us to read and compile before we can categorize. Another option is to look for a specific file, e.g. pacattributes.ini, with info related to the package. If you think that's a good idea I could do this together with #21

Bonus: Add the option/tool to clone Contributions with its submodules if not found

@blairmcg
Copy link
Contributor Author

Yes; originally the package folder hierarchy was adequate, but probably stopped being so some time ago. I don't think it would be unreasonable to attach additional metadata to the package. This can be read without actually loading the package. Package class>>fromFile: will read the metadata section of the .pax/.pac file. It is stored in chunk format that is piped through the compiler for evaluation to set up the package object, so could theoretically have side effects. Normally it wouldn't, but it could have malicious content so there is a potential security issue if scanning packages from untrusted locations without a deliberate decision from the user. A purely declarative form would be better of course.

PackageManager>>loadPackage: aString 
	"Private - Answer the Package object stored in the package file at the specified path. Note that the
	loaded package's contents are NOT loaded and the package is NOT inserted into the receiver's
	collection of packages at this stage."

	^Package fromFile: aString

@brickviking
Copy link
Contributor

Could you perhaps have a PackageManager>>loadDescription: aString method? Sorry I'm late to the party on this one. That way you could reserve the "loadPackage:" for actually loading the Pac/pax, and use the loadDescription: for grabbing what useful data you need without otherwise loading the package classes or methods.

Just my NZ$0.02

@KjellEGodo
Copy link

i would like to be able to swap out version V1 of Package P and swap in a different version V2 of Package
P without it insisting that P can't be unloaded because other Packages are depending on P . When this
happened many years ago maybe more than 10 years ago i thought : Well . That's one hell of a way to run
a railroad . For a time i had a script that would load everything into a virgin image every time i started
Dolphin . i guess that is the way to get around the lack of this feature . That is the way to live without it.

@blairmcg
Copy link
Contributor Author

See also #1083, which has some related ideas

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants