[VStudio][NEW] Support of SSH connects to remote servers

Usually mySQL servers are closed to access from external IPs. Instead mySQL users are used to connect to remote host using SSH tunnel and then connect to mySQL server like from localhost.

We have add into Valentina Studio support of SSH connects to remote hosts. It is clear that it can be used for any remote DB server:  Valentina Server, mySQL or PostgreSQL.

Also we have to push SSH parameters into the connection string of Valentina Reports, so now reports can connect to e.g. remote mySQL server by SSH tunnel also. Read in WIKI.

vs_dialog_connect

vs_dialog_connect_ssh

[VStudio] MAS Submission steps

vstudio_start_page_mas_in_app

After 5.0 release we have made the first attempt to submit Valentina Studio into Apple’s Mac App Store. As expected, it was reject with a couple of fair issues and one advice to hide all PRO features in the free edition of VStudio.

Step by step we have come to a new design. On the picture you can see how start page will looks for 5.1 version of Valentina Studio (MAS).

Since we was need to remove “Projects” section anyway, we have decide to put “in-app store” of Valentina Studio on the start page instead of section “Projects”.

If a user will do in-app purchase then PRO features will be enabled and become visible.  The section “Projects” will be visible again on the start page.

[VStudio][Change] Free VStudio 5.1 will be able to save diagrams and do reverse engineering.

In 5.0 Diagrams was a PRO feature, so was available in free version only in the demo mode: you could create and edit diagram, but you was not able save it for future use.

Working on submitting of Valentina Studio into Apple’s App Store, we was asked to remove from free version any such demo-features. We have decide instead remove it completely, open half of its functionality to free edition of VStudio. In 5.1 build of Valentina Studio you will be able

  • create diagrams and save them into your db.
  • add new schema objects (tables, fields, views, links)
  • add existed schema objects of your database (reverse-engineering).

Disabled will be just forward-engineering, i.e. generation of SQL scripts to produce new schema objects and change existed.

Interesting to note, that a competing product in AppStore, asks in-app purchase 70$ for reverse-engineering. Valentina Studio 5.1 will give this for free. Enjoy 🙂

[VStudio][Improve] Server Admin Panel – Log Files

5.0b60 includes significant improve of LOG files panel of Server Admin tool.

1) Now in the list of log files of a VSERVER you can see two sections. The first is named TAIL and contains only active log files. If you choose one of them, you will see tail (end) of this file with automatic refresh. This is analog of terminal tail command.

2) We have improve protocol between VSERVER and VStudio to exclude from vserver log file commands that send VStudio itself to collect information.

3) We have extend set of SNMP commands that VSERVER supports to increase performance of talk between VSERVER and VStudio. Besides, VSERVER is able proceed these commands absolutely parallel to its main job.

[NEW][MAC] VStudio.app and installer of VServer_x64 now are signed

OS X 10.8 has option “System Settings -> Security -> General -> Allow: MAS App Store and identified developers”  on default to be ON, so you cannot installed easy not signed applications and run installers. Note that 10.7 also can have this option enabled on some computers.

To resolve this issue, we have sign vstudio.app and vserver_x64.pkg installer.

Unfortunately we cannot easy sign other our installers (V4RB, V4REV, V4CC, … ) because we using third party installer.  So for now, for 5.0, we going to ship these installers not signed. To run them, OS X developer should in the Finder do CTRL + click on icon of installer and choose OPEN command in the contextual menu. In this case you will see the button ALLOW in the OS X security dialog. Click it, and continue as usual.

[NEW] VStudio – “Add Filter Row with Cell Value”

While you are in Data Editor, you may want select group of records using value of  some record at which you watch now. Todo this you was need

  • Select all value in the cell  (CDM+A)
  • Copy it   (CMD + C)
  • Add filter row   (CMD + F)
  • Double click cell in filter into which you want insert that value
  • Paste that value into filter  (CMD + V)
  • Execute filter using (CMD + E)
Now all this can be done by a single command using menu item “Filter by Cell Value” or its keyboard shortcut (CMD + SHIFT + F).

[VStudio][NEW] Commands GenerateSQL -> Insert / Update / Delete.

While you are in the Schema Editor, Column or Tree view, you can do right click on a table and in the contextual menu choose GenerateSQL -> Insert / Update / Delete.

You  will be asked to specify fields for Insert / Update commands, after that you will see SQL Editor with generated command. You still need finish it of course in VALUES() section for INSERT, and SET section for UPDATE command.

Anyway this feature can save you couple of minutes of job per each such command.

[NEW] VStudio – SQL Dump allows specify few tables only

Now SQL Dump wizard has page where you can specify by checkbox only few tables to be dumped.

This can be suitable for example working with Joomla web site, when single mySQL database contains 200+ tables from different tools such as Joomla, Store, Mantis, WP, … So there are independent groups of tables.

WARNING: You should understand that if you dump some table A, but forget to dump linked by FK table B, you can get troubles. But most DB tools have this feature, so developers should be aware about this risk.

[NEW] VStudio – Enum with localisation is supported now

Some time ago we have extend ENUM type by ability to have additional sets of enum values for specific locales. Now we introduce support of this new feature of Valentina 5.0 engine in the Valentina Studio 5.0b54.

This feature is supported in the following places:

  1. Schema Editor
    1.1 Columns: you are able create ENUM types, create/delete/change Locales in that Enums, change localised values.
    1.2 Trees: you can see ENUMs and their Locales in the tree of db schema
    1.3 Diagrams: you can design type ENUM right on diagram.
  2. Data Editor — IF table has at least one ENUM type, then you will see small menu in toolbar that allows you  switch between supported locales of that enum.
  3. SQL Editor — IF result of SQL query contains ENUM fields,  then you will see small menu in toolbar that allows you  switch between supported locales of that enum.
Below you can see few snapshots that demonstrate these features. Read More about ENUM TYPE …

 

[Fix] VStudio Linux crash log from a beta tester did help recognize that …

… although Vstudio linux is installed into /opt  location, it loads /usr/local/lib/vcomponents if they present.

Today this issue was solved. Into script that start Vstudio, was added pre-load for vcomponents dlls. After this one dll have start cause problem because it contains static library that is newer than system’s one. Many hours was not successful, because of GCC 4.2 bug… Finally, a “brutal force trick” was used (the second time) to workaround this issue.

[NEW] VStudio now is able to send a crash log file to Valentina team

In a case of crash, Valentina Studio on linux and windows now is able  to create text file that contains crash log  information (stack of calls, loaded DLLs, … ). MAC OS X version of VStudio have no need to do this because OS X itself generates such crash log.

On the next start Valentina Studio will show dialog with suggestion to send this crash log to Valentina-db.com. Please note, this crash log contains totally anonymous information. This information will help to Valentina team to see that there was fact of crash, and where exactly was crash.  You can set check box to not show this dialog future and just send a crash report automatically if it is found.

On Windows and Linux, after sending of crash log file, it is deleted from disk of your computer. On OS X it is not deleted, because OS X append them  into single file per application.

[NEW] Localisable ENUM Type

Ladies and Gentlemen!  
The first time in the world!  🙂
Localizable Enum Type in DBMS!  

We already many months have working ENUM type in 5.0 branch of Valentina. Let me remind that ENUM type is not from SQL standard, so different DBs implement it in different way if at all implement. We have implemented it using CREATE TYPE command of SQL Standard. And we have implement ENUM in way similar to PostgreSQL, because it is the most correct: you just CREATE TYPE ENUM once and later using it in all places of your database.

mySQL, in contrast, defines ENUM as part of a particular Table, right in the CREATE TABLE command. This is not good of course, because then you cannot use this type in other tables or for variables of Stored Procedures.


CREATE TABLE sizes (
name ENUM('small', 'medium', 'large')
);

It is interesting that such mature database as Oracle do not have ENUM type.

All these existed implementations have one big problem from our point of view: such enum types contains string values of only one language. Below we will describe our solution.

Continue reading [NEW] Localisable ENUM Type

Now we have v4 and v5 WIKIs

Now we have two separate wikis to keep docs of v4 and v5:

Valentina Studio v5 will to v5 section, vstudio v6 will point to v5 section, and so on.
Old url http://www.valentina-db.com/dokuwiki  will point to the docs of the current official release.

[NEW] VStudio – Check Updates

We have add into Valentina Studio feature “Check Updates”. Only Mac App Store version will not have it, because AppStore itself take care about updates.

On start Valentina Studio will send a GET query to valentina-db site. This will happens in separate thread to not delay user in the case of network trouble.

You will be able enable/disable this feature in prefs panel, also you can specify if report about beta builds of vstudio.

I want note, that in this GET query we also will send some anonymous information such as:

  • OS on which works studio
  • version of studio
  • 32 or 64 bit architecture
  • MD5 hash of MAC address of the computer.
We going to use this hash as anonymous identifier of some computer where vstudio is started. So we will be able, to see that e.g. 30% of users start vstudio  each day, 10% once per week … may be something else …
Future we going add yet automatic sending of crash log if any. Again such anonymous identifier will allow us link that crash logs together in our database.
Also we thinking about adding into Valentina Studo of integration to our Mantis bug tracker, so user can report issue or make a feature request right from vstudio.