Understanding Symfony2 and PHPCR Implementations
The idea of the following diagram is trying to understand how the implementation and dependencies work across the PHPCR world. First comes the bundle, then the PHPCR ODM layer from Doctrine, then comes the PHPCR implementation proper. There are several implementations one of them is called Midgard, the other is named Jackalope. Jackalope and Midgard are examples of PHPCR Implementations proper and they use in turn a transport whose implementation is also provided for Jackalope transposrts: jackalope-doctrine-dbal or jackalope-jackrabbit and Midgard built-in support for MySQL, Postgres, and SQLite. `composer.json` files were created for this and now the idea is to streamline the benefits of setting up phpcr projects with composer dependency manager.

Note:
Midgard uses a php extension that can be found here:
http://packages.debian.org/sid/php5-midgard2
Tunnel The SSH Out of Git
While at a conference I have run through the embarrassment of not being able to `git push` over the ssh default port 22 through a local wifi.
The solution comes when one setups up a proxy or the repository server to take in connections over a different port. To enable server to take ssh connections over different port see this.
And then basically reduces to issue of tunneling in the case that there is a proxy server like here.
If there is no proxy then ssh directly, if there is a proxy then follow the procedure on the last link here.
Mr. PR says:
Open Agile V @php_peru participation
@php_peru had highly voted for sessions in the recent Open Agile V held in Lima, Peru. Our Git/Github sessions harvested a full classroom and the idea was to lay the foundation for open source collaboration.
The attendance to the Agile Event was 700, there were 30+ sessions held and there was a lot of volunteer effort going on with the event. As a group we entered a dojo session and were the only group who finished the kata just in time for the session and posted it on our github account the same day. We give away t-shirt, won some from others, answered several questions, and encouraged people to think community and develop. Here are some images of our participation:











Thanks for supporting us!

Tired of google feedburner not being able to cut your Github My Feed?
I often wanted to keep track of feeds not from the github dashboard but right from my email.
I wanted to follow every movement from lsmith, Stof, Seldaek, Ornicar, fabpot, et al. wait no longer!
Now you can! Just head to feedmyinbox.com
and cut a feed with the url from github dashboard:

Now don’t miss any movement from anyone! And remember we stand on the shoulder of giants!
Sismo Github Exploring
Today I was wondering how do i create a sismo notifier that can interface an API. I have mapped a quick diagram of sismo objects and is shown here:
The Notifier object is set actually within the configuration passed to sismo which is basically an include file returning project objects.
So the notifier is actually set within the project object. However looking through github I was surprised to find more notifiers on the history of network as shown in this picture:
I found therefore someone else has worked on a twitter and a mail notifier. These of course as I said above are set per project configured within the configuration sismo file in each project folder if we are using sismoFinder.
Now everything is pointing to the need to create an app dashboard that can receive the json payloads from sismo and could mark certain merge requests within a self-hosted github like environment. I have found several tools like gitlabhq which is open source however it is coded in ruby, another was gerrit as other posts attest but they are in java and are hard to configure and explode on my face when i want to use them on my local box because they cannot conceive a world without authentication.
So I am still thinking on this app. If you have ideas please let me know. Thanks!
Git Achievements
Whether you are starting with or are in a more advanced level. This is for you.
You can setup a github page showing your achievements. This script will count your command occurrences, will push modifications to an html page and award you achievements upon command issuing on cli prompt.
This is an interesting way to learn!
Encouragements!
Symfony2: Human Readable Configuration
When integrating bundles from other repositories into our project we would like to have an easy way to get a defacto configuration of the bundle at hand. We could either go jump on github and try to guess the configuration from the `Configuration.php` file within the bundle, but why bother since we have the great and new command `php app/console config:dump-reference NameOfBundle` this can be invoked to display the yml version of a sample default configuration for that given bundle.
By looking at the result of the command we can find out about the available settings in a more human readable fashion. Besides the typical default and mandatory configuration flags there is new information set through methods like *setExample* and *setInfo* which will enrich our `Configuration.php` bundle configuration file used like in the example below:
->scalarNode('access_denied_url')->defaultNull()->setExample('/foo/error403')->end() ->scalarNode('session_fixation_strategy')->cannotBeEmpty()->setInfo('strategy can be: none, migrate, invalidate')->defaultValue('migrate')->end()
If you don’t know what argument to pass or are just exploring you can easily call `php app/console container:debug` to get their service names with which to call the `config:dump-reference` command. Providing human readable default configurations for the users of our bundle will boost its quick usage and adoption.
Github “Becoming More Experienced” Series
I have delivered a series of short blog series on git and github usage here that I want to share.
Please go to http://phpperu.org/blog
You will not regret. There is a week worth of research and a short tutorial on hub. I don’t know why I was not using it.
Encouragements in all good.
Gist Tools For Quick Snippets
I recently ran into a nice gist cli tool setup shown here and you can easily jump into its usage from ubuntu box doing:
$ sudo gem install gist $ git config --global github.user "your-github-username" $ git config --global github.token "your-github-token" $ gist - ... // Ctrl+D to finish string

It is so cool, now there is just one thing to look perhaps to a widget on chrome or something.
Assetic The Latest Fix!
This is real quick for when you get an exception of the sort of the route problem.
An exception has been thrown during the rendering of a template ("Route "_assetic_817694b" does not exist.") in AlomWebsiteBundle:tylesheets.html.twig at line 1.The solution is simple, just telling assetic to scan that bundle:
assetic: debug: %kernel.debug% use_controller: false bundles: [ AlomWebsiteBundle ] ...
Make sure you `php app/console cache:clear`.
Thanks to josiah for the tip. Encouragements in all good.






