Vespolina and Sylius Hacking Days: Symfony2 Ecommerce Tools

Today Vespolina and Sylius hacking days started almost one after the other.

There are interesting contributions and development happening on both sides of the spectrum. Lots of similarities and the field is just getting hot with nice Pull Requests and ideas.

Here is the update from Sylius hacking day:

And From the Vespolina side there were some internal memories and work on the new site, sandbox and components. The major drive was towards resolving components into a better structure and architecture and allow for large store type options such as merchandise for multichannel support and the flow flexibility on the commerce process which is not the same for different implementations. Vespolina billing component is also something to highlight which has a lot more into the game of just one time billing.

Be sure to checkout the right one for your needs either small or large.

Shameless plug from the reporter:

Upgrade to PHP5.5 with brew on top of your old PHP5.4

So I had some problems installing php55 on my mac and here is the summary of the solution because if you are not working on php55 you are missing on stuff:

My machine had php54 but this one other had php53 from somewhere:

➜  ~  php --version
PHP 5.3.15 with Suhosin-Patch (cli) (built: Dec  9 2012 19:32:02) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies

I started to update and upgrade the formulas. You should have josegonzales tapped on your brew and even till/till too i think for those using tidy library:

➜  ~  brew update
➜  ~  brew upgrade

If you have php54 installed before you would need to remove it before proceeding:

➜  ~  brew remove php54
➜  ~  brew install php55

You should get something like:

Warning: Could not link php55. Unlinking...
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
You can try again using `brew link php55'

Then after trying this:

➜  ~  brew link php55   
Linking /usr/local/Cellar/php55/5.5.1... Warning: Could not link php55. Unlinking...
Error: Could not symlink file: /usr/local/Cellar/php55/5.5.1/bin/phpize
Target /usr/local/bin/phpize already exists. You may need to delete it.
To force the link and overwrite all other conflicting files, do:
  brew link --overwrite formula_name
To list all files that would be deleted:
  brew link --overwrite --dry-run formula_name

If you have problems because of the symlinks php54 created to the bin executable folders you may need to sudo rm some of the links as brew will tell you which to remove. Just follow the instructions to do this and do:

➜  ~  sudo rm /usr/local/bin/phpize 
➜  ~  brew link --overwrite --dry-run php55

And it works:

➜  ~  brew link --override php55
Linking /usr/local/Cellar/php55/5.5.1... 486 symlinks created
➜  ~  chmod -R ug+w /usr/local/Cellar/php55/5.5.1/lib/php
➜  ~  pear config-set php_ini /usr/local/etc/php/5.5/php.ini

Make sure your ~/.batch_profile or other contains:

 PATH="$(brew --prefix josegonzalez/php/php55)/bin:$PATH"
➜  ~  sudo pico ~/.bash_profile
➜  ~  source ~/.bash_profile 
➜  ~  php --version
PHP 5.5.1 (cli) (built: Aug  9 2013 12:19:47) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies

Hope you are now php55 ready! Encouragements and as always please check and support me by buying the Lean Book on Symfony2 Ecommerce I am writing! Thanks again!

Undeservedly glad, your friend @cordoval.

Symfony2 Easybook Powering Translation of The Preaching of The Gospel!

It is with great gladness I share this blog post. Basically to call the community that speaks many languages to help contribute to this repository I have started,

It follows simple principles:

– clone and translate transcripts under `Content` folder into your language.
– help correcting spelling mistakes and orthographic errors.
– share the link with someone you want to by sharing the link, the audio mp3 or the raw link to the text message you would like to share.

Future, an idea pops immediately to create a website for collaborating in the translation of mp3 messages to many languages. Initially I am translating this message not because I wanted to in the first place but because someone asked for it for months. Not even someone I know in person. So I feel compelled to do this and I think is the right thing to do.

There could even more policies and a license following, but it will be very open, so as long as you pass the original source code and heart behind it. That sums it up.


Install easybook as in their github repo readme and then create a book with any name, cd into it rm -rf everything inside and clone this repo inside. Then do to generate a pdf:

php book publish this-book print
// do your translations
git add .
git commit -am "my translation of the message"
git push -u origin master
// then go to github to create a pull request! thanks!

Symfony2 Ecommerce Book Using Easybook Project for Lean Development!

I have discovered a beautiful tool in easybook. This open source software tool based on Symfony2 is amazing and I am using it to create the latest Lean Book on Symfony2 Ecommerce that is being sold like bread at the site.

Here is a shot of the beautifully formatted book:

Screen Shot 2013-08-06 at 9.50.16 PM

Even though at first the first version of the book looked like the preview pdf available on the site, the latest version already submitted to subscribers is really taking the full power of this new formatting.

Thanks Javier Eguiluz for such a handy tool!

I have encountered some issues but solving them and adapting it accordingly. Great tool.

Ok now again I would like to invite you to buy the Symfony2 Ecommerce Lean Book at the site above and to suggest on twitter via @phpbookstore or the facebook page, or by emailing the new chapters or things you would like to see addressed.

I am going through Sylius mailing list and now starting reviewing and contributing to Vespolina repos to see if I can address issues on the book that people struggle with.

Thanks guys for your support.

Here is an extract of the book configuration (config.yml):

    title:            "Lean Book on Symfony2 Ecommerce"
    author:           "Luis Cordova"
    edition:          "First edition"
    language:         en
    publication_date: 2013

    generator: { name: easybook, version: 4.8 }

        # available content types: acknowledgement, afterword, appendix, author,
        # chapter, conclusion, cover, dedication, edition, epilogue, foreword,
        # glossary, introduction, license, lof (list of figures), lot (list of
        # tables), part, preface, prologue, title, toc (table of contents)
        - { element: cover }
        - { element: title }
        - { element: license, content: }
        - { element: toc }
        - { element: part, title: English }
        - { element: part, title: Part I }
        - { element: chapter, number: 1, content: }
        - { element: chapter, number: 2, content: }
        - { element: chapter, number: 3, content: }
        - { element: chapter, number: 4, content: }
        - { element: chapter, number: 5, content: }
        - { element: part, title: Español }
        - { element: part, title: Parte I }
        - { element: chapter, number: 1, content: }
        - { element: chapter, number: 2, content: }
        - { element: chapter, number: 3, content: }
        - { element: chapter, number: 4, content: }
        - { element: chapter, number: 5, content: }
        - { element: author, content: }
        - { element: acknowledgement, content: }

            format:         epub
            highlight_code: false
            include_styles: true
            labels:         ['appendix', 'chapter']  # labels also available for: "figure", "table"
            theme:          clean
                deep:       1
                elements:   ["appendix", "chapter", "part"]

            format:         pdf
            highlight_code: true
            include_styles: true
            isbn:           ~
            labels:         ["appendix", "chapter"]  # labels also available for: "figure", "table"
                top:        25mm
                bottom:     25mm
                inner:      30mm
                outter:     20mm
            page_size:      A4
            theme:          clean
                deep:       2
                elements:   ["appendix", "chapter", "part"]
            two_sided:      true

            format:         html
            highlight_code: true
            include_styles: true
            labels:         ["appendix", "chapter"]  # labels also available for: "figure", "table"
            theme:          clean
                deep:       2
                elements:   ["appendix", "chapter"]

            extends:        web
            format:         html_chunked