Read only / save problem when multiple user accessing PDF

When accessing a PDF-file from a network location (where multiple users might have the file open simultaneously) I have noticed a problem.
First of all you will not get notified when opening the file that it is open elsewhere, there is no "read only" mode in this case.
Secondly (and worse) is the fact that the person having opened the file first is prompted to save it under a new name when she/he is saving changes since "file is open elsewhere".
This works quite the opposite of what most Windows applications do.
Is it a problem in version 7 and 8 of Acrobat only?
I have heard from the support previously that it might be unsupported functionality to use network drives for editing. Is that true?
If you are doing updates after a review but want to share the outcomes of the review this quite annoying...

I agree, and I have seen the same points as well, but...
During the update process after the review many reviewers are looking at their comments and how they were handled during the review meeting and at the same time the authors (yes, for documents such as a requirement specification there will be more than one author) are doing the updates to the original document.
We are also updating the PDF with the changes made by adding new replies to the comments and also changing the status of the comments once more.
The logical approach when opening a file is not to display a text box, but to add the information in the title bar of the program. That way you do not add an extra step to the people who only want "read only" access.

Similar Messages

  • Why does the Error: 500 SC_INTERNAL_SERVER_ERROR appear when multiple users access my JSPs but does not occur when only one user accesses my JSPs?

    When multiple users run my JSP application, why do some users get an Error: 500 SC_INTERNAL_SERVER_ERROR for certain JSP pages with the error message No such file or directory. The JSP listed on the Error 500 page varies and is not always the same. When only one user runs my JSP application, the problem does not occur?
    The database connection is held when the user logs in or accesses certain parts of the JSP and then is immediately released. No connections to the database are held.
    We are using Solaris 8 with MU_6 plus recommended patches.
    Enterprise Ultra 250
    iAS 6 SP 3

    Is anything showing up in the KXS or KJS logs?
    It sounds like you might having some kind of thread safety issue with your code. Either that or your guess about running out of database connections.

  • What happens when multiple users access the same servlet?

    Do the users share all the same resources? Or is a new process generated for each user? I have a servlet that builds a string to return to the user and I only have myself to test, so I can't really see what happens when many users access the servlet. Is there a possibility that the string will get screwed up, like when dealing with multiple threads, or do all the users get their own resources and I don't have to worry about that?

    huh? if you can point a test servlet at it, you can point a browser at it (even if the servlet does not serve html it will run)
    try pasting the servlet URL into a web browser
    refreshing multiple browsers repeatedly could provide a manual test

  • Problem When Multiple Users Export To PDF Simultaneously

    I am hoping someone out there can help.  We have had no luck at all with Crystal Reports / SAP support for this issue.
    We have a client/server aplication and have written a C# program to load a crystal report on the server, export it to PDF and then we send the PDF to the client. We are using Crystal Reports 2008 and have applied SP4.
    The scenario is as follows:
    Two users log into our application from different PC's.
    User 1 prints a report with no issue.
    User 2 prints a report 5 seconds later with no issue.
    If User 1 prints a report and while that report is being exported to PDF, User 2 prints a report, the first will be successful and the second will fail.  If User 2 reprints the report after receiving a failure, the report prints successfully the second time (using the same temp report folders as the previous attempt). We have done a lot of tracing and have narrowed the problem down to the point in out C# program when the cryRpt.Export() routine is called.  It seems to be what is failing and doesn't seem to be able to run 2 exports simultaneously.
    All exporting to PDF occurs on the application server and the processes run as "Administrator" so permissions should certainly not be a problem.  Each user is printing a different physical .rpt file and the data for each report is in a different physical directory.
    Has anyone come across this before or have any suggestions?

    We thought the same thing as you suggest and have already made that change without sucess.  Below is what the code looks like for our export routine.  Perhaps you can spot something we have not.  As mentioned before the export appears to be faulting at the statement "cryRpt.ExportToDisk(ExportFormatType.PortableDocFormat, pdfname);" in the below code.
    The code is as follows:
            public void exportReport(string xmldir, string crname, string pdfname, string termid, bool debug)
                try
                    if (debug)
                        dt = DateTime.Now;
                        tw.WriteLine(dt.ToString() + "-Start exportReport: " + crname);
                    ReportDocument cryRpt;
                    cryRpt = new ReportDocument();
                    cryRpt.Load(crname, OpenReportMethod.OpenReportByTempCopy);
                    if (debug)
                        tw.WriteLine("Done loading report: " + crname);
                    int tmpct = 0;
                    int tmpint = crname.IndexOf("
    ", tmpct);
                    while (tmpint != -1)
                        tmpct = tmpint;
                        tmpint = crname.IndexOf("
    ", tmpct + 1);
                    string ODBCReportFileName = crname.Substring(tmpct + 1, crname.Length - tmpct - 5);
                    if (debug)
                        tw.WriteLine("ODBC Report Filename: " + ODBCReportFileName);
                    Database crDatabase;
                    Tables crTables;
                    Table crTable;
                    TableLogOnInfo crTableLogOnInfo;
                    ConnectionInfo crConnectionInfo = new ConnectionInfo();
                    //Setup the connection information structure to log on to the data source for the report.
                    // If using ODBC, this should be the DSN. If using OLEDB, etc, this should be the physical server name
                    crConnectionInfo.ServerName = "SH" + ODBCReportFileName;
                    if (debug)
                        tw.WriteLine("Resetting connection to: " + crConnectionInfo.ServerName);
                    crConnectionInfo.DatabaseName = "";
                    //Get the table information from the report
                    crDatabase = cryRpt.Database;
                    crTables = crDatabase.Tables;
                    //Loop through all tables in the report and apply the
                    //connection information for each table.
                    if (debug)
                        tw.WriteLine("Applying new connection to all tables...");
                    for (int i = 0; i < crTables.Count; i++)
                        crTable = crTables<i>;
                        crTableLogOnInfo = crTable.LogOnInfo;
                        crTableLogOnInfo.ConnectionInfo =
                        crConnectionInfo;
                        crTable.ApplyLogOnInfo(crTableLogOnInfo);
                        if (debug)
                            tw.WriteLine("Applying new connection to tables " + crTable.Name);
                    cryRpt.Refresh();
                    if (debug)
                        tw.WriteLine("Applying new connection to all tables... DONE");
                    if (debug)
                        tw.WriteLine("Target report: " + pdfname);
                    cryRpt.ExportToDisk(ExportFormatType.PortableDocFormat, pdfname);
                    if (debug)
                        tw.WriteLine("Export Complete");
                    cryRpt.Dispose();
                    cryRpt.Close();
                    if (debug)
                        dt = DateTime.Now;
                        tw.WriteLine(dt.ToString() + "-Done export to PDF.");
                catch (Exception e)
                    TextWriter tw1 = new StreamWriter(logpath + "
    exporterror.log", true);
                    tw1.WriteLine("Exception when export report: " + e.Message);
                    tw1.WriteLine(e.StackTrace);
                    tw1.Close();

  • We have created shared folder on multiple client machine in domain environment on different 2 OS like-XP,Vista, etc. from some day's When we facing problem when we are access from host name that shared folder is accessible but same time same computer when

    Hello All,
    we have created shared folder on multiple client machine in domain environment on different 2 OS like-XP,Vista, etc.
    from some day's When we facing problem when we are access from host name that shared folder is accessible but same time same computer when we are trying to access the share folder with IP it asking for credentials i have type again and again
    correct credential but unable to access that. If i re-share the folder then we are access it but when we are restarted the system then same problem is occurring.
    I have checked IP,DNS,Gateway and more each & everything is well.
    Pls suggest us.
    Pankaj Kumar

    Hi,
    According to your description, my understanding is that the same shared folder can be accessed by name, but can’t be accessed be IP address and asks for credentials.
    Please try to enable the option below on the device which has shared folder:
    Besides, check the Advanced Shring settings of shared folder and confrim that if there is any limitation settings.
    Best Regards,
    Eve Wang
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • My MacBook w/ OSX 10.6.8 cannot access my external Time Machine Backup USB Drive.  It says it is a Read Only drive.  When I went to change permissions I found all pernissions were listed as "Custom" and I could not reset them to "Read Write".  Any help!

    My MacBook w/ OSX 10.6.8 cannot access my external Time Machine Backup USB Drive.  It says it is a Read Only drive.  When I went to change permissions I found all pernissions were listed as "Custom" and I could not reset them to "Read Write".  Any help would be appreciated.

    This can be done easily with ethernet.
    Please follow the instructions strictly.
    To make it easier I want you to do this overnight so you can turn off all your current connection to the internet.
    Just go to the airport fan in to the top right and turn airport off.
    Get ethernet cable and connect the laptop to the TC lan port.. ie <-> ones.
    Press and hold the reset on the TC for about 10sec. until the front led flashes rapidly.
    Open the airport utility.. go to manual setup and change the wireless to off. (so other people around you cannot join your network of one).
    Ignore all the errors.. they won't stop the backup working.
    Go to the TM and reselect the backup target disk as the TC.
    It should start after 2min and run through to completion.
    That is it.. for a backup of many GB it might take a few hours.. so make sure the laptop has power plugged in and the sleep is off.. (on early ones I think this is needed but I am a late arrival to the scene).. sleep doesn't affect later OS.

  • Multiple users accessing the same data in a global temp table

    I have a global temp table (GTT) defined with 'on commit preserve rows'. This table is accessed via a web page using ASP.NET. The application was designed so that every one that accessed the web page could only see their data in the GTT.
    We have just realized that the GTT doesn't appear to be empty as new web users use the application. I believe it has something to do with how ASP is connecting to the database. I only see one entry in the V$SESSION view even when multiple users are using the web page. I believe this single V$SESSION entry is causing only one GTT to be available at a time. Each user is inserting into / selecting out of the same GTT and their results are wrong.
    I'm the back end Oracle developer at this place and I'm having difficulty translating this issue to the front end ASP team. When this web page is accessed, I need it to start a new session, not reuse an existing session. I want to keep the same connection, but just start a new session... Now I'm losing it.. Like I said, I'm the back end guy and all this web/connection/pooling front end stuff is magic to me.
    The GTT isn't going to work unless we get new sessions. How do we do this?
    Thanks!

    DGS wrote:
    I have a global temp table (GTT) defined with 'on commit preserve rows'. This table is accessed via a web page using ASP.NET. The application was designed so that every one that accessed the web page could only see their data in the GTT.
    We have just realized that the GTT doesn't appear to be empty as new web users use the application. I believe it has something to do with how ASP is connecting to the database. I only see one entry in the V$SESSION view even when multiple users are using the web page. I believe this single V$SESSION entry is causing only one GTT to be available at a time. Each user is inserting into / selecting out of the same GTT and their results are wrong.
    I'm the back end Oracle developer at this place and I'm having difficulty translating this issue to the front end ASP team. When this web page is accessed, I need it to start a new session, not reuse an existing session. I want to keep the same connection, but just start a new session... Now I'm losing it.. Like I said, I'm the back end guy and all this web/connection/pooling front end stuff is magic to me.
    The GTT isn't going to work unless we get new sessions. How do we do this?
    Thanks!You may want to try changing your GTT to 'ON COMMIT DELETE ROWS' and have the .Net app use a transaction object.
    We had a similar problem and I found help in the following thread:
    Re: Global temp table problem w/ODP?
    All the best.

  • Multiple User access in ATP

    I am designing custom ATP for our client. Actually, this logic accesses batch classification data and the calculation logic also differs.
    The concern that I have is if one user (say A) creates a sales order item and runs a successful Availability check and goes on to create second sales order item. simultaneously if another user (say B) comes to create new sales order item for same material. now the ATP quantity that second user gets should be less than the quantity confirmed by user A. But both the sales order have not been saved. so how do I block the quantities confirmed by A but yet not saved.
    Is there any special method for multiple user access at runtime.

    Thanks for ur reply. it was really helpful to gain more insights in my issue.
    1. For performance-related reasons, the only time when it makes sense to set the material block with quantity transfer is when it is common for several users to work on the same material simultaneously. And in VA01 there are many parallel Sales order creation
    2.You create a sales order for a material. During the availability check, this material is blocked. After the availability check is completed, the block is removed. The quantity reserved for this transaction is recorded in the blocking table. This information can be assessed by all others who are working with this material. If you save the order, the blocked entries are cancelled. this how Material block with quantity transfer in SD works.
    The concern that I have now is how to get Blocking Tables for transaction VA01.

  • Data in the table changes when multiple users try to submit data

    I have a dynamic table. The table is created in the wdDoModifyView. The user can load data into the table from an excel file. So I have a "Load" button that loads the data from the selected excel file to the table. I also have a "Submit" button. This "Submit" button converts the data to an xml file and make a call to an oracle stored procedure for validation check. If there's an error it will be returned and displayed to the user. If none, a summary of data for posting will be displayed to the user. If the data is correct and the user hit the ok button, the same data will be return to oracle sp for loading in the table.
    The problem we encountered is when multiple users are loading and submitting at the same time, the data displayed in the dynamic tables changes after clicking the ok button. It is as if, the table displays the data being loaded by other user.
    This is an error that is difficult to recreate. This doesn't happen all the time. I hope you somebody could enlighten me why this is happening. I'm not sure if it has something to do with multithreading or session.
    Edited by: Marlyn Agco on Apr 14, 2009 3:57 PM

    Hi Armin,
    Did you mean storing view instances in static references and accessing them outside the wdDoModifyView is not a good idea? In wdDoInit the nodes are dynamically created according to the xml file being returned by the database. This node is stored in a static variable which is also used in wdDoModifyView to create the dynamic table.
    What do you suggest? We're still encountering same issue when multiple users are uploading data.

  • ARCA Xtra  - multiple user access to SQLite DB

    Hi Guys,
    I have having trouble with multiple users accessing a SQLite DB file from a projector. They can all open and browse the data through the projector fine, but if USER1 makes a change and clicks save, and then USER2 tries access the DB it causes USER2 to get a script error.
    Is it possible to write a script which tells the user that the DB is being modified so please wait, rather than throwing them out of the projector with a script error
    Thankyou

    If you want multiple users to access a database then you would probably be better off using one designed for that purpose like MySQL.
    But, if you are set on SQLite and if you can have multiple simultaneous connections which you seem to imply you can, then the best solution I can think of is to create a Class/Script that handles all the details of polling the database for availability and handles other issues like a progress dialogue box.
    You have to treat the database as an asynchronous action - meaning you send it a query and at some latter time it sends a result back via a callback. Doing it this way greatly simplifies any database queries you want to make. As long as your queries are fairly simple like SELECT, INSERT, DELETE, etc. then the code is fairly straight forward.
    Off the top of my head I wrote something to get you started. I have not tested this code but it does compile. The following is a Parent script that you would use to interface to your database in an asynchronous manner.
    -- Asynchronus SQLite
    property  pDB  -- instance of Arca xtra
    property  pTimeoutTime  -- how long in milliseconds to ping database
    property  pPingTime  -- time between database pings.
    property  RunningQuery  -- Boolean. is a query running? true/false
    property  pTimeOb  -- timout object for polling the database
    property  pCurOperation  -- set of data for current query
    property  pPingCount  -- how many times the current query has pinged the database
    property  pAlertBox  -- a MIAW, LDM, or a Sprite that informs the user as to the progress of the query.
    on new me
      arcaregister([0000,000,0000])
      pDB = xtra("arca").new()
      Result = pDB.openDB(the moviepath & "ST_data")
      if Result.errorMsg then
        alert("Error Opening Database" & return & pDB.explainError(Result.errorMsg))
        return void
      end if
      pTimeoutTime  = 10000 
      pPingTime  = 250
      RunningQuery = false
      pAlertBox = Sprite(1000)  -- for example
      return me
    end new
    on cleanup me
      pDB.closeDB()
    end cleanup
    on executeSQL me, Query, CallbackOb, CallbackMethod, OptionalParameters
      if RunningQuery then exit -- only allow one query at a time
      RunningQuery = True
      pCurOperation = [#Query:Query, #OptionalParameters:OptionalParameters, #CallbackOb:CallbackOb, #CallbackMethod:CallbackMethod]
      pPingCount = 0
      pTimeOb = timeout().new("QueryProcessor_"&me, 1, me, #processQuery)  -- creating the timeout object here breaks the call stack, which is good.
    end executeSQL
    on processQuery me, TimeOb
      Result = pDB.executeSQL(pCurOperation.Query, pCurOperation.OptionalParameters)
      if Result.errorMsg then
        if Result.errorMsg = 5 then -- database is currently locked
          pPingCount = pPingCount + 1
          if pPingCount = 1 then  -- then inform user there will be a delay.
            pAlertBox.setMessage("Waiting for database response.")
            pAlertBox.setProgress(0)
            pAlertBox.show()
            pTimeOb.period = pPingTime
            exit
          end if
          pAlertBox.setProgress((pPingCount * pPingTime / pTimeoutTime) * 100 ) 
          if pPingCount * pPingTime = pTimeoutTime then -- timed out
            alert("Query Timed out.")
          else
            exit  -- try again in pPingTime time.
          end if
        else  -- there is some sort of database error
          alert("Database Error: " & return & pDB.explainError(Result.errorMsg))
        end if
      else  -- no query errors
        call(pCurOperation.CallbackMethod, pCurOperation.CallbackOb, Result)
      end if
      -- if the code makes it this far then we are done and need to clean things up
      if pTimeOb. objectP then
        pTimeOb.forget()
        pTimeOb = void
      end if
      pAlertBox.hide()
      RunningQuery = false
    end processQuery
    on setTimeOutTime me, MilliSecs
      pTimeoutTime = MilliSecs
    end setTimeOutTime
    on setPingTime me, MilliSecs
      pPingTime  = MilliSecs
    end setPingTime
    You then create an instance of this script on preparemovie.
    -- Movie script
    global gDB
    on prepareMovie
      gDB = script("Asynchronus SQLite").new()
      if gDB.voidP then halt -- can not connect to the database
    end
    on stopMovie
      gDB.cleanup()
    end
    Then it is simply a matter of sending your queries to the gDB object and it will send the results back to the callback handler and object that you specify. Here's a behavior that shows how simple this should be:
    -- Sample DB Behavior
    global gDB
    on mouseUp me
      Query = "select * from users"
      gDB.executeSQL(Query, me, #setQueryResult) -- string, callback object, callback handler name
    end
    on setQueryResult me, Result  -- this is the callback handler/method
      put Result
    end
    I also suggest using a MIAW or a LDM or a set of sprites as a way to inform the user of any delays in processing a query. Check the code for pAlertBox to see how I use this idea to update a progress bar. Of course you will have to create the implementation.

  • WRT160n v3 has slow connection when multiple users are connected

    As of last night my router has been producing slow connectivity when multiple users are connected to it, but it's perfectly fine when only one user is connected.
    I am on a laptop myself, but we also have a second laptop and a desktop where the modem and router are set up.
    I have upgraded the firmware so that is up to date.
    We have Comcast Fiber Optics so my internet speed is normally quite fast even when all of my computers are connected.
    Some settings that I have that might help resolve the issue:
    I am using DHCP Configuration.
    My Channel Width is set to 20 MHz and I am using Channel 11.
    The Security Mode is set to WPA Personal. I had it on WPA2 Personal but I read that changing to WPA Personal might help and so far it doesn't seem to have done anything.
    I set the Beacon Interval to 50, Fragmentation Threshold to 2304, and RTS Threshold to 2304.
    Everything else is set to the default factory configuration.
    Just today I received a notice that said "Windows has detected an IP Address Conflict", but ever since I reinstalled the Firmware it hasn't come back. I've rebooted both my laptop and the desktop to confirm it hasn't come back as well.
    I consider myself to be computer savy, but I just can't figure out what the problem is as I've tried everything that I could think of including reconfiguring my router and restarting my modem as well. This problem has presented itself in the past before but unfortunately I cannot remember what I did to fix it.

    Try using inSSIDer to help you find the best channel.
    http://www.metageek.net/products/inssider/
    If that doesn't help, you can try disabling WMM.
    Edit:  You should use WPA2 AES security for best performance.

  • Problem when another user update record.

    Hi All,
    i am using jdev 11.1.1.5.0
    use case: i have create one adf table which is based on vo where a column claimed_by.
    i have add a where clause in vo
    where claimed_by is null.
    default value of claimed_by is null. when user claimed particular record claimed_by contain id of that user.
    now problem is that when two user access same vo at same time. suppose first user claimed a record with id 1 then claimed_by column of table update with 1.
    but in second user window same record still show.
    so i want if record already claimed by another user and second user attempt to claim same record which is already claimed in mean time. then proper error message show to user like "this record already claimed by another user".
    is there possible with change indicator in claimed_by attribute or history column ?
    or any other way to do this.

    Hi Arun,
    i have already read this blog. And i know about JBO-25014: Another user has changed the row with primary key oracle.jbo.Key[x]
    but in my use case i don't want this exception occur that's way i have set property reset after update and insert.
    but it is not work for me.
    my concern is that-
    when one user claimed record and set claimed_by column and after that when second user claim same record a proper error message display to user.

  • How to invalidate old sessions when new user access appl  on same machine

    hi all,
    I am using Mozilla browser to access my web application.User one access my application using his credentials .but i left that browser open.after that I am opening the another Mozilla window and accessing my application using different credentials ex:user2 credentials .user 2 also can access my application.but when i open the first browser ..am automatically getting second user session.how can we avoid this problem.
    Application is using session identifier(jSessionID) as the URL parameter for session management.
    is it possible to invalidate the old session when new user access on same machine.
    thanks,
    Vishnu

    VishnuReddy wrote:
    hi all,
    I am using Mozilla browser to access my web application.User one access my application using his credentials .but i left that browser open.after that I am opening the another Mozilla window and accessing my application using different credentials ex:user2 credentials .user 2 also can access my application.but when i open the first browser ..am automatically getting second user session.how can we avoid this problem.That shouldn't occur. Either you explained it the wrong way (or I interpreted it the wrong way), or there's huge bug in your login/logout logic. After opening another window inside the same session, you should still be logged in as the first user.

  • I am unable to view google ads running alongside and under videos on YouTube. This is only a problem when I use Firefox. If I use another browser, I can see the ads. I do not have adlock as it does not appear in my plug-ins/add ons. Please help..

    I have been using Firefox for about two years. For about a month now I have been unable to view any Google advertisements that run on YouTube pages alongside and under videos. This is important for my business. I would like to stay with Firefox, but this is only a problem when I use Firefox and is not a problem with Internet Explorer or Google Chrome as I checked. I tried uninstalling Firefox and all plugs ins and add ons and then reinstalling it. This did not work. Firefox seems to be blocking the Google codes that enable the ads to run on the pages. I look forward to your help. Thank you.

    CS2 is very old and reached its "end of life" a while back.  So probably won't run on modern operating systems.  If you can still run it, you'll need to uninstall what you have and re-install with the download link below to activate it.
    Error: Activation Server Unavailable | CS2, Acrobat 7, Audition 3
    Nancy O.

  • Why does Acrobat Pdf converter file slow down my 2003, Windows  Word Program.  I only experience this problem when i convert a pdf file to a doc file.

    Why does Acrobat Pdf converter file slow down my 2003, Windows  Word Program.  I only experience this problem when i convert a pdf file to a doc file.

    Hi Bill -- thanks for your reply!
    When I check the Document Properties on Acrobat I can see that the fonts used in the document (Cambria, Times and Windings) are listed as "Embedded Subset" in the Fonts panel. The machine it was created on did use an earlier version of OS X and an old version of Word, but it seems to have the proper fonts...
    -nick

Maybe you are looking for

  • All Midi devices Play at same time help in resolving

    Environment: 2 presounus Firepods,Oxygen 61, Yamaha DTX Exployer Drum Trigger, Panasonic SX KC-611 Keyboard, Logic Pro 8, Mac Book Pro, Mac OS X10.58. Question? How to get each midi device to be separate from each other so I can Play and record each

  • WS TO IDOC  ERROR in the OUT BOUND STATUS

    HI all, This question remains unresolved I have Provided the trace contents as asked by XIans. I am Again sending the contents of the trace. Please let me know where the problem is? Thanks, SrinivasaP

  • Dual monitor setup color problem in windows.

    Hello. I've CS5 Standard running on Windows7 64 laptop with additinal monitor. Both displays are profiled with ColorMunki Photo spectrophotometer. The problem is concerned with the way of displaying images when project is dragged between monitors. On

  • Capture File name from the messageFileUpload bean

    Hi All, Please let me knw, how to capture the file name from the messageFileUpload bean. I have attached a blobdomain type view attribute to this bean. I am able to get the file content , but not able to capture the file name entered. Please help me

  • Internal speaker not getting disabled

    When the earphones are plugged in, the internal speaker should get disabled. However, this is not happening. So I can hear music both through the earphones (though not at a very high level) and the ipod itself. What can I do please??