Inhalte aufrufen

Profilbild

Smartstore 4.0 released

Smartstore 4.0 Version 4 Release 4.0

  • Bitte melden Sie sich an, um eine Antwort zu verfassen.
14 Antworten zu diesem Thema

#1 Marcel Schmidt

Marcel Schmidt

    SmartStore AG

  • Administrators
  • 107 Beiträge

Geschrieben: 30 June 2020 - 18:36

We are pleased to announce the release of Smartstore 4!
 
Highlights

  • (NEW) Media Manager: Powerful and lightning-fast explorer/manager for media files (commercial plugin exclusively bundled with Pro Edition)
  • (NEW) Rule Builder: Powerful rule system for visual business rule creation
    • Dozens of predefined rules out-of-the-box
    • Supports logical operators (AND/OR) and unlimited grouping/nesting
    • Cart rules: can be applied to discounts, shipping and payment methods
    • Customer rules: used to auto-assign customers to customer groups for 1-to-1 content targeting
    • Product rules: used to auto-assign products to categories based on filter definitions (e.g. price, brand, color, stock etc.)
  • (NEW) New permission (ACL) system: Granular tree-based permission management based on customer groups. Supports inheritance to allow or deny entire permission ranges
  • (NEW) Personalized product recommendations: Replaces homepage products dynamically with personalized product recommendations based on customer interests. (commercial plugin)
  • (NEW) Geo Blocker: Restricts shop access based on visitor country or IP address ranges (commercial plugin)
  • (NEW) Dashboard with charts: New dashboard widgets display key data like orders, customers, bestsellers etc. in nice graphical charts.

You can view the full detailed release nodes here
 
For more information on Smartstore version 4 please visit smartstore.com
 
Download
Direct links

You can download Smartstore 4.0 from our GitHub Repository. Click on the Source code button below the Release Notes section to download the full source code. If you're interested in the compiled version only, click Smartstore.Community.4.0.zip.
 
Upgrade from previous versions 
We advise to (partially) delete the old app folder first rather than copying the new files over.
Folders you definitely should NOT delete are:

  • App_Data
  • Media
  • Exchange

After uploading the files to the server you can start the application within your browser. The database migration is now performed automatically in the background.

 

Important:
If you have previously saved the media in the database, we recommend that you change the location to "File System". You can find these settings in your shop backend under Configuration > Settings > Media.


#2 yatsek

yatsek

    Neuer Benutzer

  • Members
  • 9 Beiträge

Geschrieben: 22 July 2020 - 01:17

Can I do a direct upgrade from Smartstore 2.5?



#3 Wolfgang Schmerge

Wolfgang Schmerge

    SmartStore AG

  • Administrators
  • 2160 Beiträge

Geschrieben: 22 July 2020 - 07:34

Hi,

 

No way!
At best always with several intermediate steps.
For Example:
2.6.0
3.0.3
3.1.5
3.2.0
3.2.2
4.00
 
Regards
 
Wolfgang

Bleibt gesund!

 

Viele zusätzliche Smartstore Plugins gibt es im MARKETPLACE:
http://community.sma...dex.php?/files/

 

Hier geht es zu den Smartstore Videos:
Smartstore.NET Youtube-Channel
 

Die deutsche Smartstore Online-Dokumentation gibt es hier:
http://docs.smartsto...nutzer Handbuch

In dem folgenden BLOG findet man interessante Tipps & Tricks zum Thema "Smartstore":

http://community.sma...t-tipps-tricks/

 


#4 yatsek

yatsek

    Neuer Benutzer

  • Members
  • 9 Beiträge

Geschrieben: 23 July 2020 - 01:19

Thank you for your help. However during the last step when I try to migrate from 3.2.2 to 4.0 I get this error:

 

Server Error in '/' Application. Value cannot be null.
Parameter name: type

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.ArgumentNullException: Value cannot be null.
Parameter name: type

Source Error:
 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:
 

[ArgumentNullException: Value cannot be null.
Parameter name: type]
System.Reflection.IntrospectionExtensions.GetTypeInfo(Type type) +14175046
System.Data.Entity.Internal.CodeFirstCachedMetadataWorkspace.<Create>b__4(Type t) +9
System.Linq.WhereSelectEnumerableIterator`2.MoveNext() +241
System.Linq.<DistinctIterator>d__64`1.MoveNext() +417
System.Linq.Buffer`1..ctor(IEnumerable`1 source) +498
System.Linq.Enumerable.ToArray(IEnumerable`1 source) +90
System.Data.Entity.Internal.CodeFirstCachedMetadataWorkspace.Create(StorageMappingItemCollection mappingItemCollection, DbProviderInfo providerInfo) +540
System.Data.Entity.Infrastructure.EdmxReader.Read(XmlReader reader, String defaultSchema) +108
System.Data.Entity.Infrastructure.DefaultDbModelStore.LoadXml(Type contextType, Func`2 xmlReaderDelegate) +188
SmartStore.Data.Caching.EfDbModelStore.TryLoad(Type contextType) +164
System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext) +132
System.Data.Entity.Internal.RetryLazy`2.GetValue(TInput input) +224
System.Data.Entity.Internal.LazyInternalContext.InitializeContext() +896
System.Data.Entity.Internal.InternalContext.Initialize() +26
System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) +20
System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() +69
System.Data.Entity.Internal.Linq.InternalSet`1.AsNoTracking() +29
System.Data.Entity.Infrastructure.DbQuery`1.AsNoTracking() +75
SmartStore.Services.Security.AclService.get_HasActiveAcl() +49
SmartStore.Web.Framework.<>c.<Load>b__2_6(IComponentContext c) +96
Autofac.Builder.<>c__DisplayClass0_0`1.<ForDelegate>b__0(IComponentContext c, IEnumerable`1 p) +18
Autofac.Core.Activators.Delegate.DelegateActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters) +50
Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters, Object& decoratorTarget) +166

[DependencyResolutionException: An error occurred during the activation of a particular registration. See the inner exception for details. Registration: Activator = DbQuerySettings (DelegateActivator), Services = [SmartStore.Core.Data.DbQuerySettings], Lifetime = Autofac.Core.Lifetime.MatchingScopeLifetime, Sharing = Shared, Ownership = OwnedByLifetimeScope ---> Value cannot be null.
Parameter name: type (See inner exception for details.)]
Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters, Object& decoratorTarget) +588
Autofac.Core.Lifetime.LifetimeScope.GetOrCreateAndShare(Guid id, Func`1 creator) +205
Autofac.Core.Resolving.InstanceLookup.Execute() +213
Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters) +224
Autofac.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable`1 parameters, Object& instance) +135
Autofac.ResolutionExtensions.ResolveService(IComponentContext context, Service service, IEnumerable`1 parameters) +70
Autofac.ResolutionExtensions.Resolve(IComponentContext context, IEnumerable`1 parameters) +88
SmartStore.Web.Framework.<>c.<AttachToComponentRegistration>b__3_0(Object sender, ActivatedEventArgs`1 e) +133
Autofac.Core.Resolving.InstanceLookup.Complete() +112
Autofac.Core.Resolving.ResolveOperation.CompleteActivations() +120
Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters) +380
Autofac.Core.Resolving.ResolveOperation.Execute(IComponentRegistration registration, IEnumerable`1 parameters) +134
Autofac.Features.LazyDependencies.<>c__DisplayClass5_1`1.<CreateLazyRegistration>b__1() +47
System.Lazy`1.CreateValue() +734
System.Lazy`1.LazyInitValue() +189
Autofac.Integration.Mvc.AutofacFilterProvider.ResolveControllerScopedFilter(FilterContext filterContext, String metadataKey, Func`2 wrapperFactory) +461
Autofac.Integration.Mvc.AutofacFilterProvider.ResolveControllerScopedFilters(FilterContext filterContext) +42
Autofac.Integration.Mvc.AutofacFilterProvider.GetFilters(ControllerContext controllerContext, ActionDescriptor actionDescriptor) +313
System.Web.Mvc.FilterProviderCollection.GetFilters(ControllerContext controllerContext, ActionDescriptor actionDescriptor) +169
System.Web.Mvc.ControllerActionInvoker.GetFilters(ControllerContext controllerContext, ActionDescriptor actionDescriptor) +55
System.Web.Mvc.Async.AsyncControllerActionInvoker.BeginInvokeAction(ControllerContext controllerContext, String actionName, AsyncCallback callback, Object state) +243
System.Web.Mvc.<>c.<BeginExecuteCore>b__152_0(AsyncCallback asyncCallback, Object asyncState, ExecuteCoreState innerState) +48
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallBeginDelegate(AsyncCallback callback, Object callbackState) +73
System.Web.Mvc.Async.WrappedAsyncResultBase`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +163
System.Web.Mvc.Controller.BeginExecuteCore(AsyncCallback callback, Object state) +787
System.Web.Mvc.Async.WrappedAsyncResultBase`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +163
System.Web.Mvc.Controller.BeginExecute(RequestContext requestContext, AsyncCallback callback, Object state) +630
System.Web.Mvc.<>c.<BeginProcessRequest>b__20_0(AsyncCallback asyncCallback, Object asyncState, ProcessRequestState innerState) +99
System.Web.Mvc.Async.WrappedAsyncVoid`1.CallBeginDelegate(AsyncCallback callback, Object callbackState) +73
System.Web.Mvc.Async.WrappedAsyncResultBase`1.Begin(AsyncCallback callback, Object state, Int32 timeout) +163
System.Web.Mvc.MvcHandler.BeginProcessRequest(HttpContextBase httpContext, AsyncCallback callback, Object state) +544
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +1128
System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +220
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +134
 


#5 Wolfgang Schmerge

Wolfgang Schmerge

    SmartStore AG

  • Administrators
  • 2160 Beiträge

Geschrieben: 23 July 2020 - 11:19

Hi,

 

here you can find some tips how to do the 4er update.
Until the release of the 4.01 version please use the following compiled community version.
http://smartstore.co...unity.4.0.0.zip

First, create a complete (database and file system) shop backup.
 
Log in to the shop as Admin and execute the task "Delete guest user" under System -> Scheduled tasks.
 
If necessary move the media from database to the file system.
Configuration -> Settings -> Media
 
Next, copy the attached file "App_Offline.htm" into the shop root directory and open the shop domain to check if you are working on the correct web space. After that make a screenshot of the plugins located in the plugin directory.
 
Delete all previous directories/files from the shop directory except the following directories/files and the file "App_Offline.htm". 
 
The following directories should not be deleted in any case:
- App_Data
- Media (this folder may not exist at all)
- Exchange (this folder may not exist at all)
 
Check if you have made entries in the theme directories (Flex, FlexBlack or FlexBlue), in the subfolder "Content", in the files "_user.scss" and/or "_custom.scss". If this is the case, backup the corresponding files and copy them over after the update. 
 
If there are further files/directories (e.g. favicon, Google files) in the installation folder of the shop,  they must not be deleted.
 
Next, transfer the files/directories via FTP. Existing files in the App_Data/Media folder must be overwritten.
 
Attention: Check if all files in the "bin" directory have been overwritten. 
 
If plugins are missing in the 4 update version, which were available in the previous shop version, they can be requested from Smartstore. For external plugins the external developer must be contacted.
These plugins must then be copied additionally via FTP into the plugin directory.
 
Attention: New and no longer existing plugins
The plugins "Filter for payment methods" and "Filter for shipping methods" no longer exist. They have been replaced by the plugin Rulebuilder. The Rulebuilder plugin is part of the core and included in all shop versions.
 
There are three new plugins. MediaManager (from Pro), Personalized Product Recommendations (from Premium oder Marketplace) and GeoBlocker (from Premium or Marketplace). 
 
Increase the value numRecompilesBeforeAppRestart="253" in the web.config file.
Delete the cache in App_Data\EfCache.
Delete the file App_Data\Tenants\Default\plugins.hash.
 
After all new shop files (incl. possible additional plugins) have been uploaded, delete (or rename) the file "App_Offline.htm" in the shop main directory and open the shop in a browser.
The first opening of the shop takes a little longer. The necessary database updates are done in the background.
 
Attention:
If you get an error message when calling the shop, use numrecompile in the web.config file. 
In case of the error message "Value cannot be null" please delete the cache in App_Data\EfCache.  
 
After the update do the following actions in the admin area:
 
Plugins > Manage Plugins > install the Media Manager Plugin, if available
Plugins > Manage plugins > Edit > Update language resources of all plugins
Plugins -> MegaSearch, perform a reindexing, if available

 

 

Regards

 

Wolfgang

Angehängte Bilder


Bleibt gesund!

 

Viele zusätzliche Smartstore Plugins gibt es im MARKETPLACE:
http://community.sma...dex.php?/files/

 

Hier geht es zu den Smartstore Videos:
Smartstore.NET Youtube-Channel
 

Die deutsche Smartstore Online-Dokumentation gibt es hier:
http://docs.smartsto...nutzer Handbuch

In dem folgenden BLOG findet man interessante Tipps & Tricks zum Thema "Smartstore":

http://community.sma...t-tipps-tricks/

 


#6 yatsek

yatsek

    Neuer Benutzer

  • Members
  • 9 Beiträge

Geschrieben: 23 July 2020 - 18:30

Using your instructions the migration went (seemingly) withhout a hitch. But now the application is stuck on the "sign in" screen. It is impossible to pull up any other page within the store, regardless of whether I am signed into it or not. This is not a browser cache issue as I tried different browsers.



#7 Wolfgang Schmerge

Wolfgang Schmerge

    SmartStore AG

  • Administrators
  • 2160 Beiträge

Geschrieben: 23 July 2020 - 18:53

Hi,

 

please run the attached script in SQL Server Management Studio.

 

Regards

 

Wolfgang

Angehängte Bilder


Bleibt gesund!

 

Viele zusätzliche Smartstore Plugins gibt es im MARKETPLACE:
http://community.sma...dex.php?/files/

 

Hier geht es zu den Smartstore Videos:
Smartstore.NET Youtube-Channel
 

Die deutsche Smartstore Online-Dokumentation gibt es hier:
http://docs.smartsto...nutzer Handbuch

In dem folgenden BLOG findet man interessante Tipps & Tricks zum Thema "Smartstore":

http://community.sma...t-tipps-tricks/

 


#8 yatsek

yatsek

    Neuer Benutzer

  • Members
  • 9 Beiträge

Geschrieben: 23 July 2020 - 23:16

Hello,

 

Unfortunately I get the same result. When I run the script before the migration to 4.0. it says something like 50+ rows affected but the final result (after migration) is the same -  stuck on the "log in" page  - with one difference - my password is now not recognized.

I also tried to run the script after the final migration - which had no effect on the database.

 

Thank you for your ongoing attention in this matter.



#9 Wolfgang Schmerge

Wolfgang Schmerge

    SmartStore AG

  • Administrators
  • 2160 Beiträge

Geschrieben: 24 July 2020 - 07:03

Hi,

 

the script may only be executed after the update to the 4er version and also only if you can no longer login to the shop.

 

Regards

 

Wolfgang


Bleibt gesund!

 

Viele zusätzliche Smartstore Plugins gibt es im MARKETPLACE:
http://community.sma...dex.php?/files/

 

Hier geht es zu den Smartstore Videos:
Smartstore.NET Youtube-Channel
 

Die deutsche Smartstore Online-Dokumentation gibt es hier:
http://docs.smartsto...nutzer Handbuch

In dem folgenden BLOG findet man interessante Tipps & Tricks zum Thema "Smartstore":

http://community.sma...t-tipps-tricks/

 


#10 yatsek

yatsek

    Neuer Benutzer

  • Members
  • 9 Beiträge

Geschrieben: 24 July 2020 - 17:06

Hello,

 

If I run the script after the complete migration to 4.0.0, the only response from SSMS: is "command(s) executed successfully" and there is no change to how the store is behaving.

 

Now I am not sure if I have communicated the whole issue correctly. The problem is not with logging into the store per se. I can type in the username and the password and the store will accept it and indicate that I am now signed in. I can also sign out.

 

The problem is that I can never leave the sign in page. I cannot browse the store. I cannot pull up the backend. Regardless of whether I am signed in or not.

I am running this instance on a local server. Calling "localhost" in a browser would always pull up the main page but now the "sign in" screen comes up. Let's say I click "About Us". Nothing happens only the address bar  now changes from: localhost/login?ReturnUrl=%2f to localhost/login?ReturnUrl=%2fcontactus 

Only outside links work like smartstore.com

 

Do you have any idea what may be going on here?

 

MfG

 

Rafal



#11 Marcus Gesing

Marcus Gesing

    SmartStore AG

  • Administrators
  • 3577 Beiträge

Geschrieben: 24 July 2020 - 18:31

Probably a permission issue. Backup the database, delete the content of database table "PermissionRecord" and restart the application, for instance by touching the weg.config file (e.g. rename it and then rename back again).
For other readers: do this only with version 4.0.0 or above (not with older versions).

Schöne Grüße aus Düsseldorf,
Marcus Gesing


#12 yatsek

yatsek

    Neuer Benutzer

  • Members
  • 9 Beiträge

Geschrieben: 24 July 2020 - 20:58

This did it!

 

Thank you so much for your help!!!



#13 yatsek

yatsek

    Neuer Benutzer

  • Members
  • 9 Beiträge

Geschrieben: 25 July 2020 - 01:28

 

 

 

Important:
If you have previously saved the media in the database, we recommend that you change the location to "File System". You can find these settings in your shop backend under Configuration > Settings > Media.

 

 

For earlier versions you recomended "database".

Is this specifically applicable to Smartstore 4.0.0 or just to make the migration smoother? What do you recommend for a large database (5 GB) with lots of photos?



#14 Marcus Gesing

Marcus Gesing

    SmartStore AG

  • Administrators
  • 3577 Beiträge

Geschrieben: 25 July 2020 - 09:10

File system is almost always the best choice. With many images, you should always save in the file system.
Database is only a reasonable way with few and small media files.
For 4.0 it's recommend to move media files to the hard disk before the migration, especially if the uploaded folder contains many or large files.

  • yatsek gefällt das

Schöne Grüße aus Düsseldorf,
Marcus Gesing


#15 yatsek

yatsek

    Neuer Benutzer

  • Members
  • 9 Beiträge

Geschrieben: 25 July 2020 - 16:23

OK. Thank you for clearing this up.




Auch markiert mit einem oder mehrerer dieser Schlüsselwörter: Smartstore 4.0, Version 4, Release, 4.0