Skip to content

Commit 95ebef6

Browse files
author
Kenneth Daily
authored
Merge pull request #34 from Sage-Bionetworks/develop
Develop
2 parents 4c89647 + aad50ff commit 95ebef6

File tree

15 files changed

+88
-562
lines changed

15 files changed

+88
-562
lines changed

DESCRIPTION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Package: synapseusagereports
22
Title: Generate a Reports of Synapse Project Usage
3-
Version: 0.3
3+
Version: 0.3.1
44
Authors@R: person("Kenneth", "Daily", email = "kenneth.daily@sagebase.org", role = c("aut", "cre"))
55
Description: Generate a RMarkdown report of Synapse Project usage, including users, page views and downloads.
66
Depends: R (>= 3.3.1)

NAMESPACE

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# Generated by roxygen2: do not edit by hand
22

3-
export(aclToMemberList)
4-
export(aclToUserList)
53
export(countByDay)
64
export(countByMonth)
75
export(doQuery)
@@ -13,7 +11,6 @@ export(makeDateBreaks)
1311
export(makeDateBreaksStartEnd)
1412
export(multiMonthVisits)
1513
export(plotByDay)
16-
export(processAclUserList)
1714
export(processQuery)
1815
export(processTeamMemberList)
1916
export(render_report)

R/lib.R

Lines changed: 4 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ mytheme <- ggplot2::theme_bw() + ggplot2::theme(axis.text=ggplot2::element_text(
1313
# q.browse <- sprintf(template, projectId, beginTimestamp, endTimestamp)
1414

1515
#' @export
16-
render_report <- function(project_id, acl_team_order, data_file, reportType="report") {
16+
render_report <- function(project_id, team_order, data_file, reportType="report") {
1717

1818
templates <- c("report"=system.file("templates", "report.Rmd",
1919
package = "synapseusagereports"))
2020

2121
myParams <- list(projectId=project_id,
22-
aclTeamOrder=acl_team_order,
22+
teamOrder=team_order,
2323
queryDataFile=data_file)
2424

2525
htmlFileName <- paste0(myParams[['projectId']], "_", reportType, "_",
@@ -146,56 +146,6 @@ getTeamMemberDF <- function(teamId) {
146146

147147
}
148148

149-
#' @export
150-
aclToMemberList <- function(acl) {
151-
aclMemberList <- plyr::ldply(acl$resourceAccess,
152-
function(x) data.frame(principalId=as.character(x$principalId),
153-
teamId=acl$id))
154-
155-
accessUsers <- plyr::llply(chunk(aclMemberList$principalId, 50),
156-
function(x) synapser::synRestGET(sprintf("/userGroupHeaders/batch?ids=%s",
157-
paste(x, collapse=",")))$children)
158-
159-
userGroupHeaders <- do.call(c, accessUsers)
160-
161-
plyr::ldply(userGroupHeaders, as.data.frame)
162-
163-
}
164-
165-
#' @export
166-
aclToUserList <- function(acl) {
167-
aclMemberList <- aclToMemberList(acl)
168-
aclMemberList$teamId <- acl$id
169-
170-
userList <- plyr::ldply(aclMemberList$ownerId, getTeamMemberDF)
171-
172-
userList2 <- aclMemberList %>%
173-
dplyr::filter(isIndividual) %>%
174-
dplyr::rename(userId=ownerId)
175-
176-
rbind(userList2[, c("userId", "teamId")], userList)
177-
178-
}
179-
180-
#' @export
181-
processAclUserList <- function(projectId, aclTeamOrder) {
182-
# Get users at project level and select the team
183-
# they are on dependent on the ordering in aclTeamOrder
184-
acl <- synapser::synRestGET(sprintf('/entity/%s/acl', paste0("syn", projectId)))
185-
aclUserList <- aclToUserList(acl)
186-
aclUserList$teamId <- factor(aclUserList$teamId,
187-
levels=aclTeamOrder,
188-
ordered=TRUE)
189-
190-
aclUserList <- aclUserList %>%
191-
dplyr::group_by(userId) %>%
192-
dplyr::arrange(teamId) %>%
193-
dplyr::slice(1) %>%
194-
dplyr::ungroup()
195-
196-
aclUserList
197-
}
198-
199149
#' @export
200150
processTeamMemberList <- function(teamIds) {
201151
# Get users from provided teamIds
@@ -218,7 +168,7 @@ processTeamMemberList <- function(teamIds) {
218168
chunk <- function(d, n) split(d, ceiling(seq_along(d)/n))
219169

220170
#' @export
221-
getQueryUserProfiles <- function(queryData, useTeamGrouping, aclUserList) {
171+
getQueryUserProfiles <- function(queryData, useTeamGrouping, userList) {
222172
# Get user profile info for users in data download records
223173

224174

@@ -233,7 +183,7 @@ getQueryUserProfiles <- function(queryData, useTeamGrouping, aclUserList) {
233183
dplyr::select(userId, userName)
234184

235185
if (useTeamGrouping) {
236-
allUsers <- dplyr::left_join(allUsersList, aclUserList)
186+
allUsers <- dplyr::left_join(allUsersList, userList)
237187
} else{
238188
allUsers <- allUsersList
239189
allUsers$teamId <- "Registered Synapse User"

README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,20 @@ Generate HTML usage reports for Synapse projects.
88
devtools::install_github("Sage-Bionetworks/synapseusagereports")
99
```
1010

11+
## Usage
12+
13+
Scripts are in the [inst/scripts](inst/scripts) directory.
14+
15+
See [example-db-config.yml](example-db-config.yml) for an example configuration file to connect to the warehouse database.
16+
17+
### Query the warehouse
18+
19+
```
20+
report_data_query.R --project_id=syn1234567 --start_date=2018-01-01 --end_date=2018-03-01 --config_file=example-db-config.yml > output.csv
21+
```
22+
23+
### Generate a report
24+
25+
```
26+
render_report.R --project_id=syn1234567 --team_order='273957' output.csv
27+
```

data/test_query_data.RData

965 Bytes
Binary file not shown.

example-db-config.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
host: mysql.hostname.com
2+
port: '3306'
3+
db: warehouse
4+
username: yourusername
5+
password: yourpassword

inst/config.R

Lines changed: 0 additions & 28 deletions
This file was deleted.

inst/downloads.Rmd

Lines changed: 0 additions & 144 deletions
This file was deleted.

inst/extdata/test_query_data.csv

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
userId,id,DATE,TIMESTAMP,NODE_TYPE,NAME,recordType,date,dateGrouping,monthYear
2+
3323072,11417482,2018-08-17,1534538158006,file,A,pageview,2018-08-17,2018-08-01,Aug 2018
3+
3323072,11417482,2018-08-17,1534538160976,file,A,pageview,2018-08-17,2018-08-01,Aug 2018
4+
3323072,11417482,2018-08-17,1534538171612,file,A,pageview,2018-08-17,2018-08-01,Aug 2018
5+
3323072,10242922,2018-08-30,1535663050650,table,T,pageview,2018-08-30,2018-08-01,Aug 2018
6+
3323072,10242922,2018-08-30,1535663052000,table,T,pageview,2018-08-30,2018-08-01,Aug 2018
7+
3323072,10242922,2018-08-30,1535663085899,table,T,pageview,2018-08-30,2018-08-01,Aug 2018
8+
3323072,10242922,2018-08-30,1535672186254,table,T,pageview,2018-08-30,2018-08-01,Aug 2018
9+
3323072,10242922,2018-08-30,1535672187051,table,T,pageview,2018-08-30,2018-08-01,Aug 2018
10+
3323072,10242922,2018-08-30,1535672202787,table,T,pageview,2018-08-30,2018-08-01,Aug 2018
11+
3323072,10242922,2018-08-31,1535731808005,table,T,pageview,2018-08-31,2018-08-01,Aug 2018
12+
3323072,12083426,2018-08-08,1533686511458,file,N,pageview,2018-08-08,2018-08-01,Aug 2018
13+
3323072,12083426,2018-08-08,1533755485501,file,N,pageview,2018-08-08,2018-08-01,Aug 2018
14+
3323072,12083426,2018-08-10,1533942892281,file,N,pageview,2018-08-10,2018-08-01,Aug 2018
15+
3323072,12083426,2018-08-13,1534200198589,file,N,pageview,2018-08-13,2018-08-01,Aug 2018
16+
3323072,12083426,2018-08-14,1534264981565,file,N,pageview,2018-08-14,2018-08-01,Aug 2018
17+
3323072,12083426,2018-08-17,1534538144361,file,N,pageview,2018-08-17,2018-08-01,Aug 2018
18+
3323072,12083426,2018-08-17,1534539168935,file,N,pageview,2018-08-17,2018-08-01,Aug 2018
19+
3323072,12083426,2018-08-17,1534542678643,file,N,pageview,2018-08-17,2018-08-01,Aug 2018
20+
3323072,12083426,2018-08-17,1534542767694,file,N,pageview,2018-08-17,2018-08-01,Aug 2018
21+
3323072,12083426,2018-08-17,1534542775674,file,N,pageview,2018-08-17,2018-08-01,Aug 2018
22+
3323072,12083426,2018-08-22,1534976335572,file,N,pageview,2018-08-22,2018-08-01,Aug 2018
23+
3323072,12083426,2018-08-22,1534976355920,file,N,pageview,2018-08-22,2018-08-01,Aug 2018
24+
3323072,12083426,2018-08-24,1535132491648,file,N,pageview,2018-08-24,2018-08-01,Aug 2018
25+
3323072,12083426,2018-08-24,1535147256497,file,N,pageview,2018-08-24,2018-08-01,Aug 2018
26+
3335327,11417482,2018-08-17,1534538186435,file,P,download,2018-08-17,2018-08-01,Aug 2018
27+
3335327,11417482,2018-08-17,1534538311833,file,P,download,2018-08-17,2018-08-01,Aug 2018
28+
3335327,11417482,2018-08-17,1534538320137,file,P,download,2018-08-17,2018-08-01,Aug 2018
29+
3335327,12179981,2018-07-10,1531259582326,file,H,download,2018-07-10,2018-07-01,Jul 2018
30+
3323072,12179981,2018-07-10,1531259582326,file,H,download,2018-07-10,2018-07-01,Jul 2018
31+
3323072,11363590,2018-07-11,1531337575668,file,P,download,2018-07-11,2018-07-01,Jul 2018
32+
3323072,11363590,2018-07-13,1531499135882,file,P,download,2018-07-13,2018-07-01,Jul 2018
33+
3323072,11363590,2018-07-13,1531499136133,file,P,download,2018-07-13,2018-07-01,Jul 2018
34+
3323072,11363590,2018-07-18,1531938199869,file,P,download,2018-07-18,2018-07-01,Jul 2018
35+
3335327,11363975,2018-07-10,1531180905867,file,P,download,2018-07-10,2018-07-01,Jul 2018
36+
3335327,11363975,2018-07-20,1532110034215,file,P,download,2018-07-20,2018-07-01,Jul 2018
37+
3335327,11363975,2018-07-20,1532111346920,file,P,download,2018-07-20,2018-07-01,Jul 2018
38+
3323072,8474877,2018-07-03,1530659245321,folder,O,pageview,2018-07-03,2018-07-01,Jul 2018
39+
3323072,8474877,2018-07-04,1530662923446,folder,O,pageview,2018-07-04,2018-07-01,Jul 2018
40+
3323072,8474877,2018-07-05,1530808584022,folder,O,pageview,2018-07-05,2018-07-01,Jul 2018
41+
3323072,8474877,2018-07-06,1530899426741,folder,O,pageview,2018-07-06,2018-07-01,Jul 2018
42+
3323072,8474877,2018-07-06,1530899468952,folder,O,pageview,2018-07-06,2018-07-01,Jul 2018
43+
273950,11185668,2018-07-05,1530808541212,folder,E,pageview,2018-07-05,2018-07-01,Jul 2018
44+
273950,11185668,2018-07-06,1530906236092,folder,E,pageview,2018-07-06,2018-07-01,Jul 2018
45+
273950,11363590,2018-07-01,1530432183518,file,E,pageview,2018-07-01,2018-07-01,Jul 2018
46+
273950,11363590,2018-07-01,1530432195463,file,E,pageview,2018-07-01,2018-07-01,Jul 2018
47+
273950,11363590,2018-07-01,1530437240350,file,E,pageview,2018-07-01,2018-07-01,Jul 2018
48+
273950,11363590,2018-07-01,1530470603919,file,E,pageview,2018-07-01,2018-07-01,Jul 2018

inst/scripts/manual_AMPAD.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env bash
22

33
project_id="syn2580853"
4-
acl_team_order='3377637,3346847'
4+
team_order='273957,3377637,3346847,3320424'
55

66
# 6 months ago
77
start_date=$(date --date='-6 months' -I -u)
@@ -10,4 +10,4 @@ start_date=$(date --date='-6 months' -I -u)
1010
end_date=`date -u -I`
1111

1212
./report_data_query.R --project_id=${project_id} --start_date=${start_date} --end_date=${end_date} --config_file=~/datawarehouse-before-aug.yml > /tmp/${project_id}_${end_date}.csv
13-
./render_report.R --project_id=${project_id} --acl_team_order=${acl_team_order} /tmp/${project_id}_${end_date}.csv
13+
./render_report.R --project_id=${project_id} --team_order=${team_order} /tmp/${project_id}_${end_date}.csv

0 commit comments

Comments
 (0)