-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTODO.txt
207 lines (122 loc) · 8.54 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
Implment report from deanonumuzation?
Example -> What was deanonuymized
./formatFilterAndViz-nofo-GraphML.py -l test-data/TensorFlow/jpim-2024/chromium/tensorFlowGitLog-all-till-12-Apri-2024.NetworkFile-filtered-transformed-to-nofo.graphML -ns centrality-score -v
Works fine.
Just legend should be more to the right
Radical approach to make it working with simple
node lists and label list
nodelist TOP10 --- ALLNOTINTOP10 expand
labellist the same this will simplify
if -nc gray-color-to-unknown-firms and top10+other
we must have a square for others in gray
Make business-firm-color-dictionary-json github project as a public project
Make it work for top10 legend type
Make then wortk for top 10+ others as default. All not in top 10 gend diff color.
Implement logging
./formatAndViz-nofi-GraphML.py -pl test-data/5-pentagon-with-star.graphML
* Implement ll argument outside 'outside_center_right'
Mart other options as not implmented
* Mark down that node coloring and what node sizing strategies are not implemented
* Mark the legend types that are not implemented
The testcase 3 needs to be more sofisticated
Create documentation folder
Document formatAndViz-nofi-GraphML.py add link to README.MD
Document formatAndViz-nofo-GraphML.py add link to README.MD
Document transform-nofi-2-nofo-GraphML.py add link to README.MD
Increase size of labels
Side by side - With and without Google
Fix bug isolate nodes
MEntion elegant way of combining quant. quality amd visualizaitons.
check why number of nodes is not cosisten between graphML module and scraplog
Not workign with tensorFlowGitLog-first-trimester-2024.IN
Whats going on wuth "us" affiliation?
refactos network_meazures
Write test for filtering emails in bash
the script should create and delete its own filters
Write down in object oriented form useing classes
- Scrapper (file, scrappingtype(org, ind, eighted)) returns nothing
. Miner(file) returns (Graph, Co-editedFilesGroupedBydevelopers, DevelopersConnectionByCo-EdigitedFiles
- Reporter
- Reports on graph,and developer and file statistics
extension of Miner
Miner_org2org_weighted
Miner_org2org_pararel
Miner_dev2de_weigted
Miner_dev2de_weigted pararel
- ScrapperResultsExporter
- ScrapperResultExporterGraphML is an extension
- Reports on graph,and developer and file statistics
Check networkmezure unique connections to finnish the last stats
So slow. move
Check that htere are other ways map cooperation
https://stackoverflow.com/questions/72653563/git-log-name-only-show-coauthors
Adress the @users.noreply.github.com non verified users
See https://github.com/orgs/community/discussions/41199
Integrate whatever was in Toshiba working disk
Why not captured ==Gunhyun Park;gunhyun@google.com;Wed Mar 27 15:01:41 2024 -0700==
Add Network X package citation to paper + website
Add Algoritm package citiation to paper + website
r for imput
-v, --verbose increase output verbosity
Implement option input for organization-agregation
Implement option input for individual-agregation
Implement verbose even more verbosity - while scrapping log
Filter for emails by github
Investigate noreply emails
Make -e export social netowor GraphML by defeaut
-ef exprt format
# ScrapLogGit2Net - formatFilterAndViz-nofi-GraphML.py
## Documentation of the tool formatFilterAndViz-nofi-GraphML.py for visualizing the network of individual software developers
**formatFilterAndViz-nofi-GraphML.py** is a shell executable Python script for visualizing GraphML files created with the ScrapLogGit2Net tool for modeling inter-individual networks of software developers that collaborate via Git.
The **formatFilterAndViz-nofi-GraphML.py** executable:
- Formats and visualizes a GraphML file.
- Plots the network with a circular or spring layout (default: spring).
- Colorizes nodes according to the affiliation attribute.
- Sets the size of the nodes according to centralities or all with the same size (default: centralities).
- Can filter what nodes are visualized according to the organizational affiliation of the developers (aka nodes).
The **formatFilterAndViz-nofi-GraphML.py** visualization tool was developed by [Jose Apolinário Teixeira](http://users.abo.fi/jteixeir/) in 2024 to speed up the process of modeling and visualizing inter-individual networks created by ScrapLogGit2Net. It is an alternative to importing the GraphML file in network analysis visualization software such as Tulip, Gephi, or Visone. It speeds up the process of obtaining fast network visualizations, bypassing in certain cases the need for specialized network visualization tools.
For more information, see the publication and related websites:
- Teixeira, J., Robles, G., & González-Barahona, J. M. (2015). Lessons learned from applying social network analysis on an industrial Free/Libre/Open Source Software ecosystem. *Journal of Internet Services and Applications*, 6, 1-27. Available open-access at [https://jisajournal.springeropen.com/articles/10.1186/s13174-015-0028-2](https://jisajournal.springeropen.com/articles/10.1186/s13174-015-0028-2).
- Website [http://users.abo.fi/jteixeir/OpenStackSNA/](http://users.abo.fi/jteixeir/OpenStackSNA/) with the obtained social networks and visualizations included [in publications by the author on the OpenStack software ecosystem](http://users.abo.fi/jteixeir/#pub).
- Website [http://users.abo.fi/jteixeir/TensorFlowSNA/](http://users.abo.fi/jteixeir/TensorFlowSNA/) with the obtained social networks and visualizations for the TensorFlow open and cooperative project (publication forthcoming).
# Problem statement
Slow to figure out (i.e., visualize) who works with whom in complex software projects.
# Vision
A world where software co-production analytics put social network visualizations at the side of standard quantitative statistical data in a very fast way.
# **formatFilterAndViz-nofi-GraphML.py** Inputs
A GraphML file created with ScrapLogGit2Net or another tool. Note that the network needs to be in a specific format that models developers as nodes and associates them with organizations using node attributes.
# **formatFilterAndViz-nofi-GraphML.py** Outputs
A social network visualization that captures who codes with whom in a repository (note that developers can be affiliated with firms via an affiliation attribute). The script plots the network using Python NetworkX and Python Matplotlib, and it can then be exported to several formats such as PDF and PNG.
# How **formatFilterAndViz-nofi-GraphML.py** works
It simply reads the GraphML file and plots it according to the list of parameters passed via the shell.
With the parameters, you can choose:
- To either have a legend that depicts the organizational affiliation of developers or not have a legend at all.
- To position where the legend is placed or export it to a separate file.
- Filter for developers affiliated with a set of specific firms.
- Filter for developers not affiliated with a set of specific firms.
- Filter for the developers affiliated with the firms with the most developers in the networks.
- Filter for specific firms and their close collaboration partners (i.e., neighboring nodes only) leaving all others out.
- How nodes (i.e., developers) are colored.
- How nodes (i.e., developers) are sized.
- What organizations/affiliations should be displayed in the legend.
# How to use **formatFilterAndViz-nofi-GraphML.py**
You need basic skills on how to invoke Python scripts in the shell/terminal.
Test case scripts are implemented in bash. Knowing the basics of Linux/Unix will help a lot. You do not need to be a programmer to use ScrapLogGit2Net and especially the formatAndViz-nofi-GraphML visualizer, but if you are one, and find it useful, please contribute to the project.
# Command line options for filtering and formatting the network visualization
TODO:
```
TODO copy help here
```
# Examples
```bash
./formatFilterAndViz-nofi-GraphML.py -svtfl test-data/TensorFlow/icis-2024-wp-networks-graphML/tensorFlowGitLog-2015-git-output-by-Jose.IN.NetworkFile.graphML
```
# Contributing
Please create a new branch for any new feature. Branch or fork, code, test, then pull request. Please follow the basic guide on [https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project](https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project).
Jose Teixeira, currently the only maintainer, will review and merge pull requests, update the ChangeLog.txt, acknowledge the contributions, and work on documentation in free time from work.
# Contributors
Jose Teixeira
# Maintainers
Jose Teixeira
# License
GNU General Public License v3.0