Upload UIDocument to iCloud on entering background - icloud

I have an iCloud enabled application that uses UIDocument to manage its data. When the document is open and the application enters background state the document should be saved and uploaded to iCloud. Saving the document when entering background state works fine out of the box, but I'm unable to find a way to make librariand pick up the change. The documents gets only uploaded when the application comes back into the foreground.
I noticed that other iCloud enabled apps - like the iWork app - have this behavior. How can I enabled this in my own app?
I already tried to initiate autosave manually in a beginBackgroundTaskWithExpirationHandler block, but this sadly don't work.

According to Apple DTS this is due to a bug in the iCloud syncing engine.

Related

Sitecore Media Library - missing Alt Text

I am using Sitecore 9.0. There used to be an option while uploading an image to use either the normal "File Upload" or "Upload File Advanced" to enter the Alt Text before uploading the image in the upload dialog box itself. It is now missing.
Can someone guide me on how to get it back? The Alt Text option used to be visible in the red highlighted box below.
The File Upload dialog allowing you to set the Alternate text is based on a Flash uploader. There is an Upload.Classic setting in Sitecore.config indicating whether the uploading runs in classic (no Flash) mode or not; the default value is false, so that the Flash uploader should be used by default:
<setting name="Upload.Classic" value="false" />
But, for security reason, Flash is not enabled by default in modern browsers, therefore, if you want to use the Flash uploader you also have to allow it in your browser.
How to allow Flash in Google Chrome browser?
To the left of the web address, click Lock or Info icons;
Then at the bottom on the popup, click Site Settings;
In the new tab, to the right of "Flash", click the Down arrow and then select Allow;
Go back to the site and reload the page;
Note, that Sitecore client interface issues a persistent sc_fv cookie where it stores the Flash status, its value for the blocked Flash mode is '0.0.0'. Therefore, once the Flash is allowed in your browser you need to delete the sc_fv cookie to force the Flash status check.
So, summing all up, if you wish to use the Flash file uploader you have to complete 3 simple steps below:
Make sure that Upload.Classic setting is set to false in Sitecore.config;
Allow Flash in your browser;
Delete sc_fv cookie.
And you will get the Alternate text field back in the Upload File dialog:

Share Win10 IE 11 cookie with all users on PC

I have a web product that integrates with a another product that runs on Win10 PCs. The core product launches an IE 11 browser session calling to my URL. The core product has a VERY basic parameter set such that I need to setup a local cookie to hold additional configuration data that can be read by my site when the PC connects. Due to how IE is launched on the PC, this configuration needs to be done once per user that logs into the PC. I need an easier way to get the cookie data into every user that uses the PC instead of requiring each user to perform the action that causes the core application to launch my page, stop their process, change to a config screen, enter all the config data, save it, return to the prior screen, and then test the process.
Thoughts? I HAVE to use a cookie and I HAVE to store the configuration data in the cookie due to the core application limitations and site requirements.
Thanks.
Cookie is created for specific user on a machine.
It did not designed for sharing that data with other users whether on same machine or on same work station.
So it looks like your approach for solving this specific problem is not correct. You can try to rethink about it and try to use any other way for sharing the data between the users on same work station.
If you continue with this approach than it can cause security related issues.
I tried to find but did not got any useful information for sharing the cookie between users on same work station.
Reference:
Can one cookie be shared by multiple users logged on to the same device?

Notification for new photo/video upload in Google Photo API

I'm working on a digital photo frame app with the new Google Photo Library API beta.
Assume that multiple devices are able to access the same album (shared album, or login with the same account), when there is a picture uploaded from one device, can other devices receive any notification regarding the new upload? If polling is needed for now (that's not really something efficient), what's the recommended interval for polling?
The platforms are Android (TV+Mobile)/iOS/tvOS
Right now there's no way to be notified of any changes to the library or albums.
You will need to poll an album (ie. list its contents) or the library to see if any new media has been added. For albums you could also just list the albums and check if the number of media inside it has changed.
The polling interval depends on your use case and how long of a wait is acceptable to your users. For example, you could run a manual refresh in the background every hour if your app isn't open and refresh more frequently when the user is interacting with your app. Maybe you could also include a 'refresh' button to trigger it manually?
Alternatively, if the entire process is handled through your application, you could also send a notification through a different notification service (Firebase Cloud Messaging) to notify your apps and server that a new media item has been added. This is something you'd need to implement yourself though.
This is definitely something that has come up before and I'd encourage you to file a feature request on our public issue tracker: https://developers.google.com/photos/library/support/how-to-get-help#missing-features

Oracle Apex workspace settings for multiple sessions for the same user account

Making Faster Navigation Between APEX Site-Designer Pages
I am having a few difficulties here as this may be a setting that I took for granted in other previous versions of Oracle APEX as before it may have been a default setting, but now the default has changed. Can anyone help me figure it out? I also explain why it was useful for me before...
How do you enable the Oracle APEX instance to permit logging in to the site-designer pages for a single workspace (Application Builder, SQL Workshop, Team Development modules, etc.) using the same user id through more than one browser window?
Note, I do this to save time from navigating between each section of the site-designer (even quick load times can slow down developing an application page or region because of constant shuttling back and forth to make small changes originally missing).
Example Use Case:
Oracle APEX Release: Application Express 4.2.6.00.03
Database Platform: Oracle 11g R2
Client-Agent(Browser): Firefox Release 33
Note, this was a fresh install from a lower version that was upgraded
several times up to the current APEX release.
LOG IN to Site-Designer with an account that has DEVELOPER or ADMIN level user privileges.
USE your own values for WORKSPACE, USER, PASSWORD.
CREATE a new PAGE level OBJECT (REGION, FORM, REPORT, etc.) and stop in the middle of the set-up wizard.
RIGHT-CLICK on a TOP LEVEL Menu item such as SQL WORKSHOP. Open it in a NEW WINDOW;
CREATE an object like a TABLE which can be used by the DESIGN WIZARD open in step 3.
The reason for trying to keep different browser sessions open for the same USER account allows users to go back to another section of the design tool to build other objects or app/page elements that were overlooked before initiating a design wizard process.
Observed Behavior:
The new session will allow the user to make a new database object, but when clicking back on the previous window with the session that is running the original wizard, the server prompts for a new log in because that session has been closed.
Thanks!
The solution I found when facing a similar situation was opening Apex in a couple of different web browsers in parallel, so i have Safari for the SQL workshop, and Chrome for the page designer..
so instead of ctrl-tab i use cmd-tab (or alt-tab for PC)
Our IT said it has something to do with session state..

IE8 losing session cookies in popup windows

We have an ASP.NET application that uses Forms Auth. When users log in, a session ID cookie and a Forms Auth ticket (stored as a cookie) are generated. These are session cookies, not permanent cookies. It is intentional and desirable that when the browser closes, the user is effectively logged out.
Once a user logs in, a new window is popped up using window.open('location here');. The page that is opened is effectively the workspace the user works in throughout the rest of their session. From this page, other pop-ups are also used.
Lately, we've had a number of customers (all using latest versions of IE8) complaining that the when they log in, the initial pop-up takes them back to the log in screen rather than their homepage. Alternately, users can sometimes log in, get to the homepage (which again, is in a new pop up window), and it all seems fine, until any additional pop-ups are created, where it starts redirecting them to the log in screen again.
In attempting to troubleshoot the issue, I've used good old Fiddler. When the problem starts manifesting, I've noticed that the browser is not sending up the ASP.NET session ID session cookie OR the Forms Auth ticket session cookie, even though the response to the log in POST clearly pushes down those cookies.
What's more strange is if I CTRL+N to open a new window from the popped-up window that is missing the session cookies, then manually type in the URL to the home page, those cookies magically appear again. However, subsequent window.open(); calls will continue to be broken, not sending the session cookies and taking the user to the log in screen.
It's important to note that sometimes, for seemingly no good reason, those same users can suddenly log in and work normally for a while, then it goes back to broken.
Now, I've ensured that there are no browser add-ons, plug-ins, toolbars, etc. are running. I've added our site as a trusted site and dropped the security settings to Low, I've modified the Cookie Privacy policy to "accept all" and even disabled automatic policy settings, manually forcing it to accept everything and include session cookies. Nothing appears to affect it.
Also note the web application resides on a single server. There is no load balancing, web gardens, server farms, clusters, etc. The server does reside behind an ISA server, but other than that it's pretty straight forward.
I've been searching around for days and haven't found anything actionable. Heck, sometimes I can't even reproduce it reliably. I have found a few references to people having this same problem, but they seem to be referencing an issue that was allegedly fixed in a beta or RC release (example: IE8 loses cookies when opening a new window after a redirect). These are release versions of IE, with up-to-date patches.
I'm aware that I can try to set permanent cookies instead of session cookies. However, this has drastic security implications for our application.
Update
It seems that the problem automagically goes away when the user is added as a Local Administrator on the machine. Only time will tell if this change permanently (and positively) affects this problem.
Time to bust out ProcMon and see if there is a resource access problem.
Update #2
It seems there are multiple angles to what appears to be a singular problem. I reported long ago that making the user a local administrator seemed to help. And it did, for a number of users. Of course, that's not really a solution, but it did let us hobble along.
Then more users started reporting the issue, and the admin fix was not helping. The users seemed to be mostly Win7, but Vista was also affected. They also seemed to mostly be 64-bit installations.
Setting the TabProcGrowth to 0 or 1 (either worked) as suggested by some members below seems to have largely addressed the issue. So, I'm going to move my accepted answer to the first person that suggested that, as it has had significantly more impact.
This has been an incredibly frustrating issue to attempt to solve, since it is difficult to reproduce and often occurs with users that I do not have direct communication with, or by the time I get to them it doesn't appear to be working. All I can say is something is not right with the session merging feature, but I don't have much data to feed to Microsoft to find a permanent fix.
This is 'new' functionality in IE8!
Checkj out the IE8 blog below to read about it.
http://blogs.msdn.com/askie/archive/2009/03/09/opening-a-new-tab-may-launch-a-new-process-with-internet-explorer-8-0.aspx
IE8 can use multiple processes for handling an x number of IE windows. When you cross a process space, you loose your cookies (Asp.Net session ID seems to be retained over this process boundry).
I personally think it's broken or a bug. As we know, when browing to the 'same domain target' cookies should be maintained and resent. That IE8 has different processing behavior for security.. Great! that it is behaving badly and 'drops cookies even if going to the same target domain in another window' is just a bug in my view.
You can modify the number of processes IE8 uses through the internet explorer options ehh.. modifying a registry setting!!!!!! (this is what makes it a bug in my view. IE providing a UI to modify these settings would make it 'enterprise level acceptable'.
Regard,
Marvin Smit
There are multiple possibilities behind this -
UAC & Vista (Had to crop up!!). Specifically, look for protected mode behavior.
This could be an actual problem with the Session Merging feature in IE8. More so because opening a new window via the Ctrl+N shortcut causes the cookies to be magically sent in your case.
An issue with an older build of IE (I know you have stated that your customers are using the latest build). You might want to check the details available at Microsoft Connect for bug IDs 408806 and 392032.
We solved this problem by changing the "Set tab process growth" to 0.
Although, we didn't have protected mode turned on and the zone was "Intranet". Evidently this is a problem/bug with Windows 7 64Bit as others have stated.
This page (#4) lead me to the solution: http://blog.httpwatch.com/2009/04/07/seven-things-you-should-known-about-ie-8/
Near as I can tell, another change to cookies across tabs just went live in this security update from November 12, 2013 that is breaking functionality in our app in all versions of IE. We're doing OpenID auth in a popup window so as to not have to redirect the user away from the page they were browsing when they first clicked the Login link. The session cookie for the login is correctly being sent down in the request in the popup window, but it never gets seen by the main browser window, so the next request to the server doesn't have that session cookie on it like it should, and thus logging in never actually works.
Does anyone have any possible solutions to this?
We had this problem on IE6,7 and 8 .The scenario is parent window(1) opens a modal window(2),modal window has a link to a non-modal window (3). I used to get a different session Id in the 3rd window.
Workaround mentioned here fixed the issue http://support.microsoft.com/kb/831678
Since IE8 we (and our customers) are also experiencing the same issue. We have an asp service for creating forms. This application uses new windows for adding elements or managing user accounts e.g. Randomly (when opening a new window), the application doesn't get the required session id for authentication allong with other 'permanent' cookies. Hence, the session id is a temporary cookie. Most of the time it goes well, but other times the session is broken every time a new window is opened. We have to advise our customers to close all IE windows and start over again.
As a web developer I use IE extensively. Personally, I am not experiencing the above issue. But I think a related one. A few times a day IE totally hangs (does not respond anymore) when opening a new window. When I kill a certain IE process using the task manager, IE starts responding again. But in most cases it's better to start all over with a clean new instance of IE. For this reason I just kill the process with the least ram usage which causes all IE processes to quit.
Microsoft saying these issues/bugs are squashed in the final version does not give me trust of their effort solving the issue still be experienced.
I also found a workable fix for this problem. There seems to be a problem with how IE8 handles opening servlets in another window with a relative path such as /test. It seems to be opening a new session as well as a new window. Our workable fix is that instead of opening a new window with a relative path, we just used a jsp page. So when we navigate to a URL, we do not navigate to /test anymore.We navigate to a specific file. In the jsp file, we forward the request to the relative path. This seems to work, which is kind of awkward, since the only difference is that we are placing a specific file in between.
I hope this helps.
I know this problem since IE 5, so I only use session's variables in modal pop-up windows...
When I open a non-modal pop-up window, I replace all session's variables with ASP.NET cache and new object collections...
But it's very tiresome!
Other browsers (i.e. Firefox) don't have this problem...
I believe this is actually a bug in IE; I have reported it here to see what feedback I get: http://social.msdn.microsoft.com/Forums/en-US/83bb3b91-1c1f-4d51-9281-9bc5f51d3640/log-in-fails-cookie-is-not-sent-to-originating-tab?forum=iewebdevelopment
I have a similar, though not identical problem. We load a webpage that opens a popup with window.open() into an IE browser control. On machines that have either IE6 and IE8, the popup window is always assigned a new SessionID by ASP when launched from the control. However, when launched from a normal browser (IE or Firefox), the popup window gets the existing SessionID.
I can see when launching from the control that a new iexplore.exe process is spawned; thus the session loss behavior makes sense given what has been mentioned about in-memory cookies not being carried over to the new process.
I'm still trying to figure out a workaround myself ...
Update
Figured out a workable fix! It is possible to subclass SessionIDManager and specify that this class should be used instead of the default (<sessionState sessionIDManagerType="..."> in Web.config). The subclass can look for a query parameter containing the existing session id in an override of CreateSessionID(), and return it if found. This essentially allows a page to request being "merged" into an existing session it has knowledge of.
The call to window.open() then simply needs that query parameter specified in its URL.
Haw-Bin
Had a similar problem with PHP5 and IE8. When opening one certain popup window in Javascript with window.open, IE8 lost the session cookie and forced the user to login agan.
Meanwhile, other popup windows worked OK.
The culprit turned out to be an image tag. The template system generates image src = values dynamically and a missing image resulted in an image tag with an empty src clause (
I supect this has something to do with IE interpreting the empty src-tag as an insecure URL and isolating the session in the popup without informing the user.
I was running into a similar issue with using session variables to pass values to a pop-up window. I just ended up writing the values to a persistent cookie and then reading the cookie in the popup window. This may not work with the issue you were having with forms authentication, but if are just using session variables to pass some values to a window in IE8, persistent cookies seems to have worked for me.
edit: see also this thread
You Can Also Use the LocalStoprage method to reset the value in parent window.
localStorage("Key")="Value";//Javascript