FOSDEM 07, here we come!

Tomorrow to FOSDEM 07 /me goes, along with hansmi, KillerFox and blubb from the swiss crowd!
Later on both flo and EleRas will join us too, so for me not only will it be "the great Gentoo dev gathering", but also "the great SysCP dev gathering", will all three of us present. As flo correctly guessed, I'll be sporting the black Gentoo t-shirt, which is amazingly comfortable, but flo's SysCP t-shirt intrigues me... Is it possible to have more of those @ flo? In black? /me loves black! We'll be able to discuss that at FOSDEM I suppose...
Now off to bed, as I have to get up early (~4AM) to catch the first train to get to Basel, where the others await, and from there off to Bruxelles. Lugano-Basel-Frankfurt Am Main-Köln-Bruxelles is the exact route, almost 1000 Km, for a total en-route time of about 11 hours, yay!

On the PHP front, I've finally put PHP 5.2.1 and PHP 4.4.5, with all the needed patches and, of course, Suhosin support, into the PHP Overlay. I'll test it all during the next days and hopefully commit to the tree on Monday at the latest. Many bugs are fixed with the latest releases, concurrentmodphp support was greatly improved and fixed (especially wrt 64bit arches), and the new MySQL extension patches are included to have the connection charset configurable per-SAPI, for each PHP version, using php.ini, instead of my.cnf.

Work on VCD is also going steady, we should be near feature-completion soon, so expect some form of pre-release in the next two weeks... Poke Hollow on #gentoo-vserver for more info.

Posted by Luca Longinotti on 22 Feb 2007 at 22:12
Categories: Longi, SysCP, PHP, Gentoo Comments

Work continues ...

Work on SysCP 1.3 continues, even with Christmas approaching! ;)
General cleanup in various parts was done, me and EleRas reviewed all the regular expressions of the RegExp validator now used to validate data coming from the user, now they're much better and precise, and I've also added a Type validator to check that the type of the passed data is what we expect. Paging was also removed from the 1.3 codebase, as it was incomplete, outdated and completely broken there... It will be reimplemented once we've completed other parts of SysCP 1.3 which have priority.
And the biggest change probably, is that the whole login/logout system was updated and rewritten to conform to the new structure, the "new way of doing thins". It's still not 100% complete, but you can login and logout, so the main functionality is there. We've also switched to using Whirlpool as hashing algorithm for the SysCP account passwords, but we've already decided to later make this configurable by the admin; thanks to the hash extension present in PHP >=5.1.2 it's really easy to do that, and that extension is really useful.

Posted by Luca Longinotti on 18 Dec 2006 at 02:34
Categories: SysCP Comments

New Propel db structure on its way!

The new database structure for SysCP 1.4 is taking form, I'd say it's almost complete, only the foreign-key definitions are still missing, something I intend to rectify in a day or two.
While changing towards this new structure, we've also changed to use Propel to connect and work with the database, it will thus replace the old DatabaseHandler.
Starting with SysCP 1.4, thanks to all this, we'll also support using SysCP on a PostgreSQL database, and there will also be a module to let your customers create and administrate PostgreSQL databases, just like you can now with MySQL.
Only thing that deluded me a little is that the Propel generated classes change when built with MySQL or PgSQL, which is kinda "WTF?", as we're speaking about a database abstraction layer to an extent... Oh well, the changes are tiny and we'll then decide how to approach this... Either distributing two SysCP tarballs, one with PgSQL classes and one with the MySQL ones, or just supplying a diff against the MySQL ones to support PgSQL... Once we're more into the whole thing we'll be able to decide!

Posted by Luca Longinotti on 19 Nov 2006 at 21:56
Categories: SysCP Comments

Completion of languagesplitting

Right, no more "update"! I've done the last four modules today and EleRas did all the rest yesterday, many thanks for that. Now we only need to update the old design and we'll then merge branches/syscp-1.3/ back into trunk/syscp-1.3/. YAY!
Step 1 of our plan to conquer the webpanel world completed. :P
EleRas also wrote a fancy script that does some comparisions and generates updated language files also for all the other languages SysCP supports, but those are highly incomplete now that many definitions etc. changed, so they will have to be updated by the translators.
English (of course), italian and german we can take care of ourselves, but for all the others we'd very much appreciate help from the community, we already have a list of translators, but having other people also working on it or as backup would really be great! So if you know any of: Portugues, Chinese, Catalan, Russian, French, Spanish, Danish very well, drop a note to flo and/or eleras, thanks!

Posted by Luca Longinotti on 24 Oct 2006 at 23:57
Categories: SysCP Comments

Even more 1.3 ideas

Expanding on EleRas's latests posts...
Wrt the email question: I agree that having an additional level, where a user which is intended to only have an email-account, can login and at least modify his own password, is a very good idea. This can then naturally be extended for antispam/antivirus settings, auto-responders, filters, etc.. But, thinking about it, we suffer from the same problem with FTP: how can an additional FTP account user change his own password? Another "ftp" level? No, that's not the solution, as isn't only a new "email" level in my opinion...
Our best bet probably is to add another level entirely, after admin and customer: enduser, and then set it all up so that modules can just define that user-level and it will automatically work. The only little challenge here will be the logins... At the moment we use one login interface for all admins and customers, as it's easy to identify them... But adding another enduser level, with different types of authentication (mail-address+pw should send them to the mail module enduser part, ftp-account+pw should send them to the ftp module enduser part and so on), that may be tricky and requires some more thought, but it should definitely be feasible. Probably by either offering specialized login urls/masks, or making it so modules can "register" expected auth-types and claim them for themselves... We'll have to see. :)
Expanding on the ideas for 1.3:

  • Billing module: will be based upon the new user management module that will also include the registration date of a user etc. to make this possible, I expect it to initially just work inside the panel and keep track of needed stuff, once that's all well&done, expansion to support sending out automatically mails, and even generate PDFs are on the TODO list. This will also include a module to define hosting plans and their prices
  • concurrentmodphp support: this will be Gentoo-only, but will rule. :P A feature of Gentoo's PHP packages is the ability to load both mod_php4 and mod_php5 into the same Apache2 instance (PHP extensions like eAccelerator, Fileinfo, Suhosin etc. work too!), which will enable you to offer both PHP4 and PHP5 easily, with the usual performance and configurability of mod_php (examples of this will be choosing of which extensions are managed by which PHP version on a per-directory basis, setting stuff like error_display, safe_mode etc. on/off on a per-directory/per-virtualhost basis, and so on)
  • IPv6 support: well that's relatively easy, just need to make some database fields bigger and some checks will have to be expanded to also match the IPv6 notation, still, it's new stuff
  • quota support: still need to really hash this out, but there will be some kind of hard-quota support for mail (probably using Postfix-VDA or Maildrop), database (hmmm hmmmm any good ideas here?) and webspace (both using virtual quotas from the FTP daemons we support (ProFTPd and Pure-FTPd) and using traditional hard fs-quotas
  • ticket system: possibility for customers to open tickets with their admins, this will help a lot with support
  • improved MySQL management module: will separate the database user from the database itself, allowing for a much more flexible setup, and add support for a suffix to the database so that it's partially possible to "name" a database to better identify it (prefix will still be fixed and based on customer account data to avoid conflicts)
  • PostgreSQL management module: so your customers can also work with PostgreSQL users and databases
  • Backup module: an official one, based off eremit's work for the 1.2.X backup module, will backup logs, webspace, mails and dbs
  • Automatic registration module: MAYBE something to allow users to register without having the admin do all the work, some kind of automatic registration with some kind of verification, maybe credit-card based... But this is just an idea a customer gave me, I haven't really thought about it and how it can be implemented best... I'd appreciate your thoughts on this.

That's it for now, can't remember any other particularly exciting features, will blog about them if I get any other cool ideas.

Posted by Luca Longinotti on 17 Oct 2006 at 19:08
Categories: SysCP Comments

New SysCP blog and status

This blog post should be my first to also be syndicated on, one of the new resources we SysCP devs will use to better bring news and informations to you, the user.
First, let me again thank Martin Burchert aka eremit for all the work he's done over the years and the big help and guidance he has provided to all of us, and the really fantastic work done on SysCP 1.3! Thanks Martin!
Second, as EleRas said on his previous post, we're working on SysCP 1.3, largely following the proposals of SysCP EP01. We've already implemented most of the backend changes:

  • Modules versioning [CHTEKK]
  • Modules dependencies (with &&, || and < =>version support, and reverse-deps) [CHTEKK]
  • Modules on/off (and core modules which can't be turned off) [CHTEKK]
  • Plugins (modules can plugin frontend parts into eachother basically, extending themselves) [CHTEKK]
  • Validation Handler (class to validate and check user input) [EleRas]
  • XML-RPC Handler (class to work with a remote XML-RPC server) [CHTEKK]

Also on the frontend side we're going pretty well:

  • Modulesmanager done [EleRas]
  • Languageeditor done [EleRas]
  • Option to change the theme added [CHTEKK]

Also a lot of bugfixes were added, as well as the theme by me and Luca Piona (which is also default in 1.2.14 now, yay!), thanks to EleRas for porting that to the SysCP 1.3 structure!
We also should now be E_ALL and E_STRICT compliant on PHP 5.1.6 at least (that's what me and EleRas tested with, no more warnings, yay!).

The PHPBeautifier SysCP filter also was ran over the whole codebase, and yelded very good results and a much more readable and beautiful code (it's all about beauty today, isn't it? :P).
And as EleRas also already announced, we're currently working on splitting up all the language files into a modular structure, it's no difficult job, but a tedious, boring one.
Plans for the future (future = SysCP 1.4 final release):

  • complete the language files split
  • integrate some new features (for example prodigy7's very good patches)
  • convert SysCP to use Propel for database access, and use a totally new, much more modular and normalized database layout
  • rewrite most of the modules to be compliant with the new database layout, while adding some features here and there, and making extensive use of the new features, like ValidationHandler, ...
  • add a module to administrate Vservers (Linux-Vserver based), that's part of a project I have to complete for school, so that will probably have priority for me during the next weeks

There's also some talk about adding some type of optional LDAP support sometimes in the future, we'll see about that.
Ah, and MacOS X support is also planned, again sometimes in the future, this will probably mainly be done by flo, unless someone buys me a Mac Mini (Intel CPU, at least 1GB ram, contact me for a shipping address ;) ).
That's it. :) Arrr, I wrote a little bit more than I intended to, but at least this should be a fairly complete status update and explain what we're going to do next, so... Let's do it!

Posted by Luca Longinotti on 14 Oct 2006 at 21:01
Categories: SysCP Comments

Misc updates

dev-lang/php was again updated in the PHP Overlay, fixing a bug with Apache1+fastbuild and the uClibc support for PHP4. Also, PHP 5.1.0_rc4 was added to the overlay, be sure to test it and your code, the final should be here soon (1-2 weeks) and will then be added to Portage.
Also, the old-style PHP packages (dev-php/{php,php-cgi,mod_php}) were updated to fix some bugs, as was the old php-sapi.eclass, tomorrow I'll update all the new-style PHP packages and eclasses to be in sync with the overlay, that will be fun! :)

Gentoo-SysCP is making progress, a draft readme was written today and I have some more ideas to implement before I make any more informations public, but an experimental (but working!) ebuild should be ready soon.

On a sidenote, I now finally have a week holidays from school, wich means I can work even more on Gentoo and enjoy myself during the day, as opposed to sitting in classes. Holidays are always fun! ;)

Posted by Luca Longinotti on 30 Oct 2005 at 03:36
Categories: Longi, SysCP, Gentoo Comments

(Page 1 of 1)