Recent

Author Topic: Draftings for LazarusCentral.org and .com  (Read 25482 times)

Glenn

  • New Member
  • *
  • Posts: 16
    • Code-Kungfu.com
Draftings for LazarusCentral.org and .com
« on: March 13, 2011, 06:32:56 pm »
Hi fellow Lazarus users :)

I have these two domains, LazarusCentral.org and LazarusCentral.com at my disposal.

Now you may start wondering why i'll start talking about these domains. Well, the answer is simple, I want the Lazarus community to help shape the content and direction of the domains :)

Just to make things clear. I do NOT intend to make profit of this and i'm doing this solely in the interest to make Lazarus/Free Pascal even more popular and accepted than it is now.
Also, I do not intend to remove the focus from either this forum or the free pascal wiki.
This project is only intended for centralizing information about the various aspects of working with the Lazarus/Free Pascal environment for the ones who is new to development with Lazarus/Free Pascal and make it more accessible.

I'll intend this thread to be a place where all the ideas can be submitted and discussed.

First at bit of background, based on my own experiences with Lazarus/Free Pascal:

When I've moved away from the Delphi environment to Lazarus/Free Pascal, I've found it a bit frustrating the way documentation, components and enhancements are fragmented over the net. Even finding commercial components is a bit tricky.

In around one and a half year I've been shaping some ideas on how to enhance the access to all the information related to Lazarus/Free Pascal.
One of my first ideas for this, was a component store where one could easily from within Lazarus, log onto ones account and quickly browse available components, both free and commercial, then download and build them. Like the same way Ubuntu Software Center operates.
The idea behind the account is that you can store information about which commercial components you have bought, which free components one uses and when, say you're doing a clean install of you computer, you're simply need to install Lazarus, log on to your account and you have the option to download and install you're favorite components, and you're always up to date with the newest release.

Another area which could be enhanced, is building Lazarus/Free Pascal and cross compilers from scratch.
This idea is the result of having used the CodeTyphon in a couple of years.
The main concept behind CodeTyphon is great, however, the way they have chosen to handle various things in the package have started to bugging me. Worth mention is the use of non-lowercase file and folder names, which have given me trouble when building on non-caseinsensitive filesystems numerous times. Another thing which came to my attention is that they removed the license information and reference to the original author of at least two components, TColorProgress and TGifAnim (GPLv2).
Even though i'm not the author behind the mentioned components, I've felt it was stepping on other peoples work.
I've made the them aware of the possible license issue, but instead of acknowledging the problem, they ended up removing the components from the package instead. The only thing I've asked for was fair play. Anyways
This inspired me to create a companion tool, optionally linked with an account on the mentioned domains, which could assist users in building Lazarus, Free Pascal compiler and cross compilers easily by downloading some sort of building template. users could then choose to download the latest development versions of Lazarus and Free Pascal compiler, or basing it off the latest stable release.
A long term goal could be the ability to generate a complete package which is installable, e.g. a company needs a special cross-compiler setup for arm development and need to deploy the same setup on several development workstations.

This is just some of the ideas i have laying around my desk for this project.
Feel free to chime in with your opinions and ideas :)

My apologies if the English isn't perfect. I'm a danish guy :)

Please note this post likely will be updated with further ideas to come :)

Best regards
Glenn

Laksen

  • Hero Member
  • *****
  • Posts: 755
    • J-Software
Re: Draftings for LazarusCentral.org and .com
« Reply #1 on: March 13, 2011, 09:35:25 pm »
I definitely think an easier/more lightweight component site would be great. The Lazarus-CCR is okay, but it's kind of tedious to use

Glenn

  • New Member
  • *
  • Posts: 16
    • Code-Kungfu.com
Re: Draftings for LazarusCentral.org and .com
« Reply #2 on: March 13, 2011, 09:39:06 pm »
The Lazarus-CCR is okay, but it's kind of tedious to use
Yes, that's the same impression I have.
That's one of the reasons I'm suggesting this :)

AlistairG

  • Jr. Member
  • **
  • Posts: 70
Re: Draftings for LazarusCentral.org and .com
« Reply #3 on: March 15, 2011, 09:15:55 pm »
Yes if you have the time, this would be great, but sites like this need to be very dynamic (as in regular maintenance and update of information), so before you commit suggest you look at the time you have to devote.

As an aside, where I get most knowledge is from community.freepascal and unfortunately, the format of the site is not that good eg you can often find when searching it comes up with a search error, and the access to information IMHO is disjointed. Secondly support and search of this forum here which is excellent.

If you proceed, best wishes. Once I have finished the current project hopefully can offer to help you as hopefully others will offer too!
Alistair.
Lazarus 0.9.28.2-10ubuntu1 r22277 FPC 2.4.0 i386-linux-gtk 2 (beta)
       My pledge - if I waste your time, I donate to Lazarus.

Carver413

  • Full Member
  • ***
  • Posts: 119
Re: Draftings for LazarusCentral.org and .com
« Reply #4 on: March 16, 2011, 03:36:28 am »
Lazarus has always tried to be a delphi work alike and for the most part it does this very well. its existence is important to the freepascal as it gives delphi defectors some where to go rather then to abandoning pascal all together. still I think many of us would like to see an IDE that moves in a way that is beneficial to the language and not compatibility. it would be nice to have somewhere that encourages new development is stead of tring to snuff it out before it has a chance to start. I myself have been working on a base class to replace the TPersistence. it is based on a custom linked list that changes the very way we work with objects. with its built-in scripting ability's any object could have a scripted interface. everyone knows the advantages of being able to run scripts in there favourite  editor. what if we could expand on this. what if all we had to do was connect our objects together to create our own custom lazarus. what if we could uses scripts to program the output of our debugger. if you were working on a game engine would it not be nice to be able to integrate into our ide. there are many great things that could come from this but it requires us to move beyond the delphi way of doing things.     

circular

  • Hero Member
  • *****
  • Posts: 4224
    • Personal webpage
Re: Draftings for LazarusCentral.org and .com
« Reply #5 on: March 16, 2011, 08:43:36 am »
About packages and custom controls, clearly it is not practical the way it is for two reasons : the static linking, and the ambiguity about installing or not installing.

About LazarusCentral, it is a great idea, it could have new information, a more practical structure and links to external sites that already exists. In fact, I'm not sure it's so much work because many things already exist, but they are just lost in the web.
« Last Edit: March 16, 2011, 08:47:42 am by circular »
Conscience is the debugger of the mind

Chronos

  • Full Member
  • ***
  • Posts: 241
    • PascalClassLibrary
Re: Draftings for LazarusCentral.org and .com
« Reply #6 on: March 16, 2011, 10:21:34 pm »
I would be pretty good to have some community driven web package database like http://www.torry.net/ for Delphi. Even that someone could create package which would integrate access to such package site and as you already stated one could make list of favorite components and download all at once.

But maintenance of such server to be live and up to date would take huge amount of time...

Glenn

  • New Member
  • *
  • Posts: 16
    • Code-Kungfu.com
Re: Draftings for LazarusCentral.org and .com
« Reply #7 on: April 10, 2011, 10:42:09 pm »
Hi again :)

Just to let you all know, I haven't forgot about this project at all. In fact, I've been a bit busy in the coding booth lately.

As I mentioned in the previous posts, I'm working on a way to quickly build and repackage Lazarus/Free Pascal and its cross-compilers for like larger development teams who need the same configuration across multiple workstations.

When packaging a cross-compiler, component, IDE extension etc, I was thinking about using a xml file with build instructions included in the zipfile with the source code.
This could also be an approach to creating a component store, so Lazarus actually knows what's dealing with.
An example xml is provided below:
Code: [Select]
<?xml version="1.0" encoding="utf-8"?>
<LazBuildAssistant version="1.0" type="cross-compiler">
<name>CrossCompiler for ARM</name>
<version>0.9</version>
<creationDate>00-00-0000</creationDate>
<author>John Doe</author>
<authorEmail>john@doe.com</authorEmail>
<authorUrl>http://www.johndoe.com</authorUrl>
<comment>Comment NameSpace</comment>
<copyright>Copyright Notice</copyright>
<license>GPLv2</license>
   
<NotSupportedOS>
  <system os="windows" name="vista" version="6.0" servicepack="1" arch="x86_64"/>
</NotSupportedOS>

<PackageDependencies>
  <package os="linux" name="ubuntu" base="debian" version="10.10" arch="x86_64">x11-dev</package>
</PackageDependencies>

<BuildInstructions>
  <linux widgetset="gtk2">
    <directory permission="775">/usr/share/fpcsrc</directory>
  </linux>
  <windows widgetset="win32">
  </windows>     
  <macos widgetset="carbon">
  </macos>
</BuildInstructions>

</LazBuildAssistant>
The xml is just an idea taken right out of my mind, so don't take it too serious :)

Feel free to chime in with ideas/comments :) 

Glenn

  • New Member
  • *
  • Posts: 16
    • Code-Kungfu.com
Re: Draftings for LazarusCentral.org and .com
« Reply #8 on: April 10, 2011, 10:47:01 pm »
I would be pretty good to have some community driven web package database like http://www.torry.net/ for Delphi. Even that someone could create package which would integrate access to such package site and as you already stated one could make list of favorite components and download all at once.

But maintenance of such server to be live and up to date would take huge amount of time...
Yes, and it has been bugging me a lot, that Lazarus/Free Pascal doesn't have a counterpart to torry.net, as an example.
Hence the idea ;-)

I just want to take it further by integrating the component store directly in Lazarus as an installable IDE extension. :)

Glenn

  • New Member
  • *
  • Posts: 16
    • Code-Kungfu.com
Re: Draftings for LazarusCentral.org and .com
« Reply #9 on: April 10, 2011, 10:56:44 pm »
Lazarus has always tried to be a delphi work alike and for the most part it does this very well. its existence is important to the freepascal as it gives delphi defectors some where to go rather then to abandoning pascal all together. still I think many of us would like to see an IDE that moves in a way that is beneficial to the language and not compatibility. it would be nice to have somewhere that encourages new development is stead of tring to snuff it out before it has a chance to start. I myself have been working on a base class to replace the TPersistence. it is based on a custom linked list that changes the very way we work with objects. with its built-in scripting ability's any object could have a scripted interface. everyone knows the advantages of being able to run scripts in there favourite  editor. what if we could expand on this. what if all we had to do was connect our objects together to create our own custom lazarus. what if we could uses scripts to program the output of our debugger. if you were working on a game engine would it not be nice to be able to integrate into our ide. there are many great things that could come from this but it requires us to move beyond the delphi way of doing things.     
Yes, instead of Lazarus/Free Pascal is resting in the shade of Delphi, such ideas could really improve the workflow and bringing Lazarus/Free Pascal right up front in the query of effective all-round development tools. :)

typo

  • Hero Member
  • *****
  • Posts: 3051
Re: Draftings for LazarusCentral.org and .com
« Reply #10 on: April 10, 2011, 11:40:54 pm »
Quote
I definitely think an easier/more lightweight component site would be great. The Lazarus-CCR is okay, but it's kind of tedious to use

I agree.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11459
  • FPC developer.
Re: Draftings for LazarusCentral.org and .com
« Reply #11 on: April 11, 2011, 10:54:32 am »
I always had the feeling that we needed content generators more that content facilitators.

One of the problems of these 3rd party sites is that they rarely last (in _ACTIVE_ use) for more than one year, several at best.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4474
  • I like bugs.
Re: Draftings for LazarusCentral.org and .com
« Reply #12 on: April 11, 2011, 11:05:09 am »
About packages and custom controls, clearly it is not practical the way it is for two reasons : the static linking, and the ambiguity about installing or not installing.

Can you please explain "ambiguity about installing or not installing".
Static linking just requires compiling and restarting the whole Lazarus. It can be a problem on very slow computers but on most computers not.
Dynamic packages of course would be better but this is not a big issue IMO.

Juha
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11459
  • FPC developer.
Re: Draftings for LazarusCentral.org and .com
« Reply #13 on: April 11, 2011, 11:14:02 am »
Dynamic packages of course would be better 

And I even doubt the practicality of that.

JuhaManninen

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4474
  • I like bugs.
Re: Draftings for LazarusCentral.org and .com
« Reply #14 on: April 11, 2011, 12:50:36 pm »
Dynamic packages of course would be better 

And I even doubt the practicality of that.

Why do you doubt it?

I think you all have missed the main point in Glenn's posts. He did not suggest only a "yet-another" web-page for Lazarus related info.
He suggested to create a client-server protocol for delivering Lazarus packages and user configuration. The client part would be integrated in Lazarus itself. The user would get a list of available packages from the server, then click a button and the selected packages are downloaded, compiled and installed for his Lazarus together with needed dependencies.
As easy as installing SW for a good Linux distro using its repo.

Glenn wants to use it also for cross-compilers which is more difficult I am afraid.
Anyway, I have played with the package-delivery-protocol idea in my head for some time. It is very realistic. The packages don't even need to be hosted on the server, it only must maintain a list of links to packages. They could be downloaded using different methods including SVN and GIT and whatever. The service would define a set of commands, kind of API (using XML markup), for the client to use. The protocol used in the communication would be tested and trusted HTTP.

This would borrow some fashionable ideas from Gentoo-Linux (source packages), cloud-services (user config data stored in server), distributed systems etc.

Juha
Mostly Lazarus trunk and FPC 3.2 on Manjaro Linux 64-bit.

 

TinyPortal © 2005-2018