On 11/29/12 1:06 PM, Simone Gatti wrote: > Dear all, > > During the last weeks, while discussing our work on including new details > in users' profiles on the forge, I and Stefano Invernizzi also continued > working on the other features we introduced in one of our first messages on > the mailing list, back in July. > Now we have completed the implementation of these tools, and we would like > to get feedbacks from you in order to check if it's possible to include > them on the Allura platform. > > The additional features we implemented consist of two main parts. First of > all, we included the concept of organization, namely companies, foundations > or other non-profit organizations and research and education institutions. > Each organization is now allowed to create a profile, including some > details about it, like a description, its working fields, its size, etc... > . Moreover, users can be linked to the organizations they belong to, and > projects can be linked to the organizations developing them. For both these > kinds of relationships, we implemented a two-way mechanism: the user > requests to be registered as a member of the organization and the > organization has to confirm it, or vice-versa. Similarly, an organization > sends a request to be listed as the developer of a project, and the > administrator of the project has to accept it, or vice-versa. When a user > leaves an organization, he can set this on the forge, and the enrollment in > this organization will be shown as a past membership. The same applies for > project collaborations: an organization can freely set a collaboration > within a project as completed, because the organization doesn't want to > continue working on the project, and it will be shown as a past involvement. > We believe this features could be very useful on a forge which is used by > more than one organization, because it allows to have a better awareness of > the community, knowing how users working on a project are organized in the > real life. It can also increase trust for those projects developed by > well-known organizations.
An additional use for this could be to make an organization around a topic, like "android games" for example. We could then use it as a way to loosely group together projects into an android game community. > > The second feature we developed is related to users, and consits of a set > of metrics gathered from their activity. These metrics include the number > of created or modified artifacts (also separated for different kinds of > artifacts), the number of assigned tickets, solved tickets and "revoked" > tickets, namely tickets which were assigned to a user but whose owner was > later changed. Moreover, the number of commits is collected, together with > the total number of added or modified lines of code by the user. For a > certain user, all these metrics are shown on a page on the form, as a total > value since the user's registration, as well as an average per-month value. > The metrics are also calculated considering the last 30 days only, in order > to allow to check whether the user is still active on the forge or not, and > if he is increasing his efforts on the forge or not. > Moreover, it is also possible to see these values for a single category > only, namely considering all the data regarding projects tagged as > belonging to that category. A graph showing the number of joined projects > by the user for each category is also shown, to highlight the kind of > applications the user is focused on. > Finally, the previously listed statistics are also calculated for > organizations, by considering the activity of the users enrolled in the > organization itself. Particularly, since each user can possibly work for > more than one organization on the forge, as well as working as an > individual programmer, organizations' statistics are calculated considering > only those activities performed by its members on projects to which the > organizatione is explicitely involved. > We think these features are useful to allow users to have a deeper > awareness of someone else's experience and interests, and this could also > help in identifying partners for a certain project. > Sounds very nice > These features are implemented as external features and can be easily > enabled or disabled by setting boolean parameters in the .ini file. > Therefore, it is possible to enable organizations only, without including > the statistics features, or including statistics for users only, and so on. > Of course, it is not possible to enable organization statistics without > enabling the concept of organization on the forge. > > We would like to know what you think about these features, and we would > like to know how we can provide you our code to get a feedback from you > and, eventually, to discuss improvements and changes on it. Stefano is now > allowed to write on the repositoy, but since I am not allowed to do so, and > since these features should obviously be discussed before being included on > the project, I don't know if working there, even on a new branch, is the > best solution. Also, let us know if you prefer to check the two features > separately or not. Probably, it would be easier to do it incrementally, > considering one of them at a time. Yes, I agree doing it incrementally would be easiest. I don't know if it'd make sense to break it down into more than 2 pieces, but that might make it even more manageable. Feel free to create a branch on the repository, that is just fine. I'll also start a separate email thread about how we want to handle new code, reviews, and branching. > > Regards, > > Simone Gatti and Stefano Invernizzi > -- Dave Brondsema : [email protected] http://www.brondsema.net : personal http://www.splike.com : programming <><
