Final project report for "Lifecycle code design" (262)


Project page:

Original devproj:

Implementing a means of managing the lifecycle of a user account, specifically the application of a configurable grace period at the end of a user's account entitlement, was an original goal of the prometheus project. For various reasons, primarily one of code-loss, this was deferred until some time after the main prometheus project.

This project's title is "Lifecycle code design", but the project has encompassed all aspects of design, implementation, planning, preparation, political lobbying and roll out of prometheus lifecycle.


Much of the design behind this project is gathered here:


Development largely took place in Spring/Summer 2013, with the bulk of code submitted to gerrit in September 2013. There has been continuing, intermittent, development since then.

Roll out

Roll out of the code was originally planned for summer 2014, but was delayed due to changes to the school database. Preparation for roll out involved a significant amount of preparation of our existing data and accounts. This should arguably have been logged against a different project. Roll out of the lifecycle code finally took place in January 2015.


Significant code changes to Prometheus have taken place, these have been largely in the processing of roles and entitlements. A new LifecycleProcessing conduit has been written. Output from this conduit is sent to inf-unit and support.

Documentation specifically for lifeycle has been written and the main prometheus documentation has also been updated accordingly:

We now have much better management of our user accounts and the data from which they are derived. All of our active user accounts are either because of roles granted from the database or are in a grace period.

Effort Spent

The total time spent on the project was 442.5 hours (63 days / 12.6 weeks), not including any time spent by Simon.

Future Considerations

We now have a tighter (and simpler) link between the school database and prometheus itself. We should write a document to formalise the terms of this interface.

Our management of roles and entitlements needs to be re-addressed, taking the conclusions and recommendations of Report on roles & capabilities, and more recent discussions and development, into consideration. A further report on this will be written.

We need policies and procedures for deletion of accounts, including the data in home directories and other locations. All non-active accounts are currently disabled, but are not yet being deleted. There was an "account reconciliation" project - - which could be reawakened, or a new project created for this purpose.

-- TobyBlake - 30 Apr 2015

Topic revision: r1 - 30 Apr 2015 - 15:02:27 - TobyBlake
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback
This Wiki uses Cookies