Still alive :)

Anything else to do with MoM IME
User avatar
Tino Didriksen
Site Admin
Posts: 46
Joined: Sun Aug 17, 2008 10:05 am
Location: Odense, Denmark
Contact:

Re: Still alive :)

Post by Tino Didriksen » Fri Jan 13, 2012 6:35 pm

Implode wrote:I'll gladly let anyone help but tell me with what, and what you need me to do to enable you to do it...
Ok...
I have Linux servers available where I can host the website, email, svn, game servers for playtesting, etc, you name it.
Concretely, if I set up hosting, then from you I would need any of:
  • you to SSH / SFTP in and set everything up
  • or, you make a .zip or .tar.gz of the entire website, MySQL database dump, svnadmin dump so I can set it up
  • or, login credentials to existing places so I can fetch all that stuff myself
And once everything is verified to work, the domain roughseas.ca can be pointed at the new place.
Implode wrote:...effectively giving up version control being on my own SVN server and using their CVS servers instead, and I'm not prepared to.
First off, SourceForge no longer uses CVS; they've switched to SVN. So if you have a local SVN repo, transferring it all with history should be possible.

Secondly, giving up using your own SVN server is an advantage. The idea is that if you die or otherwise stop development, the code isn't lost; others can continue development. And, if someone has ideas that majorly conflict with your plans, they can fork and try their own continuation. This is all healthy for development.
This can also be achieved with a repo hosted at some 3rd party, as long as it is publicly readable.
Implode wrote:...then how do I control patches people submit? If I get 30 mins a day to work on MoM then I want to be able to spend that time coding and not spending ages reviewing other people's commits...
Delegate that to someone else, or simply deny all patches.
Implode wrote:Does github work dramatically differently from sourceforge, and do you have to pay for it?
Very different...Git is decentralized meaning everyone checks out the full history and has an entire repo copy locally which they commit to and only once in a while push the changes to the central hub. Personally, I prefer SVN's centralized approach.
Implode wrote:To date Virm is the only person who directly offered to help mod the forums and so I gave him admin rights to do so.
Righty...for the record, I am willing to:
  • help moderate
  • further develop IME
  • review patches
  • host everything needed for the project to work, for free

User avatar
Implode
Site Admin
Posts: 433
Joined: Fri Feb 24, 2006 3:35 am
Location: Newfoundland, Canada
Contact:

Re: Still alive :)

Post by Implode » Wed Jan 25, 2012 3:30 am

FYI, am working (with lot of help/suggestions from Tino) to get the code hosted in a SVN repository on sourceforge. Will post details once its available.

I figure the code is the primary issue. Once that's publicly accessible, will figure out what to do with the forum. We could use the forum facility on sourceforge (which means it would start off empty) or we think we could just transfer this entire forum and all its contents onto one of Tino's servers.

Will let everyone know updates once this is more sorted.

User avatar
Lucern
Posts: 113
Joined: Sat Jun 02, 2007 9:13 am
Contact:

Re: Still alive :)

Post by Lucern » Sat Jan 28, 2012 6:12 pm

I'm glad to see such arrangements being made.

Lead the way Implode. Those of us who see the great value in MoM IME will find our way there.

User avatar
Implode
Site Admin
Posts: 433
Joined: Fri Feb 24, 2006 3:35 am
Location: Newfoundland, Canada
Contact:

Re: Still alive :)

Post by Implode » Sat Jan 28, 2012 9:03 pm

https://sourceforge.net/projects/momime/

All the new Java code is up there and most of the old Delphi code (for reference). Got another big routine in the game startup done.. only one left, working on that at the moment.

MichaelZett
Posts: 14
Joined: Wed Oct 05, 2011 9:41 pm

Re: Still alive :)

Post by MichaelZett » Tue Jan 31, 2012 7:15 am

Implode wrote:https://sourceforge.net/projects/momime/

All the new Java code is up there and most of the old Delphi code (for reference). Got another big routine in the game startup done.. only one left, working on that at the moment.
Do you have some roadmap or architectural overview?

Edit typeo: roughseas.ca

User avatar
Implode
Site Admin
Posts: 433
Joined: Fri Feb 24, 2006 3:35 am
Location: Newfoundland, Canada
Contact:

Re: Still alive :)

Post by Implode » Tue Jan 31, 2012 3:11 pm

MichaelZett wrote:Do you have some roadmap or architectural overview?
Check out the MoMIMEDocuments project from SVN, there's a an HTML file in there, currenly that's all there is. I'm really finicky about documenting code in fine detail though (otherwise I don't understand myself what/how it does when I come back to it later) and being thorough on JUnit tests. So if there's anything else you particularly need let me know and I'll try to write some info about it.

e.g. I was planning on writing a section on the threading model that NdgMultiplayerSessionServer uses (that MoMIMEServer is based on) because that's a really crucial piece to understand how the flow of messages from the clients are processed without clashing (being one of the things that makes the old Delphi code so darn complicated - have simplified it immensely now in the new Java version).

Also (to you, Tino, any other potentially interested developers) I am shortly going to be in a position where the server has got as far as I wanted for now (i.e. game startup completely works) and will park working on the server and go back to try to convert the old Delphi client to talk using XML-based network messages to the new server. Is there any point me raising tickets/to dos on Sourceforge for stuff that I would like to see fixed/improved on the server in the meantime? Would anyone actually look at them lol :) no point if its just for my own benefit...

As an aside, the user table for the forum crashed o.O Never had problems of that nature before! Didn't have a clue how to get into the MySQL control panel to try to do anything about it. Luckily was simple to fix, hope there's no weird behaviour as a result...

Nigel.

Virm
Posts: 63
Joined: Sat Sep 23, 2006 3:54 pm

Re: Still alive :)

Post by Virm » Tue Jan 31, 2012 10:56 pm

I'm more than willing to check on a work list for the server components once you feel they're stable enough for others to work on. I can't promise much speed in working on it due to real-world time constraints, but I'm willing to do what I can.

Any access restrictions on the sourceforge repository? (haven't had a chance to do more than glance at it since the notice)

User avatar
Implode
Site Admin
Posts: 433
Joined: Fri Feb 24, 2006 3:35 am
Location: Newfoundland, Canada
Contact:

Re: Still alive :)

Post by Implode » Wed Feb 01, 2012 2:37 am

You check freely check the code out read only. I think to be able to commit updates I have to add you as a developer on the project. Having not hosted a project on sourceforge before I'm not sure how that works, whether I have to add you or you put a request in to join the project and I just accept it. So give it a go your side and if you can't find the right option let me know and I'll try :)

MichaelZett
Posts: 14
Joined: Wed Oct 05, 2011 9:41 pm

Re: Still alive :)

Post by MichaelZett » Thu Feb 02, 2012 9:50 am

I checked out the code. Next I have to get a little familiar with maven (we're still using ant as build tool).
I think at first I will try to get everything started and look at how it works. Perhaps doing a little bit refactoring on the way. I'll let you know as soon I'm ffeling ready to actively contribute.

User avatar
Implode
Site Admin
Posts: 433
Joined: Fri Feb 24, 2006 3:35 am
Location: Newfoundland, Canada
Contact:

Re: Still alive :)

Post by Implode » Thu Feb 02, 2012 11:23 am

Maven (i.e. command line builds) is wonderful, it will just go off to the internet and automatically locate and download any missing dependencies your projects have. You probably can't appreciate that on MoM IME because it has so few dependencies (on purpose) but some of the projects I've used it on at work that have hundereds of JARs in order to build its wonderful not having to manually locate these, include them in the build, worry about version mismatches and so on. I also really like that you can get it to do the xsd2java at build time, so the generated source files don't become part of what you commit into SVN. And that it automatically runs all the unit tests at build time and will fail the build if any unit tests fail.

The Eclipse plugin is a little more finicky, if you make changes to the POM you have to give it a poke sometimes (usually picking "Refresh dependencies" or "Refresh project configuration") to make it realise that you made a change, but as long as you aren't changing the POMs often it works great. Normally I just do everything in Eclipse and only if I change something signficant (like one of the XSDs) do I exit out of Eclipse and do a totally clean build of all the projects on the command line.

FYI I never used ant :)

MichaelZett
Posts: 14
Joined: Wed Oct 05, 2011 9:41 pm

Re: Still alive :)

Post by MichaelZett » Fri Feb 03, 2012 7:25 am

Implode wrote: I also really like that you can get it to do the xsd2java at build time, so the generated source files don't become part of what you commit into SVN. And that it automatically runs all the unit tests at build time and will fail the build if any unit tests fail.
You can do that wit ant, too, but the declarative dependency management sounds really good. I hope I can get to it on the weekend.

MichaelZett
Posts: 14
Joined: Wed Oct 05, 2011 9:41 pm

Re: Still alive :)

Post by MichaelZett » Sat Feb 04, 2012 1:34 pm

So, installed maven and its plug-ins and tried to generate code in the given order.
On NdgParent there is a hard-coded dependancy on datetimepicker - shouldn't that be controlled by maven, too?
How do I tell the other projects where everyone else is? NdgMap needs NdgParent but cannot not find it.

User avatar
Implode
Site Admin
Posts: 433
Joined: Fri Feb 24, 2006 3:35 am
Location: Newfoundland, Canada
Contact:

Re: Still alive :)

Post by Implode » Sat Feb 04, 2012 5:26 pm

MichaelZett wrote:On NdgParent there is a hard-coded dependancy on datetimepicker - shouldn't that be controlled by maven, too?
No, there's a thing in NdgParent that says "If you need datetimepicker, this is where to get it from" just as there's another piece that says "If you need junit, this is the version number to use" - it doesn't mean its an actual depedency. It just saves me including the junit version number in every project that uses junit. It doesn't mean that every project that references NdgParent does include the junit dependency.

As for the datetimepicker one, I should really remove that because its nothing even to do with MoM, other than that the editor would perhaps not compile without it. I should get that sorted one way or another though. I've put a ticket on sourceforge about it so I don't forget about it.
MichaelZett wrote:How do I tell the other projects where everyone else is? NdgMap needs NdgParent but cannot not find it.
How are you compiling NdgParent? If on the command line you go into the NdgParent folder (where the POM is) and do 'mvn clean install' it will compile it and install the completed project into your local maven repository - then everything else you build after that will be able to find it.

MichaelZett
Posts: 14
Joined: Wed Oct 05, 2011 9:41 pm

Re: Still alive :)

Post by MichaelZett » Sun Feb 05, 2012 5:46 pm

Implode wrote:
MichaelZett wrote:How are you compiling NdgParent? If on the command line you go into the NdgParent folder (where the POM is) and do 'mvn clean install' it will compile it and install the completed project into your local maven repository - then everything else you build after that will be able to find it.
Hi, I use Eclipse and the commandos clean and install work, thanks. But while the build runs successfully including the tests, Eclipse does not find things like JUnit or jdom although they are on my repository. Do I have to tell Eclipse some way that the projects are Maven-Projects?

User avatar
Implode
Site Admin
Posts: 433
Joined: Fri Feb 24, 2006 3:35 am
Location: Newfoundland, Canada
Contact:

Re: Still alive :)

Post by Implode » Mon Feb 06, 2012 12:45 am

MichaelZett wrote:Do I have to tell Eclipse some way that the projects are Maven-Projects?
On a new project yes you'd have to pick "Maven > Enable Dependancy Management" (I think its called), but I've already done that, and purposefully *include* the .project and .settings Eclipse folders in what I commit into SVN so that these settings are already there, so it *should* just work for you without you having to do anything.

Did you install the m2eclipse plugin? When you right click a project do you get the extra "Maven" item (with the little red "m2" icon next to it) on the popup menu?

Generally speaking though its still necessary from time to time to do command line builds; the command line maven works more properly and accurately than the eclipse plugin. In particular a) Eclipse can't understand the relationship between all the XSDs in MoMIMECommon, if I change one of those XSDs it never rebuilds stuff right (it'll delete generated sources and only regenerates some of them), and b) I've had unit tests that pass in Eclipse but fail on the maven command line because in differences between how the eclipse plugin sets up the classpath and how maven on the command line sets up the classpath. .. and sure there's more examples but that's all I can think off of the top of my head :)

Post Reply