VisioDB Project - Visio Database Project Releases

Started by maclarkson, September 19, 2019, 12:14:41 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

maclarkson

This is a forum thread to describe a project wherein which I hope we can achieve something that I know a lot of modelers have asked for.

A plugin or application that allows us to connect directly with a database and allows objects to be created from the database as well as synchronize objects created in Visio back to the database.

Phase 1
In phase 1 - We should be able to:

1. Create an object from an existing row item from the database
2. Create a new object on a page will create a new line item in the database
3. Updating any object metadata from Visio will update the database
4. Updating any object from the database will update the object in the diagram
5. Creating a connection between two objects will create register which objects have a connection

We can see how we go with attaching new versions of the files and zipping them and attaching them here.

We'll keep this thread just for the releases.  To collaborate on another version and talk about issues lets create new topics and code them: VisioDB rel0.1 - Issue

maclarkson


wapperdude

Since the generic file title is non-descriptive, posting descriptive text with each release would be beneficial...basic features sort of thing.  If this is for general consumption, even demo videos.
Visio 2019 Pro


cliff50

attached zip file.

the three boxes in the vsd file are linked to DB.accdb

I inserted the first name and last name into the text of the box.
by selecting another row in the DATA table it will alter the name in the box.


cliff50

attached screen shots.
Not sure what your target is, but I am assuming a lot here.
I just used the database wizard to link shapes on a page to database objects.


Yacine

Wouldn't a repository system (eg Github) be the better platform for managing a project with multiple contributors?
Yacine

Yacine

Quote from: maclarkson on September 19, 2019, 12:14:41 PM
1. Create an object from an existing row item from the database
2. Create a new object on a page will create a new line item in the database
3. Updating any object metadata from Visio will update the database
4. Updating any object from the database will update the object in the diagram
5. Creating a connection between two objects will create register which objects have a connection

This is interesting, but I have some remarks.


       
  • It is important to decide who is the data master, the drawing or the the DB. They can't both be the master. In my projects its generally the drawing. Even data not related directly to drawing issues should be saved in the vsd* . This way the DB becomes a simple control tool, not the recipient of the data. This is in so far important as you can replace the DB (the control tool) and continue working on existing documents.
  • Creating shapes from rows in the DB is interesting but requires to have certain questions solved before hand:

       
  • Where and how to place the shapes
  • Have a stencils management system and a configuration tool for masters. This includes also the management of the custom properties
Yacine

Yacine

Just stumbled over Nicolay's synchronisation tool on Youtube.
Nice stuff.
Yacine

Nikolay

It was discussed in the other topic... :)
That tool can just synchronize the data with (already connected) data source. If everything goes well.
It is not capable of drawing or laying out diagrams. By no means it is an alternative to Visio Data Visualizer, ITP commerce, Orbus, or P4B  :D

cliff50

can you post me the link to Nikolay's youtube >>> re:synchronising tool please.

From my perspective on Data Modelling >>  The data at the back end drives the vector images at the front end.

However, The data is appended/ modified/ added and deleted via code in the vsd front end. This way the data back end is just a simple series of tables.

The VSD output is therefore >> an AS built model of the subject's  data.

If you can capture snapshots of the subject's data from the real world, >> the new data set is considered the Is built, and it can be compared to the  As built data set.
How and where you compare the data sets >> As built vs Is Built is up to your imagination.

:-\  hope this makes sense.




Surrogate


cliff50

With respect to the scope of your Test project description

I am attaching a screenshot of a solution that possibly fits within your scope.

The image represents splicing arrangements between 3 X fibre optic cables.

The coloration is the blue orange green brown slate white etc that represent the real world application of colors in fibre optic cables tubes and strands.

All the "boxes" and "lines" are automatically drawn onto a blank Visio page from information in a back end Access database.

essentially the macros do the following:
1. initiate drawing on blank page.
2. draw boxes in sequence top to bottom / left to right of selected of cables.
3. draw lines that represent the splicing associations between "boxes" (strands) recorded in the database.

the nomenclature CTF (Cable Tube Fibre) is also extracted from the same access database.

Export to excel report is in screenshot.

The solution is capable, via the VSD front end, to alter the data entries pertaining to >" which strand is spliced to which other strand"  and also to alter the Cable name (identity).

Cliff


maclarkson

Ok gents,

I have attached my first effort I used the database link to access the database and then used NiKolay's back sync to sync data back. issues are that the experience is a pretty ugle one.

1) you can create new objects and have them be created in your database so you have to create your objects in the database first
2) the shape data governed from the database does not have drop-down values that are the same as those in the database. The only way id be able to get the list values would be to create a data set and then i'd have to populate by hand all of the drop-down values.

Yacine

Really nice initiative from you. I like it very much and hope that the tool will be further developed, that as many people as possible participate and have a lot of fun personally. So much for praise.

However, as an experienced user of Visio with Access combinations, I have other priorities than you. Synchronizing the DB with Visio data is just one of many details that a DB solution should implement. Polarized: "A gimmick".

In this article I would like to set up a project in which I avoid the mistakes I made in the past.

I have summarized some ideas about an ideal DB solution in a drawing that I attach to this article. Many of the ideas are not formulated as simple sentences and have no explanations.

To keep you interested, I however publish them as "nightly built" - promising to work on them furthermore.
Yacine