incubator-allura-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tim Van Steenburgh <tvansteenbu...@gmail.com>
Subject Re: User stats and organizations
Date Wed, 30 Jan 2013 19:17:02 GMT
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 <tvansteenburgh@gmail.com (mailto:tvansteenburgh@gmail.com)>
>  
> > 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 <stefano.invernizzi88@gmail.com (mailto:stefano.invernizzi88@gmail.com)
(mailto:
> > stefano.invernizzi88@gmail.com (mailto:stefano.invernizzi88@gmail.com))>
> > > >  
> > > > > 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 <simone.gatti88@gmail.com (mailto:simone.gatti88@gmail.com)
(mailto:
> > simone.gatti88@gmail.com (mailto:simone.gatti88@gmail.com))>
> > > > >  
> > > > > > 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 <acs@bitergia.com (mailto:acs@bitergia.com)
(mailto:
> > acs@bitergia.com (mailto:acs@bitergia.com))>
> > > > > >  
> > > > > > > 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] acs@bitergia.com (mailto:acs@bitergia.com) - CTO,
> > > > > > >  
> > > > > >  
> > > > > >  
> > > > >  
> > > >  
> > >  
> >  
> > Software Engineer
> > > > > > > | V | http://www.bitergia.com
> > > > > > > | |
> > > > > > > -ooo-ooo-
> > > > > > > |\_____/| Alvaro del Castillo
> > > > > > > [o] [o] acs@bitergia.com (mailto:acs@bitergia.com) - CTO,
> > > > > > >  
> > > > > >  
> > > > >  
> > > >  
> > >  
> >  
> > Software Engineer
> > > > > > > | V | http://www.bitergia.com
> > > > > > > | |
> > > > > > > -ooo-ooo-
> > > > > > >  
> > > > > >  
> > > > >  
> > > >  
> > >  
> >  
> >  
>  
>  
>  



Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message