Category Archives: Apps Insight + PHP

TFS Administration

Team Foundation Server

To have a good administration of your PBIs and documentation about Team Foundation Server and services on the cloud you should read this article:

TFS Migration

Also, it’s important if you are going to migrate TFS from one disk to other in the same server, you need to configure the IIS first and then you can change the web.config. By doing this you may lost your TFS Management Console but the services will be working properly.

For Example; if you don’t make it properly you will get this kind of SQL errors.

Sprint Planning Review – Sprint 3

People who were present at the meeting:

  • Fidel Morales
  • Juan Manuel López
  • José Luis Morales
  • Rodrigo González
  • Manuel Santizo
  • Gustavo Zamora
  • Raúl Guerra
  • Giorgio Balconi
  • Erick Díaz
  • Nery Orellana
  • Josué Mazariegos

The meeting started at 9:10pm, and ended by 9:30pm.

What do we talk in the meeting:

  • Finish PBI server.
  • Raul will be responsible to track the infrastructure of the project. He also will talk to Edwin Cerna and learn everything in order to manage the infrastructure by himself.
  • Juan Manual shows the plugin in WordPress.
  • The functions that we will need to find equivalences in Joomla are seven.
  • The scrum team will need to try the events on server side and the client side.

The tasks for this week:

  • Exchange the server
  • The page for the instrumentation key
  • Equivalent functions
  • Develop the plugin
  • Be sure to set the necessary events
  • QA Trigger events
  • Server side
  • Client side

Sprint Restrospective – Sprint 2

Yesterday, march 3, we talked about how sprint 2 was going.

First we talked about the server migration. We agreed about providing to the other project team everything they need to install our TFS instance on their infrastructure and publish it using their Azure account. In addition, they are going to support us by publishing a Joomla instance to test our plugin. Also, we are going to use this WordPress instance ( to see the behavior of the WordPress Application Insights plugin.

As a result of the second sprint PBIs, we also agreed to implement some specific Joomla events and php functions, to submit the Joomla telemetry to Application Insights.

Event types explained

Plugins are executed when an event is triggered, so, in order to start developing our App-Insights extension for Joomla, we need to figure out where and when we want to trigger it.

In the link below we can find more information about plugins, how they work and so on. This is something we learned from the previous post, Joomla plugin example. However, this example offers information about the different types of events available and a brief description of them.

In the current sprint, my task is to find an equivalent in Joomla of wp_head function in WordPress. In WordPress, that hook is triggered when the header of the page is loaded. I would translate it to a System type of event because they are triggered during the execution cycle on Joomla. More specifically, I would say we should use the onAfterInitialise event, which is the first event to be triggered.

Of course, this is an early opinion and should be analyzed in more detail. That’s why I’m sharing the link of the example, expecting you to comment your thoughts about this:

<a href=”″ title=”Joomla plugin example” target=”_blank”>Joomla plugin example</a>

SCRUM Meetings

There are four kind of meetings for each sprint, I’m writing a small description of each and the schedule for our meetings on the AI project.


Sprint Planning Meeting

This meeting is held at the beginning of each sprint.  It has a recommend time-box of no more than two hours per week duration of the sprint.

Meeting objectives:

  • Select what work is to be done in the upcoming sprint.
  • Discuss with the team how much of the work is likely to be finished within the sprint.

At the end of the meeting everyone should know what task and PBI has assigned, and who should work with.


Daily Scrum Meeting

This is a very informal meeting.  Characterised for being a stand-up meeting in order to keep it fast.  Lasting no more than 15 minutes.

This meeting includes every member of the developers team.  And is to be held on time, even if the development team is incomplete.  Even though everyone is welcome to attend the meeting usually only people who is directly involved would speak.

It’s specially useful for the scrum master since every member notes if there is any impediment, which would be documented by the scrum master to be solved after the meeting.

Even if no detailed discussion takes place in this meeting, everyone does answer what have done the day before and what will do today  in order to help the dev team meet the sprint goal.


End Meetings

This are meetings conducted at the end of each sprint; The sprint review and sprint retrospective.

Sprint Review Meeting

At this stage two activities takes places. First a demo is given to the stakeholders.  Presenting completed work under the acceptance criteria or definition of done. Incomplete work can’t be showed at the demo and is review at the second activity; Second the completed work is reviewed.  The planned work that was not completed is also reviewed and its inclusion in the next sprint or back into the backlog is evaluated.

This meeting should not last longer than 4 hours.

Sprint Retrospective Meeting

This meeting is hosted by the scrum master.  It involves every team member.  Members shares theirs thoughts about the past sprint and how to make improvements.

It has a three hour time limit.  It’s main objective is to answer what went well in the sprint and what could be improved on the next sprint.


For our project we are having all of this meeting and here is the schedule.  Please feel free to show up any time if you want to check them out.

Sprint planing meeting: Tuesday at 9PM
Daily scrum meeting: Everyday at 9PM except for Mondays.
Sprint review meeting:  Friday at 7PM
Sprint retrospective: Monday at 9PM
All of the meetings take place at the TEC building in the classroom T-402.

Joomla plugin example

Hello everybody, today I’m sharing a post about an example of how to work on a Joomla plugin. It explains in detail what is a plugin and how does it work. It also shows where to use hooks, explains the functionality of the code from certain files and more.

This will help us to clear some doubts about the project, and will give us a better understanding of what we must do on our project:

Joomla Coding Standards

Good coding standards are important in any software development project, especially when working with an Open Source Software such as Joomla.  This site shows the Joomla Coding Standars which will make our project easy to read, debug, and maintain.

Sprint Planning – Sprint 2

Yesterday (25/02) we had the second sprint planning meeting.

We talk about several things like what we do on the last sprint, we resolve doubts about Application Insights, talk about the Application Insigths SDK for PHP, and how we are going to create the Joomla plugin to let this CMS platform users monitor the performance and users of their web sites.

Here is a the link ( that let us download the AppInsigths SDK for PHP, that is going to be the base of our plugin. In addition we are going to use the WordPress plugin ( as an example to implement the Application Insiths SDK to the client and server side of a Joomal website.

After an analysis of the WordPress plugin, we realized that previously to start developing the plugin we need some specific functions provided by WordPress. So on this sprint we are going to work on finding the equivalent functions provided by Joomla, or develop them if doesn’t exist. We algo are going to be working on the migration of out TFS server, from the Amazon cloud to a physical server in the University. We are going to use the server to publish our TFS instance, and also we are going to publish a WordPress instance with the Application Insights plugin to see how it works and finally we are going to publish a Joomla instance to test how our plugin. So this are our PBIs for this Sprint are:

* Replicate the add_action() WordPress function for Joomla.
* Replicate the do_action() WordPress function for Joomla.
* Replicate the “wp_head” WordPress hook for Joomla.
* Replicate the “shutdown” WordPress hook for Joomla.

Please comment along the Sprint.

Microsoft Project

Hello teammates I’m opening this post so we can all share our thoughts on the project, we have selected the integration of App Insights for PHP.

You can find more information about the project and the source code at:

If you want to check out more about Application Insights you could start at:


Looking forward to see all your comments and ideas.