Tag: #Skipper

Our latest release 3.2.0 brings to Skipper new way how namespaces are handled by our application.

Few words about history

Long time ago when the first version of our application was created (originally called ORM Designer), there hadn’t been things like namespaces in ORM frameworks. But as ORM frameworks have been developed in time, each framework came with some way how entity namespaces are being handled.

Because ORM Designer / Skipper needed to handle it too, we added support for namespaces in form of ORM attributes. This had been a functional and sufficient solution until Doctrine 2 has introduced new way how to handle namespaces and allowed several entities with the same name but in different namespaces.

For some time it wasn’t possible to create such models in Skipper because of internal limitations (each entity was represented by it’s local name only). But today with our latest release this limitation is over. We have reworked Skipper core and a way how unique names are handled and now it’s possible to create also these models.

New age of namespaces

Starting with version 3.2.0 each Module, Region, Entity and Collection can have defined its own namespace

Namespace of each object is calculated from all its parents:

\Module\Region\SubRegion\Entity

Each of these objects can have defined own relative or absolute namespace. This means that in case of need sub-region can override namespace via absolute path. In such way, the final entity namespace will be:

\SubRegion\Entity

The same thing is possible also for Entity. In case you need to define one of your entities in different namespace than the rest of entities in the module, simply define absolute namespace directly for the entity.

All this features are available to all ORM frameworks which support namespace. Namespace support is available for all import and export scripts as same as for visual editing.

Project file changes

Because of these changes it was necessary to update Skipper project files a little. There are two most important changes which caused that projects from 3.2.0 aren’t fully backward compatible with older versions.

The first change of XML format are new attributes @local-name,@name, @local-namespace and @namespace. Attributes starting with @local- are values defined on specified object. On the other hand attributes @name and @namespaces are calculated values depending on its parents.

The second change in XML format is deprecated <entity-ref> and <collection-ref> elements in project file. Instead of __ elements entities are stored in owner regions to keep the same hierarchy like in visual model.

For example, this means following. This is how looked original project file with entity in one region like:

Conclusion

Although it might not be visible on the first sight, new namespace support was a very complex task. Because of that we had this feature for more than month in beta mode before releasing it to public. Thanks to all our testers we successfully localized and fixed several bugs caused by this new feature.

Now, when no more issues are reported we decided to publish it for all our users. We will be glad for any feedback.

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

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

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:

Skipper, successor of ORM Designer visualization tool was released by Inventic on June 30, 2014. Skipper is a powerful visualization tool, schema designer and a code generator for PHP ORM frameworks. It can import schema definition files to visual diagram, and continually export changes from this diagram back to the ORM definitions.

Skipper allows to edit in visual model all ORM elements like entities and relations, but also advanced objects like inheritances and all ORM properties supported by respective framework. You can quickly locate any object in the visual model, perform necessary changes directly in the diagram and see the changes in the model logic straight away. Powerful export function translates all changes to the definition files in a standardized format, quickly and without errors.

As the previous versions, Skipper is intended for ORM developers using frameworks Doctrine, Doctrine2, Propel or CakePHP. The definition files can be formatted as annotations, YAML or XML, based on the framework used. The main improvements over ORM Designer 2 is better and more streamlined GUI, updated ORM definitions for import/export, and better reporting of changes. Several more enhancements like Undo/Redo, Print support or native OS X visuals will also make developers’ work easier.

Skipper is available for all ORM Designer 2 users with active maintenance, and for owners of newer versions, the upgrade can be handled by automatic update system. Projects made in ORM Designer 2 are fully compatible with Skipper.

Today is the Day - ORM Designer 3 is here. And with it, everything is new; new name, new brand, new look, new website, and of course, new features which, as we hope, will make your day.

New brand: Skipper

Skipper means continuous evolution of ORM Designer 2. But instead of just going for the obvious choice, ORM Designer 3, we decided to use new, strong and memorable name with additional meaning between the lines. Skipper brand is result of many-month hard work and we are very proud on it.

New feature: Undo/Redo

Undo/Redo is the feature for which many users have been calling. It needed quite big changes in the application logic, but from now any modification of the model can be returned back. Change your entities, associations, their position, color or properties, change whatever and anytime you can make a step back or forward as you will need.

New enhancements: Improved GUI

GUI was smoothed out and all the small glitches that appeared from time to time in the visual model are now gone. You will notice new welcome screen, new status bars and completely new look if you are an OS X user. For better orientation in the model now you can highlight also your entities and associations.

Painless upgrade for free

Upgrading to the Skipper is smooth and easy, no need of difficult conversions of your current projects or learning how to work with a new application. And what is even better, everything you need is an active ORM Designer 2 maintenance and you can start using skipper without any limitations.

Upgrade to Skipper now and enjoy all the goodies this next generation of ORM Designer brings you.