Code Monkey home page Code Monkey logo

gurtle's Introduction

gurtle's People

gurtle's Issues

don't require the "project=projectname" setting

Gurtle should extract the project name from the url that is passed in the
function GetCommitMessage2().

Of course, this only works for the IBugtraqProvider2 interface. It still
could fall back to the old way and use the setting, but if the setting
isn't there it should extract the project name from that url.

Original issue reported on code.google.com by tortoisesvn on 14 Oct 2009 at 6:07

COM error 0x80131500 on invoking issue selection with invalid parameters

What steps will reproduce the problem?
1. Install version 0.5 on Windows 7 x64 


What is the expected output? What do you see instead?
COM error occurs when clicking 'Select issue' button:

Failed to start the issue tracker COM provider 'Gurtle 0.5 (Google Code)'.
Unknown error 0x80131500

What version of the product are you using? On what operating system?
0.5
Windows 7 x64 Ultimate

Please provide any additional information below.

Original issue reported on code.google.com by kaistizen on 27 Sep 2009 at 7:09

User credential cache should be per project

When a user asks a user name and password to be remembered for next time,
one a single set is cached and link with the user's profile on the local
machine. If the user is using different Google Accounts with different
projects checked out to the machine then it could cause confusion. The
cache should really be per project.

Original issue reported on code.google.com by azizatif on 9 May 2009 at 11:20

Issue fields are off

Seems google code changed something: listing the issues doesn't work
properly anymore (build r66 - r69 doesn't work, see issue #22).

The attached screenshot shows the problem.

Original issue reported on code.google.com by tortoisesvn on 14 Dec 2008 at 7:54

Attachments:

Notify of updates via tray icon

The version update notification currently shows up as a button 
labelled, "Update Client." This takes up the already scarce space on the 
dialog box that could be devoted to other functions in the future. A 
better idea may be to notify about a new version as a balloon tip on a 
shell tray icon.

Original issue reported on code.google.com by azizatif on 23 Aug 2008 at 4:56

Allow searching issues during download

The search field is not enabled until all the issues have not finished 
downloading. For someone working on a project with a large set of issues 
and on a slow bandwidth, the wait could be a few seconds. It should be 
possible to start searching while the download takes place. If a filter is 
in effect as the download is happening then only those issues that meet 
the filter criteria should appear in the list. Also, once the filter is 
changed or removed, the list should reveal other issues that had been 
downloaded.

Original issue reported on code.google.com by azizatif on 22 Aug 2008 at 4:37

Add support for proxy authentication

I'm try using this solution into network what has a proxy.
When this happens the error below is displayed.

"---------------------------
Download Error
---------------------------
The remote server returned an error: (407) Proxy Authentication Required.
---------------------------
OK   
---------------------------"


Original issue reported on code.google.com by frchico on 26 Mar 2009 at 3:19

Add revision number to assembly version resource

We should use SubWCRev to add the revision number to the assembly version.
I suggest as the third number.

Not sure since I'm not very familiar with .NET assemblies, but I think this
would require to remove the file src/Gurtle/Properties/AssemblyInfo.cs and
have this file generated with SubWCRev from an AssemblyInfo.cs.tmpl file.

Original issue reported on code.google.com by tortoisesvn on 27 Apr 2009 at 4:44

User credential not getting saved

What steps will reproduce the problem?

During an issue update, when prompted for credential, choose the option to
remember the password.

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

Expected the credential prompt during next update to show up with user name
and password already filled. Instead, they are always blank.

Original issue reported on code.google.com by azizatif on 9 May 2009 at 3:48

Icon/Logo for Gurtle

Gurtle needs its own icon and logo.

Icon to be used for the dialogs.
Logo to be used in the installer and the Google-Code project page.

Original issue reported on code.google.com by tortoisesvn on 27 Apr 2009 at 4:46

Test issue

This is not a real issue. It is only used for testing programmatic
manipulation of issues.

Original issue reported on code.google.com by azizatif on 11 Nov 2008 at 11:52

COM error after commit

Two times now I got this error after a commit:

Completed            : At revision: 234
Error                : Failed to start the issue tracker COM provider 'Gurtle'.
Error                : Unknown error 0x80131509
Error                : Operation is not valid due to the current state of
the object.

But this only happens if I don't open the issues dialog from the TSVN
commit dialog first.
I'm using the very latest version of Gurtle (compiled myself) from trunk
(and of course the latest version of TSVN).

I'm not sure if this is an issue of Gurtle or TSVN yet. But the COM error
indicates that there's some kind of exception thrown from Gurtle.

Don't have the time right now to investigate, so I'm opening this issue so
I don't forget.

Original issue reported on code.google.com by tortoisesvn on 13 Oct 2009 at 8:17

Add support for IBugTraqProvider2

TSVN 1.6 extends IBugTraqProvider with IBugTraqProvider2 (see attachment) 
with following new methods:

- GetCommitMessage2
- OnCommitFinished
- HasOptions
- ShowOptionsDialog

Consider adding features enabled by IBugTraqProvider2, like issue #16.

Original issue reported on code.google.com by azizatif on 11 Nov 2008 at 5:05

Attachments:

Vary log message text with issue type

A selected issue results in the text "Fixed #XXX : summary" inserted. 
This is good. But maybe a combobox or something like that where I can 
select whether the commit will actually fix the issue or is just a first 
step ("adds to #XXX" instead of "fixed", or "part of #XXX" or ...) 

Original issue reported on code.google.com by [email protected] on 21 Aug 2008 at 8:24

Help with the new issue tracker integration

Google Code recently added their own integration of the issue tracker with
version control by using specially formatted commit messages:
http://code.google.com/p/support/wiki/IssueTracker#Integration_with_version_cont
rol

I'd like Gurtle to help with that new integration.

* extend the issue list dialog so that the user can choose not just the
issue but also a list of options on how to refer to the issue ("Closes",
"Resolves", "Update issue...", ...)
* provide an "extended" dialog after selecting an issue which provides an
UI to update issue fields (summary, status, labels, ...)

With that information, insert the corresponding lines to the commit message
by making sure those lines are correctly formatted (e.g., the line "Update
issue #xxx" is the first line).

* use the CheckCommit() method to do a final check of the commit message
and show a warning if e.g., text like "updates issue #xxx" is not on the
first line.
* in OnCommitFinished(), offer to open the webbrowser showing the updated
issue (maybe this should be configurable)

Original issue reported on code.google.com by tortoisesvn on 23 May 2009 at 7:00

IssueUpdateSetup Authentication problem

I checked out the latest copy from here

http://gurtle.googlecode.com/svn/scripts/

Added a new environmental variable as described here

http://code.google.com/p/gurtle/wiki/IssueUpdateSetup

Changed the path of the variable so it now reads

Variable name: GURTLE_ISSUE_UPDATE_CMD
Variable value: D:\Gurtle\updissue.cmd --username {username} --password
{password} --project {project} --issue {issue.id} --status {status}
--comment {comment} --debug

During the commit process, I use Gurtle to select the issue from the list
of known issues and commit. The issue gets committed fine but at the end
when the IssueUpdate window comes up so that I can change the issue status.
I submit the form, enter my username and password and get prompted with an
alert box which says


---------------------------
Gurtle: Exception
---------------------------
Issue update command failed with an exit code of 1.
---------------------------
OK   
---------------------------


And the main updating issue window has the following at the bottom

System.Exception: Issue update command failed with an exit code of 1.
   at Gurtle.Plugin.UpdateIssue(String project, IssueUpdate update,
NetworkCredential credential, Action`1 stdout, Action`1 stderr) in
c:\Users\atifa\Desktop\Gurtle\src\Gurtle\Plugin.cs:line 413
   at Gurtle.Plugin.<>c__DisplayClass11.<OnCommitFinished>b__5(Object
sender, DoWorkEventArgs args) in
c:\Users\atifa\Desktop\Gurtle\src\Gurtle\Plugin.cs:line 258
   at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
   at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)


*See attached file for the full log

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

Attachments:

Bi-directional links

What new or enhanced feature are you proposing?

Can we have links in tortoisesvn's Show Log to the issue?  Similar to how
tortoise/fogbugz integration works?  What about having links in the issue
to the diff showing resolution?  Is this even possible?

What goal would this enhancement help you achieve?

Better workflow/integration.

Original issue reported on code.google.com by [email protected] on 7 May 2009 at 5:40

r69 does not build

1. check out from trunk, HEAD (at this time: r69)
2. run 'build.cmd'

you get two build errors. The file 'TextBoxExtensions.cs' is not found (but
still in the proj file).
Removing the file from the project doesn't work either, the build still
fails due to missing definitions.

Build of r66 works fine.

Original issue reported on code.google.com by tortoisesvn on 14 Dec 2008 at 7:52

Selected issues that are invisible do not appear in log

If you select an issue then filter the issue list through some search 
term, then the selected issues that are not visible at the time the user 
clicks OK do not appear in the log message returned to host.

What steps will reproduce the problem?
1. Select an issue
2. Search for a text such that the selected issue is filtered out 
(invisible)
3. Click OK

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

The expected output is that the selected issue should appear in the log 
message when the user clicks OK. Instead, what one sees is that the issue 
does not appear at all.

Additional information:
Using Gurtle 0.2.



Original issue reported on code.google.com by azizatif on 8 Sep 2008 at 10:07

Warn when unowned/closed issues are selected

There should be a warning dispalyed to the user when one or more unowned 
issues are selected and he/she clicks OK. The warning text could be along 
the lines of:

"You selected one or more unowned issues (#x, #y, #z). Normally, you 
should only select issues with owners. Proceed anyway?"

The user should be presented with Yes and No to reply with. If No is 
selected, then the user should be returned to dialog.

Original issue reported on code.google.com by azizatif on 25 Aug 2008 at 10:07

Race condition between downloading of issues and options

There exists a race condition between when issues and issue options feed 
get downloaded. If the latter takes longer then some closed issues may not 
be styled correctly. There is a very remote chance of this happening so it 
may be noticable on some rare occasions where downloading the issues twice 
(first without closed issues and then with closed ones) is quicker than 
the smaller feed of issue options.

Original issue reported on code.google.com by azizatif on 31 Aug 2008 at 12:51

Can't connet to google code through proxy

What steps will reproduce the problem?
1. Have a proxy between you and google code
2. Have TortoiseSVN corect proxy settings
3. Open commit form and open issues list

I get an error like "can't connect through proxy".

Original issue reported on code.google.com by [email protected] on 27 Oct 2008 at 3:16

Add an MSI package for 64-bit platforms

What new or enhanced feature are you proposing?

Add an MSI package is designed to install Gurtle as a 64-bit solution on
64-bit platforms.

What goal would this enhancement help you achieve?

Allow Gurtle to be used on TortoiseSVN 64-bit installations on 64-bit systems.

Original issue reported on code.google.com by azizatif on 28 May 2009 at 9:35

extern for "Scripts" on src folder uses https instead of http

What steps will reproduce the problem?
1. Do an ANONYMOUS checkout or update of the project

What is the expected output? What do you see instead?
Full checkout of project fails because of authentication issues when trying 
to get the "Scripts" folder externed in the "src" folder properties.

The fix is to modify the extern to use the "http" designator instead of the 
"https" one currently in the file. I am not sure how this would effect 
people with commit access who may be connecting via https.

NOTE: if Google is running 1.5 or later of the svn server, you can fix this 
correctly using relative external references, as such:

   ^/scripts Scripts
or
   //gurtle.googlecode.com/svn/scripts Scripts

(See docs on relative URL externals for more info on the syntax).

Original issue reported on code.google.com by lroathe on 17 May 2009 at 8:31

ProgID registered to the wrong location

What steps will reproduce the problem?

1. Install Gurtle 0.4 or 0.5 using the MSI
2. Open a Command Prompt
3. Type the following on the command-line:
   reg query HKCR\Gurtle.Plugin /s

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

Expected that registry entries for Gurtle.Plugin ProgID would be found and
listed. Instead, REG displays the error:

ERROR: The system was unable to find the specified registry key or value.

Additional information:

It appears that the ProgID is registered under HKEY_CLASSES_ROOT\CLSID. For
example, try instead:

reg query HKCR\CLSID\Gurtle.Plugin /s

This time REG find the entires and writes out:

HKEY_CLASSES_ROOT\CLSID\Gurtle.Plugin
    (Default)    REG_SZ    Gurtle 0.5 (Google Code)

HKEY_CLASSES_ROOT\CLSID\Gurtle.Plugin\CLSID
    (Default)    REG_SZ    {91974081-2DC7-4FB1-B3BE-0DE1C8D6CE4E}

The ProgID should appear directly under HKEY_CLASSES_ROOT.

Original issue reported on code.google.com by azizatif on 28 May 2009 at 9:09

Change wording when an issue is entered into log file during SVN commit

What steps will reproduce the problem?

When I select an issue (e.g. issue #8) during an SVN commit the following 
text is entered into the log file

Fixed issue #8: Issue Name

However the wording does not match the wording required for the integration 
with version control: 

http://code.google.com/p/support/wiki/IssueTracker#Integration_with_version
_control

A better alternative would be:

Fixes issue #8.

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

Version: Gurtle: 0.5.0.217

OS: Windows XP Service Pack 2

Please provide any additional information below.

Gurtle is a great piece of software - Well done!

Original issue reported on code.google.com by [email protected] on 11 Apr 2010 at 2:14

Multi-word search for summaries

It should be possible for the user to search issues for one or more words. 
Currently, the search is limited to containment of what is entered in the 
search box. For example, if someone enters "html code" then only those 
issues are shown where "html code" appears as-is across all issues fields 
and which is not very useful. Instead, the most common scenario and user 
expectation will be multiple-word search. Therefore "html code" should 
reveal issues where the words "html" *and* "code" appear anywhere in the 
issue summary.

Original issue reported on code.google.com by azizatif on 22 Aug 2008 at 4:44

Reset Settings in Options dialog has incorrect tooltip

What steps will reproduce the problem?

1. From Windows Explorer context menu, select TortoiseSVN then Settings
2. Select Issue Tracker Integration from the tree in Setting dialog box
3. Click the Add... button in the pane on the right of the tree
4. When the Configure Issue Tracker Integration dialog appears, click 
Options
5. When the Options dialog appears, hover above Reset Settings button

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

Expected the tooltip that appears after a delay to say something relevant 
to resetting of settings. Instead, it reads, "Test if the supplied Google 
Code project is reachable online or not."

Additional information:

Using Gurtle 0.5.0.217 together with TSVN 1.6.3, Build 16613 on Windows 
Vista Ultimate Edition x86/32-bit

Original issue reported on code.google.com by azizatif on 13 Oct 2009 at 9:17

Wrong encoding in Issues list (like ěščřžýá)

What steps will reproduce the problem?
1. site http://code.google.com uses UTF-8
2. issues displays text in ANSI
3. text is broken

What is the expected output? What do you see instead?
issues should display ěščřžýá as it is shown on site

What version of the product are you using? On what operating system?
TortoiseSVN 1.6.1 (EN), Windows XP Czech

Original issue reported on code.google.com by digiqr on 16 Apr 2009 at 11:21

Add binary build and installer

Add binary build and installer for gurtle

I can help by providing an installer in NSIS if someone write the specs for it.

Original issue reported on code.google.com by [email protected] on 4 Mar 2009 at 7:34

Issue update fails under TSVN

What steps will reproduce the problem?

1. Check out latest sources (r172)
2. Build the solution
3. Install or update the Gurtle CodeBase in the registry to point to the
new build location
4. Ensure issue updating is set-up with Gurtle
5. Fix an issue in a project set-up with Gurtle and TSVN
6. Commit the changes in TSVN
7. During commit log prompt, click "Select Issue" and select an issue to
link with the commit
8. Click OK to make the commit
9. When the issue update dialog appears post-commit, click OK

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

After step 9, expected Gurtle to prompt user for credential to authenticate
against Google e-mail service and then update the issue. Instead, nothing
further happens and issue is not updated.


Original issue reported on code.google.com by azizatif on 9 May 2009 at 11:59

Use checkboxes for selection of issues

Currently, a user highlights issues to select them. However, when 
searching for issues, the highlights get lost. Also, it's not possible to 
select issues across multiple searches. To solve these problems, the issue 
list should support selection via checkboxes and those checkboxes should 
maintain their checked states across multiple searches.

Original issue reported on code.google.com by azizatif on 22 Aug 2008 at 4:47

MSI build fails with ICE errors under non-admin

What steps will reproduce the problem?

1. Check out the sources (r121 at the time of this reporting)
2. Run build.cmd in the root of the working/export copy

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

The build show succeed entirely. Instead it fails during the build of the
MSI with the following errors:

light.exe : error LGHT0217 : Error executing ICE action 'ICE08'. The most
common cause of this kind of ICE failure is an incorrectly registered
scripting engine. See http://wix.sourceforge.net/faq.html#Error217 for
details and how to solve this problem. The following string format was not
expected by the external UI message logger: "The installer has encountered
an unexpected error installing this package. This may indicate a problem
with this package. The error code is 2738. ".
light.exe : error LGHT0217 : Error executing ICE action 'ICE09'. The most
common cause of this kind of ICE failure is an incorrectly registered
scripting engine. See http://wix.sourceforge.net/faq.html#Error217 for
details and how to solve this problem. The following string format was not
expected by the external UI message logger: "The installer has encountered
an unexpected error installing this package. This may indicate a problem
with this package. The error code is 2738. ".
light.exe : error LGHT0217 : Error executing ICE action 'ICE32'. The most
common cause of this kind of ICE failure is an incorrectly registered
scripting engine. See http://wix.sourceforge.net/faq.html#Error217 for
details and how to solve this problem. The following string format was not
expected by the external UI message logger: "The installer has encountered
an unexpected error installing this package. This may indicate a problem
with this package. The error code is 2738. ".
light.exe : error LGHT0217 : Error executing ICE action 'ICE61'. The most
common cause of this kind of ICE failure is an incorrectly registered
scripting engine. See http://wix.sourceforge.net/faq.html#Error217 for
details and how to solve this problem. The following string format was not
expected by the external UI message logger: "The installer has encountered
an unexpected error installing this package. This may indicate a problem
with this package. The error code is 2738. ".

Additional information:

Building on Microsoft Windows 32-bit Vista Business, 6.0.6001, SP 1
Building with non-administrator account with following privileges:

Privilege Name                Description                          State   
============================= ==================================== ========
SeMachineAccountPrivilege     Add workstations to domain           Disabled
SeShutdownPrivilege           Shut down the system                 Disabled
SeChangeNotifyPrivilege       Bypass traverse checking             Enabled 
SeUndockPrivilege             Remove computer from docking station Disabled
SeIncreaseWorkingSetPrivilege Increase a process working set       Disabled
SeTimeZonePrivilege           Change the time zone                 Disabled

Original issue reported on code.google.com by azizatif on 27 Apr 2009 at 9:27

different uuids for 32- and 64 bit versions

COM requires that the uuids are unique. Since Gurtle can be compiled both
for win32 and x64, it has to use a different uuid for them.
It isn't possible otherwise to install both versions on the same system.

Original issue reported on code.google.com by tortoisesvn on 27 Mar 2010 at 4:12

Gurtle is not visible in "Issue Tracker Integration" on 64-bit systems

I've installed latest Gurtle and TSVN 1.6.2. Restarted.

"Issue Tracker Integration" reports "There are no issue-tracker providers
available".

OS is Windows 7 64 bit. Could the 64 bit be the issue here? Or am I doing
something wrong here?

// As I remember 64 bit versions of Windows use some weird registry paths
for providing compatibility with 32 bit applications.

Best regards,
Rinat Abdullin

http://abdullin.com

Original issue reported on code.google.com by rinat.abdullin on 28 May 2009 at 5:42

Mention new TSVN properties in Wiki or docs

I've added two new properties in TSVN to specify the IBugTraqProvider for a
project (r14477) which will be available in TSVN 1.6:

bugtraq:provideruuid
set this to "{91974081-2DC7-4FB1-B3BE-0DE1C8D6CE4E}" for Gurtle.

and bugtraq:providerparams
set this to e.g. "project=gurtle"

with these properties set, it is no longer necessary to set up the provider
in the TSVN settings dialog.

If you want to check out how I set the properties on my google code
projects, go here: http://code.google.com/u/tortoisesvn/ and pick a project
(maybe not commitMonitor because that's quite big).

Original issue reported on code.google.com by tortoisesvn on 1 Nov 2008 at 5:21

Add an options dialog to configure parameters

The IBugTraqProvider2 interface has to methods (HasOptions and
ShowOptionsDialog) that enable a plug-in to show a UI for setting up
parameters. Consider adding such a UI as an options modal dialog box.

The dialog box should:

- Permit the user to supply the Google Code project name
- Validate that the Google Code project name is valid via an on-line check


Original issue reported on code.google.com by azizatif on 5 Apr 2009 at 9:24

Provide merge module

Instead of only providing an msi to install Gurtle, we should also provide
an msm module so other apps can easier include Gurtle in their own msi.

Original issue reported on code.google.com by tortoisesvn on 14 Jun 2009 at 9:21

Add option to fetch all issues, including closed ones

A button to fetch *all* issues, also the already closed ones 
(sometimes it's necessary to add something to an issue which was 
considered as finished and closed, but then something was discovered 
later which is still part of that issue). 

Original issue reported on code.google.com by [email protected] on 21 Aug 2008 at 8:25

Color of unowned issues

Issues which are not assigned yet are shown grey. But grey is 
'reserved' for inactive or non-selectable stuff in a list control. I 
suggest using another color. 

Original issue reported on code.google.com by [email protected] on 21 Aug 2008 at 8:22

Install problem, errorcode from ipy.exe

When I try to install Gurtle 0.2 for TortoiseSVN 1.5.3 I get the following
error (look at screen shot also):

"ipy.exe: The application failed to initialize properly (0xc0000135). Click
on OK to terminate the application."

I am running WinXP with all the latest updates.

Original issue reported on code.google.com by roine.stenberg on 21 Sep 2008 at 6:20

Attachments:

AssemblyInfoVersion.cs missing on checkout/export

What steps will reproduce the problem?

1. Checkout the latest sources
2. Build the solution file in Visual Studio or using MSBuild directly

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

Expected the solution to build. Instead build fails due to error:
error CS1504: Source 
file '...\src\Gurtle\Properties\AssemblyInfoVersion.cs' could not be 
opened ('Unspecified error ')

The first experience with checking out or exporting a project should not 
be one of a build failure, especially if someone just fires up the 
solution in Visual Studio and builds. Otherwise they will be discouraged 
to continue with the project. If one builds from the command-line, chances 
are they will use build.cmd, which does not suffer from this issue.

Additional information:

At the time of reporting this issue, the latest revision was r169.

Original issue reported on code.google.com by azizatif on 8 May 2009 at 8:43

Close the issue with a reference to the committed changeset

It would be nice, if the issue status would be set to 'fixed', when a fix
is commited.
The issue comment could read 'Issue fixed by r52: _commit comment_'.

(I have seen a proposal for an option to differntiate between 'fixing' and
'adding to' an issue.
In this case the status could remain anchanged, but maybe the comment would
be added to the issue.)

Original issue reported on code.google.com by [email protected] on 9 Sep 2008 at 6:17

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.