Recent

Author Topic: Online Package Manager  (Read 843104 times)

balazsszekely

  • Guest
Re: Online Package Manager
« Reply #540 on: December 12, 2016, 05:17:39 pm »
@minesadorada
Quote
Perhaps a link to my GUI app when it's finished?
It's guaranteed to produce a usable update_json file that will be compatible with OPM.
I can update the wiki with information as I understand it, if that's OK.
Yes, the link to your project its a must. I will add it when you're ready. In fact you can edit anytime you like. All you need is wiki account or perhaps you already have one? 

Quote
Things can look very different between a developer and a user sometimes.
True.

Quote
Suggestion: Single-click?
With single click you select the current row. Every selection would open a new browser window. Not good.  :D
« Last Edit: December 12, 2016, 05:37:11 pm by GetMem »

minesadorada

  • Sr. Member
  • ****
  • Posts: 452
  • Retired
Re: Online Package Manager
« Reply #541 on: December 13, 2016, 01:54:08 pm »
Functional alpha of jsoneditor V0.2.0.0 available in svn ccr and
Windows InnSetup: https://sourceforge.net/projects/lazautoupdate/files/otherpackages/setup_jsoneditor.exe/download

By 'functional', I mean New, Load and Save/Save As work, but the tooltips, validation and translation are unfinished. (It had a GUI makeover)
I might be useful for testing update_.json files in its current state.
GPL Apps: Health MonitorRetro Ski Run
OnlinePackageManager Components: LazAutoUpdate, LongTimer, PoweredBy, ScrollText, PlaySound, CryptINI

balazsszekely

  • Guest
Re: Online Package Manager
« Reply #542 on: December 13, 2016, 02:30:48 pm »
@minesadorada
You cannot increase the height of the form with every single packagefile added. You need a scrollbox instead(see attachment).
Even better, you should drop the whole TGroupBox array, all the info is already stored in JSONPackage(TUpdatePackage) class. On form show loop through the JSONPackage and add all items to a TListView(4/5 columns). When you want to edit one of the item, just open a new form and display the selected items info. After the form is closed, save data back to JSONPackage and update the tree.

minesadorada

  • Sr. Member
  • ****
  • Posts: 452
  • Retired
Re: Online Package Manager
« Reply #543 on: December 13, 2016, 02:43:57 pm »
@GetMem  I agree, a better design with the scrollbox.  I like the control arrays, but if its a big problem for you I can redesign.  Most components will only have 1 or 2 packages.

I'll revisit later - off to golf now :)
GPL Apps: Health MonitorRetro Ski Run
OnlinePackageManager Components: LazAutoUpdate, LongTimer, PoweredBy, ScrollText, PlaySound, CryptINI

balazsszekely

  • Guest
Re: Online Package Manager
« Reply #544 on: December 13, 2016, 02:46:28 pm »
Quote
I like the control arrays, but if its a big problem for you I can redesign.  Most components will only have 1 or 2 packages.
No problem at all. Feel free to keep it.

lainz

  • Hero Member
  • *****
  • Posts: 4473
    • https://lainz.github.io/
Re: Online Package Manager
« Reply #545 on: December 14, 2016, 04:02:44 pm »
Here is attached the latest translation for the json editor.

minesadorada

  • Sr. Member
  • ****
  • Posts: 452
  • Retired
Re: Online Package Manager
« Reply #546 on: December 14, 2016, 04:18:39 pm »
Here is attached the latest translation for the json editor.
Looks great - thanks!
GPL Apps: Health MonitorRetro Ski Run
OnlinePackageManager Components: LazAutoUpdate, LongTimer, PoweredBy, ScrollText, PlaySound, CryptINI

Josh

  • Hero Member
  • *****
  • Posts: 1274
Re: Online Package Manager
« Reply #547 on: December 15, 2016, 03:55:16 pm »
Hi
I have tried to install KControld on osx and it fails to compile
kfunctions.pas(1489,23) Error Incompatible types: got TThreadID expected Longword
kfunctions.pas(2307,30) Error Incompatible types: got LongWord expected TThreadID

Is this just a osx issue of does kcontrols not compile on win/nix as well.

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

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4474
  • I like bugs.
Re: Online Package Manager
« Reply #548 on: December 15, 2016, 04:51:51 pm »
I have tried to install KControld on osx and it fails to compile
kfunctions.pas(1489,23) Error Incompatible types: got TThreadID expected Longword
kfunctions.pas(2307,30) Error Incompatible types: got LongWord expected TThreadID

Is this just a osx issue of does kcontrols not compile on win/nix as well.
It compiles fine on Linux.
Anyway kfunctions.pas uses wrong types. "TThreadID" should be used consistently when a Thread ID is needed.
See how TThreadID is defined in rtl/macos/sysosh.inc:
Code: Pascal  [Select][+][-]
  1. type
  2. {$ifdef CPU64}
  3.   THandle = Int64;  
  4. {$else CPU64}
  5.   THandle = Longint;
  6. {$endif CPU64}
  7.   TThreadID = THandle;

On Linux it is:
Code: Pascal  [Select][+][-]
  1. TThreadID = PtrUInt;

Please create a patch for the original project.

GetMem, do all package maintainers know their packages are available from OPM and that they should provide new versions?
« Last Edit: December 15, 2016, 07:06:36 pm by JuhaManninen »
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

balazsszekely

  • Guest
Re: Online Package Manager
« Reply #549 on: December 15, 2016, 05:44:26 pm »
Quote
GetMem, do all package maintainers know their packages are available from OPM and that they should provide new versions?
No. At least third of the packages don't have a maintainer, some of the packages are maintained but the authors don't visit this forum. When I add a package to the main repository, I always check if it compiles under windows. However checking for every single platform would be a tremendous task(I cannot do this alone).
If somebody notice that a particular packages is not compiling, I can modify the supported widget set entry, or perhaps that person can fix the package.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4474
  • I like bugs.
Re: Online Package Manager
« Reply #550 on: December 15, 2016, 08:27:04 pm »
No. At least third of the packages don't have a maintainer, some of the packages are maintained but the authors don't visit this forum.
For packages that have a maintainer, this package manager should be advertised.
If a maintainer does not take care of updates then this system will be outdated in future.
Everybody should now advertise this online package manager to his favorite package's author.
« Last Edit: December 16, 2016, 12:25:41 am by JuhaManninen »
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

balazsszekely

  • Guest
Re: Online Package Manager
« Reply #551 on: December 16, 2016, 10:44:14 am »
Quote
@Juha
For packages that have a maintainer, this package manager should be advertised.
For approximately 10 out of 41 packages the update system is up and running(the external JSON we talked about in previous posts). Later hopefully more package maintainer will join in.

I implemented voting system partially(r. 53697), for now it only works locally. Please test!
What will be on server side, is not yet decided, at least not entirely(database server, etc). Communication between a desktop application(Lazarus/OPM) and a remote database is not safe, unless another layer of security is added. It can be done through a php server or free pascal based fastcgi. The second one would be a nice show case for free pascal, but is more difficult to implement. Somebody has experience with fastcgi? I can do the implementation with php.

Screenshot for the voting system(OSX, Linux, Windows):
« Last Edit: December 16, 2016, 11:50:51 am by GetMem »

Josh

  • Hero Member
  • *****
  • Posts: 1274
Re: Online Package Manager
« Reply #552 on: December 16, 2016, 11:13:44 am »
Hi JuhaManninen,

Thanks for looking into the issue.

What would I need to change to get kcontrols to compile and run on  osx?
The best way to get accurate information on the forum is to post something wrong and wait for corrections.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4474
  • I like bugs.
Re: Online Package Manager
« Reply #553 on: December 16, 2016, 11:35:45 am »
What would I need to change to get kcontrols to compile and run on  osx?
I think it is obvious. Use the right type (TThreadID) for MainThreadID.
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4474
  • I like bugs.
Re: Online Package Manager
« Reply #554 on: December 16, 2016, 12:22:55 pm »
For approximately 10 out of 41 packages the update system is up and running(the external JSON we talked about in previous posts). Later hopefully more package maintainer will join in.
I didn't mean the external JSON thing only. I meant the authors and maintainers should also deliver new versions for the master repository. That is the "official" place after all.
The external JSON update still looks like a little confusing design oddity to me, but no worries, I believe it is needed.
The process of providing packages could still be simplified to make it more attractive for package authors.
Now the wiki says: "Upload somewhere the files and send the link to getmem1@gmail.com".
It should be even simpler.

Quote
I implemented voting system partially(r. 53697), for now it only works locally. Please test!
What will be on server side, is not yet decided, at least not entirely(database server, etc). Communication between a desktop application(Lazarus/OPM) and a remote database is not safe, unless another layer of security is added. It can be done through a php server or free pascal based fastcgi. The second one would be a nice show case for free pascal, but is more difficult to implement. Somebody has experience with fastcgi? I can do the implementation with php.
Hey, let's document things first for a change. What will the server SW do? Could you at least make a bullet point list please. I can try to make a sequence diagram after it.
And yes, I would like to see Free Pascal code there.
« Last Edit: December 16, 2016, 12:28:12 pm by JuhaManninen »
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

 

TinyPortal © 2005-2018