{"id":7952,"date":"2024-10-05T07:10:52","date_gmt":"2024-10-05T07:10:52","guid":{"rendered":"https:\/\/pariswells.com\/blog\/?p=7952"},"modified":"2024-10-05T07:10:54","modified_gmt":"2024-10-05T07:10:54","slug":"installing-the-case-manager-web-version","status":"publish","type":"post","link":"https:\/\/pariswells.com\/blog\/research\/installing-the-case-manager-web-version","title":{"rendered":"Installing the Case Manager web version"},"content":{"rendered":"\n<p>This is a guide for customers self hosting Case Manager which would like to implement the web and mobile app infrastructure.<\/p>\n\n\n\n<p><strong>Prerequisites<\/strong><\/p>\n\n\n\n<p>?&nbsp;&nbsp;&nbsp; To access the App, you will need the web version of Case Manager installed on your own server. Following is a list of requirements to install the web version of Case Manager on your own server. It&#8217;s rather technical, so we suggest you consult your IT company:<\/p>\n\n\n\n<p>?&nbsp;&nbsp;&nbsp; If IIS is already installed, please ensure the required options outlined in the IIS server installation section below is installed.<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;A web server running IIS with Dot Net 4.8 installed.<\/p>\n\n\n\n<p>?&nbsp;&nbsp;&nbsp; Windows Active Directory used to manage permissions to the database and the Case Manager document share. We normally recommend a user named &#8216;CaseManagerWeb&#8217;. This user will be set as the identity for the application pool that hosts the web site.<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;A domain name for the site. It&#8217;s suggested you use a subdomain of your public domain (e.g.<\/p>\n\n\n\n<p>&#8216;casemanager.yourdomain.com.au&#8217;) which can be created by adding an A record to your existing domain record.<\/p>\n\n\n\n<p>?&nbsp;&nbsp;&nbsp; A firewall rule to forward ports 80 and 443 for the IP address associated with the domain name. Port 80 is not mandatory, and we only use it to redirect to secure port 443, but without it users will have to prefix the URL with &#8220;https:\/\/&#8221;.<\/p>\n\n\n\n<p>?&nbsp;&nbsp;&nbsp; An SSL certificate with TLS1.2 enable and issued after March 2018 to secure the site and enable Apple mobile devices to access the app. If using a subdomain it&#8217;s recommended that you purchase a wildcard certificate (&#8216;*.yourdomain.com.au&#8217;) so that it can be used for other purposes. Free Self generated certificates will not work.<\/p>\n\n\n\n<p><strong>Install IIS Server on your web server<\/strong><\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Connect to the web server using RDP or console.<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Click the Server Manager icon in the Windows taskbar:<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Click the <em>Add roles and features <\/em>link:<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Select the <em>Role-base or feature-based installation <\/em>option:<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Select the current machine for the <em>Server Pool <\/em>list:<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Select the <em>Web Server (IIS) <\/em>role:<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Allow the addition of features that are required for the <em>Web Server (IIS) <\/em>role:<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Skip over the <em>Features <\/em>page (do not add any additional features).<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;On the <em>Web Server (IIS) \/ Role Serves <\/em>page, enable only the following options (disable all others):<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Web Server<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Common HTTP Features<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Default Document<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;HTTP Errors<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Static Content<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Health and Diagnostics<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;HTTP Logging<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Performance<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Static Content Compression<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Dynamic Content Compression<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Security<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Request Filtering<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Application Development<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;.NET Extensibility 4.5<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;ASP.NET 4.5<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;ISAPI Extensions<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;ISAPI Filters<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Websockets Protocol<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Management Tools<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;IIS Management Console<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Management Service<\/p>\n\n\n\n<p><strong>Configure Internet Information Server (IIS)<\/strong><\/p>\n\n\n\n<p><strong>Preparation<\/strong><\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Open the <em>Internet Information Server (IIS) Manager <\/em>console.<\/p>\n\n\n\n<p><strong>Application Pool Defaults<\/strong><\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Select &#8220;Application Pools&#8221; on the left, and then &#8220;Set Application Pool Defaults&#8221; on the right.<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Change &#8220;Enable 32-Bit Applications&#8221; to True.<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Under CPU, change &#8220;Limit (percent)&#8221; to 80 and and &#8220;Limit Action&#8221; to ThrottleUnderLoad.<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Change \u201cLoad User Profile\u201d to True.<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Click OK to save changes.<\/p>\n\n\n\n<p><strong>Install yourcompanyname.com SSL Certificate<\/strong><\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Go to Server Manager &gt; Roles &gt; Web Server (IIS) &gt; IIS Manager &gt; Server name<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Double-click the the Server Certificates icon:<\/p>\n\n\n\n<p>?&nbsp;&nbsp;&nbsp; Import the <em>yourcompanyname.com <\/em>certificate into the <em>Personal <\/em>certificate store, allowing the certificate to be exported (example below shows the casemanager.biz certificate):<\/p>\n\n\n\n<p><strong>Configure Web Management Service<\/strong><\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Double-click the <em>Management Service <\/em>icon:<\/p>\n\n\n\n<p>?&nbsp;&nbsp;&nbsp; Enable remote connections using the <em>yourcompanyname.com <\/em>SSL certificate, then start the service:<\/p>\n\n\n\n<p><strong>Deploying the sites and creating app pools.<\/strong><\/p>\n\n\n\n<p><strong>Copy files to the file system<\/strong><\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Request Case Manager to send you the installation files.<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;You will only need the <em>mobileapi <\/em>and <em>wwwroot <\/em>folders within the zip file<\/p>\n\n\n\n<p>?&nbsp;&nbsp;&nbsp; Extract files to a local folder on the web server. Ensure that the file is \u201cunblocked\u201d by going to file properties of the .zip folder before extracting.&nbsp; If a D: drive is present this should be the \\<em>CaseManagerData\\Web <\/em>folder (may need to be created), otherwise use <em>C:\\inetpub\\casemanager <\/em>(creation of \u201ccasemanager\u201d subfolder may be required).<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Extract <em>wwwroot <\/em>as is to this CaseManager folder.<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Extract <em>mobileapi <\/em>as is to this CaseManager folder.<\/p>\n\n\n\n<p><strong>Set the security permissions on the files.<\/strong><\/p>\n\n\n\n<p>?&nbsp;&nbsp;&nbsp; Find out the exact users ID for IIS users, go to the properties of C:\\inetpub\\wwwroot and look for the username that has IIS.<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Add and apply the following permissions to both folders extracted:<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;read\/execute permission to:<\/p>\n\n\n\n<p>?&nbsp;&nbsp;&nbsp; CaseManagerApp group (assuming this was created when Case Manager application was installed), IIS_IUSRS, Users, CaseManager web account (as mentioned in the body of the email that accompanied this document, if this account needs to be created it only needs to be a member of the CaseManagerApp group).<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Ensure full control is assigned to<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;System<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Admin login used at the time of deployment<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Local Administrator<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Remove all other inherited permissions and apply permissions to all child objects.<\/p>\n\n\n\n<p>?&nbsp;&nbsp;&nbsp; Modify permissions for the CaseManagerWeb account on <em>tmpupload <\/em>for both web folders ( mobile and web) &#8211; add \u201cusers\u201d and if page does not load properly later add the same \u201cusers\u201d with read and execute access to the \u201cweb\u201d folder<\/p>\n\n\n\n<p>?&nbsp;&nbsp;&nbsp; Set database connection string in web.config in the wwwroot or web folder. Please note the mobileapi application inherits the web.config connection string settings from the parent web wwwroot folder. This .config file can be modified with notepad.<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Below is a sample of the connection string, the sections highlighted in red will need to be updated.<\/p>\n\n\n\n<p>&lt;connectionStrings&gt;<\/p>\n\n\n\n<p>&lt;add name=&#8221;CaseManager&#8221; connectionString=&#8221;data source=SQLServerName\\Instance;Initial Catalog=CaseManagerDatabaseName;integrated security=True;MultipleActiveResultSets=True&#8221; providerName=&#8221;System.Data.SqlClient&#8221; \/&gt;<\/p>\n\n\n\n<p>&lt;\/connectionStrings&gt;<\/p>\n\n\n\n<p>?&nbsp;&nbsp;&nbsp; Create an app pool called \u201cCase Manager\u201d and navigate to the identity section in advance setting. Enter the CaseManager web account username and password (as mentioned in the body of the email that accompanied this document, if this account needs to be created it only needs to be a member of the CaseManagerApp group). Ensure<\/p>\n\n\n\n<p><strong>Create the websites.<\/strong><\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;From the IIS console create the main website:<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Enter the <em>casemanager.yourcompanyname.com <\/em>in the \u201cSite Name\u201d field.<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Select the \u201cCase Manager\u201d app pool that was created in the previous steps.<\/p>\n\n\n\n<p>?&nbsp;&nbsp;&nbsp; Browse to the physical path of the Case Manager web folder named <em>wwwroot <\/em>which was previously extracted.<\/p>\n\n\n\n<p>?&nbsp;&nbsp;&nbsp; Set https binding (do not specify an IP) with the SSL certificate, then right click the site and go to edit bindings to add the http binding.<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Start the website.<\/p>\n\n\n\n<p><strong>Add the mobile application<\/strong><\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Add an application to the main website called \u201cmobileapi\u201d (right click casemanager site -&gt; Add application).<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Select the \u201cCase Manager\u201d app pool.<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Configure the physical path to point to the <em>mobileapi <\/em>folder within the Case Manager web folder.<\/p>\n\n\n\n<p><strong>T<\/strong><strong>est Case Manager Interface<\/strong><\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Using the web URL defined, use Google Chrome browser to launch and login to Case Manager.<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Once logged in, browse cases and add a test document to confirm the document store is configured correctly<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Test the mobile app after installing it on your smart device. Details on installation at the link below:<\/p>\n\n\n\n<p>?&nbsp;&nbsp;&nbsp; &nbsp;<a href=\"http:\/\/learning.casemanager.biz\/App\/InstallApp.htm\"><u>h<\/u><u>t<\/u><u>tp:\/\/learning.casemanager.biz\/App\/InstallApp.htm<\/u><\/a><\/p>\n\n\n\n<p><strong>T<\/strong><strong>r<\/strong><strong>oubleshooting<\/strong><\/p>\n\n\n\n<p><strong>Errors when loading the page. Example:<\/strong><\/p>\n\n\n\n<p>If you get the message agave, this means that the IIS server and the website is online but it is having an issue loading the page. Common causes are:<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;Connection strings are not set correctly<\/p>\n\n\n\n<p>?&nbsp;&nbsp; &nbsp;The server has ran out of memory<\/p>\n\n\n\n<p>?&nbsp;&nbsp;&nbsp; If this occurs after an upgrade from a previous version of Case Manager web, the old devexpress files were not removed before copying the new files over.<\/p>\n\n\n\n<p>To identify the issue, you can turn \u201cCustom Errors\u201d off to obtain more details. To do this:<\/p>\n\n\n\n<p>1.&nbsp;&nbsp; &nbsp;Open the \u201cWeb.Config\u201d file and look for the \u201cCustom Errors\u201d line.<\/p>\n\n\n\n<p>2.&nbsp;&nbsp; &nbsp;Change the &lt;customErrors mode=&#8221;On&#8221; \/&gt; to &lt;customErrors mode=&#8221;Off&#8221; \/&gt;<\/p>\n\n\n\n<p>3.&nbsp;&nbsp; &nbsp;Save the file, refresh the site and it will give you more detailed errors. Example below:<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" width=\"699\" height=\"2\" src=\"\">10<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is a guide for customers self hosting Case Manager which would like to implement the web and mobile app infrastructure. Prerequisites ?&nbsp;&nbsp;&nbsp; To access the App, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-7952","post","type-post","status-publish","format-standard","hentry","category-research"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/posts\/7952","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/comments?post=7952"}],"version-history":[{"count":1,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/posts\/7952\/revisions"}],"predecessor-version":[{"id":7953,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/posts\/7952\/revisions\/7953"}],"wp:attachment":[{"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/media?parent=7952"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/categories?post=7952"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/tags?post=7952"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}