TJSONStringType is an UTF8String in trunk.
Suggestion #1: Making the packages-list more compact. Only expanding when choosing the +
Suggestion #2: Putting the "Online Package Manager" above the "Install/Uninstall packages". I'm very used to be "Install" being the last in that menu Although, if this becomes the standard the position at the bottom might be preferred.
Question: What packages will be provided in the end.
Will the lazarus-ccr packages/components be added?
I would assume this would be the case. That way, a package author only needs to publicize the URL of the package zip. The user types/pastes this URL into the package manager, which does the rest.I would use a separate .zip for each package. And each .zip would contain its own JSON file for the package. Put a master list of packages elsewhere.
Every package will be accepted in the official repository with one condition, it must be checked first. I will do the work if necessary.
I was hopping that the official repository can be hosted in one of the freepascal.org directory(see fppkg). For now @Leledumbo was kind enough to host the repository on his personal server.
The best approach seems to be whan Delphinus does on Github. Everything is hosted there. Delphinus use the Github API to detect new packages and automatically present those in the IDE.
I plan to add support for external zip files/repositories, but this is a dangerous game(my only problem with delphinus + the fact, that it force you to use github). The package manager will automatically download/extract the zip, then install it into the IDE. It's a great way to inject a malware into someone's computer. This is why I insist to have an official repository, where the packages can be checked(malware wise + legally as @Phil mentioned). On the other hand, forcing the developers to use only the packages from the official repository it's also wrong, but they must use it at their own risk.
(1) Package must have a proper license. If it's the same as LCL or FPC RTL, just state so or point to the FPC modified LGPL doc files. If it's something else, anything, just have a link to it (Eclipse, BSD, etc.). The only thing unacceptable might be if nothing is specified in the JSON file. By clearly stating what license is used, the user of the package manager can decide beforehand whether that's even a package they're interested in.
(2) If the package depends on LCL (ie, has LCL under RequiredPgks in .lpk file), then it must specify what LCL interfaces it has been tested against. I typically test against Carbon, Win32, GTK2 at a minimum so that I can legitimately say that the package is cross-platform.
@JuhaIt means your JSON config must support an external URL. It should be a trivial change (ok, I write this without testing your code yet).
It means a package author can make the required ZIP file in his repository and ask you to add it to the list. Files don't need to be copied anywhere.
...Do SourceForge etc. allow direct download links for files? I think they do. I remember you claimed the opposite. I must study the issue.
@minesadoradaYes, LazAutoUpdate uses direct downloads from Sourceforge.
Ok, and what if another user decide to download and install the the package form the list? The package manager will do it automatically, without any sanity check. This might lead to problems.
As an initial step we should make an official repository. I can include a few hundred packages from different location(lazarus ccr, etc...). I think it's more then enough for a start. After that we can add other dependencies/install method and whatnot. We should keep it simple.
Quote from: lainz on October 06, 2016, 04:00:26 pmLicense: LGPLI read that to mean that it does not include the linking exception that LCL and FPC RTL have. If it does, it needs to include that here.
And a suggestion, it should be downloaded himself to get updates of this package manager, not sure if possible but it's something that will be nice.And show the version number of the package manager somewhere in the window.
Hi GetMem, I'm testing it and works nicely.
You can add BGRA-Controls package?
Package type and Dependencies: You get them automatically right?
And a suggestion, it should be downloaded himself to get updates of this package manager, not sure if possible but it's something that will be nice
@GroffyAs soon there will be more registered packages, it might be helpfull to introduce categories(?)