Guides/Webform-Integration-Sub-Folder.md
... ...
@@ -221,6 +221,8 @@ href="Resources/...." and change them to href="Izenda/Resources/...."
221 221
222 222
**c.** At the end < Head > section, insert the below code snippet. If the sub folder has a different name, replace the index of 'Izenda' below with that name.
223 223
```html
224
+<!-- The below code hides Izenda from the main page -->
225
+
224 226
<script type="text/javascript">
225 227
$(document).ready(function HideHeader() {
226 228
if (window.location.href.indexOf('Izenda') === -1) {
... ...
@@ -428,368 +430,9 @@ Add the Reporting folder in mvc5r3\Views to the project's Views
428 430
429 431
![Controllers](/Guides/MVC-Integration/VR.png)
430 432
431
-###Step 7. Add _sitelayout to project’s Views\Shared
432
-
433
-Add _sitelayout from mvc5r3\Views\Shared to project’s Views\Shared
434
-
435
-![Controllers](/Guides/MVC-Integration/SiteLayout.png)
436
-
437
-
438
-
439
-**b.** Paste it in project’s Global.asax
440
-
441
-###Global.asax from Sample_MVCApp(C♯)
442
-```csharp
443
-<%@ Application Codebehind="Global.asax.cs" Inherits="Sample_MVCApp.MvcApplication" Language="C#" %>
444
-
445
-//THE BELOW IS PASTED CODE
446
-
447
-<%@ Import Namespace="Izenda.AdHoc"%>
448
-<%@ Import Namespace="System.IO"%>
449
-
450
-<script runat="server">
451
- void Application_AcquireRequestState(object sender, EventArgs e) {
452
- CustomAdHocConfig.InitializeReporting();
453
- }
454
-
455
- [Serializable]
456
- public class CustomAdHocConfig : FileSystemAdHocConfig {
457
- public static void InitializeReporting() {
458
- if (HttpContext.Current.Session == null || HttpContext.Current.Session["ReportingInitialized"] != null)
459
- return;
460
- AdHocSettings.LicenseKey = "INSERT_LICENSE_KEY_HERE";
461
- AdHocSettings.SqlServerConnectionString = @"INSERT_CONNECTION_STRING_HERE";
462
- AdHocSettings.GenerateThumbnails = true;
463
- AdHocSettings.ShowSimpleModeViewer = true;
464
- AdHocSettings.IdentifiersRegex = "^.*[iI][Dd]$";
465
- AdHocSettings.TabsCssUrl = "/Resources/css/tabs.css";
466
- AdHocSettings.ReportCssUrl = "../Resources/css/Report.css";
467
- AdHocSettings.ShowBetweenDateCalendar = true;
468
- AdHocSettings.DashboardViewer = "Dashboards";
469
- AdHocSettings.ReportViewer = "ReportViewer";
470
- AdHocSettings.InstantReport = "InstantReport";
471
- AdHocSettings.ReportDesignerUrl = "ReportDesigner";
472
- AdHocSettings.DashboardDesignerUrl = "DashboardDesigner";
473
- AdHocSettings.ReportList = "ReportList";
474
- AdHocSettings.SettingsPageUrl = "Settings";
475
- AdHocSettings.ParentSettingsUrl = "Settings";
476
- AdHocSettings.ResponseServer = "rs.aspx";
477
- AdHocSettings.ReportsPath = Path.Combine(HttpContext.Current.Server.MapPath("~/"), "Reports");
478
- AdHocSettings.PrintMode = PrintMode.Html2PdfAndHtml;
479
- AdHocSettings.ChartingEngine = ChartingEngine.HtmlChart;
480
- AdHocSettings.AdHocConfig = new CustomAdHocConfig();
481
- HttpContext.Current.Session["ReportingInitialized"] = true;
482
- }
483
- }
484
-</script>
485
-```
486
-
487
-
488
-###Step 9. Copy constraints classes from Global.asax.cs
489
-
490
-
491
-**a.** Copy below two constraints from Global.asax.cs of mvc5r3
492
-```csharp
493
-
494
-//IRouteConstraint
495
-public class SpecificFileRouterConstraint : IRouteConstraint {
496
- private string extensionToBeRouted = null;
497
- private string fileToBeRouted = null;
498
-
499
- public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection) {
500
- return !String.IsNullOrEmpty(extensionToBeRouted) && !String.IsNullOrEmpty(fileToBeRouted) && values[extensionToBeRouted] != null && values[extensionToBeRouted].ToString().ToLower().Contains(fileToBeRouted);
501
- }
502
-
503
- public SpecificFileRouterConstraint() { }
504
-
505
- public SpecificFileRouterConstraint(string extension, string fileName) {
506
- extensionToBeRouted = extension.ToLower();
507
- fileToBeRouted = fileName.ToLower();
508
- }
509
- }
510
-
511
-
512
-
513
-
514
-//IRouteConstraint
515
-public class IzendaResourceConstraint : IRouteConstraint {
516
- private string extensionToBeRouted = null;
517
-
518
- public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection) {
519
- if (String.IsNullOrEmpty(extensionToBeRouted) || values[extensionToBeRouted] == null) {
520
- return false;
521
- }
522
- string requestUrl = values[extensionToBeRouted].ToString().ToLower();
523
- bool result = false;
524
- if (extensionToBeRouted == "js") {
525
- result = result || requestUrl.Contains("reportviewerfilters.js");
526
- result = result || requestUrl.Contains("reportlist.js");
527
- result = result || requestUrl.Contains("data-sources.js");
528
- result = result || requestUrl.Contains("data-sources-preview.js");
529
- result = result || requestUrl.Contains("charts.js");
530
- result = result || requestUrl.Contains("datasources-search.js");
531
- result = result || requestUrl.Contains("jquery-1.6.1.min.js");
532
- result = result || requestUrl.Contains("jquery-ui-1.8.13.custom.min.js");
533
- result = result || requestUrl.Contains("elrte.full.js");
534
- result = result || requestUrl.Contains("elrte.ru.js");
535
- result = result || requestUrl.Contains("fieldproperties.js");
536
- result = result || requestUrl.Contains("shrinkable-grid.js");
537
- }
538
- if (extensionToBeRouted == "css") {
539
- result = result || requestUrl.Contains("tabs.css");
540
- result = result || requestUrl.Contains("report.css");
541
- result = result || requestUrl.Contains("filters.css");
542
- result = result || requestUrl.Contains("base.css");
543
- result = result || requestUrl.Contains("report-list-modal.css");
544
- result = result || requestUrl.Contains("data-sources.css");
545
- result = result || requestUrl.Contains("charts.css");
546
- result = result || requestUrl.Contains("jquery-ui-1.8.13.custom.css");
547
- result = result || requestUrl.Contains("elrte.min.css");
548
- result = result || requestUrl.Contains("elrte-inner.css");
549
- result = result || requestUrl.Contains("shrinkable-grid.css");
550
- }
551
- if (extensionToBeRouted == "png") {
552
- result = result || requestUrl.Contains("elrtebg.png");
553
- result = result || requestUrl.Contains("elrte-toolbar.png");
554
- }
555
- if (extensionToBeRouted == "gif") {
556
- result = result || requestUrl.Contains("elrte/images/pixel.gif");
557
- }
558
- return result;
559
- }
560
-
561
- public IzendaResourceConstraint() { }
562
-
563
- public IzendaResourceConstraint(string extension) {
564
- extensionToBeRouted = extension.ToLower();
565
- }
566
- }
567
-
568
-```
569
-
570
-**b.** Paste it above MVCapplication class in Global.asax.cs of project
571
-
572
-```csharp
573
-
574
-namespace Sample_MVCApp
575
-{
576
- public class SpecificFileRouterConstraint : IRouteConstraint
577
- {
578
- private string extensionToBeRouted = null;
579
- private string fileToBeRouted = null;
580
-
581
- public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
582
- {
583
- return !String.IsNullOrEmpty(extensionToBeRouted) && !String.IsNullOrEmpty(fileToBeRouted) && values[extensionToBeRouted] != null && values[extensionToBeRouted].ToString().ToLower().Contains(fileToBeRouted);
584
- }
585
-
586
- public SpecificFileRouterConstraint() { }
587
-
588
- public SpecificFileRouterConstraint(string extension, string fileName)
589
- {
590
- extensionToBeRouted = extension.ToLower();
591
- fileToBeRouted = fileName.ToLower();
592
- }
593
- }
594
-
595
- public class IzendaResourceConstraint : IRouteConstraint
596
- {
597
- private string extensionToBeRouted = null;
598
-
599
- public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
600
- {
601
- if (String.IsNullOrEmpty(extensionToBeRouted) || values[extensionToBeRouted] == null)
602
- {
603
- return false;
604
- }
605
- string requestUrl = values[extensionToBeRouted].ToString().ToLower();
606
- bool result = false;
607
- if (extensionToBeRouted == "js")
608
- {
609
- result = result || requestUrl.Contains("reportviewerfilters.js");
610
- result = result || requestUrl.Contains("reportlist.js");
611
- result = result || requestUrl.Contains("data-sources.js");
612
- result = result || requestUrl.Contains("data-sources-preview.js");
613
- result = result || requestUrl.Contains("charts.js");
614
- result = result || requestUrl.Contains("datasources-search.js");
615
- result = result || requestUrl.Contains("jquery-1.6.1.min.js");
616
- result = result || requestUrl.Contains("jquery-ui-1.8.13.custom.min.js");
617
- result = result || requestUrl.Contains("elrte.full.js");
618
- result = result || requestUrl.Contains("elrte.ru.js");
619
- result = result || requestUrl.Contains("fieldproperties.js");
620
- result = result || requestUrl.Contains("shrinkable-grid.js");
621
- }
622
- if (extensionToBeRouted == "css")
623
- {
624
- result = result || requestUrl.Contains("tabs.css");
625
- result = result || requestUrl.Contains("report.css");
626
- result = result || requestUrl.Contains("filters.css");
627
- result = result || requestUrl.Contains("base.css");
628
- result = result || requestUrl.Contains("report-list-modal.css");
629
- result = result || requestUrl.Contains("data-sources.css");
630
- result = result || requestUrl.Contains("charts.css");
631
- result = result || requestUrl.Contains("jquery-ui-1.8.13.custom.css");
632
- result = result || requestUrl.Contains("elrte.min.css");
633
- result = result || requestUrl.Contains("elrte-inner.css");
634
- result = result || requestUrl.Contains("shrinkable-grid.css");
635
- }
636
- if (extensionToBeRouted == "png")
637
- {
638
- result = result || requestUrl.Contains("elrtebg.png");
639
- result = result || requestUrl.Contains("elrte-toolbar.png");
640
- }
641
- if (extensionToBeRouted == "gif")
642
- {
643
- result = result || requestUrl.Contains("elrte/images/pixel.gif");
644
- }
645
- return result;
646
- }
647
-
648
- public IzendaResourceConstraint() { }
649
-
650
- public IzendaResourceConstraint(string extension)
651
- {
652
- extensionToBeRouted = extension.ToLower();
653
- }
654
- }
655
-
656
-
657
-
658
- // Note: For instructions on enabling IIS6 or IIS7 classic mode,
659
- // visit http://go.microsoft.com/?LinkId=9394801
660
-
661
- public class MvcApplication : System.Web.HttpApplication
662
- {
663
- protected void Application_Start()
664
- {
665
- AreaRegistration.RegisterAllAreas();
666
-
667
- WebApiConfig.Register(GlobalConfiguration.Configuration);
668
- FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
669
- RouteConfig.RegisterRoutes(RouteTable.Routes);
670
- BundleConfig.RegisterBundles(BundleTable.Bundles);
671
- AuthConfig.RegisterAuth();
672
- }
673
- }
674
-}
675
-
676
-
677
-```
678
-
679
-
680
-###Step 10. Copy over RegisterRoutes in MvcApplication
681
-
682
-**a.** Copy the below class from Global.asax.cs of mvc5r3
683
-
684
-```csharp
685
-public static void RegisterRoutes(RouteCollection routes) {
686
- routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
687
- routes.MapRoute("IzendaResources", "Reporting/Resources/{*resource}", new { controller = "IzendaStaticResources", action = "Index" });
688
- routes.MapRoute("IzendaJsResources", "{*js}", new { controller = "IzendaStaticResources", action = "Index" }, new { irc = new IzendaResourceConstraint("js") });
689
- routes.MapRoute("IzendaCssResources", "{*css}", new { controller = "IzendaStaticResources", action = "Index" }, new { irc = new IzendaResourceConstraint("css") });
690
- routes.MapRoute("IzendaPngResources", "{*png}", new { controller = "IzendaStaticResources", action = "Index" }, new { irc = new IzendaResourceConstraint("png") });
691
- routes.MapRoute("IzendaGifResources", "{*gif}", new { controller = "IzendaStaticResources", action = "Index" }, new { irc = new IzendaResourceConstraint("gif") });
692
- routes.MapRoute("IzendaReporting", "{controller}/{action}/{id}", new { controller = "Reporting", id = UrlParameter.Optional });
693
- routes.MapRoute("StarterKitDefault", "{controller}/{action}/{id}", new { controller = "Reporting", action = "ReportList", id = UrlParameter.Optional });
694
- routes.MapRoute("HomeDefault", "{*pathInfo}", new { controller = "Home", action = "Index", id = UrlParameter.Optional });
695
- }
696
-```
697
-
698
-**b.** Paste it inside MvcApplication class of tproject’s Global.asax.cs
699
-
700
-```csharp
701
-public class MvcApplication : System.Web.HttpApplication
702
- {
703
-
704
- public static void RegisterRoutes(RouteCollection routes)
705
- {
706
- routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
707
- routes.MapRoute("IzendaResources", "Reporting/Resources/{*resource}", new { controller = "IzendaStaticResources", action = "Index" });
708
- routes.MapRoute("IzendaJsResources", "{*js}", new { controller = "IzendaStaticResources", action = "Index" }, new { irc = new IzendaResourceConstraint("js") });
709
- routes.MapRoute("IzendaCssResources", "{*css}", new { controller = "IzendaStaticResources", action = "Index" }, new { irc = new IzendaResourceConstraint("css") });
710
- routes.MapRoute("IzendaPngResources", "{*png}", new { controller = "IzendaStaticResources", action = "Index" }, new { irc = new IzendaResourceConstraint("png") });
711
- routes.MapRoute("IzendaGifResources", "{*gif}", new { controller = "IzendaStaticResources", action = "Index" }, new { irc = new IzendaResourceConstraint("gif") });
712
- routes.MapRoute("IzendaReporting", "{controller}/{action}/{id}", new { controller = "Reporting", id = UrlParameter.Optional });
713
- routes.MapRoute("StarterKitDefault", "{controller}/{action}/{id}", new { controller = "Reporting", action = "ReportList", id = UrlParameter.Optional });
714
- routes.MapRoute("HomeDefault", "{*pathInfo}", new { controller = "Home", action = "Index", id = UrlParameter.Optional });
715
- }
716
-
717
- protected void Application_Start()
718
- {
719
- AreaRegistration.RegisterAllAreas();
720
-
721
- WebApiConfig.Register(GlobalConfiguration.Configuration);
722
- FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
723
- RouteConfig.RegisterRoutes(RouteTable.Routes);
724
- BundleConfig.RegisterBundles(BundleTable.Bundles);
725
- AuthConfig.RegisterAuth();
726
- }
727
- }
728
-
729
-```
730
-
731
-
732
-###Step 11. Change the LicenseKey and ConnnectionString in Global.asax of project
733
-
734
- To get a new trial key, you may contact [sales@izenda.com](mailto:sales@izenda.com).
735
-
736
-```csharp
737
-
738
-AdHocSettings.LicenseKey = "INSERT_LICENSE_KEY_HERE";
739
-AdHocSettings.SqlServerConnectionString = @"INSERT_CONNECTION_STRING_HERE";
740
-
741
-```
742
-
743
-###Step 12. Run it!
744
-
745
-After Step#11, the Sample_MVCApp should build and work without a problem. To see if Izenda is integrated with this web application,
746
-
747
-**a.** Open _Layout.cshtml in Views\Shared\ in Solution Explorer
748
-
749
-**b.** Add an ActionLink which leads to Izenda as below
750
-
751
-```html
752
-<li>@Html.ActionLink("Home", "Index", "Home")</li>
753
-<li>@Html.ActionLink("About", "About", "Home")</li>
754
-<li>@Html.ActionLink("Contact", "Contact", "Home")</li>
755
-<li>@Html.ActionLink("Izenda", "ReportList", "Reporting")</li> //Add this line
756
-```
757
-
758
-**c.** Notice 'Izenda' item added to the menu as below. Click it and see if it leads to Izenda ReportList page.
759
-
760
-![Test](/Guides/MVC-Integration/Test.PNG)
761
-
762
-
763
-###Step 13. Change the Logo
764
-
765
-**a.** Open _SiteLayout.cshtml in Views\Shared\ in Solution Explorer
766
-
767
-**b.** Find below two lines in the body of the html and edit the source image directory, alt, and the link address for top-right image
768
-
769
-```html
770
-<img src="~/Resources/FromDLL/Resources/ModernImages/bi-logo.png" alt="Business intelligence" /> //top-left image
771
-
772
-<a href="http://izenda.com" style="position: relative; top: 4px;"><img class="right-logo" src="~/Resources/FromDLL/Resources/ModernImages/IzendaNewLogoBlue.png" alt="Izenda Reports" /></a> //top-right image
773
-
774
-```
775
-**c.** Run the application and check if the images appear as edited.
776
-
777
-
778
-In this guide, two images, Logo.png and SeaEagle.png, were put in the project folder, /Sample_MVCApp, and the above two lines were edited as below
779
-
780
-```html
781
-<img src="~/Logo.png" alt="Angry Sea Eagle" /> //top-left image
782
-
783
-<a href="http://SeaEagle.com" style="position: relative; top: 4px;"><img class="right-logo" src="~/SeaEagle.png" alt="SeaEagle.Com" /></a> //top-right image
784
-```
785
-
786
-
787
-
788
-Two top logos have changed as below
789
-
790
-![Test](/Guides/MVC-Integration/Logo_Change2.png)
433
+###Step 7. Change MasterPageFile="~/Default.master" to MasterPageFile="~/Site.master"
791 434
792
-[Izenda MVC Kit Integration Guide Phase II](http://wiki.izenda.us/Guides/MVC-Integration/Phase-II-Draft)
435
+Change MasterPageFile="~/Default.master" to MasterPageFile="~/Site.master" in all Izenda .aspx pages. This can be done easily using Visual Studio's 'Find and Replace' tool.
793 436
437
+
794 438
795
-
... ...
\ No newline at end of file