Giter Club home page Giter Club logo

piwik-dotnet-tracker's Introduction

Piwik C# Tracking API

This is the official C# implementation of the Piwik Tracking API.

Check the release page for supported versions of Piwik.

Usage

Three Visual Studio Solutions are provided :

How to contribute

The Piwik C# Tracking API is a translation of the official PHP Tracking API in C#.

Translating the project is currently a manual process.

Manually translating the project is tedious because it requires

  • identifying features that have already been translated
  • merging code

We would ideally like to automate this process, we welcome contributions aimed towards this goal.

To ease the process in the mean time, the following rules are applied to any new code contributions :

  • a commit in the PHP project implies a commit in the C# project with the same message and content
  • one-to-one tag mapping between the PHP and C# projects
  • the C# code should mirror as close as possible the PHP code

As long as we do not have an automated process, we welcome suggestions in improving the manual process.

Code style

To mirror as close as possible the PHP code, we copy-paste the PHP code in the C# class and alter it so it compiles.

This can lead in a loss of C# best practices. We consider the time savings an acceptable trade-off.

Publishing the project to NuGet

Requirements

  1. The process detailed in this section must be executed right before adding a release tag to git.
  2. Publishing the project to NuGet must be done by a member of the Piwik team, holder of the private NuGet Key.

Steps

  1. Validate tests (requires #7)
  2. Update and commit AssemblyInfo.cs with new version
  3. Create git tag
  4. Build the project using the Release solution configuration
  5. Create NuGet packages using nuget pack Piwik.Tracker\Piwik.Tracker.csproj -Prop Configuration=Release -Symbols
  6. Publish packages using nuget push Piwik.Tracker.VERSION.nupkg

piwik-dotnet-tracker's People

Contributors

julienmoumne avatar tetsuo13 avatar tsteur avatar

Watchers

James Cloos avatar look near avatar  avatar

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.