Clarizen.net – Rethink & Refactor


This slideshow requires JavaScript.

Rest Easy.

I have reflected today on what I need to do first and I really do need to ship the Clarizen.net project out properly, so I have focused the areas that are needed to make the product whole (image below) and the main part is getting the HttpClient done properly, so I have decided to to create RESTIsEasy HTTP Client.

version 0.0.1 – The following areas are being implemented (All the following will feed in to Microsofts HttpWebRequest):

  • PUT, DELETE, GET and POSTClarizen_Net_Structure
  • HTTP Settings
  • Authentication
  • HTTP Request
  • HTTP Response (Json only at the moment)
  • HTTP Error Handling

Once this is in then moving onto the Query Engine which will pass the CZQL-JSON to RESTIsEasy HttpClient. This will mean a major refactoring of the current implementation, but it will be worth it.

Clarizen2Trello – – Beta v1.1.0.3 Released


Another Post, Another Beta…..

As detailed in another post, I submitted Clarizen2Trello as my Appathon 2015 submission. Today I have released an update, which allows for:

  1. Update to show more feed back to the user while the application is running.
  2. Input for Clarizen credentials.
  3. Input for the Trello Board ID that the app is meant to insert the Clarizen Tasks.
  4. Input for the maximum amount of Tasks to pull down from your Clarizen Implementation.

The Release can be found here:

https://github.com/garfbradaz/clarizen2trello/releases/tag/v1.1.0.3-beta

What Next?

I need now to concentrate on Clarizen.NET and getting that ready for beta for people to use. I have hit a crossroad where I cannot add more features to Clarizen2Trello (and PlainClarizen), until this API wrapper is completed. Plus I want the API ready for use for Windows 10 UWP so time is of essence! More on Clarizen.NET soon.

PlainClarizen – Beta 2.0


As per my previous post, I released PlainClarizen for Clarizen Developers. My plan is to finish all my Clarizen developments ready for Windows 10 release on the 29th July, so I can concentrate on learning Windows 10 UWP.

With that in mind, please let me introduce PlainClarizen Beta 2.0:

https://github.com/garfbradaz/PlainClarizen/releases/tag/v0.2.0-beta

This release includes:

  1. Ability to enter Clarizen Username/Password.
  2. Now can request all or a portion of Entities to save on your daily calls.
  3. Turn off creating Custom Field properties in your POCO’s so we are just creating the core system
  4. Integrated new version of Clarizen.Net.

Enjoy.

Open Source Clarizen Projects


Pull,Push,Pull,

Push,Release…..

Since starting (and finishing) my Clarizen Appathon application, I have decided to carry on and release them so anyone can use them – i.e. fix and release the brute code of the Clarizen.NET wrapper. Today I have move forward with that goal by completing the console version of my tool PlainClarizen, which will help me rapidly implement the required entities for Clarizen.Net quickly. So here are the links if anyone would like to follow the repos.

  1. Clarizen.net: Wrapper for the RESTful API – this is nowhere near finished and I wanted to just get some simple methods in place to pull down and query tasks. There is a simple fluent CZQL creator as well. The coming weeks this will gather pace, so if you are interested watch the repo.
  2. PlainClarizen: Simple application that pulls down a list of available Clarizen Entities and serializes them into POCO C# class files. I started building this so I easily create strongly typed objects for the Clarizen.NET wrapper.
  3. Clarizen2Trello: My Appathon submission. Once the Clarizen.Net is in Beta, my next task is to make this a good and robust application.

All Clarizen, and no play……

With Windows 10 looming, I’m really only going to work on this for the next month, desperately trying to ship Clarizen.Net out so other developers can start hacking and using it. Reason: Working on a Raspberry Pi 2 IoT App in August for Windows 10……

Clarizen Appathon 2015 – Clarizen.NET & Clarizen2Trello


clarizen-appathon

Finally finished it.

It has been a busy 2 months personally, with my wife’s 30th birthday and her various parties, upping running training to start tackling Marathons (and hopefully at the back end of 2016, Ultra 50ths), plus all my myriad of coding projects, including Windows 10 development and Windows 10 Internet of Things (IoT) for a Raspberry Pi App – more on that soon.

One of my coding projects is an App for the Clarizen Appathon. For anyone who does not know, Clarizen is a Project Management collaboration and tool, and honestly I’m a big fan. Clarizen comes with a a very good Custom Engine for building:

  • Custom Fields
  • Custom Work flows
  • Custom Visualisations using HTML/JS (Called Panels)
  • Custom Business Logic
  • Not really part of the Customisation Engine but a robust RESTful API

This is very good, because there are some areas which Clarizen struggles with, one being their Agile/Scrum implementation. There are various bespoke add-ons for this area but they are not very good.

Which is where I come in.

I decided to try and create an interface to my favourite (free, as Clarizen is an Enterprise implementation) tool outside of work – Trello. This project grew larger than I expected, mainly due to the fact that I also decided to write a Clarizen .NET code library to wrap around their RESTful services. So that is what I did. Because I only wanted to pull down Tasks from Clarizen, I concentrated on the necessary actions from the list to accomplish this:

* Authentication / Session ID

*  Metadata (DescribeEntities)

* Query and a simple Clarizen Query Language (CZQL) implementation.

I have of course used great frameworks like Newtstonsofts JSON.NET and json2csharp to create my POCO’s and built a brute-force alpha-stage API. I enjoyed doing this very much and plan in the following month to get these issues completed:

issues_clarizendotnet

So once I have the bare basics of this done, I moved onto the quick and easy Clarizen2Trello console application, that pulls down tasks and updates Trello (Tasks as cards within various Todo/Doing/Done lists). here is a snippet:

client.Data.Query.Select("Name,Work,CreatedOn,ActualCost,RemainingEffort,DueDate") 
                 .From("Task")
                 .Where("StartDate > 2015-06-01");
            client.ExecuteQuery();

            foreach (Bradaz.Clarizen.API.Models.Task t in client.Tasks)
            {

                if (t.RemainingEffort.Value == t.Work.Value)
                {
                    Card newCardTodo = trello.Cards.Add(new NewCard(t.Name, todo));
                    trello.Cards.ChangeDueDate(newCardTodo, t.DueDate);
                    trello.Cards.AddComment(newCardTodo, "Remaining Effort is : " + t.RemainingEffort.Value);
                    trello.Cards.ChangeDescription(newCardTodo, t.Id);
                }

                if (t.RemainingEffort.Value == 0)
                {
                    Card newCardDone = trello.Cards.Add(new NewCard(t.Name, done));
                    trello.Cards.ChangeDueDate(newCardDone, t.DueDate);
                    trello.Cards.AddComment(newCardDone, "Remaining Effort is : " + t.RemainingEffort.Value);
                    trello.Cards.ChangeDescription(newCardDone, t.Id);
                }
                else
                {
                    Card newCardDoing = trello.Cards.Add(new NewCard(t.Name, doing));
                    trello.Cards.ChangeDueDate(newCardDoing, t.DueDate);
                    trello.Cards.AddComment(newCardDoing, "Remaining Effort is : " + t.RemainingEffort.Value);
                    trello.Cards.ChangeDescription(newCardDoing, t.Id);
                }




            }

Easy! Its the Trello.Net and Clarizen.Net API’s that are doing the grunt. Here is a quick video explaining how it works:

Code can be found here:

A little bit of Clarity.

That isn’t it by a long stretch, I want to really flesh out the Clarizen.NET code so it can be used by other developers, plus I’m also working on a Chrome Extension (Clarity) that enchances the Configuration page within Clarizen itself, and I may even try and convert Clarizen.NET to Javascript AND Windows 10 UWP and create a Windows 10 Clarizen Client (for Desktop, Phone and possibily Hololens – haver some ideas on 3D data visualisation).

Watch this space.

CSV File Read – Alpha 0.2


This slideshow requires JavaScript.

Just a quick update that I plan to try and get some more functionaltuy added to the the CSV File Reader utility, with another update this week with a designed XML file that describes the type expected in each column and an application which can create a XML settings file.

Links: