Opened 5 years ago

Last modified 7 weeks ago

#10080 new task

Create a crypto system for Trac

Reported by: hasienda Owned by:
Priority: high Component: CryptoPlugin
Severity: normal Keywords:
Cc: rjollos, dkgdkg Trac Release: 0.11


This ticket is meant to tell the world about initial development steps.

Implementation is progressing towards the following primary objectives:

  • common plugin source files
    • setup-tools support for packaging
    • unit tests
    • i18n support
  • ExtensionPoints and corresponding Interface classes to share within crypto system components providing nicely grouped
    • admin panel fieldsets
    • user preferences fieldsets
  • first provider of crypto services - this will be OpenPGP using GnuPG (see wiki:CryptoPlugin/Dev for details)
    • new key generation from Trac web-UI
    • key management including import/export and flexible association between known keys and users
    • generic sign/verify and encrypt/decrypt modules
  • first crypto application - most probably for Trac Wiki

Stay tuned ...

Attachments (0)

Change History (10)

comment:1 Changed 5 years ago by hasienda

It may look silent from the outside, but I'm working really hard here. Tonight I've reached an intermediate development goal: I'm testing a pre-release version of the signed wiki.

I'll do code-review, more testing and polishing to the web-UI within the next days, but this is a great relief to me, that it's indeed doable with my limited resources, both knowledge and time.

comment:2 Changed 4 years ago by hasienda

(In [11807]) CryptoPlugin: Create bare common Trac plugin infrastructure, refs #10080.

comment:3 Changed 4 years ago by hasienda

(In [11808]) CryptoPlugin: Add bare test infrastructure, refs #10080.

Consider unit tests to be essential for QA of non-trivial stuff, so include it here right from the start. Thanks to Odd Simon for a recent example implementation in TagsPlugin trunk, that served as coding style guide to me.

comment:4 Changed 4 years ago by hasienda

(In [11809]) CryptoPlugin: Arrange a minimal set of python scripts, refs #10080.

There'll form a public API for other Trac plugins, because that's the purpose of this plugin. For setup and configuration Trac folks are used to have web-UI and admin panels.

comment:5 Changed 4 years ago by hasienda

(In [11810]) CryptoPlugin: Create bare admin panel, refs #10080.

There's still no visible functionality apart from an empty admin panel and a newly added permission. However, now 4 real unit tests replace 2 of the dummy ones to ease validation of plugin behavior in the future.

Still I'm a bit lazy here, because for 100% code coverage I should probably have added a functional test for the admin panel as well. Let's postpone this to a later time, when there's more real content to check for.

comment:6 Changed 4 years ago by hasienda

(In [11811]) CryptoPlugin: Create basic i18n infrastructure, refs #10080.

comment:7 Changed 4 years ago by hasienda

(In [11812]) CryptoPlugin: Add blank user preferences page, refs #10080.

comment:8 Changed 4 years ago by hasienda

(In [11813]) CryptoPlugin: Implement some functionality now, starting with OpenPGP, refs #10030 and #10080.

comment:9 Changed 4 years ago by dkgdkg

  • Cc dkgdkg added

comment:10 Changed 7 weeks ago by rjollos

  • Owner hasienda deleted

Add Comment

Modify Ticket

as new The ticket will remain with no owner.

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.