I am trying to implement an image gallery, but am having little joy in doing so. Does anyone have any good resources? Ideally I would like to implement something along the lines of JQuery's JCarousel, although the actual gallery clearly isnt that important ;)
Have you tried EPiImage? https://www.coderesort.com/p/epicode/wiki/EPiImage
I implemened the Jcarausel in image gallery.kindly look into this http://www.frederikvig.com/2010/04/creating-a-simple-image-gallery-with-episerver/
Thanks Erik and Atul. Am implementing epiImage at present - did look at Frederik's example, but I couldn't resolve the error where I was adding the dynamic content in the episerver.config file. Get 'The Dynamic Content control type Gallery could not be loaded. Check the <dynamicContent> section in web.config'
Regarding the dynamic content error, you'll have to make sure the namespace and assembly match your own. Also make sure to compile your code before you check the site.
Sorry for the late response! I have reverted back to your example, and have sorted the dynamic control against the correct namespace and assembly, but when i click the link alongside 'media folder', I get a 404 error, and when clicking 'link' i get [Missing Text /meridium.epcms/folderbrowser/clearconfirm for en] ? Any pointers would be massively appreciated. Thanks.
My example uses the FolderBrowser picker by Meridium, make sure it's included in the project.
Thanks for reply Frederik. I have both the meridium.folderbrowserproperty assembly (in my bin dir, and referenced too), and the folderbrowserdialog.aspx page,under root\meridium\folderbrowserproperty\dialogs\ included within my project?
Should also be a language file for the FolderBrowserProperty
Yes, I also have the relevant xml files in my lang dir
And you're still getting the same error message? [Missing Text /meridium.epcms/folderbrowser/clearconfirm for en]
Am not getting the error [Missing Text /meridium.epcms/folderbrowser/clearconfirm for en] now when clicking 'path' (thanks for that), but still get the 404 error when clicking the button link for 'media folder' - the url is posted as http://localhost:6669/Meridium/FolderBrowserProperty/Dialogs/FolderBrowserDialog.aspx but the project is http://localhost:6669/Gallery so I would have expected to see http://localhost:6669/Gallery/Meridium/FolderBrowserProperty/Dialogs/FolderBrowserDialog.aspx as the posted url ?
You're running the application as a virtual app in IIS? Might be that the path get's wrong because of that (since it tries to use the web application root)
Yes, but not in IIS, just against VS's virtual server (cassini). This is from an episerver project created through VS, not the deployment center.
You think I may have more luck copying over the files to the live intranet site that runs in IIS?
Yep, should work there as long as you run it as a IIS web application and not virtual application.
Ok, thanks for all your help Frederik - will give that a shot tonight (outside of core hours).
having uploaded to main site, I am getting an exception when clicking media folder - "item must be either UnifiedFile or UnifiedDirectory". Let me know if you want me to post the stack trace. Thanks
How have you setup the media folder? Is it a VPP folder that you registered in episerver.config? Could you post the configuration from episerver.config?
Oh ok, that would explain a lot, as I have not set up the media folder to look in a specific starting location. How do I go about that? I haven't posted the config file, due to the length. If I add a VirtualPath provider to my config file for the media folder, how do I associate the provider with media folder? Thanks Frederik
Do you have Global Files defined for your site? Could you test by pointing to a folder in Global Files that contains some images?
yes, I have global files defined for the site. how do i go about manually pointing to the folder? Thanks.
also, i have decided to create a new project, and run through the code again. The project builds ok, but when going to view my default page, I recieve the following error:
[ReflectionTypeLoadException: Unable to load one or more of the requested types. The following information may be a subset of the Type/LoaderException information present - inspect with debugger for complete view.Check assemblies [Meridium.FolderBrowserProperty, Version=1.0.4441.16457, Culture=neutral, PublicKeyToken=null] and/or types [Meridium.FolderBrowserProperty.Helpers.ScriptHelper,Meridium.FolderBrowserProperty.Web.UI.PropertyControls.PropertyFolderBrowser,Meridium.FolderBrowserProperty.Web.UI.PropertyControls.PropertyMultiFolder]. Information from LoaderExceptions property [Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=18.104.22.168, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.,Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=22.214.171.124, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.,Request for the permission of type 'System.Web.AspNetHostingPermission, System, Version=126.96.36.199, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.].] EPiServer.Framework.Initialization.InitializationModule.StaticInitialization(HostType hostType) +223 EPiServer.Framework.Initialization.InitializationModule.FrameworkInitialization(HostType hostType) +65 EPiServer.Global..ctor() +54 EPiServer.Templates.Global..ctor() +28 ASP.global_asax..ctor() in c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\591e02d6\e8cc82df\App_global.asax.4rdhwx9t.0.cs:0[TargetInvocationException: Exception has been thrown by the target of an invocation.] System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck) +0 System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache) +86 System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache) +230 System.Activator.CreateInstance(Type type, Boolean nonPublic) +67 System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object args, CultureInfo culture, Object activationAttributes) +1051 System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object args, CultureInfo culture, Object activationAttributes) +111 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +215 System.Web.HttpApplicationFactory.GetPipelineApplicationInstance(IntPtr appContext, HttpContext context) +56 System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +231[HttpException (0x80004005): Exception has been thrown by the target of an invocation.] System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +8913739 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +85 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +333Any pointers would be massively appreciated.
I think the assembly is blocked by windows 7, try and right click the assembly, select Properties and click the Unblock button on the General tab.
Thanks Frederik, but the only attributes under the general tab are read-only and hidden (neither are selected). There is no option to unblock.
Going back to the live system - how do I test against a folder created (that contains images) in the global files directory? Thanks.
Just get the files form the folder
var rootFolder = System.Web.Hosting.HostingEnvironment.VirtualPathProvider.GetDirectory("path/to/global/files/folder") as UnifiedDirectory;
Then use rootFolder.Files property to get the files.