Skipper - The ORM Designer Blog
  • Skipper - The ORM Designer
  • VsBuilds - Parallel building
  • Pulpo - Free Skipper CLI

Category: Uncategorized

Sorry for too many emails


I’m writing this article to explain today’s email madness. My name is Ludek Vodicka and I’m chief developer of Skipper application.

As first, I would like to apologize to all of you who received about 20-50 emails with our newsletter today. Fortunately it was only small number of our users in compare with the whole email address list, but still we are really sorry for this inconvenience.

The reason for this issue was simple. Migration from Mandrill emailing service to different one - SparkPost. We utilize Mandrill for several years and we were very satisfied with that. With their friendly pricing policy we used Mandrill for any of our projects as well as for all internal notifications (from Jenkins, license server,…).

Unfortunately 14 days ago, Mandrill and Mailchimp announced that they don’t want to offer transactional mailing server and want to focus to campaigns only. This together with drastic price increase had forced use (like thousands of other Mandrill users) to search and swap to another mailing server provider.

After a long search we decided for SparkPost. After a week of testing and migrations we decided to perform a final test on our newsletter (common transaction emails, trial emails, etc. were already tested and handled via SparkPost).

But although SparkPost guarantee of 20.000 emails/day, when counter reached 12.000 emails, SparkPost started to report “quota exceed” error. Our campaign server wasn’t prepared for this (because we had limit set to 20.000, which should be fully sufficient for this campaign).

When our server received this new type of error, it tried to deliver it again, so SparkPost again reported “quota exceed”. To problem was that although SparkPost returned this error, emails were still being delivered to you.

It took about 10 minutes to us to notice that something wrong is happening but during these 10 minutes some of you received all these emails. Now, we’re working on better mechanism to prevent such error again in the future. Also we reported this issue to SparkPost and waiting for their response.

As sorry for all of you who was impacted with this email flood I’m offering you 20% discount for your next purchase. Feel free to write me from impacted email to [email protected] and I will send you the discount coupon.

I hope that despite these troubles you will still like our software and be looking forward to next updates :-)

Thank you for your understanding

Ludek Vodicka

17 Mar 2016

Posted by: Ludek Vodicka


Support for MongoDB ODM finally here!

Last few months we have been working hard on support for a new framework. It wasn’t an easy task, because MongoDB ODM has some specific features, for which we need to adjust graphic part of the application and also add quite a lot of logic inside. But we succeeded and new version 3.0.2 is now out!

New features for MongoDB ODM

New tools are available in application toolbar. They allows to create objects specific for MongoDB framework. It is Collection and Embedded.


Collection has its own visual element in a model for its simple identification. It is represented by rounded rectangle and it is connected with entities belonging to it with special dotted line.

If you want to add new entity to collection, you can add it in collection editor or you can use CollectionEntity tool from the application menu and click on chosen entity and collection.


Embedded is a special type of association specific for MongoDB ODM framework. It has also its own visual representation, so in a model you can recognize it by double full line as displayed in the image.

Other changes in new version

Besides the MongoDB support contains also a lot of bugfixes and some small enhancements based on request of Skipper users. Here is the short summary of the most important changes:

  • Implementation of Universal objects (feature for expert usage)
  • New ORM properties for Doctrine 2 framework
  • Enhanced skipper configuration options
  • Fixes for occasional crashes of the application

Visit the version changelog and check all changes for V3.0.2.

05 Mar 2015

Changes in Skipper Documentation and Support site

This year in summer we have been working on new brand and new Skipper website. We are quite satisfied with the result of our work, however, we knew that Skipper Documentation and Support site would deserve the same re-design. In last few weeks we made also these changes and even more than that. Keep reading to get know what else has been changed.

Skipper Documentation

New documentation visual style

New documentation visual style

The Documentation has get new visual style corresponding with the main Skipper website. In our opinion, now it looks much more better than it was.

Besides that, we added new articles to Expert Usage section. (And many new articles will also arrive with prepared MongoDB support.)

Last but not least, basic topics in How to Use section were extended by new explaining video tutorials which, as we hope, help newcomers to start using the application simply and quickly.

Skipper Support Site

New Skipper Support Site appearance

New Skipper Support Site appearance

Skipper Support Site has also get a new visage. We used similar visual elements to link the Support Site with the Documentation. As it is strongly utilized by its users, the functionality remains unchanged.

So what do you think? Do you like our new Documentation and Support Site appearance?

30 Oct 2014

Posted by: Iva Kubickova


The latest review by Miguel Montes: Skipper + Symfony + Doctrine, great combination

Today we bring you the latest review about Skipper translated from Spanish. Original version of the review is available at MIMOPO blog written by Miguel Montes (you can follow him also on Twitter). We would like to thank Miguel for his kind words about Skipper and now the review itself:

Skipper + Symfony + Doctrine, great combination

Skipper is the best tool I’ve seen so far to design data models and export them to Doctrine 2. Using a tool like this makes it much more easier and prevents us from possible mistakes we could make while manually typing classes.

Multiplatform and very configurable

There are two things for which I love Skipper. The first is its multiplatform support and the second is that it is highly configurable. Although through its interface it is not possible to control as many options as I would like, the  configuration using XML files is a very powerful system ideal for versioning by the code bundle or application we are developing. For projects with Symfony + Doctrine I created configuration that you can see in this gist. Skipper uses XML project files, which means that we can also manually change the project files itself. Useful, for example, when we change the name of a class and want to do the same with all foreign keys that point to it, we open it in a text editor and perform an operation strings replacement. Skipper export supports PHP Doctrine classes with annotations, YML or XML. In my case I chose PHP with annotations. While the export works perfectly and respects the content of existing classes, it is a good practice to make sure we use correctly versioning system to be able to go back in case of any anomaly. After exporting the classes we can run our project Symfony app / console doctrine: generate: entities and we will write only validators and do some tinkering. At the moment it is not possible to define validators or defaults in Doctrine 2 projects. In my opinion this feature would prevent a lot of work and it would be quite appreciated. However, it is possible to contact the development team through the support forum, where new suggestions for new features or improvements are accepted.

Your Price

You can try Skipper for free for 14 days. Although it is a payed tool, I think the price is more than reasonable when you consider the comfort that brings and the work that we can save. Also, if you do a review like this Atlantic18 team will offer a juicy 10% discount which is not bad;). If you only need to see the diagram of a project without modifying the model, you can always install the totally free application display mode.

A is worth more than thousand words

Here are screenshots that I’ve taken during the import of existing Symfony project, the result obtained and its subsequent export.

Skipper project import

Skipper project import

Skipper project imported

Skipper project imported

Skipper project

Skipper project

Skipper project export

Skipper project export

Skipper project exported

Skipper project exported

The data model belongs to the “Coupon” application that appears in the book “Agile development with Symfony2” of Javier Eguiluz, 100% recommended for all those that you have interest in you start Symfony 2.

Editor’s note to defaults and validators:

Regarding the thoughts about defaults and validators, unfortunately default values aren’t support by Doctrine2 at all and it’s directly PHP thing. We know we can export it to PHP classes, but in this case we started with different behavior between Annotations and XML/YML where such behavior isn’t available. The same is true for validators, which aren’t Doctrine2 feature but Symfony one.

14 Oct 2014

Posted by: Iva Kubickova