C-Nus
This is a modest effort to cover CentOS langSubsites needs.
Contents
1. Characteristics
If you are asked to build your own CentOS subsite, what do you'd have on it:
1.1. Name propositions
- C-Nus : like in CentOS News.
- ...
1.2. Content
- Entries ordered by categories (Ex. News, Events, ...).
- A special and simple way to organize and present CentOS releases.
- Static contents to discribe things (Ex. wiki, forums, documentation links).
- Links, a place to organize CentOS links.
- A search functionality.
- Comments functionality in each available content.
- Content should be translatable. So the application could be installed for other name spaces (like /fr, /de, /it, ...)
Content will take place in a database (like Postgresql or MySQL).
1.3. Authentication
|
- Authentication should be against an LDAP server. (using email and userpassword).
1.4. Authorization
Just two roles:
- writer
- administrator
The relationship between LDAP users and their access rights will take place in:
- a database (like Postgresql or MySQL).
- the user's entry itself, through the inetOrgPerson's attribute employeeType.
Writers will be able to:
- Login into de system.
- Post into the system.
- Administer just the content he/she has posted.
Administrators will be able to:
- Login into de system.
- Post into the system.
- Administer all available content.
- Set/Unset privileges/roles for other available ldap users.
Other people will be in the anonymous role. They'll be able to:
- Read the content.
- Send commentaries (anonymously) with some fields required (name, email, ...)
1.5. User Management
- Let public registration with appropriate verification.
- Before adding a user into LDAP directory, request is stored in a database, waiting for user verification.
- If user's verification is correct. User is added into LDAP directory.
- If user's verification request is older than 7 days it will be canceled.
- Before adding a user into LDAP directory, request is stored in a database, waiting for user verification.
- Users with admin rights will be able to: add, remove, and update users' information in the LDAP directory, and user rights (stored in a database table).
1.5.1. LDIF template for users
dn: uid="...",ou=Users,o=Www,dc=centos,dc=org objectClass: InetOrgPerson uid: ... # mail address used for authentication cn: ... # Common Name sn: ... # Surname userPassword: ... # Password used for authentication in {MD5} or {SHA} employeetype: ... # User's role <writer|administrator> preferredlanguage: ... # Preferred language code as describe in ISO 639-1 codes displayName: ... # User's nickname. mail: ... # mail address used for contact.
What would you include/removed ? See: RFC 2377
2. Design
If you are asked to design your own CentOS subsite, what do you'd do it:
2.1. Proposition 1: C-Nus still in womb
Note: All the information shown in the following images is fictitious.
Interface for user administration:
2.2. Proposition 2: ...
...