A newcomer waiting for membership has the identity status Unvalidated. He has to meet these conditions:
get at least 5 certifications
meet the distance criteria
At this stage, it is sure that the newcomer wants to join the web of trust, so the membership request is implicit and anybody can "validate" the identity by calling request_distance_evaluation_for().
The user can also call request_distance_evaluation() for himself, but it should not be necessary since the last certifier can do it. However, the "request membership" button can still be displayed grayed out.
Distance evaluation for old member
An old member has to periodically renew his membership with the "renew membership" button. This button has to be highlighted when the membership expiry is close in time. But to renew his memberhsip, he must meet the distance criteria. That's why the call is not renew_membership but request_distance_evaluation() instead. If distance is evaluated positively, Duniter will renew the membership automatically.
Distance evaluation for ex member
An ex member of the wot can join again provided he meets the conditions:
at least 5 certifications
distance criteria
Once he meets these conditions, the call is not join_web_of_trust_again but simply request_distance_evaluation(). Duniter will reject this call if the certifications criteria is not met. And once distance is evaluated positively, the identity will become member again.