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- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
