Snitz MVC beta release - نوشته شده در (6360 Views)
Forum Admin
HuwR
مطلب: 20611
20611
Well, finally I think it is ready for a beta release, so here it is smile (link at bottom of post.

Important

This is NOT a replacement for the classic ASP forum, you MUST have an existing Snitz Forums 2000 site. prerequisites
  1. Web server must support .Net Framework 4.5.1
  2. Database must be SQL Server (more to follow)

Installation

  • Download the zip file and extract it's contents to a folder on your local computer
  • Open the web.config file in the root folder, using a text editor
Change the values in green to match your forum setup
Code:

    <add name="SnitzConnectionString" connectionString="Data Source=SERVERNAME;Initial Catalog=DATABASE;UID=USERNAME;PWD=PASSWORD;" providerName="System.Data.SqlClient"/>
  • Open the snitz.config file in the root folder, using a text editor
do not change the lines highlighted red below
Code:

<?xml version="1.0" encoding="utf-8"?>
<appSettings>
<add key="boolRunSetup" value="1" /> <add key="boolDisablePosting" value="0" />
<add key="boolProhibitNewMembers" value="1" /> <add key="strForumDescription" value="Snitz&trade; Forums community support forum, Mvc version." />
<add key="strForumUrl" value="http://localhost:56654/" />
<add key="strForumTitle" value="Snitz Forums 2000 Mvc" />
<add key="strCookiePath" value="/" />

<add key="boolAllowSearchAllForums" value="1" />
<add key="strAnonMembers" value="Admin" />
<add key="strDateFormat" value="dd MMM yyyy" />
<add key="intTopicPageSize" value="25" />
<add key="intMemberPageSize" value="25" />
<add key="intSearchPageSize" value="20" />
<add key="boolShowAvatar" value="1" />
<add key="boolFullTextSearch" value="0" />If you have fulltext search enabled on your database, set this to 1 <!-- Not currently used -->
<add key="intPreferredPasswordLength" value="8" />
<add key="intMinimumNumericCharacters" value="1" />
<add key="boolDayLightSavingAdjust" value="1" />
<add key="strTimeZone" value="GMT Standard Time" />
</appSettings>
  • Upload all the files to a new folder in your website.
  • Make this folder an application under iis and make sure it has a .net 4.5 compatable application pool
  • Navigate to the newly create applications url
  • Login using an existin Snitz administrator account
  • Perform the upgrade
Thats it, you should be done, you can now start using the new interface for the forum.
If you want to redirect mobile traffic to the mvc site automatically, you will need to edit
the classic forums inc_header.asp and the code below at the very top of the file
Code:

    <%
dim u,b,v
set u=Request.ServerVariables("HTTP_USER_AGENT")
set b=new RegExp
set v=new RegExp
b.Pattern="(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino|android|ipad|playbook|silk"
v.Pattern="1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg( 13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-"
b.IgnoreCase=true
v.IgnoreCase=true
b.Global=true
v.Global=true
if b.test(u) or v.test(Left(u,4)) then response.redirect("http://forum.snitz.com/mvc") end if
%>

Download link
/mvc/Home/download/?filename=SnitzMvc_1.0.1b.zip
 پیش‌فرض مرتب‌سازی برای تاریخ DESC به معنی جدیدترین است  
 تعداد در صفحه 
نوشته شده در
Forum Admin
HuwR
مطلب: 20611
20611
Please note this is a release version to install on a web server, it does not contain the source code
نوشته شده در
Average Member
blackinwhite
مطلب: 657
657
thanks for sharing. I'll give it a try.
نوشته شده در
Average Member
blackinwhite
مطلب: 657
657
I tried to install it as you described and I'm getting the error below, unfortunately.
An item with the same key has already been added.
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.ArgumentException: An item with the same key has already been added.
نوشته شده در
Forum Admin
HuwR
مطلب: 20611
20611
Originally posted by blackinwhite
I tried to install it as you described and I'm getting the error below, unfortunately.
An item with the same key has already been added.
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.ArgumentException: An item with the same key has already been added.

At what point do you get the error?
نوشته شده در
Average Member
blackinwhite
مطلب: 657
657
- I have downloaded the script. - Changed the web.config as advised (to point to SQL server)
- run /mvc page.
then it gives the error.
نوشته شده در
Forum Admin
HuwR
مطلب: 20611
20611
Ok, sounds like a config error, could you post a copy of your web.config and snitz.config files (remove any db/sensitive info first)
نوشته شده در
Average Member
blackinwhite
مطلب: 657
657
Sure,

snitz.config

Code:
<?xml version="1.0" encoding="utf-8"?>
<appSettings>
<add key="boolRunSetup" value="1" />
<add key="boolDisablePosting" value="0" />
<add key="boolProhibitNewMembers" value="1" />
<add key="strForumDescription" value="Snitz&amp;trade; Forums community support forum, Mvc version." />
<add key="strForumUrl" value="http://localhost/snitz/mvc" />
<add key="strForumTitle" value="Snitz Forums 2000 Mvc" />
<add key="strCookiePath" value="/" />

<add key="boolAllowSearchAllForums" value="1" />
<add key="strAnonMembers" value="Admin" />
<add key="strDateFormat" value="dd MMM yyyy" />
<add key="intTopicPageSize" value="25" />
<add key="intMemberPageSize" value="25" />
<add key="intSearchPageSize" value="20" />
<add key="boolShowAvatar" value="1" />
<add key="boolFullTextSearch" value="0" />
<!-- Not currently used -->
<add key="intPreferredPasswordLength" value="8" />
<add key="intMinimumNumericCharacters" value="1" />
<add key="boolDayLightSavingAdjust" value="1" />
<add key="strTimeZone" value="GMT Standard Time" />
</appSettings>

web.config
Code:
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false"/>
<sectionGroup name="dotNetOpenAuth" type="DotNetOpenAuth.Configuration.DotNetOpenAuthSection, DotNetOpenAuth.Core">
<section name="messaging" type="DotNetOpenAuth.Configuration.MessagingElement, DotNetOpenAuth.Core" requirePermission="false" allowLocation="true"/>
<section name="reporting" type="DotNetOpenAuth.Configuration.ReportingElement, DotNetOpenAuth.Core" requirePermission="false" allowLocation="true"/>
<section name="openid" type="DotNetOpenAuth.Configuration.OpenIdElement, DotNetOpenAuth.OpenId" requirePermission="false" allowLocation="true"/>
<section name="oauth" type="DotNetOpenAuth.Configuration.OAuthElement, DotNetOpenAuth.OAuth" requirePermission="false" allowLocation="true"/>
</sectionGroup>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
</configSections>
<connectionStrings>
<add name="SnitzConnectionString" connectionString="Data Source=SERVERNAME;Initial Catalog=DATABASE;UID=USERNAME;PWD=PASSWORD;" providerName="System.Data.SqlClient"/>
</connectionStrings>
<appSettings file="snitz.config">
<add key="webpages:Version" value="2.0.0.0"/>
<add key="webpages:Enabled" value="false"/>
<add key="PreserveLoginUrl" value="true"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
</appSettings>
<system.net>
<mailSettings>
<smtp from="no-reply@domain.com">
<network host="MAILSERVER" password="PASSWORD" port="25" userName="USERNAME"/>
</smtp>
</mailSettings>
</system.net>
<!--
For a description of web.config changes for .NET 4.5 see http://go.microsoft.com/fwlink/?LinkId=235367.
The following attributes can be set on the <httpRuntime> tag. <system.Web>
<httpRuntime targetFramework="4.5" />
</system.Web>
-->
<system.web>
<compilation targetFramework="4.5.1"/>
<httpRuntime targetFramework="4.5.1"/>
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880"/>
</authentication>
<httpModules>
<add name="OnlineActiveUsers" type="OnlineActiveUsers.OnlineUsersModule"/>
</httpModules>
<httpHandlers>
<!--<add verb="*" path="*WebSiteThumbnailHandler.ashx" type="GetWebSiteThumb.WebSiteThumbnailHandler" />-->
</httpHandlers>
<pages>
<namespaces>
<add namespace="System.Web.Helpers"/>
<add namespace="System.Web.Mvc"/>
<add namespace="System.Web.Mvc.Ajax"/>
<add namespace="System.Web.Mvc.Html"/>
<add namespace="System.Web.Optimization"/>
<add namespace="System.Web.Routing"/>
<add namespace="System.Web.WebPages"/>
</namespaces>
</pages>
<roleManager enabled="true" defaultProvider="SimpleRoleProvider">
<providers>
<clear/>
<add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData"/>
</providers>
</roleManager>
<membership defaultProvider="SimpleMembershipProvider">
<providers>
<clear/>
<add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData"/>
</providers>
</membership>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<add name="OnlineActiveUsers" type="OnlineActiveUsers.OnlineUsersModule"/>
</modules>
<handlers>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit"/>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit"/>
<remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0"/>
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0"/>
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
<!--<add name="WebSiteThumbnailHandler" path="*WebSiteThumbnailHandler.ashx" verb="*" type="GetWebSiteThumb.WebSiteThumbnailHandler" />-->
</handlers>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DotNetOpenAuth.AspNet" publicKeyToken="2780ccd10d57b246"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-4.0.0.1" newVersion="4.0.0.1"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="0.0.0.0-1.3.0.0" newVersion="1.3.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DotNetOpenAuth.OpenId" publicKeyToken="2780ccd10d57b246" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DotNetOpenAuth.OpenId.RelyingParty" publicKeyToken="2780ccd10d57b246" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DotNetOpenAuth.OAuth" publicKeyToken="2780ccd10d57b246" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DotNetOpenAuth.OAuth.Consumer" publicKeyToken="2780ccd10d57b246" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer"/>
</providers>
</entityFramework>
<system.net>
<defaultProxy enabled="true"/>
<settings>
<!-- This setting causes .NET to check certificate revocation lists (CRL)
before trusting HTTPS certificates. But this setting tends to not
be allowed in shared hosting environments. -->
<!--<servicePointManager checkCertificateRevocationList="true"/>-->
</settings>
</system.net>
<dotNetOpenAuth>
<messaging>
<untrustedWebRequest>
<whitelistHosts>
<!-- Uncomment to enable communication with localhost (should generally not activate in production!) -->
<!--<add name="localhost" />-->
</whitelistHosts>
</untrustedWebRequest>
</messaging>
<!-- Allow DotNetOpenAuth to publish usage statistics to library authors to improve the library. -->
<reporting enabled="true"/>
<!-- This is an optional configuration section where aspects of dotnetopenauth can be customized. -->
<!-- For a complete set of configuration options see http://www.dotnetopenauth.net/developers/code-snippets/configuration-options/ -->
<openid>
<relyingParty>
<security requireSsl="false">
<!-- Uncomment the trustedProviders tag if your relying party should only accept positive assertions from a closed set of OpenID Providers. -->
<!--<trustedProviders rejectAssertionsFromUntrustedProviders="true">
<add endpoint="https://www.google.com/accounts/o8/ud" />
</trustedProviders>-->
</security>
<behaviors>
<!-- The following OPTIONAL behavior allows RPs to use SREG only, but be compatible
with OPs that use Attribute Exchange (in various formats). -->
<add type="DotNetOpenAuth.OpenId.RelyingParty.Behaviors.AXFetchAsSregTransform, DotNetOpenAuth.OpenId.RelyingParty"/>
</behaviors>
</relyingParty>
</openid>
</dotNetOpenAuth>
<uri>
<!-- The uri section is necessary to turn on .NET 3.5 support for IDN (international domain names),
which is necessary for OpenID urls with unicode characters in the domain/host name. It is also required to put the Uri class into RFC 3986 escaping mode, which OpenID and OAuth require. -->
<idn enabled="All"/>
<iriParsing enabled="true"/>
</uri>
</configuration>
نوشته شده در
Forum Admin
HuwR
مطلب: 20611
20611
can't see anything obvious. In the web.config could you change this line
<compilation targetFramework="4.5.1" />
to this
<compilation debug="true" targetFramework="4.5.1" />

first entry under system.web

That may give some more information about where it went wrong
نوشته شده در
Starting Member
Doughnut
مطلب: 40
40
So you can't try this as any kind of stand alone yet, I'd need to the old snitz stuff then lay this over the top?
Cheers.
نوشته شده در
Forum Admin
HuwR
مطلب: 20611
20611
Not yet no, as there is no admin functionality so you can't create forums etc etc
شما باید یک متن وارد کنید