I've built a prototype of the community portal, and I'd like a quick
sanity check on it. If someone would look over the architecture of this
code and make sure that the design is sensible before I proceed any
further, that would be very helpful. The source code can be found here:
This code should run on your machine, and you should be able to add
users to the staging tree. It might not, howver; the point is to have
the code looked at before I spend anymore time on it.
The Community Portal prototype is a Python Flask web-application that
acts as a client to a FreeIPA server. It collects input from the
unwashed masses (in the form of a user sign-up page) and then sends it
to the FreeIPA server. This way, the Community Portal acts like a
gateway between the FreeIPA server and the anonymous community users,
restricting the commands they can send to the server.
Right now, the server imports FreeIPA's Python ipalib module, which
allows it to act like a client. It uses api.Command.stageuser_add(...)
to add new users to the staging area of the FreeIPA database. It then
sends an email to the admin (or, rather, it logs an email to the console
instead of sending one, in the prototype) to alert them to the fact that
a user has signed up.
All feedback is welcome.
Manage your subscription for the Freeipa-devel mailing list:
Contribute to FreeIPA: http://www.freeipa.org/page/Contribute/Code