Recent

Author Topic: Online Package Manager  (Read 836271 times)

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4459
  • I like bugs.
Re: Online Package Manager
« Reply #480 on: December 09, 2016, 11:11:39 am »
The last missing, major feature is the voting system. Some of the reply on this thread suggest, that rating packages would be beneficial. What do you think about this?
My thoughts:
  - each package can have from 1 to 5 starts
  - a user can vote only once/package(we need a login system for this, it can be used later to directly update the main repository)
1 to 5 stars I guess. Sounds good.
Earlier you wrote that this forum user account could be used for authentication. Is it still the plan?
In any case you must discuss with the server admin about this SW and its needs.

Quote
  - a vote can be later edited/modified
  - OPM will display an avarage for each package
A good point, a user must be able to change his vote as the package improves or his opinion changes.
The average must show decimal stars.

- does the package install correctly or are there any issues encountered
- does the package work/compile for specific targets or only for some of them
- is the package well maintained or does it take ages for reported bugs to be fixed
- etc.

The idea behind that, was that anyone can offer his/her package but users are able to provide information about the package so that good well written packages/components have perhaps a better chance to get integrated into ccr or similar (simply because they get noticed)
A comment, together with the rating, should be supported. There a user can explain his reasoning.
No, packages don't need to be "integrated into ccr". CCR is just one hosting place among others.
Through voting/rating a new user gets an idea of a package's quality. Other classification like supported platforms is already done by its author.
Remember, a package can be single-platform by definition, for example some MS Office OLE-automation package.
« Last Edit: December 09, 2016, 11:14:32 am by JuhaManninen »
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

minesadorada

  • Sr. Member
  • ****
  • Posts: 452
  • Retired
Re: Online Package Manager
« Reply #481 on: December 09, 2016, 11:32:02 am »
It would be useful if awarding stars meant the same thing for everyone:
i.e.
1 = Unuseable. Buggy and/or obselete
2 = Compiles/Installs, but has many unfixed bugs
3 = OK, but poor support for fixes and/or updates
4 = OK, but unsuitable for production
5 = Perfection!
GPL Apps: Health MonitorRetro Ski Run
OnlinePackageManager Components: LazAutoUpdate, LongTimer, PoweredBy, ScrollText, PlaySound, CryptINI

molly

  • Hero Member
  • *****
  • Posts: 2330
Re: Online Package Manager
« Reply #482 on: December 09, 2016, 12:16:06 pm »
Remember, a package can be single-platform by definition, for example some MS Office OLE-automation package.
Of course. I tried to cover that in my writings but apparently that didn't came across as such   :-[

lainz

  • Hero Member
  • *****
  • Posts: 4460
    • https://lainz.github.io/
Re: Online Package Manager
« Reply #483 on: December 09, 2016, 01:06:20 pm »
Hi GetMem, I've updated the external json of bgracontrols and bgracontrolsfx with the changes minesadorada made to the editor (InternalVersion).

minesadorada

  • Sr. Member
  • ****
  • Posts: 452
  • Retired
Re: Online Package Manager
« Reply #484 on: December 09, 2016, 02:49:18 pm »
Hi GetMem, I've updated the external json of bgracontrols and bgracontrolsfx with the changes minesadorada made to the editor (InternalVersion).
Update CryptINI jsons also updated (including cryptini_force.json, with InternalVersion > 1)
GPL Apps: Health MonitorRetro Ski Run
OnlinePackageManager Components: LazAutoUpdate, LongTimer, PoweredBy, ScrollText, PlaySound, CryptINI

Rayvenhaus

  • Jr. Member
  • **
  • Posts: 70
Re: Online Package Manager
« Reply #485 on: December 09, 2016, 04:44:33 pm »
I'm curious. Why does the Online Package Manager show me that a version is out of date, but says that it is up to date?  As shown in the attached image, it shows me that bgrabitmappack, Installed Version is 9.2.1.0 and the repository version is 9.2.3.0, yet states that the package is up to date.


balazsszekely

  • Guest
Re: Online Package Manager
« Reply #486 on: December 09, 2016, 04:59:39 pm »
@All
Thanks for the feedback. I will try two answer as soon as possible.

@Rayvenhaus
It's a bug. I will fix it soon.

minesadorada

  • Sr. Member
  • ****
  • Posts: 452
  • Retired
Re: Online Package Manager
« Reply #487 on: December 10, 2016, 09:58:43 am »
Added a Linux distribution to the compiled OPM Update jsonpackager (V0.1.19):

Zipfile of 32bit + 64-bit Linux versions
https://sourceforge.net/projects/lazautoupdate/files/otherpackages/linux_jsonpackager.zip/download

Windows 32/64-bit setup
https://sourceforge.net/projects/lazautoupdate/files/otherpackages/setup_jsoneditor.exe/download

Only the executable is needed and it can be located in any writable directory as all resources are bundled within.
« Last Edit: December 10, 2016, 10:04:09 am by minesadorada »
GPL Apps: Health MonitorRetro Ski Run
OnlinePackageManager Components: LazAutoUpdate, LongTimer, PoweredBy, ScrollText, PlaySound, CryptINI

minesadorada

  • Sr. Member
  • ****
  • Posts: 452
  • Retired
Re: Online Package Manager
« Reply #488 on: December 10, 2016, 11:09:27 am »
@GetMem - a suggestion

As part of the update/maintenance mechanism I'd like an extra field to temporarily disable users downloading the component (or better still make it invisible in OPM) Perhaps DisableInOPM=True/False? (default=false)

There's an entirely selfish reason for this, though I suspect the same situation may happen to other package maintainers in the future.

I have a component (LazAutoUpdate) that has become dysfunctional due to updated SourceForge download protocols, and another (PoweredBy) that has been adversely affected by recent changes to Lazarus trunk.

I'd like to update them both, but don't want users to download the 'old' versions until they are fixed, so in my update json I'd like to set DisableInOPM=True whilst I change and test them.  Once stable, I can set DisableInOPM=False and the component once again becomes available for users.

I think this would be a useful addition to the update spec - especially if a voting system is implemented, whereby an unfixed component could possibly be voted down whilst the maintainer is in the process of fixing it.

Is this possible?
« Last Edit: December 10, 2016, 11:19:50 am by minesadorada »
GPL Apps: Health MonitorRetro Ski Run
OnlinePackageManager Components: LazAutoUpdate, LongTimer, PoweredBy, ScrollText, PlaySound, CryptINI

balazsszekely

  • Guest
Re: Online Package Manager
« Reply #489 on: December 10, 2016, 04:37:48 pm »
First of all sorry for the delay, I was very busy lately. I just commited the latest version of OPM, I believe the update feature now is fully functional(may contain a few bug though). I had to change the structure of the JSON one more time, but this is the last change(I promise). You can generate the JSON with OPM(see screenshot). The structure looks like this:
Quote
{
  "UpdatePackageData" : {
    "DownloadZipURL" : "",
    "Name" : "bgracontrols-master"
  },
  "UpdatePackageFiles" : [
    {
      "ForceNotify" : true,
      "InternalVersion" : 1,
      "Name" : "bgracontrols.lpk",
      "Version" : "4.3.1.0"
    },
    {
      "ForceNotify" : true,
      "InternalVersion" : 1,
      "Name" : "bgrapascalscriptcomponent.lpk",
      "Version" : "0.0.0.0"
    }
  ]
}
It make sense that each package has it's own ForceNotify, maybe the package maintainers only wants to update one of them not both.

@minesadorada
Please update your project, if you don't have time I will do it later. Again sorry for the inconvenience. Please also regenerate the json's for all your packages and send me links. Thanks.
Quote
As part of the update/maintenance mechanism I'd like an extra field to temporarily disable users downloading the component (or better still make it invisible in OPM) Perhaps DisableInOPM=True/False? (default=false)
Just rename the JSON temporary, OPM will reset every update data, like there is no update. I tested this a few times, works well.

@lainz
Please do the same for all your packages. I will update the main json today, so we can run a few tests. Thanks.

@Rayvenhaus
I fixed the bug. Please update to the latest version.
« Last Edit: December 10, 2016, 04:46:13 pm by GetMem »

lainz

  • Hero Member
  • *****
  • Posts: 4460
    • https://lainz.github.io/
Re: Online Package Manager
« Reply #490 on: December 10, 2016, 04:59:16 pm »
I updated both bgracontrols and bgracontrolsfx but seems that doesn't works "No valid download link found". You already implemented that? Also I'm not sure if the link must be like
Quote
https:\/\/github.com\/bgrabitmap\/bgracontrols\/archive\/master.zip
or like
Quote
https://github.com/bgrabitmap/bgracontrols/archive/master.zip

LuizAmérico

  • Sr. Member
  • ****
  • Posts: 457
Re: Online Package Manager
« Reply #491 on: December 10, 2016, 05:07:25 pm »
Quote
Also I'm not sure if the link must be like

Both are right see discussion: http://bugs.freepascal.org/view.php?id=30870

balazsszekely

  • Guest
Re: Online Package Manager
« Reply #492 on: December 10, 2016, 06:30:12 pm »
As @Luiz said both are valid. I choosed the second one, because it's more easy to edit with a text editor. Let me check what is wrong.

lainz

  • Hero Member
  • *****
  • Posts: 4460
    • https://lainz.github.io/
Re: Online Package Manager
« Reply #493 on: December 10, 2016, 07:13:56 pm »
As @Luiz said both are valid. I choosed the second one, because it's more easy to edit with a text editor. Let me check what is wrong.

Done, I've changed it to the second style. Maybe related with HTTPS? There's no need of dll's to download from secure sites?

Edit: can't be https, because it says is a problem in the URL, also it downloads the json, else it will not know that there's a new version. BTW I keep the second question, wich package you use to download from secure sites with no need of extra dll's?
« Last Edit: December 10, 2016, 07:16:47 pm by lainz »

balazsszekely

  • Guest
Re: Online Package Manager
« Reply #494 on: December 10, 2016, 07:44:18 pm »
It was a stupid mistake of mine. I left a "/" in a wrong please. I spent half an hour debugging the code.  :-[
Anyway please update to trunk then try again. Wait 1-2 min. until the url's are updated with the correct values. You can also delete the config file for updates, just to make sure:
   C:\Users\%user%\AppData\Local\lazarus\onlinepackagemanager\config\updates.xml
After the update is done, please increment the InternalVersion value, then test if OPM displays the "NEW" value.

PS: I did noticed that sometimes files on github cannot be downloaded. FPHTTPClient returns an error, but if I try to download again everything works fine. This has nothing to do with the above issue, which was clearly a bug.
« Last Edit: December 10, 2016, 07:46:45 pm by GetMem »

 

TinyPortal © 2005-2018