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 ------------------------------------------------------------------------------ _______________________________________________ Gambas-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/gambas-user
