Hey guys,  

I've started to look at this again. Getting several errors and failures running 
`nosetests` in ForgeUserStats. Can you look into that?

Tim


On Wednesday, January 30, 2013 at 2:17 PM, Tim Van Steenburgh wrote:

> Thanks guys! I'm in the middle of another code review at the moment, but I'll 
> take a look soon.  
>  
> Tim  
>  
> On Wednesday, January 30, 2013 at 12:36 PM, Stefano Invernizzi wrote:
>  
> > Dear Tim,
> > After fixing the issues you reported in your first review, we also fixed
> > other things today and we committed them to the repository.
> > We hope this improves our code. We also implemented the loop to register
> > additional listeners, as I had explained in the discussion of the ticket a
> > few days ago. Particularly, we forced the parameter in the configuration
> > file to be the equal to the entry point name, followed by ".enable", so
> > that the whole mechanism can be easily extended.
> > Let us know what you think about this additional commits and if there other
> > things to be improved. Thank you again for your review!
> >  
> > Stefano & Simone
> >  
> >  
> > 2013/1/18 Tim Van Steenburgh <[email protected] 
> > (mailto:[email protected])>
> >  
> > > Stefano & Simone,
> > >  
> > > I've posted a first review of the User stats code on
> > > https://sourceforge.net/p/allura/tickets/5453/.
> > >  
> > > Tim Van Steenburgh
> > >  
> > >  
> > >  
> > > On Wednesday, January 9, 2013 at 11:30 PM, Tim Van Steenburgh wrote:
> > >  
> > > > Hi Stefano & Simone,
> > > >  
> > > > Sorry for the delay, a lot of us were on extended vacation for the
> > > Christmas holiday. I've begun looking at your branch and intend to provide
> > > some feedback in the near future. Thanks for your contribution to Allura!
> > > >  
> > > > Tim Van Steenburgh
> > > >  
> > > >  
> > > > On Wednesday, January 9, 2013 at 4:14 AM, Stefano Invernizzi wrote:
> > > >  
> > > > > Dear all,
> > > > >  
> > > > > We still didn't get any feedback about the uploaded code. Please, let
> > > us
> > > > > know what you think about it and if there's something we can improve.
> > > > >  
> > > > > Regards,
> > > > >  
> > > > > Simone & Stefano
> > > > >  
> > > > >  
> > > > > 2012/12/13 Stefano Invernizzi <[email protected] 
> > > > > (mailto:[email protected]) (mailto:
> > > [email protected] (mailto:[email protected]))>
> > > > >  
> > > > > > Dear all,
> > > > > > Since yesterday the code is available on the repository. As
> > > > > >  
> > > > >  
> > > > >  
> > > >  
> > >  
> > > suggested in
> > > > > > the proposed code contributors policy, I created a new branch named
> > > > > > si/5453. Feel free to comment our work, and send feedbacks or
> > > > > >  
> > > > >  
> > > >  
> > >  
> > > suggestions
> > > > > > about possible improvements.
> > > > > >  
> > > > > > Stefano & Simone
> > > > > >  
> > > > > >  
> > > > > > 2012/12/11 Simone Gatti <[email protected] 
> > > > > > (mailto:[email protected]) (mailto:
> > > [email protected] (mailto:[email protected]))>
> > > > > >  
> > > > > > > Dear all,
> > > > > > >  
> > > > > > > thank you for your feedback!!
> > > > > > > First of all, in the next hours we'll create a branch with the
> > > > > > >  
> > > > > >  
> > > > > >  
> > > > >  
> > > >  
> > >  
> > > extension
> > > > > > > of
> > > > > > > UserStats, so that you can see our code to discuss it and its
> > > > > > >  
> > > > > >  
> > > > >  
> > > >  
> > >  
> > > possible
> > > > > > > improvements. After that we'll upload the extensions of the
> > > > > >  
> > > > >  
> > > >  
> > >  
> > > Organization
> > > > > > > and OrganizationStats.
> > > > > > > About the possibility to define an organization based on a shared
> > > > > > >  
> > > > > >  
> > > > >  
> > > >  
> > >  
> > > topic of
> > > > > > > interest, we have not considered it. We assumed that the kind of
> > > > > > > organization could be: "for-profit business", "foundation or other
> > > > > > > non-profit organization" or "research and/or education
> > > > > > >  
> > > > > >  
> > > > >  
> > > >  
> > >  
> > > institution", like
> > > > > > > the organizations in the real world. We don't know if the concept
> > > > > >  
> > > > >  
> > > >  
> > >  
> > > is the
> > > > > > > same, in that case we can easily add a new type of organization.
> > > > > > > (e.g."group of interest").
> > > > > > > As for Rich's proposal it's a great idea! We have considered it
> > > > > > >  
> > > > > >  
> > > > >  
> > > >  
> > >  
> > > but we
> > > > > > > later decided to focus on other aspects in our thesis. Anyway it's
> > > > > >  
> > > > >  
> > > >  
> > >  
> > > the
> > > > > > > best
> > > > > > > way to use the additional data included in the profile.
> > > > > > > I don't have commit access on the repository to upload my code.
> > > > > > >  
> > > > > >  
> > > > >  
> > > >  
> > >  
> > > Since we
> > > > > > > developed it together, Stefano will commit it.
> > > > > > >  
> > > > > > > Regards,
> > > > > > >  
> > > > > > > Simone.
> > > > > > >  
> > > > > > >  
> > > > > > > 2012/12/10 Alvaro del Castillo <[email protected] 
> > > > > > > (mailto:[email protected]) (mailto:
> > > [email protected] (mailto:[email protected]))>
> > > > > > >  
> > > > > > > > Dear Simone,
> > > > > > > >  
> > > > > > > > First of all, I am sorry about the delayed response.
> > > > > > > >  
> > > > > > > > El jue, 29-11-2012 a las 19:06 +0100, Simone Gatti escribió:
> > > > > > > > > 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.
> > > > > > > > >  
> > > > > > > > > The second feature we developed is related to users, and
> > > consits of a
> > > > > > > set
> > > > > > > > > of metrics gathered from their activity.
> > > > > > > >  
> > > > > > > >  
> > > > > > > >  
> > > > > > > > This is a really interesting thing for me!
> > > > > > > >  
> > > > > > > > > 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.
> > > > > > > >  
> > > > > > > >  
> > > > > > > >  
> > > > > > > > Is this code already available?
> > > > > > > >  
> > > > > > > > In Bitergia our main focus is analyzing software projects using
> > > metrics
> > > > > > > > and we are integrating some of our tools in Allura. We are using
> > > > > > >  
> > > > > >  
> > > > >  
> > > >  
> > >  
> > > a
> > > > > > > > different approach from you, getting the metrics from a
> > > > > > >  
> > > > > >  
> > > > >  
> > > >  
> > >  
> > > consolidated
> > > > > > > > database that gathers the data from Allura, but at the end, the
> > > > > > >  
> > > > > >  
> > > > >  
> > > >  
> > >  
> > > metrics
> > > > > > > > are really similar.
> > > > > > > >  
> > > > > > > > We are working in different kind of visualization also, so we
> > > can share
> > > > > > > > also here experiences.
> > > > > > > >  
> > > > > > > > > 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.
> > > > > > > > >  
> > > > > > > > > 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.
> > > > > > > >  
> > > > > > > >  
> > > > > > > >  
> > > > > > > > I think it is a really good use case por the code contributors
> > > policy
> > > > > > > > proposed in the mailing list.
> > > > > > > >  
> > > > > > > > > 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.
> > > > > > > >  
> > > > > > > >  
> > > > > > > >  
> > > > > > > > I think so. Create a new experimental branch and upload the code
> > > to
> > > > > > > > Allura so for others developers like me, it is easy to start
> > > > > > >  
> > > > > >  
> > > > >  
> > > >  
> > >  
> > > playing
> > > > > > > > with it.
> > > > > > > >  
> > > > > > > > Cheers
> > > > > > > >  
> > > > > > > > > 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.
> > > > > > > > >  
> > > > > > > > > Regards,
> > > > > > > > >  
> > > > > > > > > Simone Gatti and Stefano Invernizzi
> > > > > > > >  
> > > > > > > >  
> > > > > > > > --
> > > > > > > > |\_____/| Alvaro del Castillo
> > > > > > > > [o] [o] [email protected] (mailto:[email protected]) 
> > > > > > > > (mailto:[email protected]) - CTO,
> > > > > > > >  
> > > > > > >  
> > > > > > >  
> > > > > >  
> > > > >  
> > > >  
> > >  
> > > Software Engineer
> > > > > > > > | V | http://www.bitergia.com
> > > > > > > > | |
> > > > > > > > -ooo-ooo-
> > > > > > > > |\_____/| Alvaro del Castillo
> > > > > > > > [o] [o] [email protected] (mailto:[email protected]) 
> > > > > > > > (mailto:[email protected]) - CTO,
> > > > > > > >  
> > > > > > >  
> > > > > >  
> > > > >  
> > > >  
> > >  
> > > Software Engineer
> > > > > > > > | V | http://www.bitergia.com
> > > > > > > > | |
> > > > > > > > -ooo-ooo-
> > > > > > > >  
> > > > > > >  
> > > > > >  
> > > > >  
> > > >  
> > >  
> > >  
> >  
> >  
> >  
> >  
>  
>  

Reply via email to