Hi WordFramers,
as previously blogged by David, we are in the process of developing the functionality of the user profile. This will be the foundation of the social features of many Integra applications. As the first stage is now complete, we can present you the functionality wire-frames. Any possible feedback is welcome.
The change will concern the following areas:
1. User profile data fields
To generate the data fields of the Integra user profiles, we tried to follow the most common standards for user vCard and Social graphs, so we can later integrate, export and import data easily from the most common standards as hCard, vCard, FOAF and Facebook social graph. The full list of the available data fields can be found on the dedicated documentation page. This list is discussable and could be extended in the future.
2. New profiles management functionality in the Core engine administration
As the profiles will be managed and stored in the Integra core engine, the most suitable place for the interface that browses and manages profiles is the Builder -> Accounts & Security -> User accounts section. The wireframes that present this change are three.
Browse profiles
The browse profiles functionality screen should provide an easy way to find a profile in order to review or manage it. So its main target is how quickly you can find the right profile. To fulfill that, we are suggesting a basic filter functionality that will look everywhere or only in the most common profile fields like - username, email, name, website or weblog (please comment your ideas on this selection).
If you need some more detailed sifting, you need to use the advanced filters which will be presented only when the "advanced filter" link is clicked. They will include a type ahead textbox for forcing the system to look only into a specific profile field. Once the user starts typing in the field it will automatically present in a type ahead box bellow the textbox, all fields that contain the typed characters. The other advanced filter will be for presenting only profiles that are updated in the past 24 hours, week, month, 2 months, 3 months, 6 months, year (much similar to some of the "browse accounts" advanced filters)
Review a user profile
The benefit that this screen should provide is of reviewing all aggregated user information on one place. The data itself could be managed by the user via different pages and applications, but for the administrators it should be easily and quickly accessible for review.
For the presentation, we had a little dilemma. As the fields are so many, whether we should split the profile information in tabs or just leave it on one page. Giving it a second thought we decided to leave it on one page for two reasons:
- the latest usability reports clearly show that people do not have problems to scroll
- and second it is easier to use the integrated search functionality of the browser when you are not sure in which section the field you need is.
Manage a user profile
This screen should provide a one stop spot for user profile management by the system administrators.
The problem of presenting too much information is even worse on this screen, but again we decided to keep it simple and just deal with the functionality by presenting it on a single page. There were also some other areas which needed a decision to be taken. These were the profile fields, where we expect more than one value to be provided and further we can expect some additional business logic to be build on top of it by the applications. Examples are the profile category and the user interests fields. The options were two - go with a comma separated input and storage or make it a different sub-elements within the "category" and the "interests" fields. We chose the CSV format, as we consider it a lot easier to be managed by both users and developer, but this decision is not final yet.
3. New report
All the user profile data should be very easy to be exported both to other systems or in a CSV format, in order to be part of more comprehensive reports. This functionality in Integra is provided by the integrated reporting module. So we need to create a new report in the section Builder -> Reports & Logs -> On demand reports. Like the rest of the reports, administrators should be able to choose what columns to be included in it and what is the default sort order.
The problem area here is that not all of the data is suitable by default to be exported on a CSV format, so we needed to exclude a column (photo binary) and to alter the content in other columns (eg. the work history positions will be exported in a CSV compatible style). We hope this will not cause trouble, but are still open for other solutions.
4. ITBrix.Core.ProfileView webframe
There should be a webframe which will be able to present a user profile, by applying a customizable presentational template. This webframe will be the fastest way to get and present profile info, but will not be the only way. As we will also implement new functional tags for presenting the profile fields, the ITBrix.Core.CustomHTML webframe will be able to do the same job (or the ITBrix.Core.CustomUserControl for the .net developers). But having a dedicated webframe will enable us to implement more specific cache and faster information get algorithms.
5. ITBrix.Core.ProfileManage webframe
The user profiles data will be aggregated and used by many applications on top of the Integra platform, but still we need a functionality for the user to manage this date from a single place. This webframe is again implementing the presentational templates management so the look of the profile management form could be completely customized
6. Functional tags
The function tags are developed by the WordFrame team. They can be used everywhere in the public site in HTML, javascripts, etc. and will be substituted with the real values when the HTML is rendered. Function tags can be inserted as:
{{profile: data-field $|$ username}}
The same kind of functional tags will be implemented for the user profiles. With their help you can present each of the user profiles data, by inserting a functional tag in the webframe html or presentational template, without developing and dealing with the User profile API methods.
7. Future extensions
Once the main functionality is released and matured we will add webframes for the public site that will search through the profile data and present list of members manage by presentation templates again.