[Gambas-user] About the Gambas software repository

Benoît Minisini gambas at ...1...
Mon Oct 27 00:27:35 CET 2014


Hi,

With revision #6583, you can start to play with the Gambas software 
repository, as known as the "Gambas farm server".

This is a Gambas project located in '/trunk/app/src/gambas-farm-server'.

To install a Gambas farm server, you have to:

- Compile the gambas-farm-server project and make an executable from it.

- Install that executable a CGI script on your HTTP server. It must be 
run through the '/farm' path. I.e. if your server is 
"my-gambas-farm.org", then the URL to access the CGI script must be 
"http://my-gambas-server/farm". The executable is less than 20 Kb, not 
very big isn't it?

- Install a database server, mysql or postgresql. I have tested with 
postgresql.

- Create a "~/.config/gambas3/gambas-farm-server.conf" settings file 
manually, in the user directory associated with the user running the CGI 
script (usually it's the http server user).

- The syntax of the settings file is:

[SMTP]
Host=<SMTP server>
Port=<SMTP server port>
User=<SMTP login>
Password=<SMTP password>
Encrypt=<Encryption mode> ("SSL", "TLS" or nothing)
[Database]
Type=<Database server type>
User=<Database user>
Password=<Database password>

Everything is optional except the SMTP server and the Database type.

- Configure your database server so that the CGI user can connect. Enter 
the information in the settings file.

- Create a database named "gambas3_farm".

- Initialize the database (i.e. create the tables) by running:

   $ gambas-farm-server.gambas -init-db

directly from the command-line. It will use the information provided in 
the settings file to connect to the database.

If everything went weel, you are ready!

Anyway, I have setup a farm server on the wiki (gambaswiki.org) for testing.

The IDE option dialog has now a "Publishing" panel to define the 
different publishing servers, and to register a new user to any server.

Registering a new user uses the e-mail defined in the 'Identity' panel: 
the server sends a e-mail with a link inside. You click on that link to 
activate your account.

There is a publishing dialog in the 'Project' menu for publishing your 
software on any farm server listed in the option dialog, provided that 
you provide a valid user and password.

A published project (named "software") can have tags. These are english 
words that are registered in the publishing server.

Automatic completion of these tags is provided by requesting the server 
in real-time. The goal is to avoid similar equivalent tags.

Test that if you want, and please report any problem. Beware that this 
is very-early-not-well-tested development!

There is no program to search the software on a farm server yet, and to 
install it on your system. This is the next goal: the "Gambas software 
installer". You can find a better name and tell me if you want.

Here are my thoughts about that:

- You select the software you want by searching the farm server by 
specifying part of the name, tags, and sorting the software by vote, 
downloads, or upload date.

- You can vote for a software, or cancel your vote, provided that you 
are a registered user on a farm. Searching and downloading does not 
require to be registered.

- Only source packages are stored on the server.

- The software will be installed in your home directory (in a not yet 
decided directory), then compile.

- Software will have dependencies on other softwares, like a package 
manager. The installer will have to be able to manage those dependencies.

- With the help of Gambas users, we can imagine that the installer will 
be able to install the Gambas binary packages of components required by 
the software (asking the root password, running apt-get/yum/urpmi..., 
all that in a beautiful GUI). If not possible, a message will warn for 
components not installed on the system.

- The IDE open project box will automatically list the software 
installed on the system, so that you can open their sources and play 
with them.

- The Gambas examples will be move to the final official farm server.

Tell me what you think, your ideas, if you want to help by writing the 
installer so that I can do something else... :-)

I will make a documentation of the HTTP server protocol soon.

Regards,

-- 
Benoît Minisini




More information about the User mailing list