Recent

Author Topic: Online Package Manager  (Read 836305 times)

balazsszekely

  • Guest
Re: Online Package Manager
« Reply #300 on: November 24, 2016, 10:33:27 am »
@minesadorada
For now the OPM only shows the version available in the main repository. Currently we try to figure it out, what would be the best approach for updates located at the developers site(see my previous post #295).

Josh

  • Hero Member
  • *****
  • Posts: 1271
Re: Online Package Manager
« Reply #301 on: November 24, 2016, 11:02:47 am »
Hi Getmem,

Just curious how the updater will look and how hard it will be navigate when 100's of packages get added?

Would a collapseable tree structure be needed; where the primary list is category; this may also make navigation easier and also possibly adding in a submitters package description as the displayed name.
ie
Graphics Libraries
   BGRABitmap ( Cross platform graphics and Image Manipulations Routines, Including GL)
Visual Controls
  BGRAControls (Requires BGRABitmap, Blah Blah Blah)
   Eye Candy (Track Bars, Buttons etc)
   ueControls (Requires BGRABITMAP, LED, visual knobs blah blah blah)

Networking Libraries
  Synapse (cross platform routines for email ftp etc.....)

The best way to get accurate information on the forum is to post something wrong and wait for corrections.

minesadorada

  • Sr. Member
  • ****
  • Posts: 452
  • Retired
Re: Online Package Manager
« Reply #302 on: November 24, 2016, 11:41:35 am »
@minesadorada
For now the OPM only shows the version available in the main repository. Currently we try to figure it out, what would be the best approach for updates located at the developers site(see my previous post #295).
Any comments on mu post#285 as a viable system?  It would have picked up my update without you having to do anything.
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 #303 on: November 24, 2016, 11:46:39 am »
Hi Getmem,

Just curious how the updater will look and how hard it will be navigate when 100's of packages get added?

Would a collapseable tree structure be needed; where the primary list is category; this may also make navigation easier and also possibly adding in a submitters package description as the displayed name.
ie
Graphics Libraries
   BGRABitmap ( Cross platform graphics and Image Manipulations Routines, Including GL)
Visual Controls
  BGRAControls (Requires BGRABitmap, Blah Blah Blah)
   Eye Candy (Track Bars, Buttons etc)
   ueControls (Requires BGRABITMAP, LED, visual knobs blah blah blah)

Networking Libraries
  Synapse (cross platform routines for email ftp etc.....)

With an extra layer:

DesignTime and Runtime
  Graphics Libraries
     BGRABitmap ( Cross platform graphics and Image Manipulations Routines, Including GL)
    Visual Controls
    BGRAControls (Requires BGRABitmap, Blah Blah Blah)
     Eye Candy (Track Bars, Buttons etc)
     ueControls (Requires BGRABITMAP, LED, visual knobs blah blah blah)

  Networking Libraries
     IPControls   
Runtime Only
  Networking Libraries
    Synapse (cross platform routines for email ftp etc.....)
  Graphics
    BGRA runtime
  ...etc.
« Last Edit: November 24, 2016, 11:49:25 am by minesadorada »
GPL Apps: Health MonitorRetro Ski Run
OnlinePackageManager Components: LazAutoUpdate, LongTimer, PoweredBy, ScrollText, PlaySound, CryptINI

lainz

  • Hero Member
  • *****
  • Posts: 4460
    • https://lainz.github.io/
Re: Online Package Manager
« Reply #304 on: November 24, 2016, 11:52:28 am »
@minesadorada
For now the OPM only shows the version available in the main repository. Currently we try to figure it out, what would be the best approach for updates located at the developers site(see my previous post #295).

About that, I just remember that a single version number will not work for packages with 2 or more lpk with different versions each one. For example bgrabitmap.

wp

  • Hero Member
  • *****
  • Posts: 11858
Re: Online Package Manager
« Reply #305 on: November 24, 2016, 12:00:20 pm »
With an extra layer:

DesignTime and Runtime
  Graphics Libraries
     BGRABitmap ( Cross platform graphics and Image Manipulations Routines, Including GL)
    Visual Controls
    BGRAControls (Requires BGRABitmap, Blah Blah Blah)
     Eye Candy (Track Bars, Buttons etc)
     ueControls (Requires BGRABITMAP, LED, visual knobs blah blah blah)

  Networking Libraries
     IPControls   
Runtime Only
  Networking Libraries
    Synapse (cross platform routines for email ftp etc.....)
  Graphics
    BGRA runtime
  ...etc.

No. There are libraries which consist of a standalone runtime-only package (FPSpreadsheet --> laz_fpspreadsheet.lpk) and a visual addon  package (laz_fpspreadsheet_visual.lpk). Your suggestion would force the user to look for FPSpreadsheet under both headers.

Sometimes libraries do not fit into a single category. Therefore it should be possible to have the same package in several categories.

balazsszekely

  • Guest
Re: Online Package Manager
« Reply #306 on: November 24, 2016, 12:01:59 pm »
@josh
The tree is already contains too much info. Adding another node would make things worst. To locate a package you can use the filter.

@minesadorada
Yes I saw your post, it's a good idea with one major flaw: somebody with malicious intent can overwrite the whole repository in ten minutes.

@lainz
True! I believe we can overcome that.

@wp
With a small modification I can achieve that, I mean adding the same package in several categories. Added to the to do list.
« Last Edit: November 24, 2016, 12:06:26 pm by GetMem »

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4459
  • I like bugs.
Re: Online Package Manager
« Reply #307 on: November 24, 2016, 12:04:41 pm »
For now the OPM only shows the version available in the main repository. Currently we try to figure it out, what would be the best approach for updates located at the developers site(see my previous post #295).
It will not work! Let's dump it. We now try to mix many ideas and create a half-baked hybrid which is not good for anyone.
A master package must be either in OPM's own repository or in an external repository.
Now we are planning a system where the master package is maybe in OPM repository but maybe not. It may be elsewhere but OPM does not know it before reading some external files. Uhhh ... no good!

One fact remains: the OPM admin work must be minimized to keep it well maintained also in far future.
My original idea, before other ideas got mixed, was having 3 types of sources for the packages:
  • OPM repository.
  • External repository with an external URL.
  • Development version got directly from a revision control system (SVN, Git, automatic master.zip, whatever).
They all would be configured in the JSON config file of OPM.
(Number 4. could be a Delphinus style thing but it is not important now.)

Now I start to think we should concentrate in number 1. which is also GetMem's original idea.
Just updating the packages in OPM's repo should be made as easy as possible.
We need the FTP server.
We also need an admin tool which allows copying the packages and updating the configuration with few mouse clicks.
« Last Edit: November 24, 2016, 12:14:40 pm by JuhaManninen »
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

Josh

  • Hero Member
  • *****
  • Posts: 1271
Re: Online Package Manager
« Reply #308 on: November 24, 2016, 12:08:49 pm »
Adding on
A hint box appears over the component that displays More information or possible the contents of the readme.txt for the component; this would be handy if the new version has additions or a particular bug fix that is required as i do not always keep components up to date if changes to component require major rework of code.

Maybe the addition of an OPM.TXT file would be good use for this; if the file exists in the package the file layout could be.
line 1 : Name and basic description of package ie  BGRABitmap ( Cross platform graphics and Image Manipulations Routines, Including GL)
The subsequent lines then contain the hint text to display.

This way the package owner can update the contents of his components opm.txt  file when needed; with little or no interaction with OPM Maintainer.
 


« Last Edit: November 24, 2016, 12:16:02 pm by josh »
The best way to get accurate information on the forum is to post something wrong and wait for corrections.

minesadorada

  • Sr. Member
  • ****
  • Posts: 452
  • Retired
Re: Online Package Manager
« Reply #309 on: November 24, 2016, 12:12:16 pm »
@minesadorada
Yes I saw your post, it's a good idea with one major flaw: somebody with malicious intent can overwrite the whole repository in ten minutes.
Surely easily solved with ftp permissions, whereby each developer only has write access to their own area?  Only needs to be set up once, then it's self-maintaining.
GPL Apps: Health MonitorRetro Ski Run
OnlinePackageManager Components: LazAutoUpdate, LongTimer, PoweredBy, ScrollText, PlaySound, CryptINI

wp

  • Hero Member
  • *****
  • Posts: 11858
Re: Online Package Manager
« Reply #310 on: November 24, 2016, 12:16:33 pm »
Quote
@wp
I do understand the Local Repository folder, but what are the Archive and Update directories for?
The packages in the main repository are stored as a zip file(to minimize server load), the OPM first downloads the zip to the "Archive" directory, then unzip it to the "Local Repository" , from here the packages are installed into the IDE. The same is true for zip files downloaded from the package maintainer site, but instead of the "Archive" it's downloaded to the "Update" folder.
I choose this multiple folder solution to keep the "Local repository" clean.

Sorry to overflow you with suggestions. But this one came to my mind when reading your response: What about a checkbox "Delete downloaded zip files after installation/update"? I think the downloaded zip files are not needed any more for anything else, aren't they?

lainz

  • Hero Member
  • *****
  • Posts: 4460
    • https://lainz.github.io/
Re: Online Package Manager
« Reply #311 on: November 24, 2016, 12:19:14 pm »
Quote
OPM repository.
External repository with an external URL.
Development version got directly from a revision control system (SVN, Git, automatic master.zip, whatever).

Well, the first works, so we only need:
- the automatic generation of the main json
- a submission website for developers

The second I don't know.

The third already works for some packages. Only svn/git is missing. Edit: I have for example Fpcupdeluxe that finds and uses svn from my path, else it automatically downloads it to a folder, that code can be used.
« Last Edit: November 24, 2016, 12:24:58 pm by lainz »

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4459
  • I like bugs.
Re: Online Package Manager
« Reply #312 on: November 24, 2016, 12:33:07 pm »
Well, the first works, so we only need:
- the automatic generation of the main json
- a submission website for developers
Why a website? It would require server side SW and is completely useless for this task.
Anybody can install an FTP client or the OPM client could send the generated package to the server with a button click.

Quote
The second I don't know.
It may not be needed if number one works well.

Quote
The third already works for some packages. Only svn/git is missing.
I think you misunderstood my idea. Now the update may work but it is kind of a hack and a hybrid. A master package is in OPM server but then it is not used, the real package is updated from somewhere else.
My idea is that a package could be defined in OPM configuration to be only a development version copied directly from revision control system.
It is useful for packages which are not maintained actively (yes, there are many).
The OPM GUI must indicate they are development versions.
Note: development versions don't have version numbers thus they are not an issue.
« Last Edit: November 24, 2016, 12:41:43 pm by JuhaManninen »
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

lainz

  • Hero Member
  • *****
  • Posts: 4460
    • https://lainz.github.io/
Re: Online Package Manager
« Reply #313 on: November 24, 2016, 12:39:44 pm »
Quote
...or the OPM client could send the generated package to the server with a button click.

I like this part.

Quote
My idea is that a package could be defined in OPM configuration to be only a development version copied directly from revision control system.

That is possible using svn, the same I see in Fpcupdeluxe, it makes a fpc and lazarus folder and keeps them updated. Also works with GitHub, since GitHub supports getting the sources with svn tools too.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4459
  • I like bugs.
Re: Online Package Manager
« Reply #314 on: November 24, 2016, 12:47:36 pm »
That is possible using svn, the same I see in Fpcupdeluxe, it makes a fpc and lazarus folder and keeps them updated.
Yes.

Quote
Also works with GitHub, since GitHub supports getting the sources with svn tools too.
With GitHub we don't need any extra tools because it generates master.zip files automatically. That's why you wanted to move everything to GitHub, remember? :)
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

 

TinyPortal © 2005-2018