Ticket #103 (assigned defect)

Opened 1 year ago

Last modified 1 year ago

rewrite the 'nwu' CLI tool

Reported by: yvesjm Assigned to: yvesjm (accepted)
Priority: blocker Milestone: 0.2.0
Component: server Version: 0.1.8
Keywords: Cc:

Description (Last modified by yvesjm)

The current version was written as a proof-of-concept. It's based on a bunch of ugly 'if elifs' conditions. Also, there are many parts still broken after the migration from sqlobject to sqlalchemy.

Rewrite that file using a proper class of possible commands, and make this class testable.

Then, for 0.1.8 we should rewrite it so it works as a XML-RPC admin client.

Change History

01/05/08 23:02:24 changed by yvesjm

  • status changed from new to assigned.
  • description changed.
  • summary changed from finish migration to sqlalchemy to rewrite the 'nwu' CLI tool.

01/05/08 23:46:18 changed by yvesjm

Began working on this at my branch. See [394]

01/06/08 02:19:16 changed by yvesjm

More work in [398].

01/14/08 23:38:27 changed by yvesjm

Basic rewrite finished as of [434]. Still pending:

Do some polishing, check security and finish the unit tests.

01/17/08 14:54:14 changed by yvesjm

  • version set to 0.1.8.
  • description changed.

Stephan's message to the list:

Do we really want to access the database directly from nwu.server.cli?

Personally I think we should rather make the server control tool access
the server via XML-RPC as any client does.

My server code creates a client certificate/key pair automatically after
creating the CA certificate/key pair and the server certificate/key pair.
This very certificate was intended for exactly that purpose.

Also, the server code automatically creates an account and gives that account
administrator privileges (and checks if the account still does have those
privileges on startup).

So using that certificate would be easy and we do want an admin also to be able
to administrate the server remotely, right?

Regards,

Stephan

I agree. But I'd focus on fixing bugs for 0.1.7 first. As discussed on the list, we have enough changes already, so let's stabilize the code which needs some serious work as of now.

Then we can do schedule this for 0.1.8.

-->