[FreeNX-kNX] Tasks - Has someone too much time? ;-)

LROUFAIL at nc.rr.com LROUFAIL at nc.rr.com
Mon Mar 21 12:58:06 UTC 2005


I want to add my two cents.

First, I want to say we welcome your help.  And this does not just apply to developers.

The project has many needs:

- Testing
   - To do a proper release, I have to test both nxrun and moznx on Windows and Linux with and without encryption against nomachine and freenx servers with various configuration files.  I could really use help with volunteer testers on different platforms and for someone to put together a test suite we could all follow
- Packaging
   - While freenx is packaged by volunteers on different platforms, moznx and nxrun are not.  I would really like for people to be able to apt-get the client components or get rpms for other distributions.  Also, moznx has the additional need for mozilla installers and test pages for both platforms.  This stuff isn't even in source control yet but I will work with whoever can help to get it right and make it easy for developers and end users.
- Build
   - I have no idea what I am doing when it comes to linux build tools.  I have gotten it all to build but if someone is really good with these things then it could be greatly improved.  I would like for the build system to create the mozilla install packages for moznx, for example.  We also have some generated files in cvs because I am not familiar enough to know which ones we need and which are generated.
- Documentation
   - As always, the documentation could be expanded and improved.  If there is a doc system we should be using, then I am interested.

Now for development.  As others have mentioned, I inherited this code and I have basically made three changes:

   - Get it to work
   - Get it to work w/1.4.0 including encryption
   - Create the NXDriver interface so it can be used by multiple clients

I have not been a professional C++ developer for over 10 years.  I am a hack.  I would love to see more developers get involved in improving the code.  I only have two restrictions:

- Don't break the NXDriver or CallBack public interfaces (though you can extend them)
- Don't do anything to keep it from being cross-platform (all those ^M are from making it work on Windows!)

Otherwise, have at it.  If you are not sure what to do, then just ask.  I have a long list.

I know the code is rough, but Fabian and I agreed that it was better to get it in CVS where others could contribute then to wait until I could get it all right.

Also, the references to my limited time are not because I am not committed to this project, but just because I have a demanding day job and a baby due this week.  I check this mailing list several times a day and will answer questions on it or my personal email.

I have attached a draft version of a developer's guide that I think will answer some of you questions.  Formatting is a little rough, and the pdf came out brutal.  I am trying to get it fixed and up on the website as well.

- L


----- Original Message -----
From: Jon Severinsson <jon at severinsson.net>
Date: Monday, March 21, 2005 6:42 am
Subject: Re: [FreeNX-kNX] Tasks - Has someone too much time? ;-)

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Hi
> 
> I'm personaly not realy involved in nxc, but mainly in the freenx
> nxserver, but I think I can answare some of your questions. If anyone
> else has anything to add or wants to correct me, feel fre to do so.
> 
> Forst some clarifications on names and such:
> 
> FreeNX was initialy just a project for a server implementation of 
> the NX
> technoligy, and has just recently also got client modules. Thus 
> both the
> main project and the nxserver subproject is called FreeNX. This is
> confusing, but you will just have to live with it.
> 
> Once upon a time !M (NoMachine) released a proof-of-concept 
> nxclient as
> OSS. This was a command-line only interface called nxrun. Then 
> LawrenceRoufail used the nxrun code as base for his moznx project, 
> a mozilla
> plugin. During this process he improved the core and made it 1.4-x
> compatible. Now he thought a new version of the command-line tool 
> wouldbe usefull, so he modularized moznx and created a module he 
> innitiallycalled nxconnect. Later he renamed the nxconnect module 
> nxrun and the
> entire project to nxc (short form of nxconnect/nxclient). However, the
> code has not propperly been cleaned up (you are very welcome to 
> help!),so the main project that should be called nxc sometimes is 
> called nxrun
> or moznx, and the nxrun component sometimes is called moznx or 
> nxconnect.As far as I know, the nxc project and all it's 
> subcomponents have a
> version of 0.3 (so changes in CVS will become 0.4). Any references to
> 1.x is left-overs from the !M nxrun program, as is most ChangeLogs and
> other documentations as well.
> 
> gnx is a completely separate project by Gustavo Noronha Silva 
> featuringa minimalistic pure C client for the ThinStation project 
> and a gtk gui
> written in python. In this context it is not relevant, but it's 
> good to
> know it is there.
> 
> knx is a nx client for kde that originally was (is) a separate project
> living in the kde CVS, but there has been talk of making it a nxc 
> moduleand let it use nxcompsh and nxdriver. This is, to my 
> understanding,becouse knx is unmaintained and has a very limited 
> support for the quite
> extensive nx protokoll. Just keeping the gui parts of knx and let 
> it use
> the better nxc backend would be a great improvement.
> 
> Now your issues:
> 
> | o revision control. i had a bit of a hard time finding where the
> | sources for nxc was, as most of the FreeNX stuff is now in 
> subversion| but the nxc stuff is in CVS? will nxc be moving to svn 
> sometime? or
> | will it be staying in CVS?
> nxc and freenx (the nxserver subproject) is in CVS, gnx is in SVN. It
> will most likely remain this way indefinitely.
> 
> | o no documentation. this makes getting involved with this 10x harder
> | than it should be. can we please adopt a go-forward policy of
> | documenting at least all public and protected members in classes?
> | doxygen style comments would rock. also, documentation for config
> | files, etc.. is needed. this can be gleaned by visiting N pages 
> on the
> | 'net, but that's N-1 too many ;) ... and really, an overall 
> "this is
> | the general architecture of nxc" paper would also be very, very 
> good.nxc was originaly a one-man project, and as such had to litle
> documentation. Please feel free to write some documents with your
> findings and add to the freeNX wiki at
> http://openfacts.berlios.de/index-en.phtml?title=FreeNX
> 
> | o no tests. this is of a slightly lower priority than 
> documentation ;)
> | but for this sort of software, having unit tests is going to be
> | critical, especially as this needs to be able to keep up with
> | NoMachine changes _and_ remain compatible / non-broken with 
> FreeNX and
> | itself. do the current authors have any preference when it comes to
> | testing frameworks?
> Atm testing is trying to connect to !M nxserver and FreeNX 
> nxserver and
> se if it works. If you want a test suit, please talk to Lawrence 
> Roufailand then set up one.
> 
> | o code quality. i wonder why we are using unsigned ints and "#define
> | TRUE 1" when we have booleans in C++ ... or why all ^M's the end of
> | lines? or the references to MOZ_NX (e.g. in NXRunVersion.h) is there
> | some history here that i should be aware of? or some odd 
> compatibility| issues? because some of my first desires is to do 
> some janitorial work
> | so i can read the code more efficiently. this is to aid my 
> understand| of what's going on since i don't have the luxury of 
> documentation. but
> | i don't want to spend time doing something that's not useful.
> The code is in need of a cleanup, but last I heard Lawrence Roufail
> didn't have the time to do so. Feel free to help out!
> 
> | o bug report quality. there are reports that mention crashes but 
> don't| include backtraces. there are vague references to classes, 
> which sends
> | me off grepping around. these reports are filed by the authors, 
> so i'd
> | expect things like backtraces, file names, etc... these all make it
> | vastly easier for someone to get into the project productively.
> As far as I know there is no bugreports for nxc on the official
> bugreports page (http://developer.berlios.de/bugs/?group_id=2978)
> What bugreports are you reffering to?
> 
> | o where do i send patches for nxclient to?
> If you meen nxc it is at the freenx berlios development page
> (http://developer.berlios.de/patch/?group_id=2978)
> If you mean !M nxclient you can't. nxclient is closed source. The 
> sharedOSS components see 
> http://www.nomachine.com/ar/view.php?ar_id=AR12B00113
> | o what syncing will need to be done with NoMachine's efforts, if 
> any?Just make sure it works with the latest stable 1.4-x OSS 
> components(that is: keep your system updated and try to run it).
> Preferably you should test to connect to latest !M nxserver 1.4-x,
> latest !M nxserver 1.3-x, latest released freenx nxserver (0.3.0 atm),
> and latest freenx CVS, though if it works with !M 1.4 or any recent
> freenx version it should be ok.
> 
> | o does anyone on this project hang out on IRC ever, and if so where?
> I don't, and I havn't heard that the others would. Main communication
> chanel is email, both personal and this mailing list, and various
> postings at the berlios page (eg bugreports, feature requests, 
> tasks etc.)
> 
> | i'm sure i'll have more questions in the days to come as i 
> continue to
> | ramp up and hack on this.
> Feel free to ask and we will help out if we can.
> 
> Regards
> - - Jonno
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.1 (GNU/Linux)
> 
> iD8DBQFCPrM9OOpxqcksWu4RAqkyAJ4lOlZiXWIClkZwHGN6NiKj5utxKQCggj2e
> vtE9YXGCxbTyjEGQY6HxiL8=
> =y4Dn
> -----END PGP SIGNATURE-----
> _______________________________________________
> FreeNX-kNX mailing list
> FreeNX-kNX at kde.org
> https://mail.kde.org/mailman/listinfo/freenx-knx
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: NX Client Developers Guide-1.doc
Type: text/richtext
Size: 121813 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/freenx-knx/attachments/20050321/f2eee1f5/attachment.rtx>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: NX Client Developers Guide-1.pdf
Type: application/pdf
Size: 454829 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/freenx-knx/attachments/20050321/f2eee1f5/attachment.pdf>


More information about the FreeNX-kNX mailing list