Open Registry of Game Information 

  • Task List for developers [server]

  • All things about Java, JavaScript, HTML, Git, whatever is useful for developers.
All things about Java, JavaScript, HTML, Git, whatever is useful for developers.

Moderators: MZ per X, gene

 #37511  by gene
 18 Nov 2013, 06:34
This topic was mentioned in another thread:
Tracy Poff wrote: In the spirit of clarifying, then, please allow me to 'think out loud' about a few of the major requirements for the server.
  • 1. User authentication. It looks like dropwizard might handle this, but it's not clear to me if it's suitable. The description in the manual is rather sparse.

    2. Versioning of the data. This is important--we'll need at least the ability to rollback destructive changes (even with trusted users, accidents can happen, after all) more gracefully than by restoring a database backup. I have absolutely no idea how to handle this. Perhaps there's some easy, standard way that I'm unaware of.

    3. Accepting contributions. If I have not misunderstood, Oregami is intended to have a moderated contribution process, like Mobygames? Then some such system must also be built.
Do you have plans already for dealing with these?
We have discussed these things before (of course), I think it was in the German part. I will try to look this up as soon as possible and post an answer here.
 #37545  by gene
 20 Nov 2013, 00:11
I had a look at the past discussions about development tasks in the German boards, but the threads are too old.
So let's make a new plan!

You mentioned:

1. User authentication.
As we decided to go for the REST approach, I did some research about "REST authentication". With REST we don't want to use something like sessions, so we can use Basic HTTP authentication or OAuth 1/2 (which I would not prefer because of the high complexity). Take a look at this video, which summarizes some key points about REST authentication. I did not get into the dropwizard features yet, if they meet our requirements, we could use them.

2. Versioning of the data.
I kept this in mind since the project start two years ago: we could perhaps use Hibernate Envers (info page, documentation) for the versioning.

3. Accepting contributions.
We need a detailed workflow description before we can start to implement something for this. For this we would need the experience of Mobygames/TheLegacy/other game databases users who know their workflows and are willing to help us in building a better one :mrgreen:

I think we should first try to get the "basics" done right (persistence, data lists, tag lists, unit testing) and get some part of the real datamodel working.