As a part of the 2.3.0 merge release of the two branches of XOOPS (2.0.X and 2.2.X), I've been asked to work on the Profiles module. This will enhance the XOOPSUser capabilities ala what was provided in 2.2.x branch and similar to what SmartProfile brings to the 2.0.x branch. Initially, we'll just do the merge with any simple enhancements that make sense. Then for 3.0, or for future 2.3.x releases, we'll work on the rest of these enhancements.
What we need:
- Your feedback and comments, suggestions, enhancement requests, etc. (Discuss in the forums, synopsis info captured here).
While I won't guarantee everything makes it into this module for this version, we will strive to bring appropriate enhancements. I've started on the various requirements below. Please let us know of any other aspects you wish to see. I'll keep this updated as we move on this development. Thanks!
Functional Requirements:
- Backwards Compatible (all the old standard calls work as before)
- Standard XOOPS Fields
- Custom Field Attributes
- FieldName (for Database)
- Title (Display) - Text (255 max)
- Description - Text (255 max)
- Category - Select from Categories
- Weight (Sort Order is a better nomenclature for English speakers and more understood by clients) (int >=0)
- Type - Select from Field Types
- Required - bool
- Registration Step (Any or none) - Select from Reg Steps
- Default Value - (dependent upon Field Type)
- Possible Values (dependent upon Field Type)
- Permissions
- View
- System (bool)
- User May Decide Users from group XXX can View fileds from group YYY
XXX can be equal to YYYY
- Edit
- Admin Groups
- User Groups
- Edit
Users from group XXX can Edit fileds from group YYYXXX can be equal to YYY
- Search
Users from group XXX can Search fileds from group YYYXXX can be equal to YYY
- Categories
- Title
- Description
- Sort Order (aka Weight)
- Registration Pages
- Title
- Description
- Sort Order
- Final Step?
- Fields Types
- Generic
- Checkbox
- Radio Buttons
- Boolean (essentially a Yes/No Radio Buttons prefill)
- Select (Drop Down or Multi)
- Text
- Max Field Length
- Display Length
- Text Area (with ability to select XOOPSeditors)
- Date/Time (configurable display using PHP format;)
- Date Only
- Time Only
- DateTime
- File
- Image
- Min/max height/width - Auto resizing
- Image upload (smart mimetypes?)
- Multiple images (blob or file, most likely file)
- System
- System Groups Select (one or Multi)
- System Language Select (one or Multi, prioritized)
- TimeZone Select
- Generic
- Registration Process
- Multiple Page Registration
- Administration
- User Management
- Admin Area User Edit (Super-Users Only)
- User Edit in Front End per Group Permissions
- Enable Account
- Disable Account (disables activation)
- Delete (Terminate) Account (look for any posts, comments, etc.?)
- Category Management
- View Categories
- Field Management
- Display/Basic Edit
- Field Title, Short Descip, Type, View Perm (Sys), Req'd, Category, Reg Step, Sort Order
- Edit/Delete/Duplicate
- Display/Basic Edit
- Registration Step Management
- User Management
- User Edit
- Admin Edit per Group Permissions
- User Edit per System Permission Control
- Password Change (requires old password, new twice)
Users from group XXX can Edit fileds from group YYYXXX can be equal to YYY
- Permission Control on each field
- System (view: reg/anon; edit)
- User (view: reg/anon)
- Presentation Layer (via Smarty Templates)
- Not XOOPS Forms (to allow for better control over display/formatting)
- Preferences
- Standard XOOPS Configuration (Link to and/or allow edit from Profiles prefs page admin)
- Min/Max Login Name - no change (text, int)
- Standard XOOPS Configuration (Link to and/or allow edit from Profiles prefs page admin)
Change is needed because some value are hardcoded and now the maximum is 25 characters for English and 12 characters for 2-bytes languages- Login Name Strictness Level - no change (select)
- Min Password - no change (text, int)
- Allow New Accounts - no change (bool)
- Allow User Delete Own Accounts - no change (bool)
- Allow User Change E-mail - no change (bool)
- Site Policy - text area (DHTML and/or WYSIWYG from XOOPSeditors?)
- Display Site Policy - no change (bool)
- Bad Login Names - no change (textarea)
- Bad E-mails - no change (textarea)
- Reg Notify - drop down select, add new User and Admin
- Instant (Not-Recommended)
- User Confirmation (Default, Recommended)
- User and Admin Confirmation
- Admin Confirmation
- Reg Notify Group(s) - change to Multi-Select
- Max Password - needed (probably not)?
- Password Strictness - select ala SmartProfiles, maybe done via Javascript per cPanel, etc.?
- Show Empty Fields - bool (should this maybe be per field?)
- Notifications
- User
- Registration Submitted
- Lost Password
- User
Current process really confuses newbie members. It should send just one email. When user click on the link it should transfer to a page in the site in which request from user to input the new password.- User Activation Request
- Admin
- Registration Submitted
- User Confirmed (note about Admin Activation if nec)
- User Activated (by User or by Admin User or by Admin)
- User De-activated
- User Deleted
- Activation
- Send Activation Code (only if not activated)
- Re-send Activation Code (only if not activated)
- Account Disable
- No longer allows activation code to be sent
- Miscellaneous
- XOOPS files for old functionality
- register.php
- userinfo.php, etc.
- Defaults
- User Fields
- Login Name (XOOPS username) - Text, Private
- Password - Text, Private (requires twice; strength indicator via Javascript)
- First Name - Text, Private
- Middle Name (or Initial) - Private
- Last Name - Private
- Display Name (XOOPS RealName) - Public
- User Fields
- XOOPS files for old functionality
Can be Enabled by admin – if not enable it should be same as login name.- Birth Date - Private
- Organization (XOOPS OrgName) - Private
- Street Address
- Signature Field
- enable/disable text, images, html, etc.
- set max and min size of image in signature
- set the max number of allowed links in signature
- sex
- Avatar - use current XOOPS functionality
- expand to have min/max automated resizing for clueless uploaders
- Help
- Pre-Register with Validation Code
- Codes are single-use
- Have expiration date
- Able to add to 1+ (multiple) groups
- Able to send e-mail to users when uploading
- Bulk upload capability
- Auto-Login (with security risk disclaimer)
- Can turn on and off in system preferences
- Can turn on/off per user
- Groups
- Groups can have groups as members (inheriting rights)
Enhancement Requests
- Make XoopsUser useful info available in the Smarty Templates
- Security:
- Hidden field: only robots are fool enough to fill a hidden field so we can check and if this hidden field is filled then it should be a robot (Madfish Idea)
- CAPTCHA
- Allow usage (enable/disable) of CAPTCHA in registration form
- register insert js check (Gijoe – plugin in protector)
- salt password:
- change the hash algorithm to prevent dictionary attacks being run against captured hashes: for example: new pass = SHA-256(salt password + md5(current password)) (DaveL and Mithrandir idea)
- sessions: ability to delete a user session. currently when you assign a user to "banned group" it doesnt take effect until he logout
- View Profile
- Preference to turn this on/off (with redirect)
- On - Users see basic info (display name, on-line status, etc.) minimum
- Registered users may send message (if enabled)
- If per admin/user prefs, e-mail address visible, along with other fields (show empty if enabled) (maybe show e-mail as image, not text -- altho problem with sight-disabled persons)
- Updated display of last login date/time (e.g., 2 days ago, 2 hours ago)
- Additional display/page for user posts (instead of at bottom of page)
- Comments - Use XOOPS Comments
- Ratings - maybe 1-10 in a few areas
irmtfan
there should be 2 part in the profiles. part 1:(base Profile) login name , pass , email these fields should be remained in XOOPS Core and not Profile module. so everybody can uninstall Profile module and still all users base information are remains in the database.
part 2: extensible profile system.
- display name that can be enabled from admin by yes/no
- all other fields should be flexible ( you describe it in detail)
- rating system so users from group XX can vote for users from group YY
describe: can we extend it by define a calculate system? you see all other fields can just get one entry not multi entry. can we name it a "Multi Entry" field?
- scrapbook
- my blog and my page
- my gallery
(mboyden responds...) I agree, and both parts 1 and 2 are incorporated into the design. As to the rating system, yes, that could be done, and I'll add it into the wishlist. I'd like to see a XOOPS-wide rating capability similar to what is done with comments and such. Per discussion in the forums, scrapbook, myblog, mypage, mygallery belong in other modules. .
[stefan88]
- ) multilevel groups - for example "Group 1" with subgroups "Group 1.1", "Group 1.2" ...
- ) Plugins for the user page. The admin adds a file in some plug-in folder, that will give some extra info in user profile. For example that will give a horoscope/biorithm based on users birthday...
- View

![[Main Page]](/modules/mediawiki/images/mediawiki.png)





