Sitecore Media Upload creating new user sesssion - asp.net

We have limit on number of concurrent sitecore users. We are facing a unique issue, where sitecore is creating a new session when user is trying to upload an image from Medial Library. Due to this we are reaching our license limit quickly and someone has to manually kick user session using sitecore/shell/Applications/Login/Users/kick.aspx page.
Any help would be highly appreciated.
We are using Sitecore 6.4.1
Thanks,

I've been here too. This is a known issue fixed in CMS 6.4.1 rev. 110928 (6.4.1 Update-4). :
"Multi-browser support
[Firefox, Chrome and Safari] When using the Flash-based upload, a new Sitecore user session would be registered for each upload, causing the number of concurrent user sessions to grow unexpectedly. (344158)"
http://sdn.sitecore.net/Products/Sitecore%20V5/Sitecore%20CMS%206/ReleaseNotes/ChangeLog.aspx
As the issue is with the flash-based uploader, the quick work-around is to enable the classic media uploader instead which will not invoke a new session.
In web.config :
<!-- UPLOAD CLASSIC
Indicates if uploading runs in classic (no flash) mode.
Default: false
-->
<setting name="Upload.Classic" value="true" />

Related

HTML5 Local Storage data not reflected across active tabs/windows in IE 11

We have created a functionality where in we provide users to works with forms in an Offline Mode.
We are using HTML 5 Local Storage to store all the offline data.
All the forms have their own html files (for example:form-1.html,form-2.html.)
We have a parent html page which makes use of an iframe to load the requried html file based on the form selected from the drop down list.
After the user have made the modification in offline mode,the user can sync in their changes by logging to the ASP.Net WebSite.
The problem ,we are facing is that the copy of Local Storage that in modified by the user in the offline mode is not in sync when the user their to sync the changes to ASP.Net Website.
In short,when we examine the Local Storage in the IE console of the browser when we login to ASP.Net Website,it does not reflect the changes made to the Local Storage during the offline mode.
Both parent html page and the ASP.Net Website page is serverd from the same domain.
I came across this piece of article which says that this is an on going issue and it has not been fixed in IE 11.
IE and Local Storage Issues
Please see bullet# 3.
Has any one had the same kind of experience.?
Any work around?
I tested many ideas, for me attaching an empty event handler for onstorage property worked!
The WindowEventHandlers.onstorage property contains an event handler that runs when the storage event fires. This occurs when a storage area is changed (e.g. a new item is stored.)
here is my code
window.onstorage = function(e){};
Microsoft is well aware of the issue, but after about 3 years , there is still no fix and probably it will never be. more info here
This is a known bug: https://connect.microsoft.com/IE/feedback/details/812563/ie-11-local-storage-synchronization-issues
There is a workaround added to the bug report that you can use indexedDB, which is synchronized among frames. But before you can create a DB, the user need to give your web app permission to create a database.

plone add-on collective.sendaspdf: login required for downloading page

I'm using collective.sendaspdf for pdf download of plone pages, but it asks users to login whene they download a public content.
This appears strange as it happens just in the production server, not in the development server (the only difference seems that the latter is started in foreground mode).
Of course I can't assign particular permissions on objects to anonymous users, so I guess the problem is somewhere else
thanks to Jean's suggestion, i enabled the verbose security and the error is "Unauthorized: You are not allowed to access '##at_base_edit_view' in this context"
This looks strange to me as the page is the view of my content-type archetype-based, and it is published so it is visible to anonymous users. I repeat also that I have the development server with the same software installed where the authorization is correctly given, i.e. the page can be downloaded by anyone without login...what changes is the network configuration (I have an apache that performs some url rewriting in front of my zope server, but this just affects the path of the plone site to be hidden)
I wonder if I can manage to correct this just through the sendaspdf configuration. I don't know which additional info I could provide about the environment/configuration. I'm running Plone 4.0.4 + collective.sendaspdf 2.0
Ok, the problem was due to a bug in how collective.sendaspdf handles archetype-based content types, it's possible to workaround it by replacing the code:
view_name = context_type.getProperty('immediate_view')
with
view_name = context_type.getProperty('default_view')
in the method get_page_source of base.py, or by waiting the next release of the product.

Uploading a 500MB+ file through an ASP.NET web application

My web application allows authorised users to upload videos using the ASP.NET WebForms FileUpload web control, which in the past have been around 100-200MB. I had to obviously make some changes to the web.config so that files of this size could be uploaded.
However, the authorised users now want to upload video files which are 500MB+
The maxAllowedContentLength has now been set to 629145600 (600MB).
However, when uploading the videos, after a while the page responds with:
Page not found
This only happens with large videos, so I know this issue has something to do with the file size.
Why is this happening? And also, should I really be increasing the limit to 500MB+? Is there a better way of getting such large files onto the web server?
Check out this blog post by Jon Galloway, its a bit old but still relevant:
Large file uploads in ASP.NET
Its got answers to your questions about:
page not found
setting the correct maxAllowedContentLength
There's recommendations for various controls you can use, both free and commercial.
I've used the flash control and it worked great.
Alternative Solution
Provide an FTP area for each user to upload too.
It allows users:
easily batch upload many files (harder in the browser)
takes advantage of resume on disconnect
Then you provide a GUI for the user, to consume the files.
Have you considered using jQuery File Upload https://github.com/blueimp/jQuery-File-Upload/ there are versions available for .net and mvc (see the git hub wiki). It takes all the heart ache out of implementing large file uploads in .net and provides a lovely interface too. Since discovering this a while ago I never use anything else! I've successfully implmented a few times now and seen uploads ~2GB working successfully.

MS Chart not showing on hosted site

I have a MS Chart component displaying fine on an ASP.Net page. When I deploy it I get a broken image. The settings in the web.config are the same and the temporary images folder has the correct permissions.
When I get the URL of the images I can see that the /.png file is not getting created.
What sort of things do I need to look at to track down the problem?
I was able to resolve the issue by ensuring that my application pool settings was using "ASP .net integrated" and not "ASP .Net Classic". This will ensure that your handler is being used.
I had the same problem when I was working with the charting in .NET 4 and my problem turned out to be related to the default value of the privateImages attribute and the fact that my code wasn't using any identifying attributes for the session or the user.
See my post here for an explanation of how I solved my problem.
It's also worth noting that the ASP.NET Development server ignores the config settings for charting and renders them in memory unless you specifically set an attribute to force it to use your config.

Programmatically set name of file to upload in webpage

Is there a way to programmatically set the name of a file to be uploaded from a web page? I suspect that browser security restrictions make this impossible, but I'm hoping someone will prove me wrong.
I have a web application that needs to let the administrator upload HTML. The admin selects the HTML file, then the app uploads that file, plus figures out all the supporting files (images, stylesheet, etc) and uploads them too. There doesn't seem to be a way to programmatically upload the supporting files from a web page, since the user has to specify each file explicitly.
Currently I have a separate Windows app to do this, but it would be ideal to have this functionality integrated with the rest of the app. My back end is ASP.NET with C#.
There is no way to programatically grab files from a user's computer via the browser. This would be a security violation if a website could just grab things.
Yes you can (in modern browsers)...
You can get and set the value of HTMLInputElement.files.
See this answer.
No, you cannot do this without a client-side application or special plug-in.
Browser security doesn't allow the server to obtain information about the hard drive contents of the client.
You may be able to do this using some form of browser plug-in. This is more work for you (and there are potential security implications for this beyond those found when you just have users run your app). However, it may prevent a more integrated experience for your users. I'd hesitate to eliminate the application completely, though. Browser compatibility issues are common.

Resources