Automatic arragement of the objects, the magnifier tool, improved object selection, the introduction of generic SQL objects, support to high resolution monitors, improved data manipulation window, improved source code editing and many other features were created in the 0.9.0 development timeline (if you missed them you can check details here, here and here). It was a long process, so many feedbacks (thanks to the whole community around this project) in every single unstable version that led to a final product that I really have a huge proud to present to everyone. Our pgModeler is better than ever!
Well, the fact is that the 0.9.0-beta2 was in the shape I was intended and the plan was just to polish what was ready and launch the stable version. But my will to always create something new compelled me to add some small features (almost aesthetic) to make pgModeler even more attractive to begginers as well to the experienced and faithful users.
Okay, no more delays! Let's see what are the news.
Curved relationships lines
A picture is worth a thousand words...
Yes! You're not seeing it wrong. The tool now supports smoothly curved relationship lines. "What is the advantage of that feature?" - You may ask. I answer with only two words: eyes comfort. Want to see it?
I decided to include this feature thinking on people who handle big models (myself included) where a lot of line tangles are present and there is the need to do manual adjustments like breaking lines in order to improve the model's visualization. Basically, this new feature makes a job similar to the line breaking but creating smoothly curved lines automatically without the need of user's interaction. Of course, you can still use the line break feature but since this one was designed for straight lines most of the users will not like the results when using the line breaking feature combined to curved lines. This feature comes activated by default in fresh installation but can be toggled in the general settings.
Override the UI language settings
After a couple of requests I decided to add the ability to override the UI language settings which is currently based upon on the operational system settings. In previous releases the only way to override these settings is through the usage of environment variables which can be a problem if the current running user has limited privileges or can't use these variables somehow. So, after small tweaks here and there, the user is now capable of easily change the current UI language. Once the UI language is changed the tool should be restarted so the correct dictionary can be loaded.
Note that the available UI translations are third party contributions. If you are missing your language in pgModeler don't hesitate in collaborate. Just follow the steps here and create a dictionary ready to be used in the application. You can contact me anytime for additional support regarding to UI translation procedures.
Copy & Paste between data manipulation windows
This small feature was designed after I needed to copy data between two tables but residing in different databases. Well, the process is quite like the row duplication but it uses the clipboard as datasource. I'll not enter in technical details but in order to put it simple if you need to copy data between two tables, no matter if they have the same amount of columns or the column names are equal or not, just hit
Ctrl+C on the source window and then
Ctrl+V on the destination window. The application will do the rest adding new rows on the destination.
Note that pgModeler will first try to paste data in columns by matching their names and, if it fails to find the columns by name, put the data on columns by their matching positions. Confused? Don't worry! Let's exemplify. Assume that you've copied a row from
cars(id, model, id_engines, doors) and all columns are filled and you need to paste the data into
trucks(id, id_engines, brand, year, model). pgModeler will create a new row in
trucks and automatically fill the columns
model (because they match columns in
cars) . The column
trucks will assume the value of
cars because they have the same position in their respective tables.
What are the next steps now?
Well, now that we have a stable release full of cool features I can slow down the development a little bit and dedicate myself on updating the user's guide which isn't maintained since 0.8.2. I'm planning to create some kind of knowledge base in the site instead of keeping distributing the user's guide in the form of a PDF document. In a first moment, in order to honor those who have paid for the eBook the access to the knowledge base will restricted to them. After a certain period, the docs will be available to all users being buyers or not.
Finally, I hope the community enjoys this new version made with lots of effort and care. Don't forget to give your feedback here in the comments or in other communication channels like Github, Facebook, or Twitter. I'll try to respond any request/suggestion/criticism as fast as I can.
Oh... almost forgot. Did you know that we are running a campaign in order to buy a Mac mini for the project? Please, if you can help us, make a donation. We're really in the need of a Mac machine to improve the macOS port of pgModeler!
Bye bye! ;)