473,698 Members | 2,972 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Synchronize drawings

My application deals with building information. Users may want to view
autocad drawings for a particular building. The problem is that the central
server is so slow for some users that it could take five to ten minutes to
open an AutoCad drawing.

So I'm looking for a strategy where I could allow users to download these
drawings to their local hard drive and then access the drawings from there.
This is also complicated by the fact that users may have drawings on their
local PC that they should share with everyone else; so these drawings should
be copied to the server.

My problem:

How do I keep everything synchronized, yet allow users to either view
drawings from their local PC or the server. Also, the backend table will
need to know which file names are related to which buildings.

Each user has a personal backend file where I could store the location on
their PC where they want to store downloaded drawings. The table in the
common backend should probably store the file name for the drawing (not
including the path) separate from the path to the server location. Then the
user could somehow set that they want my app to open the drawing on their
local PC as opposed to opening the drawing from the server. If the drawing
isn't found on their local PC the code could request if they would like to
download that drawing.

But now what happens if the user has a drawing that they need to upload to
the server. Not only does a copy of the drawing have to be made, but the
back-end table needs to be updated with the file name (not including path)
for the particular building.

I'm pretty sure I can code most of this, but with debugging it will take a
fair amount of time.

Does this sound like a reasonable approach? Advice or suggestions are
greatly appreciated.

Thank you.

--
Message posted via AccessMonster.c om
http://www.accessmonster.com/Uwe/For...ccess/200611/1

Nov 23 '06 #1
4 1723
Why not just recreate a process similar to what would happen if the
drawings were opened directly from the server?

I think what I would do, is have a single back-end containing all file
names, and paths. The user would then, via his front-end, request one
of these files. You could copy the file from the server, to the local
machine, then flag the file in the back-end "in-use". Or maybe even
"in-use by [someone]".

Then, disable access to the file by other users, if the file is flagged
"in-use".

Also, don't let the files remain on the local machine. You could create
a seperate routine to restore the file to the server, or even create a
custom "close" button in AutoCad to to do it (AutoCad's VBA interface
basically the same as Access, and it's not a big deal to connect to the
BE).

rdemyan via AccessMonster.c om wrote:
My application deals with building information. Users may want to view
autocad drawings for a particular building. The problem is that the central
server is so slow for some users that it could take five to ten minutes to
open an AutoCad drawing.

So I'm looking for a strategy where I could allow users to download these
drawings to their local hard drive and then access the drawings from there.
This is also complicated by the fact that users may have drawings on their
local PC that they should share with everyone else; so these drawings should
be copied to the server.

My problem:

How do I keep everything synchronized, yet allow users to either view
drawings from their local PC or the server. Also, the backend table will
need to know which file names are related to which buildings.

Each user has a personal backend file where I could store the location on
their PC where they want to store downloaded drawings. The table in the
common backend should probably store the file name for the drawing (not
including the path) separate from the path to the server location. Then the
user could somehow set that they want my app to open the drawing on their
local PC as opposed to opening the drawing from the server. If the drawing
isn't found on their local PC the code could request if they would like to
download that drawing.

But now what happens if the user has a drawing that they need to upload to
the server. Not only does a copy of the drawing have to be made, but the
back-end table needs to be updated with the file name (not including path)
for the particular building.

I'm pretty sure I can code most of this, but with debugging it will take a
fair amount of time.

Does this sound like a reasonable approach? Advice or suggestions are
greatly appreciated.

Thank you.

--
Message posted via AccessMonster.c om
http://www.accessmonster.com/Uwe/For...ccess/200611/1
Nov 24 '06 #2
Thanks for the response. The approach you suggest seems similar to a "check
out drawings" approach. A couple of questions:

1) If the file is copied from the server to the local machine, I'm not sure
why you suggest restricting others from accessing the file on the server. Is
it because the current user of that drawing might make changes to it? Of
course, I can only disable access to the drawings by others via my
application. If someone decides to open AutoCad and directly open the server
drawing, I can't stop that.

2) You're also suggesting that any drawings downloaded to the local PC should
be deleted. The reason for this would be to prevent local PC copies and
server copies from getting out of sync. I guess I could write code that
would check if drawings had been downloaded and then copy them back to the
server and delete them from the local PC. My only concern is that I've
noticed that copy code sometimes fails due to, I think, the slow server
connection. I've been using the VBA FileCopy command, but am considering
switching to fso or even the Windows API file copy command. Any thoughts on
that?
Rational Repairs wrote:
>Why not just recreate a process similar to what would happen if the
drawings were opened directly from the server?

I think what I would do, is have a single back-end containing all file
names, and paths. The user would then, via his front-end, request one
of these files. You could copy the file from the server, to the local
machine, then flag the file in the back-end "in-use". Or maybe even
"in-use by [someone]".

Then, disable access to the file by other users, if the file is flagged
"in-use".

Also, don't let the files remain on the local machine. You could create
a seperate routine to restore the file to the server, or even create a
custom "close" button in AutoCad to to do it (AutoCad's VBA interface
basically the same as Access, and it's not a big deal to connect to the
BE).
>My application deals with building information. Users may want to view
autocad drawings for a particular building. The problem is that the central
[quoted text clipped - 38 lines]
>Message posted via AccessMonster.c om
http://www.accessmonster.com/Uwe/For...ccess/200611/1
--
Message posted via AccessMonster.c om
http://www.accessmonster.com/Uwe/For...ccess/200611/1

Nov 24 '06 #3
1) If the file is copied from the server to the local machine, I'm not sure
why you suggest restricting others from accessing the file on the server. Is
it because the current user of that drawing might make changes to it?
Yes, exactly. There is no other way to assure the files are in sync.
You can't even use file date/time property to compare. If a user opens
AutoCad, and just zooms or pans the drawing, on close, AutoCad will ask
to if you want to save. If the user clicks yes, the file will then look
the the latest and greatest, but, in reality, no changes were made.
If someone decides to open AutoCad and directly open the server
drawing, I can't stop that.
Yup. All your hard work here will be for nill.
2) You're also suggesting that any drawings downloaded to the local PC should
be deleted. The reason for this would be to prevent local PC copies and
server copies from getting out of sync.
Yup.
I've been using the VBA FileCopy command, but am considering
switching to fso or even the Windows API file copy command. Any thoughts on
that?
Not really. The only time I really deal with this is to move a file
(normally a .pdf) from a local temp location, to it's final server
location. I use the Name command:

Name strTempPathAndF ile As strFinalPathAnd File

I have NEVER seen a problem with the file being moved properly, but
then again, I don't have the server issues you have referenced. I guess
you could compare file stats after the copy (file size, date/time...).
Or, after the copy back to the server, move the local file to a temp
directory, and delete after some sort of confirmation is completed.

Sound like your in a tough situation. Users being able to circumvent
your app. Not being able to realiably move files back and forth. Maybe
you should fix the server problems?

Jeff

rdemyan via AccessMonster.c om wrote:
Thanks for the response. The approach you suggest seems similar to a "check
out drawings" approach. A couple of questions:

1) If the file is copied from the server to the local machine, I'm not sure
why you suggest restricting others from accessing the file on the server. Is
it because the current user of that drawing might make changes to it? Of
course, I can only disable access to the drawings by others via my
application. If someone decides to open AutoCad and directly open the server
drawing, I can't stop that.

2) You're also suggesting that any drawings downloaded to the local PC should
be deleted. The reason for this would be to prevent local PC copies and
server copies from getting out of sync. I guess I could write code that
would check if drawings had been downloaded and then copy them back to the
server and delete them from the local PC. My only concern is that I've
noticed that copy code sometimes fails due to, I think, the slow server
connection. I've been using the VBA FileCopy command, but am considering
switching to fso or even the Windows API file copy command. Any thoughts on
that?
Rational Repairs wrote:
Why not just recreate a process similar to what would happen if the
drawings were opened directly from the server?

I think what I would do, is have a single back-end containing all file
names, and paths. The user would then, via his front-end, request one
of these files. You could copy the file from the server, to the local
machine, then flag the file in the back-end "in-use". Or maybe even
"in-use by [someone]".

Then, disable access to the file by other users, if the file is flagged
"in-use".

Also, don't let the files remain on the local machine. You could create
a seperate routine to restore the file to the server, or even create a
custom "close" button in AutoCad to to do it (AutoCad's VBA interface
basically the same as Access, and it's not a big deal to connect to the
BE).
My application deals with building information. Users may want to view
autocad drawings for a particular building. The problem is that the central
[quoted text clipped - 38 lines]
Message posted via AccessMonster.c om
http://www.accessmonster.com/Uwe/For...ccess/200611/1

--
Message posted via AccessMonster.c om
http://www.accessmonster.com/Uwe/For...ccess/200611/1
Nov 24 '06 #4
Unfortunately, I'm not in a position where I can do anything about the server.
One last question. How do I handle the situation where there is an abnormal
shutdown and the flag that identified a drawing as "in use" is not reset to
false. If this happens, the drawing will not be able to be opened by anyone.

Rational Repairs wrote:
>1) If the file is copied from the server to the local machine, I'm not sure
why you suggest restricting others from accessing the file on the server. Is
it because the current user of that drawing might make changes to it?

Yes, exactly. There is no other way to assure the files are in sync.
You can't even use file date/time property to compare. If a user opens
AutoCad, and just zooms or pans the drawing, on close, AutoCad will ask
to if you want to save. If the user clicks yes, the file will then look
the the latest and greatest, but, in reality, no changes were made.
>If someone decides to open AutoCad and directly open the server
drawing, I can't stop that.

Yup. All your hard work here will be for nill.
>2) You're also suggesting that any drawings downloaded to the local PC should
be deleted. The reason for this would be to prevent local PC copies and
server copies from getting out of sync.

Yup.
> I've been using the VBA FileCopy command, but am considering
switching to fso or even the Windows API file copy command. Any thoughts on
that?

Not really. The only time I really deal with this is to move a file
(normally a .pdf) from a local temp location, to it's final server
location. I use the Name command:

Name strTempPathAndF ile As strFinalPathAnd File

I have NEVER seen a problem with the file being moved properly, but
then again, I don't have the server issues you have referenced. I guess
you could compare file stats after the copy (file size, date/time...).
Or, after the copy back to the server, move the local file to a temp
directory, and delete after some sort of confirmation is completed.

Sound like your in a tough situation. Users being able to circumvent
your app. Not being able to realiably move files back and forth. Maybe
you should fix the server problems?

Jeff
>Thanks for the response. The approach you suggest seems similar to a "check
out drawings" approach. A couple of questions:
[quoted text clipped - 43 lines]
>Message posted via AccessMonster.c om
http://www.accessmonster.com/Uwe/For...ccess/200611/1
--
Message posted via AccessMonster.c om
http://www.accessmonster.com/Uwe/For...ccess/200611/1

Nov 25 '06 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

8
1656
by: Thomas Rademacher | last post by:
Hallo, I want to synchronize the main function of my script. I havn't a class structure in my script. def main(): # my code to synchronized if __name__=='__main__': main()
4
7639
by: gene.ellis | last post by:
Using a web interface, I am placing text into a SQL database. From time to time, I would like to synchronize one of my other tables in the database with the table that I am inserting content into. What is the SQL command to synchronize these tables? I will be initiating this command through a web interface, so I cannot use enterprise manager. Thank you very much!
0
1344
by: J. H. Lernbeiss | last post by:
Hallo! I can show Autocad drawings in a Access Form useing Autodesk Volo View Control field. But I can not print out this fields. The data of the drawing are stord on a table with path and file name. Can someone help me? Josef Heinz
8
12099
by: Zlatko Matić | last post by:
There is a form (single form) and a combobox. I want that current record of the form is adjusted according to selected value in the combobox. Cuurrent record should be the same as the value in the combobox. What is the solution? Thank you in advance.
0
1206
by: ChadDiesel | last post by:
I have a table of parts that I would like to add a field for drawings. These drawings are image files that are on different tabs in an Excel Workbook--1 image/drawing per worksheet/tab. Most of the Excel workbooks have 2 tabs. I need to print these drawings in a report. I added an OLE Object field to my table and selected the location of the file on the network drive with the "link" option checked: \sharedrive\Drawings\drawing1.xls ...
7
1893
by: ChadDiesel | last post by:
Hello everyone, I'm having a problem with Access that I need some help with. The short version is, I want to print a list of parts and part quantities that belong to a certain part group---One list per page. I created a report that groups the parts by part classification group with a force new page after each group. The report is based on a query of that week's orders. Some of these parts have drawings (usually 2 each stored in an...
1
2021
by: Stephen | last post by:
Hi, Is there a sample application using ASP .NET to synchronize folder contents? I want to synchronize folder contents on 2 different machines Thanks, Stephen
6
3110
by: Fredmanglis | last post by:
I've been teaching myself the C++ Programming language. So far however, I have not come across any useful tutorials on how I can output coloured text, create drawings or graphics in C++. All I can create is a simple console based application. I would like to know if it's possible to do it using just the standard header files or do I have to get proprietary ones. If there's anyone with a suggestion or a good tutorial he/she knows of, please...
1
2697
by: phil | last post by:
Hope someone can help We need to integrate the following into our C# (.net) product. load DWG/DWF drawings from external files
0
8611
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9170
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9031
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
8876
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
7741
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
4372
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4624
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
2
2341
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2007
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.