Giter Site home page Giter Site logo

gdocbackup's Introduction

  • ๐Ÿ‘‹ Hi, Iโ€™m @kiquenet
  • ๐Ÿ‘€ Iโ€™m interested in ...
  • ๐ŸŒฑ Iโ€™m currently learning ...
  • ๐Ÿ’ž๏ธ Iโ€™m looking to collaborate on ...
  • ๐Ÿ“ซ How to reach me ...

gdocbackup's People

Contributors

fhtino avatar kiquenet avatar

Watchers

 avatar

gdocbackup's Issues

Back-Up File Names

I was doing some general maintenance on my Google Docs today and noticed that 
several files said "BACKUP" instead of "SKIP" when I knew they were unchanged. 
This happened with about 10 files. I decided to investigate and found that I 
had 2 files with the same name in the same folder in Google Docs. This is 
allowed in Google Docs, but obviously does not work when you download the files 
back to your computer. I just thought you would like to hear about this in case 
someone ever writes you with the same issue. I ended up re-naming the files in 
Google Docs. I re-ran the program and everything was labeled "SKIP", just as it 
should be.  

Original issue reported on code.google.com by [email protected] on 26 Mar 2011 at 8:36

error log when exec

24-Jan-10 01:10:06 - 000 > Get doc list
24-Jan-10 01:10:07 - 000 > GLOBAL-ERROR:  Captcha required
24-Jan-10 01:10:07 - -001 > ############### EXCEPTION ###############
24-Jan-10 01:10:07 - -001 > Google.GData.Client.CaptchaRequiredException: 
Captcha required
   at Google.GData.Client.GDataGAuthRequest.QueryAuthToken(GDataCredentials 
gc)
   at Google.GData.Client.GDataGAuthRequest.EnsureCredentials()
   at Google.GData.Client.GDataRequest.EnsureWebRequest()
   at Google.GData.Client.GDataGAuthRequest.EnsureWebRequest()
   at Google.GData.Client.GDataRequest.Execute()
   at Google.GData.Client.GDataGAuthRequest.Execute(Int32 retryCounter)
   at Google.GData.Client.GDataGAuthRequest.Execute()
   at Google.GData.Client.Service.Query(Uri queryUri, DateTime 
ifModifiedSince, String etag, Int64& contentLength)
   at Google.GData.Client.Service.Query(FeedQuery feedQuery)
   at Google.GData.Client.Feed`1.get_AtomFeed()
   at Google.GData.Client.Feed`1.<get_Entries>d__0.MoveNext()
   at GDocBackupLib.Backup.ExecInternal()
   at GDocBackupLib.Backup.Exec()
24-Jan-10 01:10:07 - -001 > #########################################

Original issue reported on code.google.com by [email protected] on 23 Jan 2010 at 6:12

Local doc not present on gdoc --> Warning

When I delete or rename a doc on GDocument, on local disk the original one 
remains. It should be useful if a warning appear.

Important: NO ACTION (delete or rename) is required from GDocBackup. Only a 
warning.


Original issue reported on code.google.com by [email protected] on 8 Jun 2009 at 6:19

Error: "An empty string is not considered a valid value"

[From user feedback]

It happens only on Mono. 



----------------------------------------
Assembly: GDocBackup, Version=0.4.13.87, Culture=neutral, PublicKeyToken=null
Operating System: Unix - Unix 10.4.0.0
Framework: 2.0.50727.1433
Running on Mono [Mono.Runtime]
----------------------------------------
Application_ThreadException
----------------------------------------
System.ArgumentException: An empty string is not considered a valid value.
 at System.Enum.Parse (System.Type enumType, System.String value, Boolean ignoreCase) [0x00000] in <filename unknown>:0
 at System.Enum.Parse (System.Type enumType, System.String value) [0x00000] in <filename unknown>:0
 at GDocBackupLib.Utility.ParseEnum[ProxyHostPortSource] (System.String s) [0x00000] in <filename unknown>:0
 at GDocBackup.ConfigForm.ConfigForm_Load (System.Object sender, System.EventArgs e) [0x00000] in <filename unknown>:0
 at System.Windows.Forms.Form.OnLoad (System.EventArgs e) [0x00000] in <filename unknown>:0
 at System.Windows.Forms.Form.OnLoadInternal (System.EventArgs e) [0x00000] in <filename unknown>:0
----------------------------------------

Original issue reported on code.google.com by [email protected] on 28 Jun 2010 at 5:54

The given path's format is not supported.

the error log is below. gdocbackup starts creating the necessary folders 
from docs then stops and errors. No files are downloaded

28/10/2009 10:18:06 - 000 > Get doc list
28/10/2009 10:18:14 - 000 > GLOBAL-ERROR:  The given path's format is not 
supported.
28/10/2009 10:18:14 - -001 > ############### EXCEPTION ###############
28/10/2009 10:18:14 - -001 > System.NotSupportedException: The given path's 
format is not supported.
   at System.Security.Util.StringExpressionSet.CanonicalizePath(String 
path, Boolean needFullPath)
   at 
System.Security.Util.StringExpressionSet.CreateListFromExpressions(String[] 
str, Boolean needFullPath)
   at 
System.Security.Permissions.FileIOPermission.AddPathList(FileIOPermissionAc
cess access, AccessControlActions control, String[] pathListOrig, Boolean 
checkForDuplicates, Boolean needFullPath, Boolean copyPathList)
   at 
System.Security.Permissions.FileIOPermission..ctor(FileIOPermissionAccess 
access, String[] pathList, Boolean checkForDuplicates, Boolean 
needFullPath)
   at System.IO.Directory.CreateDirectory(String path, DirectorySecurity 
directorySecurity)
   at GDocBackupLib.Backup.BuildFolders(Document parentDir, List`1 docs, 
String currentPath)
   at GDocBackupLib.Backup.BuildFolders(Document parentDir, List`1 docs, 
String currentPath)
   at GDocBackupLib.Backup.ExecInternal()
   at GDocBackupLib.Backup.Exec()




What version of the product are you using? On what operating system?
used the windows installer. I've just tried it so was my first run. using 
version 0.4.3.55
on windows xp pro latest service packs. I just get the impression it can't 
handle the folder or file names and doesn't strip these out to make windows 
compatible versions.

Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 28 Oct 2009 at 10:22

Cannot export drawing (new format)

Same error as document of new format  (see [issue 22])

Google.GData.Client.GDataRequestException: Execution of request failed: 
http://docs.google.com/feeds/download/drawings/Export?id=14TBycKwlpXJ25NdqzTIM4z
sdWirfSiAZDCqJ8CNy5Vw ---> System.Net.WebException: Errore del server remoto: 
(404) Non trovato.



Original issue reported on code.google.com by [email protected] on 22 Jul 2010 at 6:06

Drawings support

[MEMO]
Check this:  
http://googleappsdeveloper.blogspot.com/2010/10/google-drawings-support-added-to
.html

Original issue reported on code.google.com by [email protected] on 3 Nov 2010 at 7:07

System.Security.Cryptography.CryptographicException: Key not valid for use in specified state.

----------------------------------------
Application_ThreadException
----------------------------------------
System.Security.Cryptography.CryptographicException: Key not valid for use in 
specified state.

  at System.Security.Cryptography.ProtectedData.Unprotect(Byte[] encryptedData, Byte[] optionalEntropy, 
DataProtectionScope scope)
  at GDocBackupLib.Utility.UnprotectData(String encryptedData)
  at GDocBackup.ConfigForm.ConfigForm_Load(Object sender, EventArgs e)
  at System.Windows.Forms.Form.OnLoad(EventArgs e)
  at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
  at System.Windows.Forms.Control.CreateControl()
  at System.Windows.Forms.Control.WmShowWindow(Message& m)
  at System.Windows.Forms.Control.WndProc(Message& m)

Original issue reported on code.google.com by [email protected] on 29 Jan 2010 at 1:30

Run hidden

[MEMO]

Allow GDocBackup (WinForm version) to run hidden or minimized.




Original issue reported on code.google.com by [email protected] on 15 Sep 2009 at 8:45

unable to download

/22/2010 2:56:49 PM - 000 > DOC-ERROR: 
Google.GData.Client.GDataRedirectException: Execution resulted in a redirect 
from 
http://docs.google.com/feeds/download/documents/Export?exportFormat=doc&id=1GJoV
Q9x-wuZMCJEhESiLZuVW47qer-qXbJ6K9oinOjc
   at Google.GData.Client.GDataRequest.Execute()
   at Google.GData.Client.GDataGAuthRequest.Execute(Int32 retryCounter)
   at Google.GData.Client.GDataGAuthRequest.Execute()
   at Google.GData.Client.Service.Query(Uri queryUri, DateTime ifModifiedSince, String etag, Int64& contentLength)
   at Google.GData.Client.Service.Query(Uri queryUri)
   at Google.Documents.DocumentsRequest.Download(Document document, DownloadType type, String baseDomain, Int32 sheetNumber)
   at Google.Documents.DocumentsRequest.Download(Document document, DownloadType type)
   at GDocBackupLib.Backup.ExecInternal()
7/22/2010 2:56:49 PM - 000 > FO> FileName=Technology-1 DocType=Document ExpFrm= 
Action=ERROR Folder= LocalDateTime= RemoteDateTime=
7/22/2010 2:56:49 PM - 025 > ITEM: Apple-Mac-1 (Document) [2/4]
7/22/2010 2:56:49 PM - 025 > Start exporting Apple-Mac-1(Type=Document) --> doc
7/22/2010 2:56:49 PM - 025 > DOC-ERROR: 
Google.GData.Client.GDataRedirectException: Execution resulted in a redirect 
from 
http://docs.google.com/feeds/download/documents/Export?exportFormat=doc&id=1Zi0J
n7ZGDLX-CSw5Ii9IlTBHJQutzo3oz0SpDNHzCfg
   at Google.GData.Client.GDataRequest.Execute()
   at Google.GData.Client.GDataGAuthRequest.Execute(Int32 retryCounter)
   at Google.GData.Client.GDataGAuthRequest.Execute()
   at Google.GData.Client.Service.Query(Uri queryUri, DateTime ifModifiedSince, String etag, Int64& contentLength)
   at Google.GData.Client.Service.Query(Uri queryUri)
   at Google.Documents.DocumentsRequest.Download(Document document, DownloadType type, String baseDomain, Int32 sheetNumber)
   at Google.Documents.DocumentsRequest.Download(Document document, DownloadType type)
   at GDocBackupLib.Backup.ExecInternal()
7/22/2010 2:56:49 PM - 025 > FO> FileName=Apple-Mac-1 DocType=Document ExpFrm= 
Action=ERROR Folder= LocalDateTime= RemoteDateTime=
7/22/2010 2:56:49 PM - 050 > ITEM: Monthly Bill (Document) [3/4]
7/22/2010 2:56:50 PM - 050 > Skipped doc: Monthly Bill
7/22/2010 2:56:50 PM - 050 > FO> FileName=Monthly Bill DocType=Document 
ExpFrm=doc Action=SKIP Folder= LocalDateTime=7/22/2010 10:35:06 AM 
RemoteDateTime=7/22/2010 10:35:06 AM
7/22/2010 2:56:50 PM - 075 > ITEM: CCCIS - Systems (Document) [4/4]
7/22/2010 2:56:50 PM - 075 > Skipped doc: CCCIS - Systems
7/22/2010 2:56:50 PM - 075 > FO> FileName=CCCIS - Systems DocType=Document 
ExpFrm=doc Action=SKIP Folder= LocalDateTime=7/15/2010 11:23:11 AM 
RemoteDateTime=7/15/2010 11:23:11 AM
7/22/2010 2:56:50 PM - 075 > ****** END BACKUP PROCESS ******


Original issue reported on code.google.com by [email protected] on 22 Jul 2010 at 7:57

Debug mode

Implement "Debug mode":
 - record detailed log
 - write log to file (temp dir)
 - ...

Original issue reported on code.google.com by [email protected] on 21 Feb 2010 at 8:39

Open gdocbackup site url - error

On some system (win2000 & other):

System.ComponentModel.Win32Exception: The system cannot find the file 
specified
  at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo 
startInfo)
  at System.Diagnostics.Process.Start()
  at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
  at System.Diagnostics.Process.Start(String fileName)
  at GDocBackup.NewVersion.linkLabel2_LinkClicked(Object sender, 
LinkLabelLinkClickedEventArgs e)


Causes not clear :(

SOL: Add a try catch

Original issue reported on code.google.com by [email protected] on 22 Feb 2010 at 6:53

Export all (no date check)

Add a new option (menu, config and command line) for exporting all docs, 
without cheking datetime.  Useful if the user wants to backup all docs and 
overwrite existing local files.

Original issue reported on code.google.com by [email protected] on 5 Oct 2009 at 12:32

Command line version does not have an argument for disable https

Hi, Thanks for a great utility!

I do not know why but I have to disable https certificate checks to get the 
backup to work. Otherwise I get the error: 

The remote server returned an error: (401) Authorization required.

If I disable https certificate checks it works. But I have plans to runs 
this as a cron job on my ubuntu server. So I need to use the commandline 
version. And in this version I cannot give this parameter.

Once again thanks for making this!

Cheers

Original issue reported on code.google.com by [email protected] on 27 Jan 2010 at 9:17

GDocBackupCMD should not replace spaces in the filename

What steps will reproduce the problem?
1.  Download all documents from a Google Docs account
2.  Note that the saved spreadsheets have had '_' put in place of any spaces in 
the filename.
3.  Also note that '(' and ')' are replaced.

What is the expected output? What do you see instead?

The filename exactly as it is in Google Docs with spaces and other characters 
preserved.


What version of the product are you using? On what operating system?

0.4.18.103

Windows 7 64-bit


Original issue reported on code.google.com by [email protected] on 13 Aug 2010 at 11:10

400 errors on attempt to download

What steps will reproduce the problem?

1. Configure with my account and password. 

2. Try to download the documents attached to my account.


What is the expected output? What do you see instead?

I expect the documents to download. gdocbackup is able to enumerate the
documents correctly, and I see all current docs. Each one tries to
download. The log says that google is responding '400 bad request' to every
request, so in the download panel, all are showing as ERROR.

What version of the product are you using? On what operating system?

Running Win 7 64. 0.4.7.66, windows installer version.

Please provide any additional information below.

Original issue reported on code.google.com by [email protected] on 19 Dec 2009 at 5:48

More info about missing https certificates (on linux)

On some linux distro some https certificates are missinig.
Workaroung: faq#5 at http://gs.fhtino.it/gdocbackup/faq
But it's hard for the user to understand the problem and then follow the faq.

So, in case of "Execution of request failed: 
http://docs.google.com/feeds/default/private/full?max-results=100&showfolders=tr
ue" on Linux system, add a more detailed error + a suggestion.

Original issue reported on code.google.com by [email protected] on 24 Sep 2010 at 5:31

Multi-format export

[Problem]
Sometime there are problems exporting document from Google server: the 
resulting file is corrupted or partially broken (known problem with export of 
document to Word format).

[Solution]
Allow multi-format export. I.e. export the same Document from Google Docs in 
different format  (Example:  document --> .doc + .pdf   spreadsheet: .xls + 
.xsv + .pdf )


Original issue reported on code.google.com by [email protected] on 19 Jul 2009 at 8:13

Bypass https certificate checks

On some linux (opensuse?) there are problems in validating https certificates 
chain.  Add an option to bypass certificates validity checks.


Original issue reported on code.google.com by [email protected] on 1 Dec 2009 at 9:49

Error: " Execution resulted in a redirect from "

[From user feedback]

Env: Google Apps (Premier ?)


5/6/2010 9:47:03 AM - 000 > Start exporting [DOCNAME] (Type=Document) --> doc

5/6/2010 9:47:03 AM - 000 > DOC-ERROR: 
Google.GData.Client.GDataRedirectException: 
Execution resulted in a redirect from 
http://docs.google.com/a/[DOMAIN]/feeds/download/documents/Export?
docID=[...vAiiEI...]&exportFormat=doc
  at Google.GData.Client.GDataRequest.Execute()
  at Google.GData.Client.GDataGAuthRequest.Execute(Int32 retryCounter)
  at Google.GData.Client.GDataGAuthRequest.Execute()
  at Google.GData.Client.Service.Query(Uri queryUri, DateTime ifModifiedSince, String 
etag, Int64& contentLength)
  at Google.GData.Client.Service.Query(Uri queryUri)
  at Google.Documents.DocumentsRequest.Download(Document document, DownloadType type, 
String baseDomain, Int32 sheetNumber)
  at Google.Documents.DocumentsRequest.Download(Document document, DownloadType type)
  at GDocBackupLib.Backup.ExecInternal()


From the user:  "All of the files that did not download correctly are shared 
with users 
outside my domain for editing and review purposes."  


Original issue reported on code.google.com by [email protected] on 7 May 2010 at 6:52

pdf backup missing

What steps will reproduce the problem?
1. include doc type pdf
2. Example of missing pdf in attached File "Praktikum-Paker" Action NONE

thank you very much!


Original issue reported on code.google.com by [email protected] on 27 Aug 2009 at 7:02

Attachments:

Problems downloading spreadsheets behind a proxy

[MY-MEMO]

The problem is related to Google Doc List API. The next release will solve
it. Currently fixed in API svn.
http://code.google.com/p/google-gdata/issues/detail?id=234

GDocBuckup will be upgraded when the new version will be relesed.




Original issue reported on code.google.com by [email protected] on 25 Apr 2009 at 6:04

GDocbackup does not export new document formats

You get (in the log):

07/05/2010 0.10.17 - 007 > 
DOC-ERROR: Google.GData.Client.GDataRequestException: Execution of request 
failed: 
https://docs.google.com/feeds/download/documents/Export?docID=.....
 ---> System.Net.WebException: Errore del server remoto: (404) Non trovato.




Original issue reported on code.google.com by [email protected] on 7 May 2010 at 6:45

Doc in two folder, downloaded once.

A doc in Google Docs is placed in two folder (ok, it's strange, but it's
possible).  GDocBackup only download doc in one folder. The second is ignored.

Original issue reported on code.google.com by [email protected] on 7 Feb 2010 at 1:21

Folder dictionary: duplicated item

Reported from some users:

1/13/2011 8:31:01 AM - 000 > 
************************************************************
1/13/2011 8:31:01 AM - 000 > ****** START BACKUP PROCESS ******
1/13/2011 8:31:01 AM - 000 > Setup connection & get doc list
1/13/2011 8:31:25 AM - 000 > GLOBAL-ERROR: An item with the same key has 
already been added.
1/13/2011 8:31:25 AM - -001 > ############### EXCEPTION ###############
1/13/2011 8:31:26 AM - -001 > System.ArgumentException: An item with the same 
key has already been added.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, 
Boolean add)
at GDocBackupLib.Backup.BuildFolders(Document parentDir, List`1 docs, String 
currentPath)
at GDocBackupLib.Backup.ExecInternal()
at GDocBackupLib.Backup.Exec()
1/13/2011 8:31:26 AM - -001 > #########################################


My notes: 
 - comes from Backup.cs line 387 ?
 - I'm not able to reproduce it
 - WorkAround : add a check like line 407 "if (!_folderDict.ContainsKey(doc.Self))"

Original issue reported on code.google.com by [email protected] on 14 Jan 2011 at 8:03

Wrong date comparison using an usb drive (was: Date Range to Upload)

It seems as though GDocBackup replicates all files and takes hours to run on my 
computer.  Perhaps a way to download just Google Documents that have been 
modified in the last day, week & month?  I'm not sure if that could be done, 
but Google Documents have a modified date.  After the specific date range is 
complete, the program could show "complete" instead of continuing to download 
older documents.

Original issue reported on code.google.com by [email protected] on 21 Jan 2011 at 10:55

Date Delta

The Date Delta says "Date Delta (minutes)" but I believe it is really seconds. 
Am I correct?

Original issue reported on code.google.com by [email protected] on 22 Feb 2011 at 11:53

Folder, in more than one folder, is downloaded once

Like [issue 15] but now related to folder.

On Google Docs a folder can be placed in more than one parent (container) 
folder. So it appears in more than one place (like a doc). But GDocBackup only 
download one instance.

Original issue reported on code.google.com by [email protected] on 24 Jul 2010 at 10:16

PDF's are not downloaded, instead marked as ERROR in download list

What steps will reproduce the problem?
1. Upload some pdf's to gdocs
2. Run GDocBackup
3. ERROR for each pdf

What is the expected output? What do you see instead?

PDF should be downloaded to local dir.

What version of the product are you using? On what operating system?

0.4.13.87

Please provide any additional information below.

21/05/2010 14:02:22 - 009 > Start exporting sample.pdf(Type=PDF) --> pdf
21/05/2010 14:02:22 - 009 > DOC-ERROR: 
Google.GData.Client.GDataRequestException: Execution of request failed: 
http://doc-0k-34-
docs.googleusercontent.com/docs/secure/manfdgo6gfmafcsnh7e6pj7e8944u01k/flt
36t1k6klbu2fv85j9bh3ev5ku72u7/1274443200000/07784837658578260716/0778483765
8578260716/0BwH1w0IXWQQQYTgzNmM2NzEtMTNiNS9872983700YTIxLTk5NmEtNjUxZjBjZjN
lNDg3?h=16653014193614665626&e=download&gd=true ---> 
System.Net.WebException: De externe server heeft een fout geretourneerd: 
(403) Niet toegestaan.
   bij System.Net.HttpWebRequest.GetResponse()
   bij Google.GData.Client.GDataRequest.Execute()
   --- Einde van intern uitzonderingsstackpad ---
   bij Google.GData.Client.GDataRequest.Execute()
   bij Google.GData.Client.GDataGAuthRequest.Execute(Int32 retryCounter)
   bij Google.GData.Client.Service.Query(Uri queryUri, DateTime 
ifModifiedSince, String etag, Int64& contentLength)
   bij Google.GData.Client.Service.Query(Uri queryUri)
   bij GDocBackupLib.Backup.ExecInternal()

Original issue reported on code.google.com by [email protected] on 21 May 2010 at 12:03

Unable to download PDF files, always getting 403 Forbidden

What steps will reproduce the problem?
0. Using ClientLogin to authenticate
1. Somehow obtain a DocumentListEntry of a PDF file
2. Content URI is of the form 
https://doc-0c-54-docs.googleusercontent.com/docs/secure/...?h=...&e=download&gd
=true
3. Try to download the PDF using the sample shown in the Java Language Guide

What is the expected output? What do you see instead?
Expected would be the PDF, What I'm seeing is this:
com.google.gdata.util.ServiceForbiddenException: OK
<HTML>
<HEAD>
<TITLE>Forbidden</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Forbidden</H1>
<H2>Error 403</H2>
</BODY>
</HTML>


What version of the product are you using? On what operating system?
I'm using the GData Java API 1.41.3 on AppEngine


Please provide any additional information below.
If necessary I can provider sample code. I'm certain the code used to work, and 
this issue only appeared recently. I can't say for sure when, but I believe 
it's somewhere in the last few days.

Original issue reported on code.google.com by [email protected] on 12 Dec 2010 at 10:27

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.